[PATCH 1/2] ARM: dts: rockchip: rk3036: Move PHY reset to ethernet-phy node

Heiko Stuebner heiko at sntech.de
Sat Feb 28 03:40:36 PST 2026


Hi Fabio,

Am Samstag, 28. Februar 2026, 02:32:56 Mitteleuropäische Normalzeit schrieb Fabio Estevam:
> According to rockchip,emac.yaml, 'phy-reset-duration' and 'phy-reset-gpios'
> are not valid properties.
> 
> Use the valid 'reset-gpios' and 'reset-assert-us' properties under
> the etherne-phy node.
> 
> This fixes the following dt-schema warning:
> 
> Unevaluated properties are not allowed ('phy-reset-duration',
> 'phy-reset-gpios' were unexpected)
> 
> Signed-off-by: Fabio Estevam <festevam at gmail.com>


please don't send patches that "simply" fix devicetree warnings.

As you can see in [0] the driver uses these properties currently.
So while this fixes schema warnings, it will break the actual boards.

So first of all you'll need to adapt the driver to handle the "official"
properties and also provide a fallback in the driver for old devicetrees.

Only then can we think about modifying the actual devicetrees for
the future.


Thanks
Heiko

[0] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/net/ethernet/arc/emac_mdio.c#n153


> ---
>  arch/arm/boot/dts/rockchip/rk3036-evb.dts   | 4 ++--
>  arch/arm/boot/dts/rockchip/rk3036-kylin.dts | 4 ++--
>  2 files changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/arch/arm/boot/dts/rockchip/rk3036-evb.dts b/arch/arm/boot/dts/rockchip/rk3036-evb.dts
> index becdc0b664bf..c8100dc4c7ce 100644
> --- a/arch/arm/boot/dts/rockchip/rk3036-evb.dts
> +++ b/arch/arm/boot/dts/rockchip/rk3036-evb.dts
> @@ -16,8 +16,6 @@ memory at 60000000 {
>  
>  &emac {
>  	phy = <&phy0>;
> -	phy-reset-duration = <10>; /* millisecond */
> -	phy-reset-gpios = <&gpio2 RK_PC6 GPIO_ACTIVE_LOW>; /* PHY_RST */
>  	pinctrl-names = "default";
>  	pinctrl-0 = <&emac_xfer>, <&emac_mdio>;
>  	status = "okay";
> @@ -28,6 +26,8 @@ mdio {
>  
>  		phy0: ethernet-phy at 0 {
>  			reg = <0>;
> +			reset-gpios = <&gpio2 RK_PC6 GPIO_ACTIVE_LOW>;
> +			reset-assert-us = <10000>;
>  		};
>  	};
>  };
> diff --git a/arch/arm/boot/dts/rockchip/rk3036-kylin.dts b/arch/arm/boot/dts/rockchip/rk3036-kylin.dts
> index ae2f84a4e922..bc6e6468fcc4 100644
> --- a/arch/arm/boot/dts/rockchip/rk3036-kylin.dts
> +++ b/arch/arm/boot/dts/rockchip/rk3036-kylin.dts
> @@ -102,8 +102,6 @@ &acodec {
>  
>  &emac {
>  	phy = <&phy0>;
> -	phy-reset-duration = <10>; /* millisecond */
> -	phy-reset-gpios = <&gpio2 RK_PC6 GPIO_ACTIVE_LOW>; /* PHY_RST */
>  	pinctrl-names = "default";
>  	pinctrl-0 = <&emac_xfer>, <&emac_mdio>;
>  	status = "okay";
> @@ -114,6 +112,8 @@ mdio {
>  
>  		phy0: ethernet-phy at 0 {
>  			reg = <0>;
> +			reset-gpios = <&gpio2 RK_PC6 GPIO_ACTIVE_LOW>;
> +			reset-assert-us = <10000>;
>  		};
>  	};
>  };
> 







More information about the linux-arm-kernel mailing list