arm64: dts: ti: k3-am65-main: Add ICSSG MDIO nodes
authorRoger Quadros <rogerq@ti.com>
Tue, 1 Jun 2021 15:00:31 +0000 (10:00 -0500)
committerNishanth Menon <nm@ti.com>
Mon, 7 Jun 2021 14:54:26 +0000 (09:54 -0500)
The ICSSGs on K3 AM65x SoCs contain an MDIO controller that can
be used to control external PHYs associated with the Industrial
Ethernet peripherals within each ICSSG instance. The MDIO module
used within the ICSSG is similar to the MDIO Controller used
in TI Davinci SoCs. A bus frequency of 1 MHz is chosen for the
MDIO operations.

The nodes are added and enabled in the common k3-am65-main.dtsi
file by default, and disabled in the existing AM65 board dts
files. These nodes need pinctrl lines, and so should be enabled
only on boards where they are actually wired and pinned out for
ICSSG Ethernet. Any new board dts file should disable these if
they are not sure.

Signed-off-by: Roger Quadros <rogerq@ti.com>
[s-anna@ti.com: move the disabled status to board dts files]
Signed-off-by: Suman Anna <s-anna@ti.com>
Reviewed-by: Grygorii Strashko <grygorii.strashko@ti.com>
Acked-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Link: https://lore.kernel.org/r/20210601150032.11432-2-s-anna@ti.com
arch/arm64/boot/dts/ti/k3-am65-iot2050-common.dtsi
arch/arm64/boot/dts/ti/k3-am65-main.dtsi
arch/arm64/boot/dts/ti/k3-am654-base-board.dts

index d90abda1de84b2e8604b8ab1eeb638c74be3cb3a..8c6b538c53f325234ee46fa9262f01c7d4c5581e 100644 (file)
 &mailbox0_cluster11 {
        status = "disabled";
 };
+
+&icssg0_mdio {
+       status = "disabled";
+};
+
+&icssg1_mdio {
+       status = "disabled";
+};
+
+&icssg2_mdio {
+       status = "disabled";
+};
index f97fc00c00ca0fe78fab1a24d56168f15bd99eec..e679394d0b7e66316ade84a27541b5db07bcee5d 100644 (file)
                        reg-names = "iram", "control", "debug";
                        firmware-name = "am65x-txpru0_1-fw";
                };
+
+               icssg0_mdio: mdio@32400 {
+                       compatible = "ti,davinci_mdio";
+                       reg = <0x32400 0x100>;
+                       clocks = <&k3_clks 62 3>;
+                       clock-names = "fck";
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       bus_freq = <1000000>;
+               };
        };
 
        icssg1: icssg@b100000 {
                        reg-names = "iram", "control", "debug";
                        firmware-name = "am65x-txpru1_1-fw";
                };
+
+               icssg1_mdio: mdio@32400 {
+                       compatible = "ti,davinci_mdio";
+                       reg = <0x32400 0x100>;
+                       clocks = <&k3_clks 63 3>;
+                       clock-names = "fck";
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       bus_freq = <1000000>;
+               };
        };
 
        icssg2: icssg@b200000 {
                        reg-names = "iram", "control", "debug";
                        firmware-name = "am65x-txpru2_1-fw";
                };
+
+               icssg2_mdio: mdio@32400 {
+                       compatible = "ti,davinci_mdio";
+                       reg = <0x32400 0x100>;
+                       clocks = <&k3_clks 64 3>;
+                       clock-names = "fck";
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       bus_freq = <1000000>;
+               };
        };
 };
index 60e43fd7af12b7474cf530b49f1a352f77ed48f7..fa057a85e8330b5fee936f16f6aabd1b39b5803e 100644 (file)
 &dss {
        status = "disabled";
 };
+
+&icssg0_mdio {
+       status = "disabled";
+};
+
+&icssg1_mdio {
+       status = "disabled";
+};
+
+&icssg2_mdio {
+       status = "disabled";
+};