diff mbox series

[U-Boot,11/14] arm: dts: k3-am65-main: Add pruss nodes for ICSSG2

Message ID 20190806103844.25277-12-j-keerthy@ti.com
State Changes Requested
Delegated to: Tom Rini
Headers show
Series net: ti: icssg: Add prueth support | expand

Commit Message

J, KEERTHY Aug. 6, 2019, 10:38 a.m. UTC
Add pruss nodes. Add nodes as in the 4.19 integration kernel.

Signed-off-by: Keerthy <j-keerthy@ti.com>
---
 arch/arm/dts/k3-am65-main.dtsi | 183 +++++++++++++++++++++++++++++++++
 1 file changed, 183 insertions(+)

Comments

Suman Anna Aug. 6, 2019, 3:49 p.m. UTC | #1
Hi Keerthy,

On 8/6/19 5:38 AM, Keerthy wrote:
> Add pruss nodes. Add nodes as in the 4.19 integration kernel.
> 
> Signed-off-by: Keerthy <j-keerthy@ti.com>
> ---
>  arch/arm/dts/k3-am65-main.dtsi | 183 +++++++++++++++++++++++++++++++++
>  1 file changed, 183 insertions(+)
> 
> diff --git a/arch/arm/dts/k3-am65-main.dtsi b/arch/arm/dts/k3-am65-main.dtsi
> index 0cd3e5e606..d357966dac 100644
> --- a/arch/arm/dts/k3-am65-main.dtsi
> +++ b/arch/arm/dts/k3-am65-main.dtsi
> @@ -5,6 +5,8 @@
>   * Copyright (C) 2016-2018 Texas Instruments Incorporated - http://www.ti.com/
>   */
>  
> +#include <dt-bindings/dma/k3-udma.h>
> +
>  &cbass_main {
>  	msmc_ram: sram@70000000 {
>  		compatible = "mmio-sram";
> @@ -172,4 +174,185 @@
>  		clocks = <&k3_clks 113 1>;
>  		power-domains = <&k3_pds 113 TI_SCI_PD_EXCLUSIVE>;
>  	};
> +
> +	icssg_soc_bus2: pruss-soc-bus@b226004 {
> +		compatible = "ti,am654-icssg-soc-bus", "simple-bus";
> +		reg = <0x00 0x0b226004 0x00 0x4>;
> +		power-domains = <&k3_pds 64>;
> +		#address-cells = <1>;
> +		#size-cells = <1>;
> +		ranges = <0x0b200000 0x00 0x0b200000 0x100000>;
> +		dma-ranges;

So, the SoC bus nodes are rejected on the kernel-side, and the overall
PRUSS bindings are still a work in progress.

> +
> +		icssg2: icssg@b200000 {
> +			compatible = "ti,am654-icssg";
> +			reg = <0xb200000 0x80000>;
> +			interrupts = <GIC_SPI 270 IRQ_TYPE_LEVEL_HIGH>,
> +				     <GIC_SPI 271 IRQ_TYPE_LEVEL_HIGH>,
> +				     <GIC_SPI 272 IRQ_TYPE_LEVEL_HIGH>,
> +				     <GIC_SPI 273 IRQ_TYPE_LEVEL_HIGH>,
> +				     <GIC_SPI 274 IRQ_TYPE_LEVEL_HIGH>,
> +				     <GIC_SPI 275 IRQ_TYPE_LEVEL_HIGH>,
> +				     <GIC_SPI 276 IRQ_TYPE_LEVEL_HIGH>,
> +				     <GIC_SPI 277 IRQ_TYPE_LEVEL_HIGH>;
> +			interrupt-names = "host2", "host3", "host4",
> +					  "host5", "host6", "host7",
> +					  "host8", "host9";

These are going away as well, and being moved into the INTC node.

> +			#address-cells = <1>;
> +			#size-cells = <1>;
> +			ranges;
> +			dma-ranges;
> +			ti,psil-base = <0x4300>;	/* ICSSG2 PSIL thread start */
> +
> +			ti,psil-config0 {
> +				linux,udma-mode = <UDMA_PKT_MODE>;
> +				statictr-type = <PSIL_STATIC_TR_NONE>;
> +				ti,needs-epib;
> +				ti,psd-size = <16>;
> +			};
> +
> +			ti,psil-config1 {
> +				linux,udma-mode = <UDMA_PKT_MODE>;
> +				statictr-type = <PSIL_STATIC_TR_NONE>;
> +				ti,needs-epib;
> +				ti,psd-size = <16>;
> +			};
> +
> +			ti,psil-config2 {
> +				linux,udma-mode = <UDMA_PKT_MODE>;
> +				statictr-type = <PSIL_STATIC_TR_NONE>;
> +				ti,needs-epib;
> +				ti,psd-size = <16>;
> +			};
> +
> +			ti,psil-config3 {
> +				linux,udma-mode = <UDMA_PKT_MODE>;
> +				statictr-type = <PSIL_STATIC_TR_NONE>;
> +				ti,needs-epib;
> +				ti,psd-size = <16>;
> +			};
> +
> +			ti,psil-config4 {
> +				linux,udma-mode = <UDMA_PKT_MODE>;
> +				statictr-type = <PSIL_STATIC_TR_NONE>;
> +				ti,needs-epib;
> +				ti,psd-size = <16>;
> +			};
> +
> +			ti,psil-config5 {
> +				linux,udma-mode = <UDMA_PKT_MODE>;
> +				statictr-type = <PSIL_STATIC_TR_NONE>;
> +				ti,needs-epib;
> +				ti,psd-size = <16>;
> +			};
> +
> +			ti,psil-config6 {
> +				linux,udma-mode = <UDMA_PKT_MODE>;
> +				statictr-type = <PSIL_STATIC_TR_NONE>;
> +				ti,needs-epib;
> +				ti,psd-size = <16>;
> +			};
> +
> +			ti,psil-config7 {
> +				linux,udma-mode = <UDMA_PKT_MODE>;
> +				statictr-type = <PSIL_STATIC_TR_NONE>;
> +				ti,needs-epib;
> +				ti,psd-size = <16>;
> +			};

These are still up for debate. So, I think this whole series is a bit
premature.

regards
Suman

> +
> +			icssg2_mem: memories@b200000 {
> +				reg = <0xb200000 0x2000>,
> +				      <0xb202000 0x2000>,
> +				      <0xb210000 0x10000>;
> +				reg-names = "dram0", "dram1",
> +					    "shrdram2";
> +			};
> +
> +			icssg2_cfg: cfg@b226000 {
> +				compatible = "syscon";
> +				reg = <0xb226000 0x200>;
> +			};
> +
> +			icssg2_iep: iep@b22e000 {
> +				compatible = "syscon";
> +				reg = <0xb22e000 0x1000>;
> +			};
> +
> +			icssg2_mii_rt: mii-rt@b232000 {
> +				compatible = "syscon";
> +				reg = <0xb232000 0x100>;
> +			};
> +
> +			icssg2_mii_g_rt: mii-g-rt@b233000 {
> +				compatible = "syscon";
> +				reg = <0xb233000 0x1000>;
> +			};
> +
> +			icssg2_intc: interrupt-controller@b220000 {
> +				compatible = "ti,am654-icssg-intc";
> +				reg = <0xb220000 0x2000>;
> +				interrupt-controller;
> +				#interrupt-cells = <1>;
> +			};
> +
> +			pru2_0: pru@b234000 {
> +				compatible = "ti,am654-pru";
> +				reg = <0xb234000 0x4000>,
> +				      <0xb222000 0x100>,
> +				      <0xb222400 0x100>;
> +				reg-names = "iram", "control", "debug";
> +				firmware-name = "am65x-pru2_0-fw";
> +				interrupt-parent = <&icssg2_intc>;
> +				interrupts = <16>, <17>;
> +				interrupt-names = "vring", "kick";
> +			};
> +
> +			rtu2_0: rtu@b204000 {
> +				compatible = "ti,am654-rtu";
> +				reg = <0xb204000 0x2000>,
> +				      <0xb223000 0x100>,
> +				      <0xb223400 0x100>;
> +				reg-names = "iram", "control", "debug";
> +				firmware-name = "am65x-rtu2_0-fw";
> +				interrupt-parent = <&icssg2_intc>;
> +				interrupts = <20>, <21>;
> +				interrupt-names = "vring", "kick";
> +			};
> +
> +			pru2_1: pru@b238000 {
> +				compatible = "ti,am654-pru";
> +				reg = <0xb238000 0x4000>,
> +				      <0xb224000 0x100>,
> +				      <0xb224400 0x100>;
> +				reg-names = "iram", "control", "debug";
> +				firmware-name = "am65x-pru2_1-fw";
> +				interrupt-parent = <&icssg2_intc>;
> +				interrupts = <18>, <19>;
> +				interrupt-names = "vring", "kick";
> +			};
> +
> +			rtu2_1: rtu@b206000 {
> +				compatible = "ti,am654-rtu";
> +				reg = <0xb206000 0x2000>,
> +				      <0xb223800 0x100>,
> +				      <0xb223c00 0x100>;
> +				reg-names = "iram", "control", "debug";
> +				firmware-name = "am65x-rtu2_1-fw";
> +				interrupt-parent = <&icssg2_intc>;
> +				interrupts = <22>, <23>;
> +				interrupt-names = "vring", "kick";
> +			};
> +
> +			icssg2_mdio: mdio@b232400 {
> +				compatible = "ti,davinci_mdio";
> +				reg = <0xb232400 0x100>;
> +				clocks = <&k3_clks 64 3>;
> +				clock-names = "fck";
> +				#address-cells = <1>;
> +				#size-cells = <0>;
> +				bus_freq = <1000000>;
> +				status = "disabled";
> +			};
> +		};
> +	};
>  };
>
diff mbox series

Patch

diff --git a/arch/arm/dts/k3-am65-main.dtsi b/arch/arm/dts/k3-am65-main.dtsi
index 0cd3e5e606..d357966dac 100644
--- a/arch/arm/dts/k3-am65-main.dtsi
+++ b/arch/arm/dts/k3-am65-main.dtsi
@@ -5,6 +5,8 @@ 
  * Copyright (C) 2016-2018 Texas Instruments Incorporated - http://www.ti.com/
  */
 
+#include <dt-bindings/dma/k3-udma.h>
+
 &cbass_main {
 	msmc_ram: sram@70000000 {
 		compatible = "mmio-sram";
@@ -172,4 +174,185 @@ 
 		clocks = <&k3_clks 113 1>;
 		power-domains = <&k3_pds 113 TI_SCI_PD_EXCLUSIVE>;
 	};
+
+	icssg_soc_bus2: pruss-soc-bus@b226004 {
+		compatible = "ti,am654-icssg-soc-bus", "simple-bus";
+		reg = <0x00 0x0b226004 0x00 0x4>;
+		power-domains = <&k3_pds 64>;
+		#address-cells = <1>;
+		#size-cells = <1>;
+		ranges = <0x0b200000 0x00 0x0b200000 0x100000>;
+		dma-ranges;
+
+		icssg2: icssg@b200000 {
+			compatible = "ti,am654-icssg";
+			reg = <0xb200000 0x80000>;
+			interrupts = <GIC_SPI 270 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 271 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 272 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 273 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 274 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 275 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 276 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 277 IRQ_TYPE_LEVEL_HIGH>;
+			interrupt-names = "host2", "host3", "host4",
+					  "host5", "host6", "host7",
+					  "host8", "host9";
+			#address-cells = <1>;
+			#size-cells = <1>;
+			ranges;
+			dma-ranges;
+			ti,psil-base = <0x4300>;	/* ICSSG2 PSIL thread start */
+
+			ti,psil-config0 {
+				linux,udma-mode = <UDMA_PKT_MODE>;
+				statictr-type = <PSIL_STATIC_TR_NONE>;
+				ti,needs-epib;
+				ti,psd-size = <16>;
+			};
+
+			ti,psil-config1 {
+				linux,udma-mode = <UDMA_PKT_MODE>;
+				statictr-type = <PSIL_STATIC_TR_NONE>;
+				ti,needs-epib;
+				ti,psd-size = <16>;
+			};
+
+			ti,psil-config2 {
+				linux,udma-mode = <UDMA_PKT_MODE>;
+				statictr-type = <PSIL_STATIC_TR_NONE>;
+				ti,needs-epib;
+				ti,psd-size = <16>;
+			};
+
+			ti,psil-config3 {
+				linux,udma-mode = <UDMA_PKT_MODE>;
+				statictr-type = <PSIL_STATIC_TR_NONE>;
+				ti,needs-epib;
+				ti,psd-size = <16>;
+			};
+
+			ti,psil-config4 {
+				linux,udma-mode = <UDMA_PKT_MODE>;
+				statictr-type = <PSIL_STATIC_TR_NONE>;
+				ti,needs-epib;
+				ti,psd-size = <16>;
+			};
+
+			ti,psil-config5 {
+				linux,udma-mode = <UDMA_PKT_MODE>;
+				statictr-type = <PSIL_STATIC_TR_NONE>;
+				ti,needs-epib;
+				ti,psd-size = <16>;
+			};
+
+			ti,psil-config6 {
+				linux,udma-mode = <UDMA_PKT_MODE>;
+				statictr-type = <PSIL_STATIC_TR_NONE>;
+				ti,needs-epib;
+				ti,psd-size = <16>;
+			};
+
+			ti,psil-config7 {
+				linux,udma-mode = <UDMA_PKT_MODE>;
+				statictr-type = <PSIL_STATIC_TR_NONE>;
+				ti,needs-epib;
+				ti,psd-size = <16>;
+			};
+
+			icssg2_mem: memories@b200000 {
+				reg = <0xb200000 0x2000>,
+				      <0xb202000 0x2000>,
+				      <0xb210000 0x10000>;
+				reg-names = "dram0", "dram1",
+					    "shrdram2";
+			};
+
+			icssg2_cfg: cfg@b226000 {
+				compatible = "syscon";
+				reg = <0xb226000 0x200>;
+			};
+
+			icssg2_iep: iep@b22e000 {
+				compatible = "syscon";
+				reg = <0xb22e000 0x1000>;
+			};
+
+			icssg2_mii_rt: mii-rt@b232000 {
+				compatible = "syscon";
+				reg = <0xb232000 0x100>;
+			};
+
+			icssg2_mii_g_rt: mii-g-rt@b233000 {
+				compatible = "syscon";
+				reg = <0xb233000 0x1000>;
+			};
+
+			icssg2_intc: interrupt-controller@b220000 {
+				compatible = "ti,am654-icssg-intc";
+				reg = <0xb220000 0x2000>;
+				interrupt-controller;
+				#interrupt-cells = <1>;
+			};
+
+			pru2_0: pru@b234000 {
+				compatible = "ti,am654-pru";
+				reg = <0xb234000 0x4000>,
+				      <0xb222000 0x100>,
+				      <0xb222400 0x100>;
+				reg-names = "iram", "control", "debug";
+				firmware-name = "am65x-pru2_0-fw";
+				interrupt-parent = <&icssg2_intc>;
+				interrupts = <16>, <17>;
+				interrupt-names = "vring", "kick";
+			};
+
+			rtu2_0: rtu@b204000 {
+				compatible = "ti,am654-rtu";
+				reg = <0xb204000 0x2000>,
+				      <0xb223000 0x100>,
+				      <0xb223400 0x100>;
+				reg-names = "iram", "control", "debug";
+				firmware-name = "am65x-rtu2_0-fw";
+				interrupt-parent = <&icssg2_intc>;
+				interrupts = <20>, <21>;
+				interrupt-names = "vring", "kick";
+			};
+
+			pru2_1: pru@b238000 {
+				compatible = "ti,am654-pru";
+				reg = <0xb238000 0x4000>,
+				      <0xb224000 0x100>,
+				      <0xb224400 0x100>;
+				reg-names = "iram", "control", "debug";
+				firmware-name = "am65x-pru2_1-fw";
+				interrupt-parent = <&icssg2_intc>;
+				interrupts = <18>, <19>;
+				interrupt-names = "vring", "kick";
+			};
+
+			rtu2_1: rtu@b206000 {
+				compatible = "ti,am654-rtu";
+				reg = <0xb206000 0x2000>,
+				      <0xb223800 0x100>,
+				      <0xb223c00 0x100>;
+				reg-names = "iram", "control", "debug";
+				firmware-name = "am65x-rtu2_1-fw";
+				interrupt-parent = <&icssg2_intc>;
+				interrupts = <22>, <23>;
+				interrupt-names = "vring", "kick";
+			};
+
+			icssg2_mdio: mdio@b232400 {
+				compatible = "ti,davinci_mdio";
+				reg = <0xb232400 0x100>;
+				clocks = <&k3_clks 64 3>;
+				clock-names = "fck";
+				#address-cells = <1>;
+				#size-cells = <0>;
+				bus_freq = <1000000>;
+				status = "disabled";
+			};
+		};
+	};
 };