summaryrefslogtreecommitdiff
path: root/arch/arm64/boot/dts/ti/k3-am62-main.dtsi
diff options
context:
space:
mode:
authorKishon Vijay Abraham I <kishon@ti.com>2023-06-19 01:39:10 -0500
committerVignesh Raghavendra <vigneshr@ti.com>2023-06-20 09:58:26 +0530
commitb97b8a942dfa3a05d81bdcac4a3f9ee876b1ee8a (patch)
treeb4267cbe17195f2969da2bd840654c3ba444411b /arch/arm64/boot/dts/ti/k3-am62-main.dtsi
parent58bfbb8d6130c5c8495d605e3b4abdba9de829f0 (diff)
arm64: dts: ti: k3-am625: Add PRUSS-M node
Add the DT node for the PRUSS-M processor subsystem that is present on the K3 AM62x SoCs. The K3 AM62x family of SoC has one PRUSS-M instance and it has two Programmable Real-Time Units (PRU0 and PRU1). Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Signed-off-by: Hari Nagalla <hnagalla@ti.com> Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
Diffstat (limited to 'arch/arm64/boot/dts/ti/k3-am62-main.dtsi')
-rw-r--r--arch/arm64/boot/dts/ti/k3-am62-main.dtsi99
1 files changed, 99 insertions, 0 deletions
diff --git a/arch/arm64/boot/dts/ti/k3-am62-main.dtsi b/arch/arm64/boot/dts/ti/k3-am62-main.dtsi
index ccab02c19a4b..74e34b84419a 100644
--- a/arch/arm64/boot/dts/ti/k3-am62-main.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am62-main.dtsi
@@ -1080,4 +1080,103 @@
clocks = <&k3_clks 54 0>;
clock-names = "fck";
};
+
+ ecap2: pwm@23120000 {
+ compatible = "ti,am3352-ecap";
+ #pwm-cells = <3>;
+ reg = <0x00 0x23120000 0x00 0x100>;
+ power-domains = <&k3_pds 53 TI_SCI_PD_EXCLUSIVE>;
+ clocks = <&k3_clks 53 0>;
+ clock-names = "fck";
+ };
+
+ pruss: pruss@30040000 {
+ compatible = "ti,am625-pruss";
+ reg = <0x00 0x30040000 0x00 0x80000>;
+ power-domains = <&k3_pds 81 TI_SCI_PD_EXCLUSIVE>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges = <0x0 0x00 0x30040000 0x80000>;
+
+ pruss_mem: memories@0 {
+ reg = <0x0 0x2000>,
+ <0x2000 0x2000>,
+ <0x10000 0x10000>;
+ reg-names = "dram0", "dram1", "shrdram2";
+ };
+
+ pruss_cfg: cfg@26000 {
+ compatible = "ti,pruss-cfg", "syscon";
+ reg = <0x26000 0x200>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges = <0x0 0x26000 0x2000>;
+
+ clocks {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ pruss_coreclk_mux: coreclk-mux@3c {
+ reg = <0x3c>;
+ #clock-cells = <0>;
+ clocks = <&k3_clks 81 0>, /* pruss_core_clk */
+ <&k3_clks 81 20>; /* pruss_iclk */
+ assigned-clocks = <&pruss_coreclk_mux>;
+ assigned-clock-parents = <&k3_clks 81 20>;
+ };
+
+ pruss_iepclk_mux: iepclk-mux@30 {
+ reg = <0x30>;
+ #clock-cells = <0>;
+ clocks = <&k3_clks 81 3>, /* pruss_iep_clk */
+ <&pruss_coreclk_mux>; /* pruss_coreclk_mux */
+ assigned-clocks = <&pruss_iepclk_mux>;
+ assigned-clock-parents = <&pruss_coreclk_mux>;
+ };
+ };
+ };
+
+ pruss_intc: interrupt-controller@20000 {
+ compatible = "ti,pruss-intc";
+ reg = <0x20000 0x2000>;
+ interrupt-controller;
+ #interrupt-cells = <3>;
+ interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "host_intr0", "host_intr1",
+ "host_intr2", "host_intr3",
+ "host_intr4", "host_intr5",
+ "host_intr6", "host_intr7";
+ };
+
+ pru0: pru@34000 {
+ compatible = "ti,am625-pru";
+ reg = <0x34000 0x3000>,
+ <0x22000 0x100>,
+ <0x22400 0x100>;
+ reg-names = "iram", "control", "debug";
+ firmware-name = "am62x-pru0-fw";
+ interrupt-parent = <&pruss_intc>;
+ interrupts = <16 2 2>;
+ interrupt-names = "vring";
+ };
+
+ pru1: pru@38000 {
+ compatible = "ti,am625-pru";
+ reg = <0x38000 0x3000>,
+ <0x24000 0x100>,
+ <0x24400 0x100>;
+ reg-names = "iram", "control", "debug";
+ firmware-name = "am62x-pru1-fw";
+ interrupt-parent = <&pruss_intc>;
+ interrupts = <18 3 3>;
+ interrupt-names = "vring";
+ };
+ };
};