Message ID | 20210514224759.9987-1-s-anna@ti.com |
---|---|
Headers | show |
Series | Add ICSSG MDIO nodes on AM65x & J721E SoCs | expand |
On 15/05/2021 01:47, Suman Anna wrote: > Hi Nishanth, > > The following series adds the base MDIO nodes representing the MDIO > sub-module present in each of the ICSSG subsystem. These build on > top of the foundation ICSSG nodes added in v5.13-rc1. Please see > the previous ICSSG foundation series for more details [1]. > > The MDIO nodes would only be used on boards wired for supporting > the ICSSG Ethernet, so in general are expected to be disabled in > all boards where they are not pinned out. > > I have added these as "enabled" by default in the base dtsi files, > and have marked it disabled in all the existing board dts files > until we are ready to add in the ICSSG Ethernet functionality. > > Note that the bus_freq property throws a warning with W=2, but this > had been a legacy property defined a long back. The davinci-mdio > binding continues to use this. > > regards > Suman > > [1] https://patchwork.kernel.org/project/linux-arm-kernel/cover/20210114194805.8231-1-s-anna@ti.com/ > > Roger Quadros (1): > arm64: dts: ti: k3-am65-main: Add ICSSG MDIO nodes > > Suman Anna (1): > arm64: dts: ti: k3-j721e-main: Add ICSSG MDIO nodes > > .../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 ++++++++ > .../dts/ti/k3-j721e-common-proc-board.dts | 8 +++++ > arch/arm64/boot/dts/ti/k3-j721e-main.dtsi | 20 +++++++++++++ > 5 files changed, 82 insertions(+) > Thank you. Reviewed-by: Grygorii Strashko <grygorii.strashko@ti.com>
On 15/05/2021 01:47, Suman Anna wrote: > From: Roger Quadros <rogerq@ti.com> > > 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> > --- > .../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(+) > Reviewed-by: Grygorii Strashko <grygorii.strashko@ti.com> -- Best regards, grygorii
On 15.05.21 00:47, Suman Anna wrote: > From: Roger Quadros <rogerq@ti.com> > > 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> > --- > .../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
On 28.05.21 07:09, Jan Kiszka wrote: > On 15.05.21 00:47, Suman Anna wrote: >> From: Roger Quadros <rogerq@ti.com> >> >> 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> >> --- >> .../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? > Ah, now reading our backlog completely - there will be more coming in to this file than not disabling icssg mdio (and that only for mdio0). So: Acked-by: Jan Kiszka <jan.kiszka@siemens.com> Jan PS: How far are we away from icssg-prueth? -- Siemens AG, T RDA IOT Corporate Competence Center Embedded Linux
On 5/28/21 12:22 AM, Jan Kiszka wrote: > On 28.05.21 07:09, Jan Kiszka wrote: >> On 15.05.21 00:47, Suman Anna wrote: >>> From: Roger Quadros <rogerq@ti.com> >>> >>> 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> >>> --- >>> .../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? >> > > Ah, now reading our backlog completely - there will be more coming in to > this file than not disabling icssg mdio (and that only for mdio0). So: Yeah, these will be enabled when the corresponding pinctrl pins are added, so will come alongside the icssg ethernet nodes in the future. > > Acked-by: Jan Kiszka <jan.kiszka@siemens.com> > > Jan > > PS: How far are we away from icssg-prueth? The last missing pieces from PRUSS foundation point of view are the PRUSS consumer API series, which need next versions to be posted upstream. I would say still couple of merge windows. regards Suman
On 17:47-20210514, Suman Anna wrote: > Hi Nishanth, > > The following series adds the base MDIO nodes representing the MDIO > sub-module present in each of the ICSSG subsystem. These build on > top of the foundation ICSSG nodes added in v5.13-rc1. Please see > the previous ICSSG foundation series for more details [1]. > > The MDIO nodes would only be used on boards wired for supporting > the ICSSG Ethernet, so in general are expected to be disabled in > all boards where they are not pinned out. > > I have added these as "enabled" by default in the base dtsi files, > and have marked it disabled in all the existing board dts files > until we are ready to add in the ICSSG Ethernet functionality. > > Note that the bus_freq property throws a warning with W=2, but this > had been a legacy property defined a long back. The davinci-mdio > binding continues to use this. > > regards > Suman > > [1] https://patchwork.kernel.org/project/linux-arm-kernel/cover/20210114194805.8231-1-s-anna@ti.com/ Did you mean https://lore.kernel.org/linux-arm-kernel/20210304160712.8452-1-s-anna@ti.com/ the series we actually did pick up? > > Roger Quadros (1): > arm64: dts: ti: k3-am65-main: Add ICSSG MDIO nodes > > Suman Anna (1): > arm64: dts: ti: k3-j721e-main: Add ICSSG MDIO nodes > OK, does'nt apply on my tree as I am picking up patches.. There are new cleanups and nodes I have picked up, so could be conflicting with those. Please rebase and post based on: https://git.kernel.org/pub/scm/linux/kernel/git/nmenon/linux.git/log/?h=ti-k3-dts-next I'd suggest you do that on monday OR base on monday's linux-next tag for the next post. -- Regards, Nishanth Menon Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 849D 1736 249D
On 5/28/21 1:24 PM, Nishanth Menon wrote: > On 17:47-20210514, Suman Anna wrote: >> Hi Nishanth, >> >> The following series adds the base MDIO nodes representing the MDIO >> sub-module present in each of the ICSSG subsystem. These build on >> top of the foundation ICSSG nodes added in v5.13-rc1. Please see >> the previous ICSSG foundation series for more details [1]. >> >> The MDIO nodes would only be used on boards wired for supporting >> the ICSSG Ethernet, so in general are expected to be disabled in >> all boards where they are not pinned out. >> >> I have added these as "enabled" by default in the base dtsi files, >> and have marked it disabled in all the existing board dts files >> until we are ready to add in the ICSSG Ethernet functionality. >> >> Note that the bus_freq property throws a warning with W=2, but this >> had been a legacy property defined a long back. The davinci-mdio >> binding continues to use this. >> >> regards >> Suman >> >> [1] https://patchwork.kernel.org/project/linux-arm-kernel/cover/20210114194805.8231-1-s-anna@ti.com/ > > Did you mean https://lore.kernel.org/linux-arm-kernel/20210304160712.8452-1-s-anna@ti.com/ > the series we actually did pick up? > v2 is the series we picked up, but I meant to give the v1 cover-letter only for the details portion. v2 cover-letter didn't have much details. >> >> Roger Quadros (1): >> arm64: dts: ti: k3-am65-main: Add ICSSG MDIO nodes >> >> Suman Anna (1): >> arm64: dts: ti: k3-j721e-main: Add ICSSG MDIO nodes >> > > OK, does'nt apply on my tree as I am picking up patches.. There are > new cleanups and nodes I have picked up, so could be conflicting with > those. > > Please rebase and post based on: > https://git.kernel.org/pub/scm/linux/kernel/git/nmenon/linux.git/log/?h=ti-k3-dts-next > > I'd suggest you do that on monday OR base on monday's linux-next tag for > the next post. > Yeah ok. regards Suman