[v2,4/5] ARM: dts: AM4372: Add the PRU-ICSS interconnect target-module node
diff mbox series

Message ID 20200227222837.7329-5-s-anna@ti.com
State New
Headers show
Series
  • ti-sysc support for PRUSS
Related show

Commit Message

Suman Anna Feb. 27, 2020, 10:28 p.m. UTC
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(+)

Comments

Roger Quadros Feb. 28, 2020, 8:33 a.m. UTC | #1
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";
>

Patch
diff mbox series

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";