On 15.05.21 00:47, Suman Anna wrote: > From: Roger Quadros <rogerq@xxxxxx> > > 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@xxxxxx> > [s-anna@xxxxxx: move the disabled status to board dts files] > Signed-off-by: Suman Anna <s-anna@xxxxxx> > --- > .../boot/dts/ti/k3-am65-iot2050-common.dtsi | 12 ++++++++ > arch/arm64/boot/dts/ti/k3-am65-main.dtsi | 30 +++++++++++++++++++ > .../arm64/boot/dts/ti/k3-am654-base-board.dts | 12 ++++++++ > 3 files changed, 54 insertions(+) > > diff --git a/arch/arm64/boot/dts/ti/k3-am65-iot2050-common.dtsi b/arch/arm64/boot/dts/ti/k3-am65-iot2050-common.dtsi > index de763ca9251c..63140eaba524 100644 > --- a/arch/arm64/boot/dts/ti/k3-am65-iot2050-common.dtsi > +++ b/arch/arm64/boot/dts/ti/k3-am65-iot2050-common.dtsi > @@ -653,3 +653,15 @@ &pcie1_rc { > &pcie1_ep { > status = "disabled"; > }; > + > +&icssg0_mdio { > + status = "disabled"; > +}; > + > +&icssg1_mdio { > + status = "disabled"; > +}; > + > +&icssg2_mdio { > + status = "disabled"; > +}; We will need this here for PRU networking. What would be the impact of leaving it enabled already at this stage? Jan > diff --git a/arch/arm64/boot/dts/ti/k3-am65-main.dtsi b/arch/arm64/boot/dts/ti/k3-am65-main.dtsi > index cb340d1b401f..25ec7aba841a 100644 > --- a/arch/arm64/boot/dts/ti/k3-am65-main.dtsi > +++ b/arch/arm64/boot/dts/ti/k3-am65-main.dtsi > @@ -1051,6 +1051,16 @@ tx_pru0_1: txpru@c000 { > 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 { > @@ -1182,6 +1192,16 @@ tx_pru1_1: txpru@c000 { > 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 { > @@ -1313,5 +1333,15 @@ tx_pru2_1: txpru@c000 { > 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>; > + }; > }; > }; > diff --git a/arch/arm64/boot/dts/ti/k3-am654-base-board.dts b/arch/arm64/boot/dts/ti/k3-am654-base-board.dts > index 9e87fb313a54..be905a006a97 100644 > --- a/arch/arm64/boot/dts/ti/k3-am654-base-board.dts > +++ b/arch/arm64/boot/dts/ti/k3-am654-base-board.dts > @@ -537,3 +537,15 @@ &mcasp2 { > &dss { > status = "disabled"; > }; > + > +&icssg0_mdio { > + status = "disabled"; > +}; > + > +&icssg1_mdio { > + status = "disabled"; > +}; > + > +&icssg2_mdio { > + status = "disabled"; > +}; > -- Siemens AG, T RDA IOT Corporate Competence Center Embedded Linux