[PATCH] arm64: dts: meson: fix PHY deassert timing requirements

Neil Armstrong narmstrong at baylibre.com
Wed Apr 7 15:31:10 CEST 2021


Hi,

On 06/04/2021 19:47, Stefan Agner wrote:
> The sync of the device tree and dt-bindings from Linux v5.6-rc2
> 11a48a5a18c6 ("Linux 5.6-rc2") causes Ethernet to break on some
> ODROID-C2.
> 
> Meanwhile a fix to increase the reset timing has been added to Linux.
> Instead of reverting the offending commit, use the new reset timing
> from upstream Linux commit c183c406c432 ("arm64: dts: meson: fix PHY
> deassert timing requirements").
> 
> Fixes: dd5f2351e99a ("arm64: dts: meson: sync dt and bindings from v5.6-rc2")
> Signed-off-by: Stefan Agner <stefan at agner.ch>
> ---
>  arch/arm/dts/meson-g12b-odroid-n2.dtsi | 2 +-
>  arch/arm/dts/meson-gxbb-nanopi-k2.dts  | 2 +-
>  arch/arm/dts/meson-gxbb-odroidc2.dts   | 2 +-
>  arch/arm/dts/meson-gxm-khadas-vim2.dts | 2 +-
>  4 files changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/arch/arm/dts/meson-g12b-odroid-n2.dtsi b/arch/arm/dts/meson-g12b-odroid-n2.dtsi
> index 6982632ae6..39a09661c5 100644
> --- a/arch/arm/dts/meson-g12b-odroid-n2.dtsi
> +++ b/arch/arm/dts/meson-g12b-odroid-n2.dtsi
> @@ -413,7 +413,7 @@
>  		max-speed = <1000>;
>  
>  		reset-assert-us = <10000>;
> -		reset-deassert-us = <30000>;
> +		reset-deassert-us = <80000>;

In fact, these are not used by current U-boot, support for reset/deassert in PHY node
is not yet supported in U-Boot. This first step was to switch to DM_MDIO and use the
proper Designware glue, the second step is to find how to make use of these properties.

Concerning the patch, I'll prefer you sync the DT with v5.11 instead.

Neil

>  		reset-gpios = <&gpio GPIOZ_15 (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>;
>  
>  		interrupt-parent = <&gpio_intc>;
> diff --git a/arch/arm/dts/meson-gxbb-nanopi-k2.dts b/arch/arm/dts/meson-gxbb-nanopi-k2.dts
> index 7be3e35409..de27beafe9 100644
> --- a/arch/arm/dts/meson-gxbb-nanopi-k2.dts
> +++ b/arch/arm/dts/meson-gxbb-nanopi-k2.dts
> @@ -165,7 +165,7 @@
>  			reg = <0>;
>  
>  			reset-assert-us = <10000>;
> -			reset-deassert-us = <30000>;
> +			reset-deassert-us = <80000>;
>  			reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>;
>  
>  			interrupt-parent = <&gpio_intc>;
> diff --git a/arch/arm/dts/meson-gxbb-odroidc2.dts b/arch/arm/dts/meson-gxbb-odroidc2.dts
> index 70fcfb7b06..50de1d01e5 100644
> --- a/arch/arm/dts/meson-gxbb-odroidc2.dts
> +++ b/arch/arm/dts/meson-gxbb-odroidc2.dts
> @@ -200,7 +200,7 @@
>  			reg = <0>;
>  
>  			reset-assert-us = <10000>;
> -			reset-deassert-us = <30000>;
> +			reset-deassert-us = <80000>;
>  			reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>;
>  
>  			interrupt-parent = <&gpio_intc>;
> diff --git a/arch/arm/dts/meson-gxm-khadas-vim2.dts b/arch/arm/dts/meson-gxm-khadas-vim2.dts
> index bff8ec2c1c..e38d9e50ca 100644
> --- a/arch/arm/dts/meson-gxm-khadas-vim2.dts
> +++ b/arch/arm/dts/meson-gxm-khadas-vim2.dts
> @@ -194,7 +194,7 @@
>  		reg = <0>;
>  
>  		reset-assert-us = <10000>;
> -		reset-deassert-us = <30000>;
> +		reset-deassert-us = <80000>;
>  		reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>;
>  
>  		interrupt-parent = <&gpio_intc>;
> 



More information about the U-Boot mailing list