Message ID | 20200227222837.7329-5-s-anna@ti.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | ti-sysc support for PRUSS | expand |
On 28/02/2020 00:28, Suman Anna wrote: > The AM437x family of SoCs contains two dissimilar PRU-ICSS instances, > but leverage a common reset line and SYSCFG from the larger PRU-ICSS1 > instance. This SYSC register has also very unique bit-fields. Both > the IPs require the PRCM reset to be deasserted to be able to access > any registers. Add a common PRUSS interconnect target-module with all > the required properties. > > The PRUSS devices themselves shall be added as child nodes to this > interconnect node in the future. The PRU-ICSS instances are not > supported on AM4372 SoC though in the AM437x family, so the target > module node should be disabled in any derivative board files that > use this SoC. > > Signed-off-by: Suman Anna <s-anna@ti.com> Reviewed-by: Roger Quadros <rogerq@ti.com> > --- > v2: > - Remove status=disabled > - Revise last para in patch description > > arch/arm/boot/dts/am4372.dtsi | 22 ++++++++++++++++++++++ > 1 file changed, 22 insertions(+) > > diff --git a/arch/arm/boot/dts/am4372.dtsi b/arch/arm/boot/dts/am4372.dtsi > index faa14dc0faff..9f39413b0d0e 100644 > --- a/arch/arm/boot/dts/am4372.dtsi > +++ b/arch/arm/boot/dts/am4372.dtsi > @@ -344,6 +344,28 @@ > }; > }; > > + pruss_tm: target-module@54400000 { > + compatible = "ti,sysc-pruss", "ti,sysc"; > + reg = <0x54426000 0x4>, > + <0x54426004 0x4>; > + reg-names = "rev", "sysc"; > + ti,sysc-mask = <(SYSC_PRUSS_STANDBY_INIT | > + SYSC_PRUSS_SUB_MWAIT)>; > + ti,sysc-midle = <SYSC_IDLE_FORCE>, > + <SYSC_IDLE_NO>, > + <SYSC_IDLE_SMART>; > + ti,sysc-sidle = <SYSC_IDLE_FORCE>, > + <SYSC_IDLE_NO>, > + <SYSC_IDLE_SMART>; > + clocks = <&pruss_ocp_clkctrl AM4_PRUSS_OCP_PRUSS_CLKCTRL 0>; > + clock-names = "fck"; > + resets = <&prm_per 1>; > + reset-names = "rstctrl"; > + #address-cells = <1>; > + #size-cells = <1>; > + ranges = <0x0 0x54400000 0x80000>; > + }; > + > gpmc: gpmc@50000000 { > compatible = "ti,am3352-gpmc"; > ti,hwmods = "gpmc"; >
diff --git a/arch/arm/boot/dts/am4372.dtsi b/arch/arm/boot/dts/am4372.dtsi index faa14dc0faff..9f39413b0d0e 100644 --- a/arch/arm/boot/dts/am4372.dtsi +++ b/arch/arm/boot/dts/am4372.dtsi @@ -344,6 +344,28 @@ }; }; + pruss_tm: target-module@54400000 { + compatible = "ti,sysc-pruss", "ti,sysc"; + reg = <0x54426000 0x4>, + <0x54426004 0x4>; + reg-names = "rev", "sysc"; + ti,sysc-mask = <(SYSC_PRUSS_STANDBY_INIT | + SYSC_PRUSS_SUB_MWAIT)>; + ti,sysc-midle = <SYSC_IDLE_FORCE>, + <SYSC_IDLE_NO>, + <SYSC_IDLE_SMART>; + ti,sysc-sidle = <SYSC_IDLE_FORCE>, + <SYSC_IDLE_NO>, + <SYSC_IDLE_SMART>; + clocks = <&pruss_ocp_clkctrl AM4_PRUSS_OCP_PRUSS_CLKCTRL 0>; + clock-names = "fck"; + resets = <&prm_per 1>; + reset-names = "rstctrl"; + #address-cells = <1>; + #size-cells = <1>; + ranges = <0x0 0x54400000 0x80000>; + }; + gpmc: gpmc@50000000 { compatible = "ti,am3352-gpmc"; ti,hwmods = "gpmc";
The AM437x family of SoCs contains two dissimilar PRU-ICSS instances, but leverage a common reset line and SYSCFG from the larger PRU-ICSS1 instance. This SYSC register has also very unique bit-fields. Both the IPs require the PRCM reset to be deasserted to be able to access any registers. Add a common PRUSS interconnect target-module with all the required properties. The PRUSS devices themselves shall be added as child nodes to this interconnect node in the future. The PRU-ICSS instances are not supported on AM4372 SoC though in the AM437x family, so the target module node should be disabled in any derivative board files that use this SoC. Signed-off-by: Suman Anna <s-anna@ti.com> --- v2: - Remove status=disabled - Revise last para in patch description arch/arm/boot/dts/am4372.dtsi | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+)