ARM: dts: am57xx: Add PRUSS MDIO controller nodes

The PRUSSs on AM57xx SoCs contain an MDIO controller that can
be used to control external PHYs associated with the Industrial
Ethernet peripherals within each PRUSS. The MDIO module used
within the PRU-ICSS is an instance of the MDIO Controller used
in TI Davinci SoCs. The same bus frequency of 1 MHz is chosen as
the regular MDIO node.

The nodes are added in the common am57-pruss.dtsi file and enabled
by default, but are disabled in all the existing AM57xx 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
PRUSS Ethernet. Any new board dts file should disable these if
they are not sure.

Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Andrew F. Davis <afd@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
This commit is contained in:
Suman Anna 2021-07-29 17:46:21 -05:00 committed by Tony Lindgren
parent b8afeaee9d
commit 8c054cd281
6 changed files with 60 additions and 0 deletions

View file

@ -102,6 +102,16 @@ pru1_1: pru@38000 {
reg-names = "iram", "control", "debug";
firmware-name = "am57xx-pru1_1-fw";
};
pruss1_mdio: mdio@32400 {
compatible = "ti,davinci_mdio";
#address-cells = <1>;
#size-cells = <0>;
clocks = <&dpll_gmac_h13x2_ck>;
clock-names = "fck";
bus_freq = <1000000>;
reg = <0x32400 0x90>;
};
};
};
@ -201,6 +211,16 @@ pru2_1: pru@38000 {
reg-names = "iram", "control", "debug";
firmware-name = "am57xx-pru2_1-fw";
};
pruss2_mdio: mdio@32400 {
compatible = "ti,davinci_mdio";
#address-cells = <1>;
#size-cells = <0>;
clocks = <&dpll_gmac_h13x2_ck>;
clock-names = "fck";
bus_freq = <1000000>;
reg = <0x32400 0x90>;
};
};
};
};

View file

@ -208,3 +208,11 @@ &mmc2 {
pinctrl-1 = <&mmc2_pins_hs>;
pinctrl-2 = <&mmc2_pins_ddr_rev20 &mmc2_iodelay_ddr_conf>;
};
&pruss1_mdio {
status = "disabled";
};
&pruss2_mdio {
status = "disabled";
};

View file

@ -27,3 +27,11 @@ &mmc2 {
pinctrl-1 = <&mmc2_pins_hs>;
pinctrl-2 = <&mmc2_pins_ddr_rev20>;
};
&pruss1_mdio {
status = "disabled";
};
&pruss2_mdio {
status = "disabled";
};

View file

@ -39,3 +39,11 @@ &mmc2 {
&emif1 {
status = "okay";
};
&pruss1_mdio {
status = "disabled";
};
&pruss2_mdio {
status = "disabled";
};

View file

@ -637,3 +637,11 @@ &dsp2 {
status = "okay";
memory-region = <&dsp2_memory_region>;
};
&pruss1_mdio {
status = "disabled";
};
&pruss2_mdio {
status = "disabled";
};

View file

@ -618,3 +618,11 @@ &gpio2_target {
status = "okay";
ti,no-reset-on-init;
};
&pruss1_mdio {
status = "disabled";
};
&pruss2_mdio {
status = "disabled";
};