Message ID | 20200227222837.7329-4-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 PRU-ICSS present on some AM33xx SoCs has a very unique SYSC > register. The IP also uses a hard-reset line, and requires this > PRCM reset to be deasserted to be able to access any registers. > Update the existing PRUSS interconnect target-module with all > the required properties. > > The PRUSS device itself shall be added as a child node to this > interconnect node in the future. PRU-ICSS is not supported on > AM3351/AM3352/AM3354 SoCs though in the AM33xx family, so the > target module node should be disabled in derivative board files > that use any of these SoCs. > > Signed-off-by: Suman Anna <s-anna@ti.com> Reviewed-by: Roger Quadros <rogerq@ti.com> > --- > v2: Revise patch description, no code changes > > arch/arm/boot/dts/am33xx-l4.dtsi | 21 ++++++++++++++++++--- > 1 file changed, 18 insertions(+), 3 deletions(-) > > diff --git a/arch/arm/boot/dts/am33xx-l4.dtsi b/arch/arm/boot/dts/am33xx-l4.dtsi > index 4e2986f0c604..5ed7f3c58c0f 100644 > --- a/arch/arm/boot/dts/am33xx-l4.dtsi > +++ b/arch/arm/boot/dts/am33xx-l4.dtsi > @@ -759,12 +759,27 @@ > ranges = <0x0 0x200000 0x80000>; > }; > > - target-module@300000 { /* 0x4a300000, ap 9 04.0 */ > - compatible = "ti,sysc"; > - status = "disabled"; > + pruss_tm: target-module@300000 { /* 0x4a300000, ap 9 04.0 */ > + compatible = "ti,sysc-pruss", "ti,sysc"; > + reg = <0x326000 0x4>, > + <0x326004 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 AM3_PRUSS_OCP_PRUSS_CLKCTRL 0>; > + clock-names = "fck"; > + resets = <&prm_per 1>; > + reset-names = "rstctrl"; > #address-cells = <1>; > #size-cells = <1>; > ranges = <0x0 0x300000 0x80000>; > + status = "disabled"; > }; > }; > }; >
diff --git a/arch/arm/boot/dts/am33xx-l4.dtsi b/arch/arm/boot/dts/am33xx-l4.dtsi index 4e2986f0c604..5ed7f3c58c0f 100644 --- a/arch/arm/boot/dts/am33xx-l4.dtsi +++ b/arch/arm/boot/dts/am33xx-l4.dtsi @@ -759,12 +759,27 @@ ranges = <0x0 0x200000 0x80000>; }; - target-module@300000 { /* 0x4a300000, ap 9 04.0 */ - compatible = "ti,sysc"; - status = "disabled"; + pruss_tm: target-module@300000 { /* 0x4a300000, ap 9 04.0 */ + compatible = "ti,sysc-pruss", "ti,sysc"; + reg = <0x326000 0x4>, + <0x326004 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 AM3_PRUSS_OCP_PRUSS_CLKCTRL 0>; + clock-names = "fck"; + resets = <&prm_per 1>; + reset-names = "rstctrl"; #address-cells = <1>; #size-cells = <1>; ranges = <0x0 0x300000 0x80000>; + status = "disabled"; }; }; };
The PRU-ICSS present on some AM33xx SoCs has a very unique SYSC register. The IP also uses a hard-reset line, and requires this PRCM reset to be deasserted to be able to access any registers. Update the existing PRUSS interconnect target-module with all the required properties. The PRUSS device itself shall be added as a child node to this interconnect node in the future. PRU-ICSS is not supported on AM3351/AM3352/AM3354 SoCs though in the AM33xx family, so the target module node should be disabled in derivative board files that use any of these SoCs. Signed-off-by: Suman Anna <s-anna@ti.com> --- v2: Revise patch description, no code changes arch/arm/boot/dts/am33xx-l4.dtsi | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-)