[PATCH net-next v8 00/15] Add support for Synopsis DWMAC IP on NXP Automotive SoCs S32G2xx/S32G3xx/S32R45
Jan Petrous via B4 Relay
devnull+jan.petrous.oss.nxp.com at kernel.org
Thu Dec 5 08:42:57 PST 2024
The SoC series S32G2xx and S32G3xx feature one DWMAC instance,
the SoC S32R45 has two instances. The devices can use RGMII/RMII/MII
interface over Pinctrl device or the output can be routed
to the embedded SerDes for SGMII connectivity.
The provided stmmac glue code implements only basic functionality,
interface support is restricted to RGMII only. More, including
SGMII/SerDes support will come later.
This patchset adds stmmac glue driver based on downstream NXP git [0].
[0] https://github.com/nxp-auto-linux/linux
v8:
- dropped 'driver' in patch subject
- fixed interface rx/tx clock init
- Link to v7: https://lore.kernel.org/r/20241202-upstream_s32cc_gmac-v7-0-bc3e1f9f656e@oss.nxp.com
v7:
- rebased on v6.13-rc1 and removed RFC prefix
- Link to v6: https://lore.kernel.org/r/20241124-upstream_s32cc_gmac-v6-0-dc5718ccf001@oss.nxp.com
v6:
- removed dead code in dwmac-intel-plat.c
- yaml: fix indention
- validate interface mode in probe
- dropped patch#16 to fit in max 15 patches in series
- Link to v5: https://lore.kernel.org/r/20241119-upstream_s32cc_gmac-v5-0-7dcc90fcffef@oss.nxp.com
v5:
- yaml: refactored compatible string to use fallback
- yaml: fix indention in example
- fix xmas tree formating in local variable declarations
- removed lazy rx clk setup
- drop PTP clock reading patch and replace it with stmmac_platform fix
- Link to v4: https://lore.kernel.org/r/20241028-upstream_s32cc_gmac-v4-0-03618f10e3e2@oss.nxp.com
v4:
- fixed empty commit messages for rgmi_clock() helper patches
- fixed yaml path in MAINTAINERS
- switched to platform_driver::remove() as suggested Uwe
- yaml: returned back all compatibility sting values
- added better commit description for rgmii_clock() helper
- Link to v3: https://lore.kernel.org/r/20241013-upstream_s32cc_gmac-v3-0-d84b5a67b930@oss.nxp.com
v3:
- switched to b4 WoW to overcome threading issue with b4
- extracted the hunk with the typo fix from v2 patch#1 to separate patch
as Jacob suggested
- removed dead code for RMII/MII support, which will be added alter
- used new rgmii_clock() helper in other stmmac:dwmac glue drivers
- yaml: compatible strings compressed to simple one "nxp,s32-dwmac",
removed duplicated required properties, already defined in snps,dwmac,
fixed example
v2:
- send to wider audience as first version missed many maintainers
- created rgmi_clk() helper as Russell suggested (see patch#4)
- address Andrew's, Russell's, Serge's and Simon's comments
Message-ID: <AM9PR04MB85066576AD6848E2402DA354E2832 at AM9PR04MB8506.eurprd04.prod.outlook.com>
Cc:
Cc:
---
To: Maxime Coquelin <mcoquelin.stm32 at gmail.com>
To: Alexandre Torgue <alexandre.torgue at foss.st.com>
To: Jose Abreu <joabreu at synopsys.com>
To: David S. Miller <davem at davemloft.net>
To: Eric Dumazet <edumazet at google.com>
To: Jakub Kicinski <kuba at kernel.org>
To: Paolo Abeni <pabeni at redhat.com>
To: Vinod Koul <vkoul at kernel.org>
To: Richard Cochran <richardcochran at gmail.com>
To: Andrew Lunn <andrew at lunn.ch>
To: Heiner Kallweit <hkallweit1 at gmail.com>
To: Russell King <linux at armlinux.org.uk>
To: Shawn Guo <shawnguo at kernel.org>
To: Sascha Hauer <s.hauer at pengutronix.de>
To: Pengutronix Kernel Team <kernel at pengutronix.de>
To: Fabio Estevam <festevam at gmail.com>
To: Emil Renner Berthing <kernel at esmil.dk>
To: Minda Chen <minda.chen at starfivetech.com>
To: Nicolas Ferre <nicolas.ferre at microchip.com>
To: Claudiu Beznea <claudiu.beznea at tuxon.dev>
To: Iyappan Subramanian <iyappan at os.amperecomputing.com>
To: Keyur Chudgar <keyur at os.amperecomputing.com>
To: Quan Nguyen <quan at os.amperecomputing.com>
To: Rob Herring <robh at kernel.org>
To: Krzysztof Kozlowski <krzk+dt at kernel.org>
To: Conor Dooley <conor+dt at kernel.org>
To: Giuseppe Cavallaro <peppe.cavallaro at st.com>
To: Andrew Lunn <andrew+netdev at lunn.ch>
Cc: linux-stm32 at st-md-mailman.stormreply.com
Cc: linux-arm-kernel at lists.infradead.org
Cc: linux-kernel at vger.kernel.org
Cc: netdev at vger.kernel.org
Cc: linux-arm-msm at vger.kernel.org
Cc: imx at lists.linux.dev
Cc: devicetree at vger.kernel.org
Cc: NXP S32 Linux Team <s32 at nxp.com>
Cc: 0x1207 at gmail.com
Cc: fancer.lancer at gmail.com
Cc:
Signed-off-by: Jan Petrous (OSS) <jan.petrous at oss.nxp.com>
---
Jan Petrous (OSS) (15):
net: stmmac: Fix CSR divider comment
net: stmmac: Extend CSR calc support
net: stmmac: Fix clock rate variables size
net: phy: Add helper for mapping RGMII link speed to clock rate
net: dwmac-dwc-qos-eth: Use helper rgmii_clock
net: dwmac-imx: Use helper rgmii_clock
net: dwmac-intel-plat: Use helper rgmii_clock
net: dwmac-rk: Use helper rgmii_clock
net: dwmac-starfive: Use helper rgmii_clock
net: macb: Use helper rgmii_clock
net: xgene_enet: Use helper rgmii_clock
net: dwmac-sti: Use helper rgmii_clock
dt-bindings: net: Add DT bindings for DWMAC on NXP S32G/R SoCs
net: stmmac: dwmac-s32: add basic NXP S32G/S32R glue driver
MAINTAINERS: Add Jan Petrous as the NXP S32G/R DWMAC driver maintainer
.../devicetree/bindings/net/nxp,s32-dwmac.yaml | 105 +++++++++++
.../devicetree/bindings/net/snps,dwmac.yaml | 1 +
MAINTAINERS | 7 +
drivers/net/ethernet/apm/xgene/xgene_enet_hw.c | 16 +-
drivers/net/ethernet/cadence/macb_main.c | 14 +-
drivers/net/ethernet/stmicro/stmmac/Kconfig | 12 ++
drivers/net/ethernet/stmicro/stmmac/Makefile | 1 +
drivers/net/ethernet/stmicro/stmmac/common.h | 2 +
.../ethernet/stmicro/stmmac/dwmac-dwc-qos-eth.c | 11 +-
drivers/net/ethernet/stmicro/stmmac/dwmac-imx.c | 15 +-
.../net/ethernet/stmicro/stmmac/dwmac-intel-plat.c | 22 +--
.../ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c | 2 +-
drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c | 30 +--
drivers/net/ethernet/stmicro/stmmac/dwmac-s32.c | 202 +++++++++++++++++++++
.../net/ethernet/stmicro/stmmac/dwmac-starfive.c | 19 +-
drivers/net/ethernet/stmicro/stmmac/dwmac-sti.c | 18 +-
drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c | 2 +-
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 6 +-
.../net/ethernet/stmicro/stmmac/stmmac_platform.c | 2 +-
include/linux/phy.h | 23 +++
include/linux/stmmac.h | 10 +-
21 files changed, 399 insertions(+), 121 deletions(-)
---
base-commit: 40384c840ea1944d7c5a392e8975ed088ecf0b37
change-id: 20240923-upstream_s32cc_gmac-6891eb75b126
Best regards,
--
Jan Petrous (OSS) <jan.petrous at oss.nxp.com>
More information about the linux-arm-kernel
mailing list