mbox series

[RFC,v1,net-next,0/8] add support for the the vsc7512 internal copper phys

Message ID 20220911200244.549029-1-colin.foster@in-advantage.com (mailing list archive)
Headers show
Series add support for the the vsc7512 internal copper phys | expand

Message

Colin Foster Sept. 11, 2022, 8:02 p.m. UTC
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.

Lastly, this patch set currently won't apply cleanly to net-next, as it
requires a sync with the MFD tree. This is being sent as an RFC, and
additional changes (e.g. documentation) will be required, so I expect
this won't be ready to become a PATCH until the next version (v6.2)


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 (8):
  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: dsa: felix: add configurable device quirks
  net: dsa: felix: populate mac_capabilities for all ports
  mfd: ocelot: add regmaps for ocelot_ext
  net: dsa: ocelot: add external ocelot switch control

 drivers/mfd/ocelot-core.c                  |  91 +++++++-
 drivers/net/dsa/ocelot/Kconfig             |  14 ++
 drivers/net/dsa/ocelot/Makefile            |   5 +
 drivers/net/dsa/ocelot/felix.c             |  10 +-
 drivers/net/dsa/ocelot/felix.h             |   1 +
 drivers/net/dsa/ocelot/felix_vsc9959.c     |   1 +
 drivers/net/dsa/ocelot/ocelot_ext.c        | 254 +++++++++++++++++++++
 drivers/net/dsa/ocelot/seville_vsc9953.c   |   1 +
 drivers/net/ethernet/mscc/ocelot_devlink.c |  31 +++
 drivers/net/ethernet/mscc/ocelot_vsc7514.c | 137 +----------
 drivers/net/ethernet/mscc/vsc7514_regs.c   | 108 +++++++++
 include/linux/mfd/ocelot.h                 |   5 +
 include/soc/mscc/ocelot.h                  |   7 +
 include/soc/mscc/vsc7514_regs.h            |   6 +
 14 files changed, 529 insertions(+), 142 deletions(-)
 create mode 100644 drivers/net/dsa/ocelot/ocelot_ext.c