diff mbox series

[v2,3/5] ARM: dts: meson: fix PHY deassert timing requirements

Message ID 6bfe17d86ead62c20d236e2ebbc7b7fe3354829d.1606828668.git.stefan@agner.ch
State Superseded
Headers show
Series [v2,1/5] arm64: dts: meson: g12b: odroid-n2: fix PHY deassert timing requirements | expand

Commit Message

Stefan Agner Dec. 1, 2020, 1:21 p.m. UTC
According to the datasheet (Rev. 1.9) the RTL8211F requires at least
72ms "for internal circuits settling time" before accessing the PHY
egisters. On similar boards with the same PHY this fixes an issue where
Ethernet link would not come up when using ip link set down/up.

Fixes: a2c6e82e5341 ("ARM: dts: meson: switch to the generic Ethernet PHY reset bindings")
Signed-off-by: Stefan Agner <stefan@agner.ch>
---
 arch/arm/boot/dts/meson8b-odroidc1.dts    | 2 +-
 arch/arm/boot/dts/meson8m2-mxiii-plus.dts | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

Comments

Martin Blumenstingl Dec. 5, 2020, 1:04 p.m. UTC | #1
Hi Stefan,

On Tue, Dec 1, 2020 at 2:21 PM Stefan Agner <stefan@agner.ch> wrote:
>

> According to the datasheet (Rev. 1.9) the RTL8211F requires at least

> 72ms "for internal circuits settling time" before accessing the PHY

> egisters. On similar boards with the same PHY this fixes an issue where

there's a typo here: it should be "registers"
this is the same for the other four patches also

> Ethernet link would not come up when using ip link set down/up.

I have never experienced that myself but gotten a few reports about this.
thank you very much for coming up with info from the datasheet!

the following stmmac patch [0] has been added recently which may - or
may not - have any impact also.

> Fixes: a2c6e82e5341 ("ARM: dts: meson: switch to the generic Ethernet PHY reset bindings")

> Signed-off-by: Stefan Agner <stefan@agner.ch>

with above typo fixed:
Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>

and also:
Tested-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> #

on Odroid-C1+


Best regards,
Martin


[0] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/net/ethernet/stmicro/stmmac?id=56311a315da7ebc668dbcc2f1c99689cc10796c4
Stefan Agner Dec. 7, 2020, 5:53 p.m. UTC | #2
On 2020-12-05 14:04, Martin Blumenstingl wrote:
> Hi Stefan,

> 

> On Tue, Dec 1, 2020 at 2:21 PM Stefan Agner <stefan@agner.ch> wrote:

>>

>> According to the datasheet (Rev. 1.9) the RTL8211F requires at least

>> 72ms "for internal circuits settling time" before accessing the PHY

>> egisters. On similar boards with the same PHY this fixes an issue where

> there's a typo here: it should be "registers"

> this is the same for the other four patches also


Whoops, will send v3 shortly.

> 

>> Ethernet link would not come up when using ip link set down/up.

> I have never experienced that myself but gotten a few reports about this.

> thank you very much for coming up with info from the datasheet!

> 

> the following stmmac patch [0] has been added recently which may - or

> may not - have any impact also.


Thanks for the hint, wasn't aware of that.

--
Stefan

> 

>> Fixes: a2c6e82e5341 ("ARM: dts: meson: switch to the generic Ethernet PHY reset bindings")

>> Signed-off-by: Stefan Agner <stefan@agner.ch>

> with above typo fixed:

> Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>

> and also:

> Tested-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> #

> on Odroid-C1+

> 

> 

> Best regards,

> Martin

> 

> 

> [0] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/net/ethernet/stmicro/stmmac?id=56311a315da7ebc668dbcc2f1c99689cc10796c4
diff mbox series

Patch

diff --git a/arch/arm/boot/dts/meson8b-odroidc1.dts b/arch/arm/boot/dts/meson8b-odroidc1.dts
index 0c26467de4d0..5963566dbcc9 100644
--- a/arch/arm/boot/dts/meson8b-odroidc1.dts
+++ b/arch/arm/boot/dts/meson8b-odroidc1.dts
@@ -224,7 +224,7 @@  eth_phy: ethernet-phy@0 {
 			reg = <0>;
 
 			reset-assert-us = <10000>;
-			reset-deassert-us = <30000>;
+			reset-deassert-us = <80000>;
 			reset-gpios = <&gpio GPIOH_4 GPIO_ACTIVE_LOW>;
 
 			interrupt-parent = <&gpio_intc>;
diff --git a/arch/arm/boot/dts/meson8m2-mxiii-plus.dts b/arch/arm/boot/dts/meson8m2-mxiii-plus.dts
index cc498191ddd1..8f4eb1ed4581 100644
--- a/arch/arm/boot/dts/meson8m2-mxiii-plus.dts
+++ b/arch/arm/boot/dts/meson8m2-mxiii-plus.dts
@@ -81,7 +81,7 @@  eth_phy0: ethernet-phy@0 {
 			reg = <0>;
 
 			reset-assert-us = <10000>;
-			reset-deassert-us = <30000>;
+			reset-deassert-us = <80000>;
 			reset-gpios = <&gpio GPIOH_4 GPIO_ACTIVE_LOW>;
 		};
 	};