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