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. 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 (14): 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: dsa: felix: add configurable device quirks net: dsa: felix: populate mac_capabilities for all ports net: dsa: felix: update init_regmap to be string-based pinctrl: ocelot: avoid macro redefinition mfd: ocelot: prepend resource size macros to be 32-bit mfd: ocelot: add regmaps for ocelot_ext dt-bindings: net: dsa: ocelot: add ocelot-ext documentation net: dsa: ocelot: add external ocelot switch control mfd: ocelot: add external ocelot switch control .../bindings/net/dsa/mscc,ocelot.yaml | 59 ++++++ MAINTAINERS | 1 + drivers/mfd/ocelot-core.c | 98 ++++++++- drivers/net/dsa/ocelot/Kconfig | 19 ++ drivers/net/dsa/ocelot/Makefile | 5 + drivers/net/dsa/ocelot/felix.c | 68 ++++-- drivers/net/dsa/ocelot/felix.h | 5 +- drivers/net/dsa/ocelot/felix_vsc9959.c | 3 +- drivers/net/dsa/ocelot/ocelot_ext.c | 194 ++++++++++++++++++ drivers/net/dsa/ocelot/seville_vsc9953.c | 3 +- drivers/net/ethernet/mscc/ocelot.c | 48 ++++- drivers/net/ethernet/mscc/ocelot_devlink.c | 31 +++ drivers/net/ethernet/mscc/ocelot_vsc7514.c | 181 +--------------- drivers/net/ethernet/mscc/vsc7514_regs.c | 108 ++++++++++ drivers/pinctrl/pinctrl-ocelot.c | 1 + include/linux/mfd/ocelot.h | 5 + include/soc/mscc/ocelot.h | 6 + include/soc/mscc/vsc7514_regs.h | 6 + 18 files changed, 637 insertions(+), 204 deletions(-) create mode 100644 drivers/net/dsa/ocelot/ocelot_ext.c -- 2.25.1