Re: [PATCH v2] ARM: dts: am437x: fix networking on boards with ksz9031 phy

From: Philippe Schenker
Date: Thu May 07 2020 - 11:16:22 EST


On Thu, 2020-05-07 at 18:12 +0300, Grygorii Strashko wrote:
> Since commit bcf3440c6dd7 ("net: phy: micrel: add phy-mode support for
> the
> KSZ9031 PHY") the networking is broken on boards:
> am437x-gp-evm
> am437x-sk-evm
> am437x-idk-evm
>
> All above boards have phy-mode = "rgmii" and this is worked before,
> because
> KSZ9031 PHY started with default RGMII internal delays configuration
> (TX
> off, RX on 1.2 ns) and MAC provided TX delay. After above commit, the
> KSZ9031 PHY starts handling phy mode properly and disables RX delay,
> as
> result networking is become broken.
>
> Fix it by switching to phy-mode = "rgmii-rxid" to reflect previous
> behavior.
>
> Cc: Oleksij Rempel <o.rempel@xxxxxxxxxxxxxx>
> Cc: Andrew Lunn <andrew@xxxxxxx>
> Cc: Philippe Schenker <philippe.schenker@xxxxxxxxxxx>
> Fixes: commit bcf3440c6dd7 ("net: phy: micrel: add phy-mode support
> for the KSZ9031 PHY")
> Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx>

Reviewed-by: Philippe Schenker <philippe.schenker@xxxxxxxxxxx>

> ---
> arch/arm/boot/dts/am437x-gp-evm.dts | 2 +-
> arch/arm/boot/dts/am437x-idk-evm.dts | 2 +-
> arch/arm/boot/dts/am437x-sk-evm.dts | 4 ++--
> 3 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/arch/arm/boot/dts/am437x-gp-evm.dts
> b/arch/arm/boot/dts/am437x-gp-evm.dts
> index 811c8cae315b..d692e3b2812a 100644
> --- a/arch/arm/boot/dts/am437x-gp-evm.dts
> +++ b/arch/arm/boot/dts/am437x-gp-evm.dts
> @@ -943,7 +943,7 @@
>
> &cpsw_emac0 {
> phy-handle = <&ethphy0>;
> - phy-mode = "rgmii";
> + phy-mode = "rgmii-rxid";
> };
>
> &elm {
> diff --git a/arch/arm/boot/dts/am437x-idk-evm.dts
> b/arch/arm/boot/dts/am437x-idk-evm.dts
> index 9f66f96d09c9..a958f9ee4a5a 100644
> --- a/arch/arm/boot/dts/am437x-idk-evm.dts
> +++ b/arch/arm/boot/dts/am437x-idk-evm.dts
> @@ -504,7 +504,7 @@
>
> &cpsw_emac0 {
> phy-handle = <&ethphy0>;
> - phy-mode = "rgmii";
> + phy-mode = "rgmii-rxid";
> };
>
> &rtc {
> diff --git a/arch/arm/boot/dts/am437x-sk-evm.dts
> b/arch/arm/boot/dts/am437x-sk-evm.dts
> index 25222497f828..4d5a7ca2e25d 100644
> --- a/arch/arm/boot/dts/am437x-sk-evm.dts
> +++ b/arch/arm/boot/dts/am437x-sk-evm.dts
> @@ -833,13 +833,13 @@
>
> &cpsw_emac0 {
> phy-handle = <&ethphy0>;
> - phy-mode = "rgmii";
> + phy-mode = "rgmii-rxid";
> dual_emac_res_vlan = <1>;
> };
>
> &cpsw_emac1 {
> phy-handle = <&ethphy1>;
> - phy-mode = "rgmii";
> + phy-mode = "rgmii-rxid";
> dual_emac_res_vlan = <2>;
> };
>