ARM: dts: ls1021a: Restore MDIO compatible to gianfar
authorVladimir Oltean <olteanv@gmail.com>
Sun, 26 Jan 2020 19:49:50 +0000 (21:49 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 12 Mar 2020 12:00:24 +0000 (13:00 +0100)
commit 7155c44624d061692b4c13aa8343f119c67d4fc0 upstream.

The difference between "fsl,etsec2-mdio" and "gianfar" has to do with
the .get_tbipa function, which calculates the address of the TBIPA
register automatically, if not explicitly specified. [ see
drivers/net/ethernet/freescale/fsl_pq_mdio.c ]. On LS1021A, the TBIPA
register is at offset 0x30 within the port register block, which is what
the "gianfar" method of calculating addresses actually does.

Luckily, the bad "compatible" is inconsequential for ls1021a.dtsi,
because the TBIPA register is explicitly specified via the second "reg"
(<0x0 0x2d10030 0x0 0x4>), so the "get_tbipa" function is dead code.
Nonetheless it's good to restore it to its correct value.

Background discussion:
https://www.spinics.net/lists/stable/msg361156.html

Fixes: c7861adbe37f ("ARM: dts: ls1021: Fix SGMII PCS link remaining down after PHY disconnect")
Reported-by: Pavel Machek <pavel@denx.de>
Signed-off-by: Vladimir Oltean <olteanv@gmail.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/arm/boot/dts/ls1021a.dtsi

index 2f6977a..63d9f4a 100644 (file)
                };
 
                mdio0: mdio@2d24000 {
-                       compatible = "fsl,etsec2-mdio";
+                       compatible = "gianfar";
                        device_type = "mdio";
                        #address-cells = <1>;
                        #size-cells = <0>;
                };
 
                mdio1: mdio@2d64000 {
-                       compatible = "fsl,etsec2-mdio";
+                       compatible = "gianfar";
                        device_type = "mdio";
                        #address-cells = <1>;
                        #size-cells = <0>;