diff mbox series

[U-Boot,09/10] arm: dts: am33xx: Add pruss and pru

Message ID 1658950077-16394-10-git-send-email-greg.leonberg@sunhillo.com
State Changes Requested
Delegated to: Tom Rini
Headers show
Series Add pruss and pru support for am33xx and am57xx | expand

Commit Message

Greg Leonberg July 27, 2022, 7:27 p.m. UTC
Added the pruss subsystem to the device tree based on the device tree info
from the Linux kernel.

Signed-off-by: Greg Leonberg <greg.leonberg@sunhillo.com>
---
 arch/arm/dts/am33xx.dtsi | 105 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 105 insertions(+)
diff mbox series

Patch

diff --git a/arch/arm/dts/am33xx.dtsi b/arch/arm/dts/am33xx.dtsi
index d3dd6a1..e8d0047 100644
--- a/arch/arm/dts/am33xx.dtsi
+++ b/arch/arm/dts/am33xx.dtsi
@@ -401,6 +401,111 @@ 
 			status = "disabled";
 		};
 
+		pruss: pruss@4a300000 {
+			compatible = "ti,am3356-pruss";
+			reg = <0x0 0x80000>;
+			#address-cells = <1>;
+			#size-cells = <1>;
+			ranges = <0x0 0x4a300000 0x80000>;
+			dma-ranges;
+
+			pruss_mem: memories@0 {
+				reg = <0x0 0x2000>,
+					<0x2000 0x2000>,
+					<0x10000 0x3000>;
+				reg-names = "dram0", "dram1",
+						"shrdram2";
+			};
+
+			pruss_cfg: cfg@26000 {
+				compatible = "syscon";
+				reg = <0x26000 0x2000>;
+			};
+
+			pruss_iepclk_mux: iepclk-mux {
+				#clock-cells = <0>;
+				clocks = <&l3_gclk>,
+					<&pruss_ocp_gclk>;
+			};
+
+			pruss_iep: iep@2e000 {
+				compatible = "ti,am3356-icss-iep";
+				reg = <0x2e000 0x31c>;
+				clocks = <&pruss_iepclk_mux>;
+			};
+
+			pruss_ecap: ecap@30000 {
+				compatible = "ti,pruss-ecap";
+				reg = <0x30000 0x60>;
+			};
+
+			pruss_uart: serial@28000 {
+				compatible = "ti,pruss-uart";
+				reg = <0x28000 0x38>;
+				clocks = <&dpll_per_m2_ck>;
+				interrupt-parent = <&pruss_intc>;
+				interrupts = <6>;
+				status = "disabled";
+			};
+
+			pruss_mii_rt: mii-rt@32000 {
+				compatible = "syscon";
+				reg = <0x32000 0x58>;
+			};
+
+			pruss_intc: interrupt-controller@20000 {
+				compatible = "ti,pruss-intc";
+				reg = <0x20000 0x2000>;
+				interrupts = <20 21 22 23 24 25 26 27>;
+				interrupt-names = "host_intr0", "host_intr1",
+						"host_intr2", "host_intr3",
+						"host_intr4", "host_intr5",
+						"host_intr6", "host_intr7";
+				interrupt-controller;
+				#interrupt-cells = <1>;
+				ti,irqs-shared = /bits/ 8 <0 6 7>;
+			};
+
+			pru0: pru@34000 {
+				compatible = "ti,am3356-pru";
+				#address-cells = <3>;
+				reg = <0x34000 0x2000>,
+					<0x22000 0x400>,
+					<0x22400 0x100>;
+				reg-names = "iram", "control", "debug";
+				firmware-name = "am335x-pru0-fw";
+				interrupt-parent = <&pruss_intc>;
+				interrupts = <16>, <17>;
+				interrupt-names = "vring", "kick";
+				remoteproc-name = "pru0";
+			};
+
+			pru1: pru@38000 {
+				compatible = "ti,am3356-pru";
+				#address-cells = <3>;
+				reg = <0x38000 0x2000>,
+					<0x24000 0x400>,
+					<0x24400 0x100>;
+				reg-names = "iram", "control", "debug";
+				firmware-name = "am335x-pru1-fw";
+				interrupt-parent = <&pruss_intc>;
+				interrupts = <18>, <19>;
+				interrupt-names = "vring", "kick";
+				remoteproc-name = "pru1";
+			};
+
+			pruss_mdio: mdio@32400 {
+				compatible = "ti,davinci_mdio";
+				reg = <0x32400 0x90>;
+				clocks = <&dpll_core_m4_ck>;
+				clock-names = "fck";
+				bus_freq = <1000000>;
+				#address-cells = <1>;
+				#size-cells = <0>;
+				status = "disabled";
+			};
+		};
+
 		i2c0: i2c@44e0b000 {
 			compatible = "ti,omap4-i2c";
 			#address-cells = <1>;