OSDN Git Service

ARM: dts: AM33xx-l4: Update PRUSS interconnect target-module node
authorSuman Anna <s-anna@ti.com>
Thu, 27 Feb 2020 22:28:35 +0000 (16:28 -0600)
committerTony Lindgren <tony@atomide.com>
Wed, 4 Mar 2020 16:15:54 +0000 (08:15 -0800)
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>
Signed-off-by: Tony Lindgren <tony@atomide.com>
arch/arm/boot/dts/am33xx-l4.dtsi

index 4e2986f..5ed7f3c 100644 (file)
                        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";
                };
        };
 };