Skip to content

Commit c2e9012

Browse files
jbrun3tsuperna9999
authored andcommitted
arm64: dts: amlogic: gxl: use gxl mdio multiplexer
So the far, GXL SoCs were using the generic mmio register based mdio multiplexer. This properly sets one of the glue register but the SoC actually has 3 of those registers. One of them sets the ID under which the internal phy will advertise itself. If nothing sets this register before linux boots (like u-boot), the internal phy path is broken. To address this problem, a dedicated MDIO mux driver has been introduced. Switch to this new driver. Signed-off-by: Jerome Brunet <jbrunet@baylibre.com> Link: https://lore.kernel.org/r/20230306151354.132973-1-jbrunet@baylibre.com Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
1 parent ea25464 commit c2e9012

1 file changed

Lines changed: 13 additions & 12 deletions

File tree

arch/arm64/boot/dts/amlogic/meson-gxl.dtsi

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -773,16 +773,23 @@
773773
};
774774
};
775775

776-
eth-phy-mux@55c {
777-
compatible = "mdio-mux-mmioreg", "mdio-mux";
776+
eth_phy_mux: mdio@558 {
777+
reg = <0x0 0x558 0x0 0xc>;
778+
compatible = "amlogic,gxl-mdio-mux";
778779
#address-cells = <1>;
779780
#size-cells = <0>;
780-
reg = <0x0 0x55c 0x0 0x4>;
781-
mux-mask = <0xffffffff>;
781+
clocks = <&clkc CLKID_FCLK_DIV4>;
782+
clock-names = "ref";
782783
mdio-parent-bus = <&mdio0>;
783784

784-
internal_mdio: mdio@e40908ff {
785-
reg = <0xe40908ff>;
785+
external_mdio: mdio@0 {
786+
reg = <0x0>;
787+
#address-cells = <1>;
788+
#size-cells = <0>;
789+
};
790+
791+
internal_mdio: mdio@1 {
792+
reg = <0x1>;
786793
#address-cells = <1>;
787794
#size-cells = <0>;
788795

@@ -793,12 +800,6 @@
793800
max-speed = <100>;
794801
};
795802
};
796-
797-
external_mdio: mdio@2009087f {
798-
reg = <0x2009087f>;
799-
#address-cells = <1>;
800-
#size-cells = <0>;
801-
};
802803
};
803804
};
804805

0 commit comments

Comments
 (0)