public inbox for stable@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH for 5.4 - 6.1 1/3] ARM: dts: am335x-bone-common: Add GPIO PHY reset on revision C3 board
@ 2025-06-20  1:13 Nobuhiro Iwamatsu
  2025-06-20  1:13 ` [PATCH for 5.4 - 6.1 2/3] ARM: dts: am335x-bone-common: Increase MDIO reset deassert time Nobuhiro Iwamatsu
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Nobuhiro Iwamatsu @ 2025-06-20  1:13 UTC (permalink / raw)
  To: stable; +Cc: cip-dev, Shengyu Qu, Robert Nelson, Tony Lindgren,
	Nobuhiro Iwamatsu

From: Shengyu Qu <wiagn233@outlook.com>

commit 623cef652768860bd5f205fb7b741be278585fba upstream.

This patch adds ethernet PHY reset GPIO config for Beaglebone Black
series boards with revision C3. This fixes a random phy startup failure
bug discussed at [1]. The GPIO pin used for reset is not used on older
revisions, so it is ok to apply to all board revisions. The reset timing
was discussed and tested at [2].

[1] https://forum.digikey.com/t/ethernet-device-is-not-detecting-on-ubuntu-20-04-lts-on-bbg/19948
[2] https://forum.beagleboard.org/t/recognizing-a-beaglebone-black-rev-c3-board/31249/

Signed-off-by: Robert Nelson <robertcnelson@gmail.com>
Signed-off-by: Shengyu Qu <wiagn233@outlook.com>
Message-ID: <TY3P286MB26113797A3B2EC7E0348BBB2980FA@TY3P286MB2611.JPNP286.PROD.OUTLOOK.COM>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Nobuhiro Iwamatsu (CIP) <nobuhiro1.iwamatsu@toshiba.co.jp>
---
 arch/arm/boot/dts/am335x-bone-common.dtsi | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/arch/arm/boot/dts/am335x-bone-common.dtsi b/arch/arm/boot/dts/am335x-bone-common.dtsi
index 02e04a12a270..e2efc4256bcb 100644
--- a/arch/arm/boot/dts/am335x-bone-common.dtsi
+++ b/arch/arm/boot/dts/am335x-bone-common.dtsi
@@ -145,6 +145,8 @@
 			/* MDIO */
 			AM33XX_PADCONF(AM335X_PIN_MDIO, PIN_INPUT_PULLUP | SLEWCTRL_FAST, MUX_MODE0)
 			AM33XX_PADCONF(AM335X_PIN_MDC, PIN_OUTPUT_PULLUP, MUX_MODE0)
+			/* Added to support GPIO controlled PHY reset */
+			AM33XX_PADCONF(AM335X_PIN_UART0_CTSN, PIN_OUTPUT_PULLUP, MUX_MODE7)
 		>;
 	};
 
@@ -153,6 +155,8 @@
 			/* MDIO reset value */
 			AM33XX_PADCONF(AM335X_PIN_MDIO, PIN_INPUT_PULLDOWN, MUX_MODE7)
 			AM33XX_PADCONF(AM335X_PIN_MDC, PIN_INPUT_PULLDOWN, MUX_MODE7)
+			/* Added to support GPIO controlled PHY reset */
+			AM33XX_PADCONF(AM335X_PIN_UART0_CTSN, PIN_INPUT_PULLDOWN, MUX_MODE7)
 		>;
 	};
 
@@ -377,6 +381,10 @@
 
 	ethphy0: ethernet-phy@0 {
 		reg = <0>;
+		/* Support GPIO reset on revision C3 boards */
+		reset-gpios = <&gpio1 8 GPIO_ACTIVE_LOW>;
+		reset-assert-us = <300>;
+		reset-deassert-us = <6500>;
 	};
 };
 
-- 
2.25.1



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH for 5.4 - 6.1 2/3] ARM: dts: am335x-bone-common: Increase MDIO reset deassert time
  2025-06-20  1:13 [PATCH for 5.4 - 6.1 1/3] ARM: dts: am335x-bone-common: Add GPIO PHY reset on revision C3 board Nobuhiro Iwamatsu
@ 2025-06-20  1:13 ` Nobuhiro Iwamatsu
  2025-06-21  8:52   ` Sasha Levin
  2025-06-20  1:13 ` [PATCH for 5.4 - 6.1 3/3] ARM: dts: am335x-bone-common: Increase MDIO reset deassert delay to 50ms Nobuhiro Iwamatsu
  2025-06-21  8:50 ` [PATCH for 5.4 - 6.1 1/3] ARM: dts: am335x-bone-common: Add GPIO PHY reset on revision C3 board Sasha Levin
  2 siblings, 1 reply; 6+ messages in thread
From: Nobuhiro Iwamatsu @ 2025-06-20  1:13 UTC (permalink / raw)
  To: stable; +Cc: cip-dev, Colin Foster, Kevin Hilman, Nobuhiro Iwamatsu

From: Colin Foster <colin.foster@in-advantage.com>

commit b9bf5612610aa7e38d58fee16f489814db251c01 upstream.

Prior to commit df16c1c51d81 ("net: phy: mdio_device: Reset device only
when necessary") MDIO reset deasserts were performed twice during boot.
Now that the second deassert is no longer performed, device probe
failures happen due to the change in timing with the following error
message:

SMSC LAN8710/LAN8720: probe of 4a101000.mdio:00 failed with error -5

Restore the original effective timing, which resolves the probe
failures.

Signed-off-by: Colin Foster <colin.foster@in-advantage.com>
Link: https://lore.kernel.org/r/20240531183817.2698445-1-colin.foster@in-advantage.com
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
Signed-off-by: Nobuhiro Iwamatsu (CIP) <nobuhiro1.iwamatsu@toshiba.co.jp>
---
 arch/arm/boot/dts/am335x-bone-common.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/am335x-bone-common.dtsi b/arch/arm/boot/dts/am335x-bone-common.dtsi
index e2efc4256bcb..b58b8b76724b 100644
--- a/arch/arm/boot/dts/am335x-bone-common.dtsi
+++ b/arch/arm/boot/dts/am335x-bone-common.dtsi
@@ -384,7 +384,7 @@
 		/* Support GPIO reset on revision C3 boards */
 		reset-gpios = <&gpio1 8 GPIO_ACTIVE_LOW>;
 		reset-assert-us = <300>;
-		reset-deassert-us = <6500>;
+		reset-deassert-us = <13000>;
 	};
 };
 
-- 
2.25.1



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH for 5.4 - 6.1 3/3] ARM: dts: am335x-bone-common: Increase MDIO reset deassert delay to 50ms
  2025-06-20  1:13 [PATCH for 5.4 - 6.1 1/3] ARM: dts: am335x-bone-common: Add GPIO PHY reset on revision C3 board Nobuhiro Iwamatsu
  2025-06-20  1:13 ` [PATCH for 5.4 - 6.1 2/3] ARM: dts: am335x-bone-common: Increase MDIO reset deassert time Nobuhiro Iwamatsu
@ 2025-06-20  1:13 ` Nobuhiro Iwamatsu
  2025-06-21  8:52   ` Sasha Levin
  2025-06-21  8:50 ` [PATCH for 5.4 - 6.1 1/3] ARM: dts: am335x-bone-common: Add GPIO PHY reset on revision C3 board Sasha Levin
  2 siblings, 1 reply; 6+ messages in thread
From: Nobuhiro Iwamatsu @ 2025-06-20  1:13 UTC (permalink / raw)
  To: stable; +Cc: cip-dev, Geert Uytterhoeven, Kevin Hilman, Nobuhiro Iwamatsu

From: Geert Uytterhoeven <geert+renesas@glider.be>

commit 929d8490f8790164f5f63671c1c58d6c50411cb2 upstream.

Commit b9bf5612610aa7e3 ("ARM: dts: am335x-bone-common: Increase MDIO
reset deassert time") already increased the MDIO reset deassert delay
from 6.5 to 13 ms, but this may still cause Ethernet PHY probe failures:

    SMSC LAN8710/LAN8720 4a101000.mdio:00: probe with driver SMSC LAN8710/LAN8720 failed with error -5

On BeagleBone Black Rev. C3, ETH_RESETn is controlled by an open-drain
AND gate.  It is pulled high by a 10K resistor, and has a 4.7µF
capacitor to ground, giving an RC time constant of 47ms.  As it takes
0.7RC to charge the capacitor above the threshold voltage of a CMOS
input (VDD/2), the delay should be at least 33ms.  Considering the
typical tolerance of 20% on capacitors, 40ms would be safer.  Add an
additional safety margin and settle for 50ms.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Roger Quadros <rogerq@kernel.org>
Link: https://lore.kernel.org/r/9002a58daa1b2983f39815b748ee9d2f8dcc4829.1730366936.git.geert+renesas@glider.be
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
Signed-off-by: Nobuhiro Iwamatsu (CIP) <nobuhiro1.iwamatsu@toshiba.co.jp>
---
 arch/arm/boot/dts/am335x-bone-common.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/am335x-bone-common.dtsi b/arch/arm/boot/dts/am335x-bone-common.dtsi
index b58b8b76724b..bfd26ebd7b9e 100644
--- a/arch/arm/boot/dts/am335x-bone-common.dtsi
+++ b/arch/arm/boot/dts/am335x-bone-common.dtsi
@@ -384,7 +384,7 @@
 		/* Support GPIO reset on revision C3 boards */
 		reset-gpios = <&gpio1 8 GPIO_ACTIVE_LOW>;
 		reset-assert-us = <300>;
-		reset-deassert-us = <13000>;
+		reset-deassert-us = <50000>;
 	};
 };
 
-- 
2.25.1



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH for 5.4 - 6.1 1/3] ARM: dts: am335x-bone-common: Add GPIO PHY reset on revision C3 board
  2025-06-20  1:13 [PATCH for 5.4 - 6.1 1/3] ARM: dts: am335x-bone-common: Add GPIO PHY reset on revision C3 board Nobuhiro Iwamatsu
  2025-06-20  1:13 ` [PATCH for 5.4 - 6.1 2/3] ARM: dts: am335x-bone-common: Increase MDIO reset deassert time Nobuhiro Iwamatsu
  2025-06-20  1:13 ` [PATCH for 5.4 - 6.1 3/3] ARM: dts: am335x-bone-common: Increase MDIO reset deassert delay to 50ms Nobuhiro Iwamatsu
@ 2025-06-21  8:50 ` Sasha Levin
  2 siblings, 0 replies; 6+ messages in thread
From: Sasha Levin @ 2025-06-21  8:50 UTC (permalink / raw)
  To: stable; +Cc: Nobuhiro Iwamatsu, Sasha Levin

[ Sasha's backport helper bot ]

Hi,

✅ All tests passed successfully. No issues detected.
No action required from the submitter.

The upstream commit SHA1 provided is correct: 623cef652768860bd5f205fb7b741be278585fba

WARNING: Author mismatch between patch and upstream commit:
Backport author: Nobuhiro Iwamatsu<nobuhiro1.iwamatsu@toshiba.co.jp>
Commit author: Shengyu Qu<wiagn233@outlook.com>

Status in newer kernel trees:
6.15.y | Present (exact SHA1)
6.12.y | Present (exact SHA1)
6.6.y | Present (exact SHA1)
6.1.y | Not found
5.15.y | Not found
5.10.y | Not found

Note: The patch differs from the upstream commit:
---
1:  623cef6527688 ! 1:  01338e4054b9b ARM: dts: am335x-bone-common: Add GPIO PHY reset on revision C3 board
    @@ Metadata
      ## Commit message ##
         ARM: dts: am335x-bone-common: Add GPIO PHY reset on revision C3 board
     
    +    commit 623cef652768860bd5f205fb7b741be278585fba upstream.
    +
         This patch adds ethernet PHY reset GPIO config for Beaglebone Black
         series boards with revision C3. This fixes a random phy startup failure
         bug discussed at [1]. The GPIO pin used for reset is not used on older
    @@ Commit message
         Signed-off-by: Shengyu Qu <wiagn233@outlook.com>
         Message-ID: <TY3P286MB26113797A3B2EC7E0348BBB2980FA@TY3P286MB2611.JPNP286.PROD.OUTLOOK.COM>
         Signed-off-by: Tony Lindgren <tony@atomide.com>
    +    Signed-off-by: Nobuhiro Iwamatsu (CIP) <nobuhiro1.iwamatsu@toshiba.co.jp>
     
    - ## arch/arm/boot/dts/ti/omap/am335x-bone-common.dtsi ##
    + ## arch/arm/boot/dts/am335x-bone-common.dtsi ##
     @@
      			/* MDIO */
      			AM33XX_PADCONF(AM335X_PIN_MDIO, PIN_INPUT_PULLUP | SLEWCTRL_FAST, MUX_MODE0)
---

Results of testing on various branches:

| Branch                    | Patch Apply | Build Test |
|---------------------------|-------------|------------|
| stable/linux-6.1.y        |  Success    |  Success   |

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH for 5.4 - 6.1 2/3] ARM: dts: am335x-bone-common: Increase MDIO reset deassert time
  2025-06-20  1:13 ` [PATCH for 5.4 - 6.1 2/3] ARM: dts: am335x-bone-common: Increase MDIO reset deassert time Nobuhiro Iwamatsu
@ 2025-06-21  8:52   ` Sasha Levin
  0 siblings, 0 replies; 6+ messages in thread
From: Sasha Levin @ 2025-06-21  8:52 UTC (permalink / raw)
  To: stable; +Cc: Nobuhiro Iwamatsu, Sasha Levin

[ Sasha's backport helper bot ]

Hi,

✅ All tests passed successfully. No issues detected.
No action required from the submitter.

The upstream commit SHA1 provided is correct: b9bf5612610aa7e38d58fee16f489814db251c01

WARNING: Author mismatch between patch and upstream commit:
Backport author: Nobuhiro Iwamatsu<nobuhiro1.iwamatsu@toshiba.co.jp>
Commit author: Colin Foster<colin.foster@in-advantage.com>

Status in newer kernel trees:
6.15.y | Present (exact SHA1)
6.12.y | Present (exact SHA1)
6.6.y | Not found
6.1.y | Not found
5.15.y | Not found
5.10.y | Not found

Note: The patch differs from the upstream commit:
---
1:  b9bf5612610aa ! 1:  7fd9ee5fc5ba5 ARM: dts: am335x-bone-common: Increase MDIO reset deassert time
    @@ Metadata
      ## Commit message ##
         ARM: dts: am335x-bone-common: Increase MDIO reset deassert time
     
    +    commit b9bf5612610aa7e38d58fee16f489814db251c01 upstream.
    +
         Prior to commit df16c1c51d81 ("net: phy: mdio_device: Reset device only
         when necessary") MDIO reset deasserts were performed twice during boot.
         Now that the second deassert is no longer performed, device probe
    @@ Commit message
         Signed-off-by: Colin Foster <colin.foster@in-advantage.com>
         Link: https://lore.kernel.org/r/20240531183817.2698445-1-colin.foster@in-advantage.com
         Signed-off-by: Kevin Hilman <khilman@baylibre.com>
    +    Signed-off-by: Nobuhiro Iwamatsu (CIP) <nobuhiro1.iwamatsu@toshiba.co.jp>
     
    - ## arch/arm/boot/dts/ti/omap/am335x-bone-common.dtsi ##
    + ## arch/arm/boot/dts/am335x-bone-common.dtsi ##
     @@
      		/* Support GPIO reset on revision C3 boards */
      		reset-gpios = <&gpio1 8 GPIO_ACTIVE_LOW>;
---

Results of testing on various branches:

| Branch                    | Patch Apply | Build Test |
|---------------------------|-------------|------------|
| stable/linux-5.10.y       |  Success    |  Success   |

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH for 5.4 - 6.1 3/3] ARM: dts: am335x-bone-common: Increase MDIO reset deassert delay to 50ms
  2025-06-20  1:13 ` [PATCH for 5.4 - 6.1 3/3] ARM: dts: am335x-bone-common: Increase MDIO reset deassert delay to 50ms Nobuhiro Iwamatsu
@ 2025-06-21  8:52   ` Sasha Levin
  0 siblings, 0 replies; 6+ messages in thread
From: Sasha Levin @ 2025-06-21  8:52 UTC (permalink / raw)
  To: stable; +Cc: Nobuhiro Iwamatsu, Sasha Levin

[ Sasha's backport helper bot ]

Hi,

✅ All tests passed successfully. No issues detected.
No action required from the submitter.

The upstream commit SHA1 provided is correct: 929d8490f8790164f5f63671c1c58d6c50411cb2

WARNING: Author mismatch between patch and upstream commit:
Backport author: Nobuhiro Iwamatsu<nobuhiro1.iwamatsu@toshiba.co.jp>
Commit author: Geert Uytterhoeven<geert+renesas@glider.be>

Status in newer kernel trees:
6.15.y | Present (exact SHA1)
6.12.y | Not found
6.6.y | Not found
6.1.y | Not found
5.15.y | Not found
5.10.y | Not found

Note: The patch differs from the upstream commit:
---
1:  929d8490f8790 ! 1:  2eb5c6492555c ARM: dts: am335x-bone-common: Increase MDIO reset deassert delay to 50ms
    @@ Metadata
      ## Commit message ##
         ARM: dts: am335x-bone-common: Increase MDIO reset deassert delay to 50ms
     
    +    commit 929d8490f8790164f5f63671c1c58d6c50411cb2 upstream.
    +
         Commit b9bf5612610aa7e3 ("ARM: dts: am335x-bone-common: Increase MDIO
         reset deassert time") already increased the MDIO reset deassert delay
         from 6.5 to 13 ms, but this may still cause Ethernet PHY probe failures:
    @@ Commit message
         Reviewed-by: Roger Quadros <rogerq@kernel.org>
         Link: https://lore.kernel.org/r/9002a58daa1b2983f39815b748ee9d2f8dcc4829.1730366936.git.geert+renesas@glider.be
         Signed-off-by: Kevin Hilman <khilman@baylibre.com>
    +    Signed-off-by: Nobuhiro Iwamatsu (CIP) <nobuhiro1.iwamatsu@toshiba.co.jp>
     
    - ## arch/arm/boot/dts/ti/omap/am335x-bone-common.dtsi ##
    + ## arch/arm/boot/dts/am335x-bone-common.dtsi ##
     @@
      		/* Support GPIO reset on revision C3 boards */
      		reset-gpios = <&gpio1 8 GPIO_ACTIVE_LOW>;
---

Results of testing on various branches:

| Branch                    | Patch Apply | Build Test |
|---------------------------|-------------|------------|
| stable/linux-5.10.y       |  Success    |  Success   |

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2025-06-21  8:52 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-20  1:13 [PATCH for 5.4 - 6.1 1/3] ARM: dts: am335x-bone-common: Add GPIO PHY reset on revision C3 board Nobuhiro Iwamatsu
2025-06-20  1:13 ` [PATCH for 5.4 - 6.1 2/3] ARM: dts: am335x-bone-common: Increase MDIO reset deassert time Nobuhiro Iwamatsu
2025-06-21  8:52   ` Sasha Levin
2025-06-20  1:13 ` [PATCH for 5.4 - 6.1 3/3] ARM: dts: am335x-bone-common: Increase MDIO reset deassert delay to 50ms Nobuhiro Iwamatsu
2025-06-21  8:52   ` Sasha Levin
2025-06-21  8:50 ` [PATCH for 5.4 - 6.1 1/3] ARM: dts: am335x-bone-common: Add GPIO PHY reset on revision C3 board Sasha Levin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox