Series |
Add support for Synopsis DWMAC IP on NXP Automotive SoCs S32G2xx/S32G3xx/S32R45
|
expand
-
[v5,00/16] Add support for Synopsis DWMAC IP on NXP Automotive SoCs S32G2xx/S32G3xx/S32R45
-
[v5,01/16] net: driver: stmmac: Fix CSR divider comment
-
[v5,02/16] net: driver: stmmac: Extend CSR calc support
-
[v5,03/16] net: stmmac: Fix clock rate variables size
-
[v5,04/16] net: phy: Add helper for mapping RGMII link speed to clock rate
-
[v5,05/16] net: dwmac-dwc-qos-eth: Use helper rgmii_clock
-
[v5,06/16] net: dwmac-imx: Use helper rgmii_clock
-
[v5,07/16] net: dwmac-intel-plat: Use helper rgmii_clock
-
[v5,08/16] net: dwmac-rk: Use helper rgmii_clock
-
[v5,09/16] net: dwmac-starfive: Use helper rgmii_clock
-
[v5,10/16] net: macb: Use helper rgmii_clock
-
[v5,11/16] net: xgene_enet: Use helper rgmii_clock
-
[v5,12/16] net: dwmac-sti: Use helper rgmii_clock
-
[v5,13/16] dt-bindings: net: Add DT bindings for DWMAC on NXP S32G/R SoCs
-
[v5,14/16] net: stmmac: dwmac-s32: add basic NXP S32G/S32R glue driver
-
[v5,15/16] MAINTAINERS: Add Jan Petrous as the NXP S32G/R DWMAC driver maintainer
-
[v5,16/16] net: stmmac: platform: Fix PTP clock rate reading
|
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 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 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@AM9PR04MB8506.eurprd04.prod.outlook.com> Cc: Signed-off-by: Jan Petrous (OSS) <jan.petrous@oss.nxp.com> --- Changes in v5: - EDITME: describe what is new in this series revision. - EDITME: use bulletpoints and terse descriptions. - Link to v4: https://lore.kernel.org/r/20241028-upstream_s32cc_gmac-v4-0-03618f10e3e2@oss.nxp.com --- Jan Petrous (OSS) (16): net: driver: stmmac: Fix CSR divider comment net: driver: 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 net: stmmac: platform: Fix PTP clock rate reading .../devicetree/bindings/net/nxp,s32-dwmac.yaml | 105 +++++++++++ .../devicetree/bindings/net/snps,dwmac.yaml | 3 + 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 | 20 +- .../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 | 204 +++++++++++++++++++++ .../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 | 4 +- include/linux/phy.h | 23 +++ include/linux/stmmac.h | 10 +- 21 files changed, 404 insertions(+), 120 deletions(-) --- base-commit: 158f238aa69d91ad74e535c73f552bd4b025109c change-id: 20240923-upstream_s32cc_gmac-6891eb75b126 Best regards,