1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-only 2*f126890aSEmmanuel Vadot/* 3*f126890aSEmmanuel Vadot * Copyright (C) 2020-2021 Texas Instruments Incorporated - https://www.ti.com/ 4*f126890aSEmmanuel Vadot * 5*f126890aSEmmanuel Vadot * Common PRUSS data for TI AM57xx platforms 6*f126890aSEmmanuel Vadot */ 7*f126890aSEmmanuel Vadot 8*f126890aSEmmanuel Vadot&ocp { 9*f126890aSEmmanuel Vadot pruss1_tm: target-module@4b226000 { 10*f126890aSEmmanuel Vadot compatible = "ti,sysc-pruss", "ti,sysc"; 11*f126890aSEmmanuel Vadot reg = <0x4b226000 0x4>, 12*f126890aSEmmanuel Vadot <0x4b226004 0x4>; 13*f126890aSEmmanuel Vadot reg-names = "rev", "sysc"; 14*f126890aSEmmanuel Vadot ti,sysc-mask = <(SYSC_PRUSS_STANDBY_INIT | 15*f126890aSEmmanuel Vadot SYSC_PRUSS_SUB_MWAIT)>; 16*f126890aSEmmanuel Vadot ti,sysc-midle = <SYSC_IDLE_FORCE>, 17*f126890aSEmmanuel Vadot <SYSC_IDLE_NO>, 18*f126890aSEmmanuel Vadot <SYSC_IDLE_SMART>; 19*f126890aSEmmanuel Vadot ti,sysc-sidle = <SYSC_IDLE_FORCE>, 20*f126890aSEmmanuel Vadot <SYSC_IDLE_NO>, 21*f126890aSEmmanuel Vadot <SYSC_IDLE_SMART>; 22*f126890aSEmmanuel Vadot /* Domains (P, C): coreaon_pwrdm, l4per2_clkdm */ 23*f126890aSEmmanuel Vadot clocks = <&l4per2_clkctrl DRA7_L4PER2_PRUSS1_CLKCTRL 0>; 24*f126890aSEmmanuel Vadot clock-names = "fck"; 25*f126890aSEmmanuel Vadot #address-cells = <1>; 26*f126890aSEmmanuel Vadot #size-cells = <1>; 27*f126890aSEmmanuel Vadot ranges = <0x00000000 0x4b200000 0x80000>; 28*f126890aSEmmanuel Vadot 29*f126890aSEmmanuel Vadot pruss1: pruss@0 { 30*f126890aSEmmanuel Vadot compatible = "ti,am5728-pruss"; 31*f126890aSEmmanuel Vadot reg = <0x0 0x80000>; 32*f126890aSEmmanuel Vadot #address-cells = <1>; 33*f126890aSEmmanuel Vadot #size-cells = <1>; 34*f126890aSEmmanuel Vadot ranges; 35*f126890aSEmmanuel Vadot 36*f126890aSEmmanuel Vadot pruss1_mem: memories@0 { 37*f126890aSEmmanuel Vadot reg = <0x0 0x2000>, 38*f126890aSEmmanuel Vadot <0x2000 0x2000>, 39*f126890aSEmmanuel Vadot <0x10000 0x8000>; 40*f126890aSEmmanuel Vadot reg-names = "dram0", "dram1", 41*f126890aSEmmanuel Vadot "shrdram2"; 42*f126890aSEmmanuel Vadot }; 43*f126890aSEmmanuel Vadot 44*f126890aSEmmanuel Vadot pruss1_cfg: cfg@26000 { 45*f126890aSEmmanuel Vadot compatible = "ti,pruss-cfg", "syscon"; 46*f126890aSEmmanuel Vadot reg = <0x26000 0x2000>; 47*f126890aSEmmanuel Vadot #address-cells = <1>; 48*f126890aSEmmanuel Vadot #size-cells = <1>; 49*f126890aSEmmanuel Vadot ranges = <0x0 0x26000 0x2000>; 50*f126890aSEmmanuel Vadot 51*f126890aSEmmanuel Vadot clocks { 52*f126890aSEmmanuel Vadot #address-cells = <1>; 53*f126890aSEmmanuel Vadot #size-cells = <0>; 54*f126890aSEmmanuel Vadot 55*f126890aSEmmanuel Vadot pruss1_iepclk_mux: iepclk-mux@30 { 56*f126890aSEmmanuel Vadot reg = <0x30>; 57*f126890aSEmmanuel Vadot #clock-cells = <0>; 58*f126890aSEmmanuel Vadot clocks = <&dpll_gmac_m3x2_ck>, /* icss_iep_clk */ 59*f126890aSEmmanuel Vadot <&dpll_gmac_h13x2_ck>; /* icss_clk */ 60*f126890aSEmmanuel Vadot }; 61*f126890aSEmmanuel Vadot }; 62*f126890aSEmmanuel Vadot }; 63*f126890aSEmmanuel Vadot 64*f126890aSEmmanuel Vadot pruss1_mii_rt: mii-rt@32000 { 65*f126890aSEmmanuel Vadot compatible = "ti,pruss-mii", "syscon"; 66*f126890aSEmmanuel Vadot reg = <0x32000 0x58>; 67*f126890aSEmmanuel Vadot }; 68*f126890aSEmmanuel Vadot 69*f126890aSEmmanuel Vadot pruss1_intc: interrupt-controller@20000 { 70*f126890aSEmmanuel Vadot compatible = "ti,pruss-intc"; 71*f126890aSEmmanuel Vadot reg = <0x20000 0x2000>; 72*f126890aSEmmanuel Vadot interrupt-controller; 73*f126890aSEmmanuel Vadot #interrupt-cells = <3>; 74*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>, 75*f126890aSEmmanuel Vadot <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>, 76*f126890aSEmmanuel Vadot <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>, 77*f126890aSEmmanuel Vadot <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>, 78*f126890aSEmmanuel Vadot <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>, 79*f126890aSEmmanuel Vadot <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>, 80*f126890aSEmmanuel Vadot <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>, 81*f126890aSEmmanuel Vadot <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>; 82*f126890aSEmmanuel Vadot interrupt-names = "host_intr0", "host_intr1", 83*f126890aSEmmanuel Vadot "host_intr2", "host_intr3", 84*f126890aSEmmanuel Vadot "host_intr4", "host_intr5", 85*f126890aSEmmanuel Vadot "host_intr6", "host_intr7"; 86*f126890aSEmmanuel Vadot }; 87*f126890aSEmmanuel Vadot 88*f126890aSEmmanuel Vadot pru1_0: pru@34000 { 89*f126890aSEmmanuel Vadot compatible = "ti,am5728-pru"; 90*f126890aSEmmanuel Vadot reg = <0x34000 0x3000>, 91*f126890aSEmmanuel Vadot <0x22000 0x400>, 92*f126890aSEmmanuel Vadot <0x22400 0x100>; 93*f126890aSEmmanuel Vadot reg-names = "iram", "control", "debug"; 94*f126890aSEmmanuel Vadot firmware-name = "am57xx-pru1_0-fw"; 95*f126890aSEmmanuel Vadot }; 96*f126890aSEmmanuel Vadot 97*f126890aSEmmanuel Vadot pru1_1: pru@38000 { 98*f126890aSEmmanuel Vadot compatible = "ti,am5728-pru"; 99*f126890aSEmmanuel Vadot reg = <0x38000 0x3000>, 100*f126890aSEmmanuel Vadot <0x24000 0x400>, 101*f126890aSEmmanuel Vadot <0x24400 0x100>; 102*f126890aSEmmanuel Vadot reg-names = "iram", "control", "debug"; 103*f126890aSEmmanuel Vadot firmware-name = "am57xx-pru1_1-fw"; 104*f126890aSEmmanuel Vadot }; 105*f126890aSEmmanuel Vadot 106*f126890aSEmmanuel Vadot pruss1_mdio: mdio@32400 { 107*f126890aSEmmanuel Vadot compatible = "ti,davinci_mdio"; 108*f126890aSEmmanuel Vadot #address-cells = <1>; 109*f126890aSEmmanuel Vadot #size-cells = <0>; 110*f126890aSEmmanuel Vadot clocks = <&dpll_gmac_h13x2_ck>; 111*f126890aSEmmanuel Vadot clock-names = "fck"; 112*f126890aSEmmanuel Vadot bus_freq = <1000000>; 113*f126890aSEmmanuel Vadot reg = <0x32400 0x90>; 114*f126890aSEmmanuel Vadot }; 115*f126890aSEmmanuel Vadot }; 116*f126890aSEmmanuel Vadot }; 117*f126890aSEmmanuel Vadot 118*f126890aSEmmanuel Vadot pruss2_tm: target-module@4b2a6000 { 119*f126890aSEmmanuel Vadot compatible = "ti,sysc-pruss", "ti,sysc"; 120*f126890aSEmmanuel Vadot reg = <0x4b2a6000 0x4>, 121*f126890aSEmmanuel Vadot <0x4b2a6004 0x4>; 122*f126890aSEmmanuel Vadot reg-names = "rev", "sysc"; 123*f126890aSEmmanuel Vadot ti,sysc-mask = <(SYSC_PRUSS_STANDBY_INIT | 124*f126890aSEmmanuel Vadot SYSC_PRUSS_SUB_MWAIT)>; 125*f126890aSEmmanuel Vadot ti,sysc-midle = <SYSC_IDLE_FORCE>, 126*f126890aSEmmanuel Vadot <SYSC_IDLE_NO>, 127*f126890aSEmmanuel Vadot <SYSC_IDLE_SMART>; 128*f126890aSEmmanuel Vadot ti,sysc-sidle = <SYSC_IDLE_FORCE>, 129*f126890aSEmmanuel Vadot <SYSC_IDLE_NO>, 130*f126890aSEmmanuel Vadot <SYSC_IDLE_SMART>; 131*f126890aSEmmanuel Vadot /* Domains (P, C): coreaon_pwrdm, l4per2_clkdm */ 132*f126890aSEmmanuel Vadot clocks = <&l4per2_clkctrl DRA7_L4PER2_PRUSS2_CLKCTRL 0>; 133*f126890aSEmmanuel Vadot clock-names = "fck"; 134*f126890aSEmmanuel Vadot #address-cells = <1>; 135*f126890aSEmmanuel Vadot #size-cells = <1>; 136*f126890aSEmmanuel Vadot ranges = <0x00000000 0x4b280000 0x80000>; 137*f126890aSEmmanuel Vadot 138*f126890aSEmmanuel Vadot pruss2: pruss@0 { 139*f126890aSEmmanuel Vadot compatible = "ti,am5728-pruss"; 140*f126890aSEmmanuel Vadot reg = <0x0 0x80000>; 141*f126890aSEmmanuel Vadot #address-cells = <1>; 142*f126890aSEmmanuel Vadot #size-cells = <1>; 143*f126890aSEmmanuel Vadot ranges; 144*f126890aSEmmanuel Vadot 145*f126890aSEmmanuel Vadot pruss2_mem: memories@0 { 146*f126890aSEmmanuel Vadot reg = <0x0 0x2000>, 147*f126890aSEmmanuel Vadot <0x2000 0x2000>, 148*f126890aSEmmanuel Vadot <0x10000 0x8000>; 149*f126890aSEmmanuel Vadot reg-names = "dram0", "dram1", 150*f126890aSEmmanuel Vadot "shrdram2"; 151*f126890aSEmmanuel Vadot }; 152*f126890aSEmmanuel Vadot 153*f126890aSEmmanuel Vadot pruss2_cfg: cfg@26000 { 154*f126890aSEmmanuel Vadot compatible = "ti,pruss-cfg", "syscon"; 155*f126890aSEmmanuel Vadot reg = <0x26000 0x2000>; 156*f126890aSEmmanuel Vadot #address-cells = <1>; 157*f126890aSEmmanuel Vadot #size-cells = <1>; 158*f126890aSEmmanuel Vadot ranges = <0x0 0x26000 0x2000>; 159*f126890aSEmmanuel Vadot 160*f126890aSEmmanuel Vadot clocks { 161*f126890aSEmmanuel Vadot #address-cells = <1>; 162*f126890aSEmmanuel Vadot #size-cells = <0>; 163*f126890aSEmmanuel Vadot 164*f126890aSEmmanuel Vadot pruss2_iepclk_mux: iepclk-mux@30 { 165*f126890aSEmmanuel Vadot reg = <0x30>; 166*f126890aSEmmanuel Vadot #clock-cells = <0>; 167*f126890aSEmmanuel Vadot clocks = <&dpll_gmac_m3x2_ck>, /* icss_iep_clk */ 168*f126890aSEmmanuel Vadot <&dpll_gmac_h13x2_ck>; /* icss_clk */ 169*f126890aSEmmanuel Vadot }; 170*f126890aSEmmanuel Vadot }; 171*f126890aSEmmanuel Vadot }; 172*f126890aSEmmanuel Vadot 173*f126890aSEmmanuel Vadot pruss2_mii_rt: mii-rt@32000 { 174*f126890aSEmmanuel Vadot compatible = "ti,pruss-mii", "syscon"; 175*f126890aSEmmanuel Vadot reg = <0x32000 0x58>; 176*f126890aSEmmanuel Vadot }; 177*f126890aSEmmanuel Vadot 178*f126890aSEmmanuel Vadot pruss2_intc: interrupt-controller@20000 { 179*f126890aSEmmanuel Vadot compatible = "ti,pruss-intc"; 180*f126890aSEmmanuel Vadot reg = <0x20000 0x2000>; 181*f126890aSEmmanuel Vadot interrupt-controller; 182*f126890aSEmmanuel Vadot #interrupt-cells = <3>; 183*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>, 184*f126890aSEmmanuel Vadot <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>, 185*f126890aSEmmanuel Vadot <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>, 186*f126890aSEmmanuel Vadot <GIC_SPI 199 IRQ_TYPE_LEVEL_HIGH>, 187*f126890aSEmmanuel Vadot <GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH>, 188*f126890aSEmmanuel Vadot <GIC_SPI 201 IRQ_TYPE_LEVEL_HIGH>, 189*f126890aSEmmanuel Vadot <GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH>, 190*f126890aSEmmanuel Vadot <GIC_SPI 203 IRQ_TYPE_LEVEL_HIGH>; 191*f126890aSEmmanuel Vadot interrupt-names = "host_intr0", "host_intr1", 192*f126890aSEmmanuel Vadot "host_intr2", "host_intr3", 193*f126890aSEmmanuel Vadot "host_intr4", "host_intr5", 194*f126890aSEmmanuel Vadot "host_intr6", "host_intr7"; 195*f126890aSEmmanuel Vadot }; 196*f126890aSEmmanuel Vadot 197*f126890aSEmmanuel Vadot pru2_0: pru@34000 { 198*f126890aSEmmanuel Vadot compatible = "ti,am5728-pru"; 199*f126890aSEmmanuel Vadot reg = <0x34000 0x3000>, 200*f126890aSEmmanuel Vadot <0x22000 0x400>, 201*f126890aSEmmanuel Vadot <0x22400 0x100>; 202*f126890aSEmmanuel Vadot reg-names = "iram", "control", "debug"; 203*f126890aSEmmanuel Vadot firmware-name = "am57xx-pru2_0-fw"; 204*f126890aSEmmanuel Vadot }; 205*f126890aSEmmanuel Vadot 206*f126890aSEmmanuel Vadot pru2_1: pru@38000 { 207*f126890aSEmmanuel Vadot compatible = "ti,am5728-pru"; 208*f126890aSEmmanuel Vadot reg = <0x38000 0x3000>, 209*f126890aSEmmanuel Vadot <0x24000 0x400>, 210*f126890aSEmmanuel Vadot <0x24400 0x100>; 211*f126890aSEmmanuel Vadot reg-names = "iram", "control", "debug"; 212*f126890aSEmmanuel Vadot firmware-name = "am57xx-pru2_1-fw"; 213*f126890aSEmmanuel Vadot }; 214*f126890aSEmmanuel Vadot 215*f126890aSEmmanuel Vadot pruss2_mdio: mdio@32400 { 216*f126890aSEmmanuel Vadot compatible = "ti,davinci_mdio"; 217*f126890aSEmmanuel Vadot #address-cells = <1>; 218*f126890aSEmmanuel Vadot #size-cells = <0>; 219*f126890aSEmmanuel Vadot clocks = <&dpll_gmac_h13x2_ck>; 220*f126890aSEmmanuel Vadot clock-names = "fck"; 221*f126890aSEmmanuel Vadot bus_freq = <1000000>; 222*f126890aSEmmanuel Vadot reg = <0x32400 0x90>; 223*f126890aSEmmanuel Vadot }; 224*f126890aSEmmanuel Vadot }; 225*f126890aSEmmanuel Vadot }; 226*f126890aSEmmanuel Vadot}; 227