Until now the mdio bus is a subnode of the ethernet device. This
coupling is different from upstream and wrong. Ethernet and mdio
are different devices. Additionally differentiate between mdio
controller and mdio bus. To make it clear:
- There is one mdio controller
- With up to 4 busses (on RTL93xx)
Prepare new mdio controller and bus nodes with SoC specific compatibles.
These will be used later when refactoring the mdio driver probing.
Remark! For now only define the first bus for the RTL93xx targets.
So the driver still relies on "rtl9300,smi-address = <x y>;". It will
need much more refactoring to get totally aligned with upstream.
Signed-off-by: Markus Stockhausen <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19986
Signed-off-by: Hauke Mehrtens <[email protected]>
compatible = "syscon", "simple-mfd";
reg = <0x1b000000 0x10000>;
+ mdio_ctrl: mdio-controller {
+ compatible = "realtek,rtl8380-mdio", "realtek,otto-mdio";
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ mdio_bus0: mdio-bus@0 {
+ reg = <0>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+ };
+
mdio_aux: mdio-aux {
compatible = "realtek,rtl8380-aux-mdio";
#address-cells = <1>;
compatible = "syscon", "simple-mfd";
reg = <0x1b000000 0x10000>;
+ mdio_ctrl: mdio-controller {
+ compatible = "realtek,rtl8392-mdio", "realtek,otto-mdio";
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ mdio_bus0: mdio-bus@0 {
+ reg = <0>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+ };
+
mdio_aux: mdio-aux {
compatible = "realtek,rtl8390-aux-mdio";
#address-cells = <1>;
status = "disabled";
};
+ mdio_ctrl: mdio-controller {
+ compatible = "realtek,rtl9301-mdio", "realtek,otto-mdio";
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ mdio_bus0: mdio-bus@0 {
+ reg = <0>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+ };
+
mdio_aux: mdio-aux {
compatible = "realtek,rtl9300-aux-mdio";
#address-cells = <1>;
status = "disabled";
};
+ mdio_ctrl: mdio-controller {
+ compatible = "realtek,rtl9311-mdio", "realtek,otto-mdio";
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ mdio_bus0: mdio-bus@0 {
+ reg = <0>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+ };
+
mdio_aux: mdio-aux {
compatible = "realtek,rtl9310-aux-mdio";
#address-cells = <1>;