linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC v4 net-next 00/17] add support for the the vsc7512 internal copper phys
@ 2022-10-08 18:51 Colin Foster
  2022-10-08 18:51 ` [RFC v4 net-next 01/17] net: mscc: ocelot: expose ocelot wm functions Colin Foster
                   ` (17 more replies)
  0 siblings, 18 replies; 27+ messages in thread
From: Colin Foster @ 2022-10-08 18:51 UTC (permalink / raw)
  To: netdev, linux-kernel, devicetree
  Cc: Russell King, UNGLinuxDriver, Alexandre Belloni, Claudiu Manoil,
	Paolo Abeni, Jakub Kicinski, Eric Dumazet, David S. Miller,
	Vladimir Oltean, Florian Fainelli, Vivien Didelot, Andrew Lunn,
	Krzysztof Kozlowski, Rob Herring, Lee Jones

This patch series is a continuation to add support for the VSC7512:
https://patchwork.kernel.org/project/netdevbpf/list/?series=674168&state=*

That series added the framework and initial functionality for the
VSC7512 chip. Several of these patches grew during the initial
development of the framework, which is why v1 will include changelogs.
It was during v9 of that original MFD patch set that these were dropped.

With that out of the way, the VSC7512 is mainly a subset of the VSC7514
chip. The 7512 lacks an internal MIPS processor, but otherwise many of
the register definitions are identical. That is why several of these
patches are simply to expose common resources from
drivers/net/ethernet/mscc/*.

This patch only adds support for the first four ports (swp0-swp3). The
remaining ports require more significant changes to the felix driver,
and will be handled in the future.


*** Notes on V4
The patch set is growing long. My apologies. There isn't much that can
reasonably be broken out. Perhaps these could be standalone:

  net: dsa: felix: add functionality when not all ports are supported
  dt-bindings: mfd: ocelot: remove spi-max-frequency from required
    properties

And I'm not certain if these two patches should be combined, as they are
co-dependent:

  dt-bindings: mfd: ocelot: add ethernet-switch hardware support
  dt-bindings: net: dsa: ocelot: add ocelot-ext documentation

The only warning I know about is about the reg array being too long:
/Documentation/devicetree/bindings/net/dsa/mscc,ocelot.example.dtb: soc@0: ethernet-switch@0:reg: [[1895890944, 65536], [1896022016, 65536], [1896349696, 256], [1896742912, 65536], [1897791488, 256], [1897857024, 256], [1897922560, 256], [1897988096, 256], [1898053632, 256], [1898119168, 256], [1898184704, 256], [1898250240, 256], [1898315776, 256], [1898381312, 256], [1898446848, 256], [1904214016, 524288], [1904738304, 65536], [1896087552, 65536], [1896153088, 65536], [1896218624, 65536]] is too long

Also I know there is still ongoing discussion regarding what the documentation
should reflect. I hope I'm not getting ahead of myself by submitting this
RFC at this time.
***


v4
    * Update documentation to include all ports / modes (patch 15)
    * Fix dt_bindings_check warnings (patch 13, 14, 15)
    * Utilize new "resource_names" reference (patch 9, 12, 16)
    * Drop unnecessary #undef REG patch in pinctl: ocelot
    * Utilize standard MFD resource addition (patch 17)
    * Utilize shared vsc7514_regmap (new patch 6)
    * Allow forward-compatibility on fully-defined device trees
      (patch 10,14)

v3
    * Fix allmodconfig build (patch 8)
    * Change documentation wording (patch 12)
    * Import module namespace (patch 13)
    * Fix array initializer (patch 13)

v2
    * Utilize common ocelot_reset routine (new patch 5, modified patch 13)
    * Change init_regmap() routine to be string-based (new patch 8)
    * Split patches where necessary (patches 9 and 14)
    * Add documentation (patch 12) and MAINTAINERS (patch 13)
    * Upgrade to PATCH status

v1 (from RFC v8 suggested above):
    * Utilize the MFD framework for creating regmaps, as well as
      dev_get_regmap() (patches 7 and 8 of this series)

Colin Foster (17):
  net: mscc: ocelot: expose ocelot wm functions
  net: mscc: ocelot: expose regfield definition to be used by other
    drivers
  net: mscc: ocelot: expose stats layout definition to be used by other
    drivers
  net: mscc: ocelot: expose vcap_props structure
  net: mscc: ocelot: expose ocelot_reset routine
  net: mscc: ocelot: expose vsc7514_regmap definition
  net: dsa: felix: add configurable device quirks
  net: dsa: felix: populate mac_capabilities for all ports
  net: dsa: felix: add support for MFD configurations
  net: dsa: felix: add functionality when not all ports are supported
  mfd: ocelot: prepend resource size macros to be 32-bit
  mfd: ocelot: add shared resource names for switch functionality
  dt-bindings: mfd: ocelot: remove spi-max-frequency from required
    properties
  dt-bindings: mfd: ocelot: add ethernet-switch hardware support
  dt-bindings: net: dsa: ocelot: add ocelot-ext documentation
  net: dsa: ocelot: add external ocelot switch control
  mfd: ocelot: add external ocelot switch control

 .../devicetree/bindings/mfd/mscc,ocelot.yaml  |   9 +-
 .../bindings/net/dsa/mscc,ocelot.yaml         | 112 ++++++++++
 MAINTAINERS                                   |   1 +
 drivers/mfd/ocelot-core.c                     |  68 +++++-
 drivers/net/dsa/ocelot/Kconfig                |  19 ++
 drivers/net/dsa/ocelot/Makefile               |   5 +
 drivers/net/dsa/ocelot/felix.c                |  28 ++-
 drivers/net/dsa/ocelot/felix.h                |   2 +
 drivers/net/dsa/ocelot/felix_vsc9959.c        |   1 +
 drivers/net/dsa/ocelot/ocelot_ext.c           | 178 ++++++++++++++++
 drivers/net/dsa/ocelot/seville_vsc9953.c      |   1 +
 drivers/net/ethernet/mscc/ocelot.c            |  48 ++++-
 drivers/net/ethernet/mscc/ocelot_devlink.c    |  31 +++
 drivers/net/ethernet/mscc/ocelot_vsc7514.c    | 196 +-----------------
 drivers/net/ethernet/mscc/vsc7514_regs.c      | 122 +++++++++++
 include/linux/mfd/ocelot.h                    |   9 +
 include/soc/mscc/ocelot.h                     |   6 +
 include/soc/mscc/vsc7514_regs.h               |   8 +
 18 files changed, 640 insertions(+), 204 deletions(-)
 create mode 100644 drivers/net/dsa/ocelot/ocelot_ext.c

-- 
2.25.1


^ permalink raw reply	[flat|nested] 27+ messages in thread

end of thread, other threads:[~2022-11-01  2:39 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-10-08 18:51 [RFC v4 net-next 00/17] add support for the the vsc7512 internal copper phys Colin Foster
2022-10-08 18:51 ` [RFC v4 net-next 01/17] net: mscc: ocelot: expose ocelot wm functions Colin Foster
2022-10-08 18:51 ` [RFC v4 net-next 02/17] net: mscc: ocelot: expose regfield definition to be used by other drivers Colin Foster
2022-10-08 18:51 ` [RFC v4 net-next 03/17] net: mscc: ocelot: expose stats layout " Colin Foster
2022-10-12  9:19   ` Vladimir Oltean
2022-10-08 18:51 ` [RFC v4 net-next 04/17] net: mscc: ocelot: expose vcap_props structure Colin Foster
2022-10-08 18:51 ` [RFC v4 net-next 05/17] net: mscc: ocelot: expose ocelot_reset routine Colin Foster
2022-10-08 18:51 ` [RFC v4 net-next 06/17] net: mscc: ocelot: expose vsc7514_regmap definition Colin Foster
2022-10-08 18:51 ` [RFC v4 net-next 07/17] net: dsa: felix: add configurable device quirks Colin Foster
2022-10-08 18:51 ` [RFC v4 net-next 08/17] net: dsa: felix: populate mac_capabilities for all ports Colin Foster
2022-10-08 18:51 ` [RFC v4 net-next 09/17] net: dsa: felix: add support for MFD configurations Colin Foster
2022-10-08 18:51 ` [RFC v4 net-next 10/17] net: dsa: felix: add functionality when not all ports are supported Colin Foster
2022-10-08 18:51 ` [RFC v4 net-next 11/17] mfd: ocelot: prepend resource size macros to be 32-bit Colin Foster
2022-10-31  9:32   ` Lee Jones
2022-10-08 18:51 ` [RFC v4 net-next 12/17] mfd: ocelot: add shared resource names for switch functionality Colin Foster
2022-10-31  9:35   ` Lee Jones
2022-11-01  2:39     ` Colin Foster
2022-10-08 18:51 ` [RFC v4 net-next 13/17] dt-bindings: mfd: ocelot: remove spi-max-frequency from required properties Colin Foster
2022-10-09 15:49   ` Krzysztof Kozlowski
2022-10-08 18:51 ` [RFC v4 net-next 14/17] dt-bindings: mfd: ocelot: add ethernet-switch hardware support Colin Foster
2022-10-09 15:52   ` Krzysztof Kozlowski
2022-10-08 18:51 ` [RFC v4 net-next 15/17] dt-bindings: net: dsa: ocelot: add ocelot-ext documentation Colin Foster
2022-10-09 15:58   ` Krzysztof Kozlowski
2022-10-08 18:51 ` [RFC v4 net-next 16/17] net: dsa: ocelot: add external ocelot switch control Colin Foster
2022-10-08 18:51 ` [RFC v4 net-next 17/17] mfd: " Colin Foster
2022-10-31  9:36   ` Lee Jones
2022-10-08 23:35 ` [RFC v4 net-next 00/17] add support for the the vsc7512 internal copper phys Vladimir Oltean

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).