* [PATCH 0/2] net: stmmac: socfpga: support both stmmaceth-ocp and ahb reset names
@ 2025-12-29 19:17 Dinh Nguyen
2025-12-29 19:17 ` [PATCH 1/2] net: stmmac: socfpga: add call to assert/deassert ahb reset line Dinh Nguyen
2025-12-29 19:17 ` [PATCH 2/2] Revert "arm: dts: socfpga: use reset-name "stmmaceth-ocp" instead of "ahb"" Dinh Nguyen
0 siblings, 2 replies; 4+ messages in thread
From: Dinh Nguyen @ 2025-12-29 19:17 UTC (permalink / raw)
To: Maxime Chevallier, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Maxime Coquelin, Alexandre Torgue,
Philipp Zabel, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Mamta Shukla, Ahmad Fatoum
Cc: bsp-development.geo, Pengutronix Kernel Team, netdev, linux-stm32,
linux-arm-kernel, linux-kernel, devicetree, Dinh Nguyen
The dwmac-socfpga stmmac ethernet controller supports 2 standard reset
lines, named "stmmaceth" and "stmmaceth-ocp". At the time of upstreaming
support for the platform, the "stmmaceth-ocp" name was used for the 2nd
reset name. We later realized that the "stmmaceth-ocp" reset name is
the same as the "ahb" name that is used by the standard stmmac driver.
But since the "stmmaceth-ocp" name support has already been introduced
to the wild, it cannot just be removed from the driver, thus we can
modify the driver to support both "stmmaceth-ocp" and "ahb", with the
idea that "ahb" will be used going forward.
This series add the support to call reset assert/de-assert both "abh"
and "stmmaceth-ocp" to the dwmac-socfpga platform driver, then reverts
the patch that uses the DTS "stmmaceth-ocp" reset name.
Signed-off-by: Dinh Nguyen <dinguyen@kernel.org>
---
Dinh Nguyen (2):
net: stmmac: socfpga: add call to assert/deassert ahb reset line
Revert "arm: dts: socfpga: use reset-name "stmmaceth-ocp" instead of "ahb""
arch/arm/boot/dts/intel/socfpga/socfpga_arria10.dtsi | 6 +++---
drivers/net/ethernet/stmicro/stmmac/dwmac-socfpga.c | 4 ++++
2 files changed, 7 insertions(+), 3 deletions(-)
---
base-commit: 8f0b4cce4481fb22653697cced8d0d04027cb1e8
change-id: 20251229-remove_ocp-44786389b052
Best regards,
--
Dinh Nguyen <dinguyen@kernel.org>
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH 1/2] net: stmmac: socfpga: add call to assert/deassert ahb reset line
2025-12-29 19:17 [PATCH 0/2] net: stmmac: socfpga: support both stmmaceth-ocp and ahb reset names Dinh Nguyen
@ 2025-12-29 19:17 ` Dinh Nguyen
2025-12-29 19:17 ` [PATCH 2/2] Revert "arm: dts: socfpga: use reset-name "stmmaceth-ocp" instead of "ahb"" Dinh Nguyen
1 sibling, 0 replies; 4+ messages in thread
From: Dinh Nguyen @ 2025-12-29 19:17 UTC (permalink / raw)
To: Maxime Chevallier, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Maxime Coquelin, Alexandre Torgue,
Philipp Zabel, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Mamta Shukla, Ahmad Fatoum
Cc: bsp-development.geo, Pengutronix Kernel Team, netdev, linux-stm32,
linux-arm-kernel, linux-kernel, devicetree, Dinh Nguyen
The "stmmaceth-ocp" reset line of stmmac controller on the SoCFPGA
platform is essentially the "ahb" reset on the standard stmmac
controller. But since stmmaceth-ocp has already been introduced into
the wild, we cannot just remove support for it. But what we can do is
to support both "stmmaceth-ocp" and "ahb" reset names. Going forward we
will be using "ahb", but in order to not break ABI, we will be call reset
assert/de-assert both ahb and stmmaceth-ocp.
The ethernet hardware on SoCFPGA requires either the stmmaceth-ocp or
ahb reset to be asserted every time before changing the phy mode, then
de-asserted when the phy mode has been set.
With this change, we should be able to revert patch:
commit 62a40a0d5634 ("arm: dts: socfpga: use reset-name "stmmaceth-ocp"
instead of "ahb"")
Signed-off-by: Dinh Nguyen <dinguyen@kernel.org>
---
drivers/net/ethernet/stmicro/stmmac/dwmac-socfpga.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-socfpga.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-socfpga.c
index a2b52d2c4eb6..79df55515c71 100644
--- a/drivers/net/ethernet/stmicro/stmmac/dwmac-socfpga.c
+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-socfpga.c
@@ -407,6 +407,7 @@ static int socfpga_gen5_set_phy_mode(struct socfpga_dwmac *dwmac)
/* Assert reset to the enet controller before changing the phy mode */
reset_control_assert(dwmac->stmmac_ocp_rst);
+ reset_control_assert(dwmac->plat_dat->stmmac_ahb_rst);
reset_control_assert(dwmac->stmmac_rst);
regmap_read(sys_mgr_base_addr, reg_offset, &ctrl);
@@ -436,6 +437,7 @@ static int socfpga_gen5_set_phy_mode(struct socfpga_dwmac *dwmac)
* the enet controller, and operation to start in requested mode
*/
reset_control_deassert(dwmac->stmmac_ocp_rst);
+ reset_control_deassert(dwmac->plat_dat->stmmac_ahb_rst);
reset_control_deassert(dwmac->stmmac_rst);
if (phymode == PHY_INTERFACE_MODE_SGMII)
socfpga_sgmii_config(dwmac, true);
@@ -463,6 +465,7 @@ static int socfpga_gen10_set_phy_mode(struct socfpga_dwmac *dwmac)
/* Assert reset to the enet controller before changing the phy mode */
reset_control_assert(dwmac->stmmac_ocp_rst);
+ reset_control_assert(dwmac->plat_dat->stmmac_ahb_rst);
reset_control_assert(dwmac->stmmac_rst);
regmap_read(sys_mgr_base_addr, reg_offset, &ctrl);
@@ -489,6 +492,7 @@ static int socfpga_gen10_set_phy_mode(struct socfpga_dwmac *dwmac)
* the enet controller, and operation to start in requested mode
*/
reset_control_deassert(dwmac->stmmac_ocp_rst);
+ reset_control_deassert(dwmac->plat_dat->stmmac_ahb_rst);
reset_control_deassert(dwmac->stmmac_rst);
if (phymode == PHY_INTERFACE_MODE_SGMII)
socfpga_sgmii_config(dwmac, true);
--
2.42.0.411.g813d9a9188
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 2/2] Revert "arm: dts: socfpga: use reset-name "stmmaceth-ocp" instead of "ahb""
2025-12-29 19:17 [PATCH 0/2] net: stmmac: socfpga: support both stmmaceth-ocp and ahb reset names Dinh Nguyen
2025-12-29 19:17 ` [PATCH 1/2] net: stmmac: socfpga: add call to assert/deassert ahb reset line Dinh Nguyen
@ 2025-12-29 19:17 ` Dinh Nguyen
2025-12-30 11:11 ` Andrew Lunn
1 sibling, 1 reply; 4+ messages in thread
From: Dinh Nguyen @ 2025-12-29 19:17 UTC (permalink / raw)
To: Maxime Chevallier, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Maxime Coquelin, Alexandre Torgue,
Philipp Zabel, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Mamta Shukla, Ahmad Fatoum
Cc: bsp-development.geo, Pengutronix Kernel Team, netdev, linux-stm32,
linux-arm-kernel, linux-kernel, devicetree, Dinh Nguyen
This reverts commit 62a40a0d5634834790f7166ab592be247390d857.
With the patch "add call to assert/deassert ahb reset line" in place, we can
safely remove the "stmmaceth-ocp" reset name and just use the standard
"ahb" reset name.
Signed-off-by: Dinh Nguyen <dinguyen@kernel.org>
---
arch/arm/boot/dts/intel/socfpga/socfpga_arria10.dtsi | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/arch/arm/boot/dts/intel/socfpga/socfpga_arria10.dtsi b/arch/arm/boot/dts/intel/socfpga/socfpga_arria10.dtsi
index b108265e9bde..6b6e77596ffa 100644
--- a/arch/arm/boot/dts/intel/socfpga/socfpga_arria10.dtsi
+++ b/arch/arm/boot/dts/intel/socfpga/socfpga_arria10.dtsi
@@ -440,7 +440,7 @@ gmac0: ethernet@ff800000 {
clocks = <&l4_mp_clk>, <&peri_emac_ptp_clk>;
clock-names = "stmmaceth", "ptp_ref";
resets = <&rst EMAC0_RESET>, <&rst EMAC0_OCP_RESET>;
- reset-names = "stmmaceth", "stmmaceth-ocp";
+ reset-names = "stmmaceth", "ahb";
snps,axi-config = <&socfpga_axi_setup>;
status = "disabled";
};
@@ -460,7 +460,7 @@ gmac1: ethernet@ff802000 {
clocks = <&l4_mp_clk>, <&peri_emac_ptp_clk>;
clock-names = "stmmaceth", "ptp_ref";
resets = <&rst EMAC1_RESET>, <&rst EMAC1_OCP_RESET>;
- reset-names = "stmmaceth", "stmmaceth-ocp";
+ reset-names = "stmmaceth", "ahb";
snps,axi-config = <&socfpga_axi_setup>;
status = "disabled";
};
@@ -480,7 +480,7 @@ gmac2: ethernet@ff804000 {
clocks = <&l4_mp_clk>, <&peri_emac_ptp_clk>;
clock-names = "stmmaceth", "ptp_ref";
resets = <&rst EMAC2_RESET>, <&rst EMAC2_OCP_RESET>;
- reset-names = "stmmaceth", "stmmaceth-ocp";
+ reset-names = "stmmaceth", "ahb";
snps,axi-config = <&socfpga_axi_setup>;
status = "disabled";
};
--
2.42.0.411.g813d9a9188
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 2/2] Revert "arm: dts: socfpga: use reset-name "stmmaceth-ocp" instead of "ahb""
2025-12-29 19:17 ` [PATCH 2/2] Revert "arm: dts: socfpga: use reset-name "stmmaceth-ocp" instead of "ahb"" Dinh Nguyen
@ 2025-12-30 11:11 ` Andrew Lunn
0 siblings, 0 replies; 4+ messages in thread
From: Andrew Lunn @ 2025-12-30 11:11 UTC (permalink / raw)
To: Dinh Nguyen
Cc: Maxime Chevallier, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Maxime Coquelin, Alexandre Torgue,
Philipp Zabel, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Mamta Shukla, Ahmad Fatoum, bsp-development.geo,
Pengutronix Kernel Team, netdev, linux-stm32, linux-arm-kernel,
linux-kernel, devicetree
On Mon, Dec 29, 2025 at 01:17:19PM -0600, Dinh Nguyen wrote:
> This reverts commit 62a40a0d5634834790f7166ab592be247390d857.
>
> With the patch "add call to assert/deassert ahb reset line" in place, we can
> safely remove the "stmmaceth-ocp" reset name and just use the standard
> "ahb" reset name.
altr,socfpga-stmmac.yamle says:
# TODO: Determine how to handle the Arria10 reset-name, stmmaceth-ocp, that
# does not validate against net/snps,dwmac.yaml.
Please add a patch to the series adding stmmaceth-ocp, but mark it as
deprecated, and comment that ahb should be used instead.
Andrew
---
pw-bot: cr
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2025-12-30 11:11 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-12-29 19:17 [PATCH 0/2] net: stmmac: socfpga: support both stmmaceth-ocp and ahb reset names Dinh Nguyen
2025-12-29 19:17 ` [PATCH 1/2] net: stmmac: socfpga: add call to assert/deassert ahb reset line Dinh Nguyen
2025-12-29 19:17 ` [PATCH 2/2] Revert "arm: dts: socfpga: use reset-name "stmmaceth-ocp" instead of "ahb"" Dinh Nguyen
2025-12-30 11:11 ` Andrew Lunn
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).