]> git.ipfire.org Git - thirdparty/openwrt.git/commitdiff
realtek: mdio: derive phy smi-bus from parent node 21438/head
authorMarkus Stockhausen <markus.stockhausen@gmx.de>
Mon, 12 Jan 2026 16:56:31 +0000 (17:56 +0100)
committerHauke Mehrtens <hauke@hauke-m.de>
Wed, 21 Jan 2026 22:32:54 +0000 (23:32 +0100)
The dts for RTL93xx devices has duplicate data about the
smi bus of a phy node. The parent node declares the number
of the bus and the realtek,smi-address attribute does the
same.

Remove the bus part from the realtek,smi-address attribute
and lookup the bus from the parent node. While we are here
remove all realtek,smi-address attributes where phy id
matches the bus address. The driver will use that as a
fallback.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21438
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
14 files changed:
target/linux/realtek/dts/rtl9301_linksys_lgs328c.dts
target/linux/realtek/dts/rtl9302_plasmacloud_common.dtsi
target/linux/realtek/dts/rtl9302_plasmacloud_mcx3.dts
target/linux/realtek/dts/rtl9302_zyxel_xgs1010-12-a1.dts
target/linux/realtek/dts/rtl9302_zyxel_xgs1210-12-a1.dts
target/linux/realtek/dts/rtl9302_zyxel_xgs1210-12-b1.dts
target/linux/realtek/dts/rtl9302_zyxel_xgs1250-12-a1.dts
target/linux/realtek/dts/rtl9302_zyxel_xgs1250-12-b1.dts
target/linux/realtek/dts/rtl9302_zyxel_xgs1250-12-common.dtsi
target/linux/realtek/dts/rtl9302_zyxel_xgs1x10-12-common.dtsi
target/linux/realtek/dts/rtl9303_hasivo_s1100w-8xgt-se.dts
target/linux/realtek/dts/rtl9311_linksys_lgs352c.dts
target/linux/realtek/dts/rtl9312_plasmacloud_common.dtsi
target/linux/realtek/files-6.12/drivers/net/mdio/mdio-realtek-otto.c

index 462bf0b3fc5c63e7dcff342fb2286fbdaad14db4..6440616b52c34304ef54f7310b3c046d59fe69dd 100644 (file)
        phy0: ethernet-phy@0 {
                reg = <0>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <0 0>;
        };
        phy1: ethernet-phy@1 {
                reg = <1>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <0 1>;
        };              
        phy2: ethernet-phy@2 {
                reg = <2>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <0 2>;
        };              
        phy3: ethernet-phy@3 {
                reg = <3>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <0 3>;
        };              
        phy4: ethernet-phy@4 {
                reg = <4>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <0 4>;
        };              
        phy5: ethernet-phy@5 {
                reg = <5>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <0 5>;
        };              
        phy6: ethernet-phy@6 {
                reg = <6>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <0 6>;
        };              
        phy7: ethernet-phy@7 {
                reg = <7>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <0 7>;
        };
 };
 
        phy8: ethernet-phy@8 {
                reg = <8>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <1 8>;
        };
        phy9: ethernet-phy@9 {
                reg = <9>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <1 9>;
        };
        phy10: ethernet-phy@10 {
                reg = <10>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <1 10>;
        };
        phy11: ethernet-phy@11 {
                reg = <11>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <1 11>;
        };
        phy12: ethernet-phy@12 {
                reg = <12>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <1 12>;
        };
        phy13: ethernet-phy@13 {
                reg = <13>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <1 13>;
        };
        phy14: ethernet-phy@14 {
                reg = <14>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <1 14>;
        };
        phy15: ethernet-phy@15 {
                reg = <15>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <1 15>;
        };
 };
 
        phy16: ethernet-phy@16 {
                reg = <16>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <2 16>;
        };
        phy17: ethernet-phy@17 {
                reg = <17>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <2 17>;
        };              
        phy18: ethernet-phy@18 {
                reg = <18>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <2 18>;
        };              
        phy19: ethernet-phy@19 {
                reg = <19>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <2 19>;
        };              
        phy20: ethernet-phy@20 {
                reg = <20>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <2 20>;
        };              
        phy21: ethernet-phy@21 {
                reg = <21>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <2 21>;
        };              
        phy22: ethernet-phy@22 {
                reg = <22>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <2 22>;
        };              
        phy23: ethernet-phy@23 {
                reg = <23>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <2 23>;
        };      
 };
 
index 682e01a9bfe3c7e6a277f4fd07190f296f7c442b..afba3652671d43012d9ac0063e819a6bacc29cae 100644 (file)
        phy0: ethernet-phy@0 {
                reg = <0>;
                compatible = "ethernet-phy-ieee802.3-c45";
-               realtek,smi-address = <0 0>;
        };
 
        phy1: ethernet-phy@1 {
                reg = <1>;
                compatible = "ethernet-phy-ieee802.3-c45";
-               realtek,smi-address = <0 1>;
        };
 
        phy2: ethernet-phy@2 {
                reg = <2>;
                compatible = "ethernet-phy-ieee802.3-c45";
-               realtek,smi-address = <0 2>;
        };
 
        phy3: ethernet-phy@3 {
                reg = <3>;
                compatible = "ethernet-phy-ieee802.3-c45";
-               realtek,smi-address = <0 3>;
        };
 
        phy8: ethernet-phy@8 {
                reg = <8>;
                compatible = "ethernet-phy-ieee802.3-c45";
-               realtek,smi-address = <4>;
+               realtek,smi-address = <4>;
        };
 
        phy9: ethernet-phy@9 {
                reg = <9>;
                compatible = "ethernet-phy-ieee802.3-c45";
-               realtek,smi-address = <5>;
+               realtek,smi-address = <5>;
        };
 
        phy10: ethernet-phy@10 {
                reg = <10>;
                compatible = "ethernet-phy-ieee802.3-c45";
-               realtek,smi-address = <6>;
+               realtek,smi-address = <6>;
        };
 
        phy11: ethernet-phy@11 {
                reg = <11>;
                compatible = "ethernet-phy-ieee802.3-c45";
-               realtek,smi-address = <7>;
+               realtek,smi-address = <7>;
        };
 };
 
index 2a68a2d63294cb189f47b936864cab91418c0d35..f9d5580325594c9fbc4ddf7c7ad55502366d15c0 100644 (file)
        phy0: ethernet-phy@0 {
                reg = <0>;
                compatible = "ethernet-phy-ieee802.3-c45";
-               realtek,smi-address = <0 0>;
        };
 
        phy1: ethernet-phy@1 {
                reg = <1>;
                compatible = "ethernet-phy-ieee802.3-c45";
-               realtek,smi-address = <0 1>;
        };
 };
 
index 7a7adbcfc4f94eb0296e3a369d1a574ca11f0fed..e0a308cdd7454ee1deefbd21baf5d08a6a72d6f6 100644 (file)
 };
 
 &phy24 {
-       realtek,smi-address = <8>;
+       realtek,smi-address = <8>;
 };
 
 &phy25 {
-       realtek,smi-address = <9>;
+       realtek,smi-address = <9>;
 };
index 5bdf6039e68c31c4971026d640b12931fc172947..dc8e55b772eebe311c317fb9ffdafbd8ab9f56ac 100644 (file)
@@ -9,9 +9,9 @@
 };
 
 &phy24 {
-       realtek,smi-address = <8>;
+       realtek,smi-address = <8>;
 };
 
 &phy25 {
-       realtek,smi-address = <9>;
+       realtek,smi-address = <9>;
 };
index a0735a442a2ba286a0646220f844d9fce0108bb1..2a9eeda64a6cf0f5f159c1754ef8befa9cc6ad3d 100644 (file)
@@ -9,9 +9,9 @@
 };
 
 &phy24 {
-       realtek,smi-address = <1 1>;
+       realtek,smi-address = <1>;
 };
 
 &phy25 {
-       realtek,smi-address = <2 2>;
+       realtek,smi-address = <2>;
 };
index decd007d1f05a05e72a7dce98b14efe166c2380d..7de9e072dbcc80bb84c71fcab7ec776a74f34512 100644 (file)
@@ -13,7 +13,7 @@
        phy24: ethernet-phy@24 {
                reg = <24>;
                compatible = "ethernet-phy-ieee802.3-c45";
-               realtek,smi-address = <8>;
+               realtek,smi-address = <8>;
                // Disabled because we do not know how to bring up again
                // reset-gpios = <&gpio0 21 GPIO_ACTIVE_LOW>;
                #thermal-sensor-cells = <0>;
@@ -24,7 +24,7 @@
        phy25: ethernet-phy@25 {
                reg = <25>;
                compatible = "ethernet-phy-ieee802.3-c45";
-               realtek,smi-address = <8>;
+               realtek,smi-address = <8>;
                // Disabled because we do not know how to bring up again
                // reset-gpios = <&gpio0 21 GPIO_ACTIVE_LOW>;
                #thermal-sensor-cells = <0>;
@@ -35,7 +35,7 @@
        phy26: ethernet-phy@26 {
                reg = <26>;
                compatible = "ethernet-phy-ieee802.3-c45";
-               realtek,smi-address = <8>;
+               realtek,smi-address = <8>;
                // Disabled because we do not know how to bring up again
                // reset-gpios = <&gpio0 21 GPIO_ACTIVE_LOW>;
                #thermal-sensor-cells = <0>;
index 30e19445b279af141b2ab27659f967801df69f09..739f056370aebdded2326d246d72b21fc622eeeb 100644 (file)
@@ -12,7 +12,7 @@
        phy24: ethernet-phy@24 {
                reg = <24>;
                compatible = "ethernet-phy-ieee802.3-c45";
-               realtek,smi-address = <0>;
+               realtek,smi-address = <0>;
                // Disabled because we do not know how to bring up again
                // reset-gpios = <&gpio0 21 GPIO_ACTIVE_LOW>;
                #thermal-sensor-cells = <0>;
@@ -23,7 +23,7 @@
        phy25: ethernet-phy@25 {
                reg = <25>;
                compatible = "ethernet-phy-ieee802.3-c45";
-               realtek,smi-address = <1>;
+               realtek,smi-address = <1>;
                // Disabled because we do not know how to bring up again
                // reset-gpios = <&gpio0 21 GPIO_ACTIVE_LOW>;
                #thermal-sensor-cells = <0>;
@@ -34,7 +34,7 @@
        phy26: ethernet-phy@26 {
                reg = <26>;
                compatible = "ethernet-phy-ieee802.3-c45";
-               realtek,smi-address = <2>;
+               realtek,smi-address = <2>;
                // Disabled because we do not know how to bring up again
                // reset-gpios = <&gpio0 21 GPIO_ACTIVE_LOW>;
                #thermal-sensor-cells = <0>;
index 4719cae6960f4c6dcf086ad465cd76d37a41621d..2d20bfc3c237ad6e65b1f8f45048cd2cedb96927 100644 (file)
        phy0: ethernet-phy@0 {
                reg = <0>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <0 0>;
                // Disabled because we do not know how to bring up again
                // reset-gpios = <&gpio0 21 GPIO_ACTIVE_LOW>;
        };
        phy1: ethernet-phy@1 {
                reg = <1>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <0 1>;
        };
        phy2: ethernet-phy@2 {
                reg = <2>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <0 2>;
        };
        phy3: ethernet-phy@3 {
                reg = <3>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <0 3>;
        };
        phy4: ethernet-phy@4 {
                reg = <4>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <0 4>;
        };
        phy5: ethernet-phy@5 {
                reg = <5>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <0 5>;
        };
        phy6: ethernet-phy@6 {
                reg = <6>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <0 6>;
        };
        phy7: ethernet-phy@7 {
                reg = <7>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <0 7>;
        };
 };
 
index 61f6109262a3140948ee9a5263dd37732640fab8..c1471b1a00955619cc91816941198e4b690f925d 100644 (file)
        phy0: ethernet-phy@0 {
                reg = <0>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <0 0>;
                // Disabled because we do not know how to bring up again
                // reset-gpios = <&gpio0 21 GPIO_ACTIVE_LOW>;
        };
        phy1: ethernet-phy@1 {
                reg = <1>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <0 1>;
        };
        phy2: ethernet-phy@2 {
                reg = <2>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <0 2>;
        };
        phy3: ethernet-phy@3 {
                reg = <3>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <0 3>;
        };
        phy4: ethernet-phy@4 {
                reg = <4>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <0 4>;
        };
        phy5: ethernet-phy@5 {
                reg = <5>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <0 5>;
        };
        phy6: ethernet-phy@6 {
                reg = <6>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <0 6>;
        };
        phy7: ethernet-phy@7 {
                reg = <7>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <0 7>;
        };
 };
 
index b16e669aa0078e51db85eaa12b7c20eb15d5b4b2..781e452fa21fdaa2099adec5ef7d49c3bdd64a04 100644 (file)
 &mdio_bus0 {
        phy0: ethernet-phy@0 {
                compatible = "ethernet-phy-ieee802.3-c45";
-               realtek,smi-address = <0 0>;
                reg = <0>;
        };
 
        phy8: ethernet-phy@8 {
                compatible = "ethernet-phy-ieee802.3-c45";
-               realtek,smi-address = <1>;
+               realtek,smi-address = <1>;
                reg = <8>;
        };
 
        phy16: ethernet-phy@16 {
                compatible = "ethernet-phy-ieee802.3-c45";
-               realtek,smi-address = <2>;
+               realtek,smi-address = <2>;
                reg = <16>;
        };
 
        phy20: ethernet-phy@20 {
                compatible = "ethernet-phy-ieee802.3-c45";
-               realtek,smi-address = <3>;
+               realtek,smi-address = <3>;
                reg = <20>;
        };
 };
 &mdio_bus3 {
        phy24: ethernet-phy@24 {
                compatible = "ethernet-phy-ieee802.3-c45";
-               realtek,smi-address = <16>;
+               realtek,smi-address = <16>;
                reg = <24>;
        };
 
        phy25: ethernet-phy@25 {
                compatible = "ethernet-phy-ieee802.3-c45";
-               realtek,smi-address = <17>;
+               realtek,smi-address = <17>;
                reg = <25>;
        };
 
        phy26: ethernet-phy@26 {
                compatible = "ethernet-phy-ieee802.3-c45";
-               realtek,smi-address = <18>;
+               realtek,smi-address = <18>;
                reg = <26>;
        };
 
        phy27: ethernet-phy@27 {
                compatible = "ethernet-phy-ieee802.3-c45";
-               realtek,smi-address = <19>;
+               realtek,smi-address = <19>;
                reg = <27>;
        };
 };
index c1d82012976f403ce6512be371d65d552c396110..80c34659f508dc6243f55a42ae9ef6e2b5996733 100644 (file)
        phy0: ethernet-phy@0 {
                reg = <0>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <0 0>;
        };
        phy1: ethernet-phy@1 {
                reg = <1>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <0 1>;
        };
        phy2: ethernet-phy@2 {
                reg = <2>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <0 2>;
        };
        phy3: ethernet-phy@3 {
                reg = <3>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <0 3>;
        };
        phy4: ethernet-phy@4 {
                reg = <4>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <0 4>;
        };
        phy5: ethernet-phy@5 {
                reg = <5>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <0 5>;
        };
        phy6: ethernet-phy@6 {
                reg = <6>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <0 6>;
        };
        phy7: ethernet-phy@7 {
                reg = <7>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <0 7>;
        };
        phy8: ethernet-phy@8 {
                reg = <8>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <0 8>;
        };
        phy9: ethernet-phy@9 {
                reg = <9>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <0 9>;
        };
        phy10: ethernet-phy@10 {
                reg = <10>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <0 10>;
        };
        phy11: ethernet-phy@11 {
                reg = <11>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <0 11>;
        };
        phy12: ethernet-phy@12 {
                reg = <12>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <0 12>;
        };
        phy13: ethernet-phy@13 {
                reg = <13>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <0 13>;
        };
        phy14: ethernet-phy@14 {
                reg = <14>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <0 14>;
        };
        phy15: ethernet-phy@15 {
                reg = <15>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <0 15>;
        };
        phy16: ethernet-phy@16 {
                reg = <16>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <0 16>;
        };
        phy17: ethernet-phy@17 {
                reg = <17>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <0 17>;
        };
        phy18: ethernet-phy@18 {
                reg = <18>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <0 18>;
        };
        phy19: ethernet-phy@19 {
                reg = <19>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <0 19>;
        };
        phy20: ethernet-phy@20 {
                reg = <20>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <0 20>;
        };
        phy21: ethernet-phy@21 {
                reg = <21>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <0 21>;
        };
        phy22: ethernet-phy@22 {
                reg = <22>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <0 22>;
        };
        phy23: ethernet-phy@23 {
                reg = <23>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <0 23>;
        };
 };
 
        phy24: ethernet-phy@24 {
                reg = <24>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <0>;
+               realtek,smi-address = <0>;
        };
        phy25: ethernet-phy@25 {
                reg = <25>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <1 1>;
+               realtek,smi-address = <1>;
        };
        phy26: ethernet-phy@26 {
                reg = <26>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <2>;
+               realtek,smi-address = <2>;
        };
        phy27: ethernet-phy@27 {
                reg = <27>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <3>;
+               realtek,smi-address = <3>;
        };
        phy28: ethernet-phy@28 {
                reg = <28>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <4>;
+               realtek,smi-address = <4>;
        };
        phy29: ethernet-phy@29 {
                reg = <29>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <5>;
+               realtek,smi-address = <5>;
        };
        phy30: ethernet-phy@30 {
                reg = <30>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <6>;
+               realtek,smi-address = <6>;
        };
        phy31: ethernet-phy@31 {
                reg = <31>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <7>;
+               realtek,smi-address = <7>;
        };
        phy32: ethernet-phy@32 {
                reg = <32>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <8>;
+               realtek,smi-address = <8>;
        };
        phy33: ethernet-phy@33 {
                reg = <33>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <9>;
+               realtek,smi-address = <9>;
        };
        phy34: ethernet-phy@34 {
                reg = <34>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <1 10>;
+               realtek,smi-address = <10>;
        };
        phy35: ethernet-phy@35 {
                reg = <35>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <1 11>;
+               realtek,smi-address = <11>;
        };
        phy36: ethernet-phy@36 {
                reg = <36>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <1 12>;
+               realtek,smi-address = <12>;
        };
        phy37: ethernet-phy@37 {
                reg = <37>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <1 13>;
+               realtek,smi-address = <13>;
        };
        phy38: ethernet-phy@38 {
                reg = <38>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <1 14>;
+               realtek,smi-address = <14>;
        };
        phy39: ethernet-phy@39 {
                reg = <39>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <1 15>;
+               realtek,smi-address = <15>;
        };
        phy40: ethernet-phy@40 {
                reg = <40>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <1 16>;
+               realtek,smi-address = <16>;
        };
        phy41: ethernet-phy@41 {
                reg = <41>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <1 17>;
+               realtek,smi-address = <17>;
        };
        phy42: ethernet-phy@42 {
                reg = <42>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <1 18>;
+               realtek,smi-address = <18>;
        };
        phy43: ethernet-phy@43 {
                reg = <43>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <1 19>;
+               realtek,smi-address = <19>;
        };
        phy44: ethernet-phy@44 {
                reg = <44>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <20>;
+               realtek,smi-address = <20>;
        };
        phy45: ethernet-phy@45 {
                reg = <45>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <21>;
+               realtek,smi-address = <21>;
        };
        phy46: ethernet-phy@46 {
                reg = <46>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <22>;
+               realtek,smi-address = <22>;
        };
        phy47: ethernet-phy@47 {
                reg = <47>;
                compatible = "ethernet-phy-ieee802.3-c22";
-               realtek,smi-address = <23>;
+               realtek,smi-address = <23>;
        };
 };
 
index b7de43ce1adcf99561ef40aa567eabf9704f4c9f..e1b4a49c9f0c3b1423b246a1ff600bde4ab1d808 100644 (file)
        phy0: ethernet-phy@0 {
                reg = <0>;
                compatible = "ethernet-phy-ieee802.3-c45";
-               realtek,smi-address = <0 0>;
        };
 
        phy1: ethernet-phy@1 {
                reg = <1>;
                compatible = "ethernet-phy-ieee802.3-c45";
-               realtek,smi-address = <0 1>;
        };
 
        phy4: ethernet-phy@4 {
                reg = <4>;
                compatible = "ethernet-phy-ieee802.3-c45";
-               realtek,smi-address = <2>;
+               realtek,smi-address = <2>;
        };
 
        phy5: ethernet-phy@5 {
                reg = <5>;
                compatible = "ethernet-phy-ieee802.3-c45";
-               realtek,smi-address = <3>;
+               realtek,smi-address = <3>;
        };
 
        phy8: ethernet-phy@8 {
                reg = <8>;
                compatible = "ethernet-phy-ieee802.3-c45";
-               realtek,smi-address = <4>;
+               realtek,smi-address = <4>;
        };
 
        phy9: ethernet-phy@9 {
                reg = <9>;
                compatible = "ethernet-phy-ieee802.3-c45";
-               realtek,smi-address = <5>;
+               realtek,smi-address = <5>;
        };
 
        phy12: ethernet-phy@12 {
                reg = <12>;
                compatible = "ethernet-phy-ieee802.3-c45";
-               realtek,smi-address = <6>;
+               realtek,smi-address = <6>;
        };
 
        phy13: ethernet-phy@13 {
                reg = <13>;
                compatible = "ethernet-phy-ieee802.3-c45";
-               realtek,smi-address = <7>;
+               realtek,smi-address = <7>;
        };
 
        phy16: ethernet-phy@16 {
                reg = <16>;
                compatible = "ethernet-phy-ieee802.3-c45";
-               realtek,smi-address = <8>;
+               realtek,smi-address = <8>;
        };
 
        phy17: ethernet-phy@17 {
                reg = <17>;
                compatible = "ethernet-phy-ieee802.3-c45";
-               realtek,smi-address = <9>;
+               realtek,smi-address = <9>;
        };
 
        phy20: ethernet-phy@20 {
                reg = <20>;
                compatible = "ethernet-phy-ieee802.3-c45";
-               realtek,smi-address = <10>;
+               realtek,smi-address = <10>;
        };
 
        phy21: ethernet-phy@21 {
                reg = <21>;
                compatible = "ethernet-phy-ieee802.3-c45";
-               realtek,smi-address = <11>;
+               realtek,smi-address = <11>;
        };
 };
 
        phy24: ethernet-phy@24 {
                reg = <24>;
                compatible = "ethernet-phy-ieee802.3-c45";
-               realtek,smi-address = <1 12>;
+               realtek,smi-address = <12>;
        };
 
        phy25: ethernet-phy@25 {
                reg = <25>;
                compatible = "ethernet-phy-ieee802.3-c45";
-               realtek,smi-address = <1 13>;
+               realtek,smi-address = <13>;
        };
 
        phy28: ethernet-phy@28 {
                reg = <28>;
                compatible = "ethernet-phy-ieee802.3-c45";
-               realtek,smi-address = <1 14>;
+               realtek,smi-address = <14>;
        };
 
        phy29: ethernet-phy@29 {
                reg = <29>;
                compatible = "ethernet-phy-ieee802.3-c45";
-               realtek,smi-address = <1 15>;
+               realtek,smi-address = <15>;
        };
 
        phy32: ethernet-phy@32 {
                reg = <32>;
                compatible = "ethernet-phy-ieee802.3-c45";
-               realtek,smi-address = <1 16>;
+               realtek,smi-address = <16>;
        };
 
        phy33: ethernet-phy@33 {
                reg = <33>;
                compatible = "ethernet-phy-ieee802.3-c45";
-               realtek,smi-address = <1 17>;
+               realtek,smi-address = <17>;
        };
 
        phy36: ethernet-phy@36 {
                reg = <36>;
                compatible = "ethernet-phy-ieee802.3-c45";
-               realtek,smi-address = <1 18>;
+               realtek,smi-address = <18>;
        };
 
        phy37: ethernet-phy@37 {
                reg = <37>;
                compatible = "ethernet-phy-ieee802.3-c45";
-               realtek,smi-address = <1 19>;
+               realtek,smi-address = <19>;
        };
 
        phy40: ethernet-phy@40 {
                reg = <40>;
                compatible = "ethernet-phy-ieee802.3-c45";
-               realtek,smi-address = <20>;
+               realtek,smi-address = <20>;
        };
 
        phy41: ethernet-phy@41 {
                reg = <41>;
                compatible = "ethernet-phy-ieee802.3-c45";
-               realtek,smi-address = <21>;
+               realtek,smi-address = <21>;
        };
 
        phy44: ethernet-phy@44 {
                reg = <44>;
                compatible = "ethernet-phy-ieee802.3-c45";
-               realtek,smi-address = <22>;
+               realtek,smi-address = <22>;
        };
 
        phy45: ethernet-phy@45 {
                reg = <45>;
                compatible = "ethernet-phy-ieee802.3-c45";
-               realtek,smi-address = <23>;
+               realtek,smi-address = <23>;
        };
 };
 
index 20e3f555c25732c4b11a70b90b3ee75b20e55533..44216fe2d98145e76b914ce0cfa3ec31af8942d2 100644 (file)
@@ -149,7 +149,7 @@ struct rtmdio_bus_priv {
        int page[RTMDIO_MAX_PORT];
        bool raw[RTMDIO_MAX_PORT];
        int smi_bus[RTMDIO_MAX_PORT];
-       u8 smi_addr[RTMDIO_MAX_PORT];
+       int smi_addr[RTMDIO_MAX_PORT];
        struct device_node *dn[RTMDIO_MAX_PORT];
        bool smi_bus_isc45[RTMDIO_MAX_SMI_BUS];
 };
@@ -1030,8 +1030,6 @@ static int rtmdio_probe(struct platform_device *pdev)
                priv->smi_bus[addr] = -1;
 
        for_each_node_by_name(dn, "ethernet-phy") {
-               u32 smi_addr[2];
-
                if (of_property_read_u32(dn, "reg", &addr))
                        continue;
 
@@ -1040,14 +1038,10 @@ static int rtmdio_probe(struct platform_device *pdev)
                        return -ENODEV;
                }
 
-               if (of_property_read_u32_array(dn, "realtek,smi-address", &smi_addr[0], 2)) {
-                       priv->smi_bus[addr] = 0;
+               of_property_read_u32(dn->parent, "reg", &priv->smi_bus[addr]);
+               if (of_property_read_u32(dn, "realtek,smi-address", &priv->smi_addr[addr]))
                        priv->smi_addr[addr] = addr;
-               } else {
-                       priv->smi_bus[addr] = smi_addr[0];
-                       priv->smi_addr[addr] = smi_addr[1];
-               }
-
+               
                if (priv->smi_bus[addr] >= RTMDIO_MAX_SMI_BUS) {
                        pr_err("%s: illegal SMI bus number %d\n", __func__, priv->smi_bus[addr]);
                        return -ENODEV;