.../devicetree/bindings/net/snps,dwmac.yaml | 1 + .../devicetree/bindings/net/thead,th1520-gmac.yaml | 110 +++++++++ MAINTAINERS | 2 + drivers/net/ethernet/stmicro/stmmac/Kconfig | 10 + drivers/net/ethernet/stmicro/stmmac/Makefile | 1 + drivers/net/ethernet/stmicro/stmmac/dwmac-thead.c | 273 +++++++++++++++++++++ 6 files changed, 397 insertions(+)
This series adds support for dwmac gigabit ethernet in the T-Head TH1520 RISC-V SoC used on boards like BeagleV Ahead and the LicheePi 4A. The gigabit ethernet on these boards does need pinctrl support to mux the necessary pads. The pinctrl-th1520 driver, pinctrl binding, and related dts patches are in linux-next. However, they are not yet in net-next/main. Therefore, I am dropping the dts patch for v5 as it will not build on net-next/main due to the lack of the padctrl0_apsys pin controller node in next-next/main version th1520.dtsi. It does exist in linux-next [1] and the two patches in this series allow the ethernet ports to work correctly on the LPi4A and Ahead when applied to linux-next. The dwmac-thead driver in this series does not need the pinctrl-th1520 driver to build. Nor does the thead,th1520-gmac.yaml binding need the pinctrl binding to pass the schema check. [1] https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/arch/riscv/boot/dts/thead/th1520.dtsi Changes in v7: - Remove GMAC_RXCLK_DELAY_VAL(x), GMAC_RXCLK_DELAY_VAL(x) and GMAC_PLLCLK_DIV_NUM(x) marcos - Fix register write in thead_dwmac_fix_speed() by using FIELD_PREP() directly instead of the above macros - Fix thead_dwmac_init() to preserve bypass and invert bits when writing to GMAC_RXCLK_DELAY_CTRL and GMAC_TXCLK_DELAY_CTRL - Add sentinel to end of thead_dwmac_match[] - Normalize capitalization in dev_err_probe message - Link to v6: https://lore.kernel.org/r/20241030-th1520-gmac-v6-0-e48176d45116@tenstorrent.com Changes in v6: - Remove unnecessary semicolon from end of switch() blocks - Add Rb from Andrew Lunn on both patches - Link to v5: https://lore.kernel.org/r/20241025-th1520-gmac-v5-0-38d0a48406ff@tenstorrent.com Changes in v5: - Rebase on net-next/main - Drop the dts patch from this series. It applies to linux-next but not net-next/main. - Remove repeated properties from required: in binding - Add Rb from Krzysztof for binding - Link to v4: https://lore.kernel.org/r/20241020-th1520-dwmac-v4-0-c77acd33ccef@tenstorrent.com Changes in v4: - Rebase on next for pinctrl dependency - Add 'net-next' prefix to subject per maintainer-netdev.rst - Add clocks, clock-names, interrupts and interrupt-names to binding - Simplify driver code by switching from regmap to regualar mmio Changes in v3: - Rebase on v6.12-rc1 - Remove thead,rx-internal-delay and thead,tx-internal-delay properties - Remove unneeded call to thead_dwmac_fix_speed() during probe - Fix filename for the yaml file in MAINTAINERS patch - Link: https://lore.kernel.org/linux-riscv/20240930-th1520-dwmac-v3-0-ae3e03c225ab@tenstorrent.com/ Changes in v2: - Drop the first patch as it is no longer needed due to upstream commit d01e0e98de31 ("dt-bindings: net: dwmac: Validate PBL for all IP-cores") - Rename compatible from "thead,th1520-dwmac" to "thead,th1520-gmac" - Add thead,rx-internal-delay and thead,tx-internal-delay properties and check that it does not exceed the maximum value - Convert from stmmac_dvr_probe() to devm_stmmac_pltfr_probe() and delete the .remove_new hook as it is no longer needed - Handle return value of regmap_write() in case it fails - Add phy reset delay properties to the BeagleV Ahead device tree - Link: https://lore.kernel.org/linux-riscv/20240926-th1520-dwmac-v2-0-f34f28ad1dc9@tenstorrent.com/ Changes in v1: - remove thead,gmacapb that references syscon for APB registers - add a second memory region to gmac nodes for the APB registers - Link: https://lore.kernel.org/all/20240713-thead-dwmac-v1-0-81f04480cd31@tenstorrent.com/ --- Jisheng Zhang (2): dt-bindings: net: Add T-HEAD dwmac support net: stmmac: Add glue layer for T-HEAD TH1520 SoC .../devicetree/bindings/net/snps,dwmac.yaml | 1 + .../devicetree/bindings/net/thead,th1520-gmac.yaml | 110 +++++++++ MAINTAINERS | 2 + drivers/net/ethernet/stmicro/stmmac/Kconfig | 10 + drivers/net/ethernet/stmicro/stmmac/Makefile | 1 + drivers/net/ethernet/stmicro/stmmac/dwmac-thead.c | 273 +++++++++++++++++++++ 6 files changed, 397 insertions(+) --- base-commit: 03fc07a24735e0be8646563913abf5f5cb71ad19 change-id: 20241025-th1520-gmac-78a76aa90c62 Best regards, -- Drew Fustini <dfustini@tenstorrent.com>
On Sun, Nov 03, 2024 at 08:57:58AM -0800, Drew Fustini wrote: > This series adds support for dwmac gigabit ethernet in the T-Head TH1520 > RISC-V SoC used on boards like BeagleV Ahead and the LicheePi 4A. > > The gigabit ethernet on these boards does need pinctrl support to mux > the necessary pads. The pinctrl-th1520 driver, pinctrl binding, and > related dts patches are in linux-next. However, they are not yet in > net-next/main. > > Therefore, I am dropping the dts patch for v5 as it will not build on > net-next/main due to the lack of the padctrl0_apsys pin controller node > in next-next/main version th1520.dtsi. You should send the .dts patch to the Maintainer responsible for merging all the RISC-V DT patches, maybe via a sub Maintainer. All the different parts will then meet up in linux-next. Andrew
On Sun, Nov 03, 2024 at 07:12:24PM +0100, Andrew Lunn wrote: > On Sun, Nov 03, 2024 at 08:57:58AM -0800, Drew Fustini wrote: > > This series adds support for dwmac gigabit ethernet in the T-Head TH1520 > > RISC-V SoC used on boards like BeagleV Ahead and the LicheePi 4A. > > > > The gigabit ethernet on these boards does need pinctrl support to mux > > the necessary pads. The pinctrl-th1520 driver, pinctrl binding, and > > related dts patches are in linux-next. However, they are not yet in > > net-next/main. > > > > Therefore, I am dropping the dts patch for v5 as it will not build on > > net-next/main due to the lack of the padctrl0_apsys pin controller node > > in next-next/main version th1520.dtsi. > > You should send the .dts patch to the Maintainer responsible for > merging all the RISC-V DT patches, maybe via a sub Maintainer. All the > different parts will then meet up in linux-next. > > Andrew I am the maintainer for arch/riscv/boot/dts/thead. I'm planning to apply the dts patch to my for-next branch once this series with the binding and driver are applied to net-next. Thanks, Drew
© 2016 - 2024 Red Hat, Inc.