1*724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0-only 2*724ba675SRob Herring/* 3*724ba675SRob Herring * Device Tree Source for AM33XX SoC 4*724ba675SRob Herring * 5*724ba675SRob Herring * Copyright (C) 2012 Texas Instruments Incorporated - https://www.ti.com/ 6*724ba675SRob Herring */ 7*724ba675SRob Herring 8*724ba675SRob Herring#include <dt-bindings/bus/ti-sysc.h> 9*724ba675SRob Herring#include <dt-bindings/gpio/gpio.h> 10*724ba675SRob Herring#include <dt-bindings/pinctrl/am33xx.h> 11*724ba675SRob Herring#include <dt-bindings/clock/am3.h> 12*724ba675SRob Herring 13*724ba675SRob Herring/ { 14*724ba675SRob Herring compatible = "ti,am33xx"; 15*724ba675SRob Herring interrupt-parent = <&intc>; 16*724ba675SRob Herring #address-cells = <1>; 17*724ba675SRob Herring #size-cells = <1>; 18*724ba675SRob Herring chosen { }; 19*724ba675SRob Herring 20*724ba675SRob Herring aliases { 21*724ba675SRob Herring i2c0 = &i2c0; 22*724ba675SRob Herring i2c1 = &i2c1; 23*724ba675SRob Herring i2c2 = &i2c2; 24*724ba675SRob Herring serial0 = &uart0; 25*724ba675SRob Herring serial1 = &uart1; 26*724ba675SRob Herring serial2 = &uart2; 27*724ba675SRob Herring serial3 = &uart3; 28*724ba675SRob Herring serial4 = &uart4; 29*724ba675SRob Herring serial5 = &uart5; 30*724ba675SRob Herring d-can0 = &dcan0; 31*724ba675SRob Herring d-can1 = &dcan1; 32*724ba675SRob Herring usb0 = &usb0; 33*724ba675SRob Herring usb1 = &usb1; 34*724ba675SRob Herring phy0 = &usb0_phy; 35*724ba675SRob Herring phy1 = &usb1_phy; 36*724ba675SRob Herring ethernet0 = &cpsw_port1; 37*724ba675SRob Herring ethernet1 = &cpsw_port2; 38*724ba675SRob Herring spi0 = &spi0; 39*724ba675SRob Herring spi1 = &spi1; 40*724ba675SRob Herring mmc0 = &mmc1; 41*724ba675SRob Herring mmc1 = &mmc2; 42*724ba675SRob Herring mmc2 = &mmc3; 43*724ba675SRob Herring }; 44*724ba675SRob Herring 45*724ba675SRob Herring cpus { 46*724ba675SRob Herring #address-cells = <1>; 47*724ba675SRob Herring #size-cells = <0>; 48*724ba675SRob Herring cpu@0 { 49*724ba675SRob Herring compatible = "arm,cortex-a8"; 50*724ba675SRob Herring enable-method = "ti,am3352"; 51*724ba675SRob Herring device_type = "cpu"; 52*724ba675SRob Herring reg = <0>; 53*724ba675SRob Herring 54*724ba675SRob Herring operating-points-v2 = <&cpu0_opp_table>; 55*724ba675SRob Herring 56*724ba675SRob Herring clocks = <&dpll_mpu_ck>; 57*724ba675SRob Herring clock-names = "cpu"; 58*724ba675SRob Herring 59*724ba675SRob Herring clock-latency = <300000>; /* From omap-cpufreq driver */ 60*724ba675SRob Herring cpu-idle-states = <&mpu_gate>; 61*724ba675SRob Herring }; 62*724ba675SRob Herring 63*724ba675SRob Herring idle-states { 64*724ba675SRob Herring mpu_gate: mpu_gate { 65*724ba675SRob Herring compatible = "arm,idle-state"; 66*724ba675SRob Herring entry-latency-us = <40>; 67*724ba675SRob Herring exit-latency-us = <90>; 68*724ba675SRob Herring min-residency-us = <300>; 69*724ba675SRob Herring ti,idle-wkup-m3; 70*724ba675SRob Herring }; 71*724ba675SRob Herring }; 72*724ba675SRob Herring }; 73*724ba675SRob Herring 74*724ba675SRob Herring cpu0_opp_table: opp-table { 75*724ba675SRob Herring compatible = "operating-points-v2-ti-cpu"; 76*724ba675SRob Herring syscon = <&scm_conf>; 77*724ba675SRob Herring 78*724ba675SRob Herring /* 79*724ba675SRob Herring * The three following nodes are marked with opp-suspend 80*724ba675SRob Herring * because the can not be enabled simultaneously on a 81*724ba675SRob Herring * single SoC. 82*724ba675SRob Herring */ 83*724ba675SRob Herring opp50-300000000 { 84*724ba675SRob Herring opp-hz = /bits/ 64 <300000000>; 85*724ba675SRob Herring opp-microvolt = <950000 931000 969000>; 86*724ba675SRob Herring opp-supported-hw = <0x06 0x0010>; 87*724ba675SRob Herring opp-suspend; 88*724ba675SRob Herring }; 89*724ba675SRob Herring 90*724ba675SRob Herring opp100-275000000 { 91*724ba675SRob Herring opp-hz = /bits/ 64 <275000000>; 92*724ba675SRob Herring opp-microvolt = <1100000 1078000 1122000>; 93*724ba675SRob Herring opp-supported-hw = <0x01 0x00FF>; 94*724ba675SRob Herring opp-suspend; 95*724ba675SRob Herring }; 96*724ba675SRob Herring 97*724ba675SRob Herring opp100-300000000 { 98*724ba675SRob Herring opp-hz = /bits/ 64 <300000000>; 99*724ba675SRob Herring opp-microvolt = <1100000 1078000 1122000>; 100*724ba675SRob Herring opp-supported-hw = <0x06 0x0020>; 101*724ba675SRob Herring opp-suspend; 102*724ba675SRob Herring }; 103*724ba675SRob Herring 104*724ba675SRob Herring opp100-500000000 { 105*724ba675SRob Herring opp-hz = /bits/ 64 <500000000>; 106*724ba675SRob Herring opp-microvolt = <1100000 1078000 1122000>; 107*724ba675SRob Herring opp-supported-hw = <0x01 0xFFFF>; 108*724ba675SRob Herring }; 109*724ba675SRob Herring 110*724ba675SRob Herring opp100-600000000 { 111*724ba675SRob Herring opp-hz = /bits/ 64 <600000000>; 112*724ba675SRob Herring opp-microvolt = <1100000 1078000 1122000>; 113*724ba675SRob Herring opp-supported-hw = <0x06 0x0040>; 114*724ba675SRob Herring }; 115*724ba675SRob Herring 116*724ba675SRob Herring opp120-600000000 { 117*724ba675SRob Herring opp-hz = /bits/ 64 <600000000>; 118*724ba675SRob Herring opp-microvolt = <1200000 1176000 1224000>; 119*724ba675SRob Herring opp-supported-hw = <0x01 0xFFFF>; 120*724ba675SRob Herring }; 121*724ba675SRob Herring 122*724ba675SRob Herring opp120-720000000 { 123*724ba675SRob Herring opp-hz = /bits/ 64 <720000000>; 124*724ba675SRob Herring opp-microvolt = <1200000 1176000 1224000>; 125*724ba675SRob Herring opp-supported-hw = <0x06 0x0080>; 126*724ba675SRob Herring }; 127*724ba675SRob Herring 128*724ba675SRob Herring oppturbo-720000000 { 129*724ba675SRob Herring opp-hz = /bits/ 64 <720000000>; 130*724ba675SRob Herring opp-microvolt = <1260000 1234800 1285200>; 131*724ba675SRob Herring opp-supported-hw = <0x01 0xFFFF>; 132*724ba675SRob Herring }; 133*724ba675SRob Herring 134*724ba675SRob Herring oppturbo-800000000 { 135*724ba675SRob Herring opp-hz = /bits/ 64 <800000000>; 136*724ba675SRob Herring opp-microvolt = <1260000 1234800 1285200>; 137*724ba675SRob Herring opp-supported-hw = <0x06 0x0100>; 138*724ba675SRob Herring }; 139*724ba675SRob Herring 140*724ba675SRob Herring oppnitro-1000000000 { 141*724ba675SRob Herring opp-hz = /bits/ 64 <1000000000>; 142*724ba675SRob Herring opp-microvolt = <1325000 1298500 1351500>; 143*724ba675SRob Herring opp-supported-hw = <0x04 0x0200>; 144*724ba675SRob Herring }; 145*724ba675SRob Herring }; 146*724ba675SRob Herring 147*724ba675SRob Herring target-module@4b000000 { 148*724ba675SRob Herring compatible = "ti,sysc-omap4-simple", "ti,sysc"; 149*724ba675SRob Herring clocks = <&l3_clkctrl AM3_L3_L3_INSTR_CLKCTRL 0>; 150*724ba675SRob Herring clock-names = "fck"; 151*724ba675SRob Herring ti,no-idle; 152*724ba675SRob Herring #address-cells = <1>; 153*724ba675SRob Herring #size-cells = <1>; 154*724ba675SRob Herring ranges = <0x0 0x4b000000 0x1000000>; 155*724ba675SRob Herring 156*724ba675SRob Herring target-module@140000 { 157*724ba675SRob Herring compatible = "ti,sysc-omap4-simple", "ti,sysc"; 158*724ba675SRob Herring clocks = <&l3_aon_clkctrl AM3_L3_AON_DEBUGSS_CLKCTRL 0>; 159*724ba675SRob Herring clock-names = "fck"; 160*724ba675SRob Herring #address-cells = <1>; 161*724ba675SRob Herring #size-cells = <1>; 162*724ba675SRob Herring ranges = <0x0 0x140000 0xec0000>; 163*724ba675SRob Herring 164*724ba675SRob Herring pmu@0 { 165*724ba675SRob Herring compatible = "arm,cortex-a8-pmu"; 166*724ba675SRob Herring interrupts = <3>; 167*724ba675SRob Herring }; 168*724ba675SRob Herring }; 169*724ba675SRob Herring }; 170*724ba675SRob Herring 171*724ba675SRob Herring /* 172*724ba675SRob Herring * The soc node represents the soc top level view. It is used for IPs 173*724ba675SRob Herring * that are not memory mapped in the MPU view or for the MPU itself. 174*724ba675SRob Herring */ 175*724ba675SRob Herring soc { 176*724ba675SRob Herring compatible = "ti,omap-infra"; 177*724ba675SRob Herring }; 178*724ba675SRob Herring 179*724ba675SRob Herring /* 180*724ba675SRob Herring * XXX: Use a flat representation of the AM33XX interconnect. 181*724ba675SRob Herring * The real AM33XX interconnect network is quite complex. Since 182*724ba675SRob Herring * it will not bring real advantage to represent that in DT 183*724ba675SRob Herring * for the moment, just use a fake OCP bus entry to represent 184*724ba675SRob Herring * the whole bus hierarchy. 185*724ba675SRob Herring */ 186*724ba675SRob Herring ocp: ocp { 187*724ba675SRob Herring compatible = "simple-pm-bus"; 188*724ba675SRob Herring power-domains = <&prm_per>; 189*724ba675SRob Herring clocks = <&l3_clkctrl AM3_L3_L3_MAIN_CLKCTRL 0>; 190*724ba675SRob Herring clock-names = "fck"; 191*724ba675SRob Herring #address-cells = <1>; 192*724ba675SRob Herring #size-cells = <1>; 193*724ba675SRob Herring ranges; 194*724ba675SRob Herring 195*724ba675SRob Herring l4_wkup: interconnect@44c00000 { 196*724ba675SRob Herring }; 197*724ba675SRob Herring l4_per: interconnect@48000000 { 198*724ba675SRob Herring }; 199*724ba675SRob Herring l4_fw: interconnect@47c00000 { 200*724ba675SRob Herring }; 201*724ba675SRob Herring l4_fast: interconnect@4a000000 { 202*724ba675SRob Herring }; 203*724ba675SRob Herring l4_mpuss: interconnect@4b140000 { 204*724ba675SRob Herring }; 205*724ba675SRob Herring 206*724ba675SRob Herring intc: interrupt-controller@48200000 { 207*724ba675SRob Herring compatible = "ti,am33xx-intc"; 208*724ba675SRob Herring interrupt-controller; 209*724ba675SRob Herring #interrupt-cells = <1>; 210*724ba675SRob Herring reg = <0x48200000 0x1000>; 211*724ba675SRob Herring }; 212*724ba675SRob Herring 213*724ba675SRob Herring target-module@49000000 { 214*724ba675SRob Herring compatible = "ti,sysc-omap4", "ti,sysc"; 215*724ba675SRob Herring reg = <0x49000000 0x4>; 216*724ba675SRob Herring reg-names = "rev"; 217*724ba675SRob Herring clocks = <&l3_clkctrl AM3_L3_TPCC_CLKCTRL 0>; 218*724ba675SRob Herring clock-names = "fck"; 219*724ba675SRob Herring #address-cells = <1>; 220*724ba675SRob Herring #size-cells = <1>; 221*724ba675SRob Herring ranges = <0x0 0x49000000 0x10000>; 222*724ba675SRob Herring 223*724ba675SRob Herring edma: dma@0 { 224*724ba675SRob Herring compatible = "ti,edma3-tpcc"; 225*724ba675SRob Herring reg = <0 0x10000>; 226*724ba675SRob Herring reg-names = "edma3_cc"; 227*724ba675SRob Herring interrupts = <12 13 14>; 228*724ba675SRob Herring interrupt-names = "edma3_ccint", "edma3_mperr", 229*724ba675SRob Herring "edma3_ccerrint"; 230*724ba675SRob Herring dma-requests = <64>; 231*724ba675SRob Herring #dma-cells = <2>; 232*724ba675SRob Herring 233*724ba675SRob Herring ti,tptcs = <&edma_tptc0 7>, <&edma_tptc1 5>, 234*724ba675SRob Herring <&edma_tptc2 0>; 235*724ba675SRob Herring 236*724ba675SRob Herring ti,edma-memcpy-channels = <20 21>; 237*724ba675SRob Herring }; 238*724ba675SRob Herring }; 239*724ba675SRob Herring 240*724ba675SRob Herring target-module@49800000 { 241*724ba675SRob Herring compatible = "ti,sysc-omap4", "ti,sysc"; 242*724ba675SRob Herring reg = <0x49800000 0x4>, 243*724ba675SRob Herring <0x49800010 0x4>; 244*724ba675SRob Herring reg-names = "rev", "sysc"; 245*724ba675SRob Herring ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>; 246*724ba675SRob Herring ti,sysc-midle = <SYSC_IDLE_FORCE>; 247*724ba675SRob Herring ti,sysc-sidle = <SYSC_IDLE_FORCE>, 248*724ba675SRob Herring <SYSC_IDLE_SMART>; 249*724ba675SRob Herring clocks = <&l3_clkctrl AM3_L3_TPTC0_CLKCTRL 0>; 250*724ba675SRob Herring clock-names = "fck"; 251*724ba675SRob Herring #address-cells = <1>; 252*724ba675SRob Herring #size-cells = <1>; 253*724ba675SRob Herring ranges = <0x0 0x49800000 0x100000>; 254*724ba675SRob Herring 255*724ba675SRob Herring edma_tptc0: dma@0 { 256*724ba675SRob Herring compatible = "ti,edma3-tptc"; 257*724ba675SRob Herring reg = <0 0x100000>; 258*724ba675SRob Herring interrupts = <112>; 259*724ba675SRob Herring interrupt-names = "edma3_tcerrint"; 260*724ba675SRob Herring }; 261*724ba675SRob Herring }; 262*724ba675SRob Herring 263*724ba675SRob Herring target-module@49900000 { 264*724ba675SRob Herring compatible = "ti,sysc-omap4", "ti,sysc"; 265*724ba675SRob Herring reg = <0x49900000 0x4>, 266*724ba675SRob Herring <0x49900010 0x4>; 267*724ba675SRob Herring reg-names = "rev", "sysc"; 268*724ba675SRob Herring ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>; 269*724ba675SRob Herring ti,sysc-midle = <SYSC_IDLE_FORCE>; 270*724ba675SRob Herring ti,sysc-sidle = <SYSC_IDLE_FORCE>, 271*724ba675SRob Herring <SYSC_IDLE_SMART>; 272*724ba675SRob Herring clocks = <&l3_clkctrl AM3_L3_TPTC1_CLKCTRL 0>; 273*724ba675SRob Herring clock-names = "fck"; 274*724ba675SRob Herring #address-cells = <1>; 275*724ba675SRob Herring #size-cells = <1>; 276*724ba675SRob Herring ranges = <0x0 0x49900000 0x100000>; 277*724ba675SRob Herring 278*724ba675SRob Herring edma_tptc1: dma@0 { 279*724ba675SRob Herring compatible = "ti,edma3-tptc"; 280*724ba675SRob Herring reg = <0 0x100000>; 281*724ba675SRob Herring interrupts = <113>; 282*724ba675SRob Herring interrupt-names = "edma3_tcerrint"; 283*724ba675SRob Herring }; 284*724ba675SRob Herring }; 285*724ba675SRob Herring 286*724ba675SRob Herring target-module@49a00000 { 287*724ba675SRob Herring compatible = "ti,sysc-omap4", "ti,sysc"; 288*724ba675SRob Herring reg = <0x49a00000 0x4>, 289*724ba675SRob Herring <0x49a00010 0x4>; 290*724ba675SRob Herring reg-names = "rev", "sysc"; 291*724ba675SRob Herring ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>; 292*724ba675SRob Herring ti,sysc-midle = <SYSC_IDLE_FORCE>; 293*724ba675SRob Herring ti,sysc-sidle = <SYSC_IDLE_FORCE>, 294*724ba675SRob Herring <SYSC_IDLE_SMART>; 295*724ba675SRob Herring clocks = <&l3_clkctrl AM3_L3_TPTC2_CLKCTRL 0>; 296*724ba675SRob Herring clock-names = "fck"; 297*724ba675SRob Herring #address-cells = <1>; 298*724ba675SRob Herring #size-cells = <1>; 299*724ba675SRob Herring ranges = <0x0 0x49a00000 0x100000>; 300*724ba675SRob Herring 301*724ba675SRob Herring edma_tptc2: dma@0 { 302*724ba675SRob Herring compatible = "ti,edma3-tptc"; 303*724ba675SRob Herring reg = <0 0x100000>; 304*724ba675SRob Herring interrupts = <114>; 305*724ba675SRob Herring interrupt-names = "edma3_tcerrint"; 306*724ba675SRob Herring }; 307*724ba675SRob Herring }; 308*724ba675SRob Herring 309*724ba675SRob Herring target-module@47810000 { 310*724ba675SRob Herring compatible = "ti,sysc-omap2", "ti,sysc"; 311*724ba675SRob Herring reg = <0x478102fc 0x4>, 312*724ba675SRob Herring <0x47810110 0x4>, 313*724ba675SRob Herring <0x47810114 0x4>; 314*724ba675SRob Herring reg-names = "rev", "sysc", "syss"; 315*724ba675SRob Herring ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY | 316*724ba675SRob Herring SYSC_OMAP2_ENAWAKEUP | 317*724ba675SRob Herring SYSC_OMAP2_SOFTRESET | 318*724ba675SRob Herring SYSC_OMAP2_AUTOIDLE)>; 319*724ba675SRob Herring ti,sysc-sidle = <SYSC_IDLE_FORCE>, 320*724ba675SRob Herring <SYSC_IDLE_NO>, 321*724ba675SRob Herring <SYSC_IDLE_SMART>; 322*724ba675SRob Herring ti,syss-mask = <1>; 323*724ba675SRob Herring clocks = <&l3s_clkctrl AM3_L3S_MMC3_CLKCTRL 0>; 324*724ba675SRob Herring clock-names = "fck"; 325*724ba675SRob Herring #address-cells = <1>; 326*724ba675SRob Herring #size-cells = <1>; 327*724ba675SRob Herring ranges = <0x0 0x47810000 0x1000>; 328*724ba675SRob Herring 329*724ba675SRob Herring mmc3: mmc@0 { 330*724ba675SRob Herring compatible = "ti,am335-sdhci"; 331*724ba675SRob Herring ti,needs-special-reset; 332*724ba675SRob Herring interrupts = <29>; 333*724ba675SRob Herring reg = <0x0 0x1000>; 334*724ba675SRob Herring status = "disabled"; 335*724ba675SRob Herring }; 336*724ba675SRob Herring }; 337*724ba675SRob Herring 338*724ba675SRob Herring usb: target-module@47400000 { 339*724ba675SRob Herring compatible = "ti,sysc-omap4", "ti,sysc"; 340*724ba675SRob Herring reg = <0x47400000 0x4>, 341*724ba675SRob Herring <0x47400010 0x4>; 342*724ba675SRob Herring reg-names = "rev", "sysc"; 343*724ba675SRob Herring ti,sysc-mask = <(SYSC_OMAP4_FREEEMU | 344*724ba675SRob Herring SYSC_OMAP4_SOFTRESET)>; 345*724ba675SRob Herring ti,sysc-midle = <SYSC_IDLE_FORCE>, 346*724ba675SRob Herring <SYSC_IDLE_NO>, 347*724ba675SRob Herring <SYSC_IDLE_SMART>; 348*724ba675SRob Herring ti,sysc-sidle = <SYSC_IDLE_FORCE>, 349*724ba675SRob Herring <SYSC_IDLE_NO>, 350*724ba675SRob Herring <SYSC_IDLE_SMART>, 351*724ba675SRob Herring <SYSC_IDLE_SMART_WKUP>; 352*724ba675SRob Herring clocks = <&l3s_clkctrl AM3_L3S_USB_OTG_HS_CLKCTRL 0>; 353*724ba675SRob Herring clock-names = "fck"; 354*724ba675SRob Herring #address-cells = <1>; 355*724ba675SRob Herring #size-cells = <1>; 356*724ba675SRob Herring ranges = <0x0 0x47400000 0x8000>; 357*724ba675SRob Herring 358*724ba675SRob Herring usb0_phy: usb-phy@1300 { 359*724ba675SRob Herring compatible = "ti,am335x-usb-phy"; 360*724ba675SRob Herring reg = <0x1300 0x100>; 361*724ba675SRob Herring reg-names = "phy"; 362*724ba675SRob Herring ti,ctrl_mod = <&usb_ctrl_mod>; 363*724ba675SRob Herring #phy-cells = <0>; 364*724ba675SRob Herring }; 365*724ba675SRob Herring 366*724ba675SRob Herring usb0: usb@1400 { 367*724ba675SRob Herring compatible = "ti,musb-am33xx"; 368*724ba675SRob Herring reg = <0x1400 0x400>, 369*724ba675SRob Herring <0x1000 0x200>; 370*724ba675SRob Herring reg-names = "mc", "control"; 371*724ba675SRob Herring 372*724ba675SRob Herring interrupts = <18>; 373*724ba675SRob Herring interrupt-names = "mc"; 374*724ba675SRob Herring dr_mode = "otg"; 375*724ba675SRob Herring mentor,multipoint = <1>; 376*724ba675SRob Herring mentor,num-eps = <16>; 377*724ba675SRob Herring mentor,ram-bits = <12>; 378*724ba675SRob Herring mentor,power = <500>; 379*724ba675SRob Herring phys = <&usb0_phy>; 380*724ba675SRob Herring 381*724ba675SRob Herring dmas = <&cppi41dma 0 0 &cppi41dma 1 0 382*724ba675SRob Herring &cppi41dma 2 0 &cppi41dma 3 0 383*724ba675SRob Herring &cppi41dma 4 0 &cppi41dma 5 0 384*724ba675SRob Herring &cppi41dma 6 0 &cppi41dma 7 0 385*724ba675SRob Herring &cppi41dma 8 0 &cppi41dma 9 0 386*724ba675SRob Herring &cppi41dma 10 0 &cppi41dma 11 0 387*724ba675SRob Herring &cppi41dma 12 0 &cppi41dma 13 0 388*724ba675SRob Herring &cppi41dma 14 0 &cppi41dma 0 1 389*724ba675SRob Herring &cppi41dma 1 1 &cppi41dma 2 1 390*724ba675SRob Herring &cppi41dma 3 1 &cppi41dma 4 1 391*724ba675SRob Herring &cppi41dma 5 1 &cppi41dma 6 1 392*724ba675SRob Herring &cppi41dma 7 1 &cppi41dma 8 1 393*724ba675SRob Herring &cppi41dma 9 1 &cppi41dma 10 1 394*724ba675SRob Herring &cppi41dma 11 1 &cppi41dma 12 1 395*724ba675SRob Herring &cppi41dma 13 1 &cppi41dma 14 1>; 396*724ba675SRob Herring dma-names = 397*724ba675SRob Herring "rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7", 398*724ba675SRob Herring "rx8", "rx9", "rx10", "rx11", "rx12", "rx13", 399*724ba675SRob Herring "rx14", "rx15", 400*724ba675SRob Herring "tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7", 401*724ba675SRob Herring "tx8", "tx9", "tx10", "tx11", "tx12", "tx13", 402*724ba675SRob Herring "tx14", "tx15"; 403*724ba675SRob Herring }; 404*724ba675SRob Herring 405*724ba675SRob Herring usb1_phy: usb-phy@1b00 { 406*724ba675SRob Herring compatible = "ti,am335x-usb-phy"; 407*724ba675SRob Herring reg = <0x1b00 0x100>; 408*724ba675SRob Herring reg-names = "phy"; 409*724ba675SRob Herring ti,ctrl_mod = <&usb_ctrl_mod>; 410*724ba675SRob Herring #phy-cells = <0>; 411*724ba675SRob Herring }; 412*724ba675SRob Herring 413*724ba675SRob Herring usb1: usb@1800 { 414*724ba675SRob Herring compatible = "ti,musb-am33xx"; 415*724ba675SRob Herring reg = <0x1c00 0x400>, 416*724ba675SRob Herring <0x1800 0x200>; 417*724ba675SRob Herring reg-names = "mc", "control"; 418*724ba675SRob Herring interrupts = <19>; 419*724ba675SRob Herring interrupt-names = "mc"; 420*724ba675SRob Herring dr_mode = "otg"; 421*724ba675SRob Herring mentor,multipoint = <1>; 422*724ba675SRob Herring mentor,num-eps = <16>; 423*724ba675SRob Herring mentor,ram-bits = <12>; 424*724ba675SRob Herring mentor,power = <500>; 425*724ba675SRob Herring phys = <&usb1_phy>; 426*724ba675SRob Herring 427*724ba675SRob Herring dmas = <&cppi41dma 15 0 &cppi41dma 16 0 428*724ba675SRob Herring &cppi41dma 17 0 &cppi41dma 18 0 429*724ba675SRob Herring &cppi41dma 19 0 &cppi41dma 20 0 430*724ba675SRob Herring &cppi41dma 21 0 &cppi41dma 22 0 431*724ba675SRob Herring &cppi41dma 23 0 &cppi41dma 24 0 432*724ba675SRob Herring &cppi41dma 25 0 &cppi41dma 26 0 433*724ba675SRob Herring &cppi41dma 27 0 &cppi41dma 28 0 434*724ba675SRob Herring &cppi41dma 29 0 &cppi41dma 15 1 435*724ba675SRob Herring &cppi41dma 16 1 &cppi41dma 17 1 436*724ba675SRob Herring &cppi41dma 18 1 &cppi41dma 19 1 437*724ba675SRob Herring &cppi41dma 20 1 &cppi41dma 21 1 438*724ba675SRob Herring &cppi41dma 22 1 &cppi41dma 23 1 439*724ba675SRob Herring &cppi41dma 24 1 &cppi41dma 25 1 440*724ba675SRob Herring &cppi41dma 26 1 &cppi41dma 27 1 441*724ba675SRob Herring &cppi41dma 28 1 &cppi41dma 29 1>; 442*724ba675SRob Herring dma-names = 443*724ba675SRob Herring "rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7", 444*724ba675SRob Herring "rx8", "rx9", "rx10", "rx11", "rx12", "rx13", 445*724ba675SRob Herring "rx14", "rx15", 446*724ba675SRob Herring "tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7", 447*724ba675SRob Herring "tx8", "tx9", "tx10", "tx11", "tx12", "tx13", 448*724ba675SRob Herring "tx14", "tx15"; 449*724ba675SRob Herring }; 450*724ba675SRob Herring 451*724ba675SRob Herring cppi41dma: dma-controller@2000 { 452*724ba675SRob Herring compatible = "ti,am3359-cppi41"; 453*724ba675SRob Herring reg = <0x0000 0x1000>, 454*724ba675SRob Herring <0x2000 0x1000>, 455*724ba675SRob Herring <0x3000 0x1000>, 456*724ba675SRob Herring <0x4000 0x4000>; 457*724ba675SRob Herring reg-names = "glue", "controller", "scheduler", "queuemgr"; 458*724ba675SRob Herring interrupts = <17>; 459*724ba675SRob Herring interrupt-names = "glue"; 460*724ba675SRob Herring #dma-cells = <2>; 461*724ba675SRob Herring /* For backwards compatibility: */ 462*724ba675SRob Herring #dma-channels = <30>; 463*724ba675SRob Herring dma-channels = <30>; 464*724ba675SRob Herring #dma-requests = <256>; 465*724ba675SRob Herring dma-requests = <256>; 466*724ba675SRob Herring }; 467*724ba675SRob Herring }; 468*724ba675SRob Herring 469*724ba675SRob Herring target-module@40300000 { 470*724ba675SRob Herring compatible = "ti,sysc-omap4-simple", "ti,sysc"; 471*724ba675SRob Herring clocks = <&l3_clkctrl AM3_L3_OCMCRAM_CLKCTRL 0>; 472*724ba675SRob Herring clock-names = "fck"; 473*724ba675SRob Herring ti,no-idle; 474*724ba675SRob Herring #address-cells = <1>; 475*724ba675SRob Herring #size-cells = <1>; 476*724ba675SRob Herring ranges = <0 0x40300000 0x10000>; 477*724ba675SRob Herring 478*724ba675SRob Herring ocmcram: sram@0 { 479*724ba675SRob Herring compatible = "mmio-sram"; 480*724ba675SRob Herring reg = <0 0x10000>; /* 64k */ 481*724ba675SRob Herring ranges = <0 0 0x10000>; 482*724ba675SRob Herring #address-cells = <1>; 483*724ba675SRob Herring #size-cells = <1>; 484*724ba675SRob Herring 485*724ba675SRob Herring pm_sram_code: pm-code-sram@0 { 486*724ba675SRob Herring compatible = "ti,sram"; 487*724ba675SRob Herring reg = <0x0 0x1000>; 488*724ba675SRob Herring protect-exec; 489*724ba675SRob Herring }; 490*724ba675SRob Herring 491*724ba675SRob Herring pm_sram_data: pm-data-sram@1000 { 492*724ba675SRob Herring compatible = "ti,sram"; 493*724ba675SRob Herring reg = <0x1000 0x1000>; 494*724ba675SRob Herring pool; 495*724ba675SRob Herring }; 496*724ba675SRob Herring }; 497*724ba675SRob Herring }; 498*724ba675SRob Herring 499*724ba675SRob Herring target-module@4c000000 { 500*724ba675SRob Herring compatible = "ti,sysc-omap4-simple", "ti,sysc"; 501*724ba675SRob Herring reg = <0x4c000000 0x4>; 502*724ba675SRob Herring reg-names = "rev"; 503*724ba675SRob Herring clocks = <&l3_clkctrl AM3_L3_EMIF_CLKCTRL 0>; 504*724ba675SRob Herring clock-names = "fck"; 505*724ba675SRob Herring ti,no-idle; 506*724ba675SRob Herring #address-cells = <1>; 507*724ba675SRob Herring #size-cells = <1>; 508*724ba675SRob Herring ranges = <0x0 0x4c000000 0x1000000>; 509*724ba675SRob Herring 510*724ba675SRob Herring emif: emif@0 { 511*724ba675SRob Herring compatible = "ti,emif-am3352"; 512*724ba675SRob Herring reg = <0 0x1000000>; 513*724ba675SRob Herring interrupts = <101>; 514*724ba675SRob Herring sram = <&pm_sram_code 515*724ba675SRob Herring &pm_sram_data>; 516*724ba675SRob Herring }; 517*724ba675SRob Herring }; 518*724ba675SRob Herring 519*724ba675SRob Herring target-module@50000000 { 520*724ba675SRob Herring compatible = "ti,sysc-omap2", "ti,sysc"; 521*724ba675SRob Herring reg = <0x50000000 4>, 522*724ba675SRob Herring <0x50000010 4>, 523*724ba675SRob Herring <0x50000014 4>; 524*724ba675SRob Herring reg-names = "rev", "sysc", "syss"; 525*724ba675SRob Herring ti,sysc-sidle = <SYSC_IDLE_FORCE>, 526*724ba675SRob Herring <SYSC_IDLE_NO>, 527*724ba675SRob Herring <SYSC_IDLE_SMART>; 528*724ba675SRob Herring ti,syss-mask = <1>; 529*724ba675SRob Herring clocks = <&l3s_clkctrl AM3_L3S_GPMC_CLKCTRL 0>; 530*724ba675SRob Herring clock-names = "fck"; 531*724ba675SRob Herring #address-cells = <1>; 532*724ba675SRob Herring #size-cells = <1>; 533*724ba675SRob Herring ranges = <0x50000000 0x50000000 0x00001000>, /* regs */ 534*724ba675SRob Herring <0x00000000 0x00000000 0x40000000>; /* data */ 535*724ba675SRob Herring 536*724ba675SRob Herring gpmc: gpmc@50000000 { 537*724ba675SRob Herring compatible = "ti,am3352-gpmc"; 538*724ba675SRob Herring reg = <0x50000000 0x2000>; 539*724ba675SRob Herring interrupts = <100>; 540*724ba675SRob Herring dmas = <&edma 52 0>; 541*724ba675SRob Herring dma-names = "rxtx"; 542*724ba675SRob Herring gpmc,num-cs = <7>; 543*724ba675SRob Herring gpmc,num-waitpins = <2>; 544*724ba675SRob Herring #address-cells = <2>; 545*724ba675SRob Herring #size-cells = <1>; 546*724ba675SRob Herring interrupt-controller; 547*724ba675SRob Herring #interrupt-cells = <2>; 548*724ba675SRob Herring gpio-controller; 549*724ba675SRob Herring #gpio-cells = <2>; 550*724ba675SRob Herring status = "disabled"; 551*724ba675SRob Herring }; 552*724ba675SRob Herring }; 553*724ba675SRob Herring 554*724ba675SRob Herring sham_target: target-module@53100000 { 555*724ba675SRob Herring compatible = "ti,sysc-omap3-sham", "ti,sysc"; 556*724ba675SRob Herring reg = <0x53100100 0x4>, 557*724ba675SRob Herring <0x53100110 0x4>, 558*724ba675SRob Herring <0x53100114 0x4>; 559*724ba675SRob Herring reg-names = "rev", "sysc", "syss"; 560*724ba675SRob Herring ti,sysc-mask = <(SYSC_OMAP2_SOFTRESET | 561*724ba675SRob Herring SYSC_OMAP2_AUTOIDLE)>; 562*724ba675SRob Herring ti,sysc-sidle = <SYSC_IDLE_FORCE>, 563*724ba675SRob Herring <SYSC_IDLE_NO>, 564*724ba675SRob Herring <SYSC_IDLE_SMART>; 565*724ba675SRob Herring ti,syss-mask = <1>; 566*724ba675SRob Herring /* Domains (P, C): per_pwrdm, l3_clkdm */ 567*724ba675SRob Herring clocks = <&l3_clkctrl AM3_L3_SHAM_CLKCTRL 0>; 568*724ba675SRob Herring clock-names = "fck"; 569*724ba675SRob Herring #address-cells = <1>; 570*724ba675SRob Herring #size-cells = <1>; 571*724ba675SRob Herring ranges = <0x0 0x53100000 0x1000>; 572*724ba675SRob Herring 573*724ba675SRob Herring sham: sham@0 { 574*724ba675SRob Herring compatible = "ti,omap4-sham"; 575*724ba675SRob Herring reg = <0 0x200>; 576*724ba675SRob Herring interrupts = <109>; 577*724ba675SRob Herring dmas = <&edma 36 0>; 578*724ba675SRob Herring dma-names = "rx"; 579*724ba675SRob Herring }; 580*724ba675SRob Herring }; 581*724ba675SRob Herring 582*724ba675SRob Herring aes_target: target-module@53500000 { 583*724ba675SRob Herring compatible = "ti,sysc-omap2", "ti,sysc"; 584*724ba675SRob Herring reg = <0x53500080 0x4>, 585*724ba675SRob Herring <0x53500084 0x4>, 586*724ba675SRob Herring <0x53500088 0x4>; 587*724ba675SRob Herring reg-names = "rev", "sysc", "syss"; 588*724ba675SRob Herring ti,sysc-mask = <(SYSC_OMAP2_SOFTRESET | 589*724ba675SRob Herring SYSC_OMAP2_AUTOIDLE)>; 590*724ba675SRob Herring ti,sysc-sidle = <SYSC_IDLE_FORCE>, 591*724ba675SRob Herring <SYSC_IDLE_NO>, 592*724ba675SRob Herring <SYSC_IDLE_SMART>, 593*724ba675SRob Herring <SYSC_IDLE_SMART_WKUP>; 594*724ba675SRob Herring ti,syss-mask = <1>; 595*724ba675SRob Herring /* Domains (P, C): per_pwrdm, l3_clkdm */ 596*724ba675SRob Herring clocks = <&l3_clkctrl AM3_L3_AES_CLKCTRL 0>; 597*724ba675SRob Herring clock-names = "fck"; 598*724ba675SRob Herring #address-cells = <1>; 599*724ba675SRob Herring #size-cells = <1>; 600*724ba675SRob Herring ranges = <0x0 0x53500000 0x1000>; 601*724ba675SRob Herring 602*724ba675SRob Herring aes: aes@0 { 603*724ba675SRob Herring compatible = "ti,omap4-aes"; 604*724ba675SRob Herring reg = <0 0xa0>; 605*724ba675SRob Herring interrupts = <103>; 606*724ba675SRob Herring dmas = <&edma 6 0>, 607*724ba675SRob Herring <&edma 5 0>; 608*724ba675SRob Herring dma-names = "tx", "rx"; 609*724ba675SRob Herring }; 610*724ba675SRob Herring }; 611*724ba675SRob Herring 612*724ba675SRob Herring target-module@56000000 { 613*724ba675SRob Herring compatible = "ti,sysc-omap4", "ti,sysc"; 614*724ba675SRob Herring reg = <0x5600fe00 0x4>, 615*724ba675SRob Herring <0x5600fe10 0x4>; 616*724ba675SRob Herring reg-names = "rev", "sysc"; 617*724ba675SRob Herring ti,sysc-midle = <SYSC_IDLE_FORCE>, 618*724ba675SRob Herring <SYSC_IDLE_NO>, 619*724ba675SRob Herring <SYSC_IDLE_SMART>; 620*724ba675SRob Herring ti,sysc-sidle = <SYSC_IDLE_FORCE>, 621*724ba675SRob Herring <SYSC_IDLE_NO>, 622*724ba675SRob Herring <SYSC_IDLE_SMART>; 623*724ba675SRob Herring clocks = <&gfx_l3_clkctrl AM3_GFX_L3_GFX_CLKCTRL 0>; 624*724ba675SRob Herring clock-names = "fck"; 625*724ba675SRob Herring power-domains = <&prm_gfx>; 626*724ba675SRob Herring resets = <&prm_gfx 0>; 627*724ba675SRob Herring reset-names = "rstctrl"; 628*724ba675SRob Herring #address-cells = <1>; 629*724ba675SRob Herring #size-cells = <1>; 630*724ba675SRob Herring ranges = <0 0x56000000 0x1000000>; 631*724ba675SRob Herring 632*724ba675SRob Herring /* 633*724ba675SRob Herring * Closed source PowerVR driver, no child device 634*724ba675SRob Herring * binding or driver in mainline 635*724ba675SRob Herring */ 636*724ba675SRob Herring }; 637*724ba675SRob Herring }; 638*724ba675SRob Herring}; 639*724ba675SRob Herring 640*724ba675SRob Herring#include "am33xx-l4.dtsi" 641*724ba675SRob Herring#include "am33xx-clocks.dtsi" 642*724ba675SRob Herring 643*724ba675SRob Herring&prcm { 644*724ba675SRob Herring prm_per: prm@c00 { 645*724ba675SRob Herring compatible = "ti,am3-prm-inst", "ti,omap-prm-inst"; 646*724ba675SRob Herring reg = <0xc00 0x100>; 647*724ba675SRob Herring #reset-cells = <1>; 648*724ba675SRob Herring #power-domain-cells = <0>; 649*724ba675SRob Herring }; 650*724ba675SRob Herring 651*724ba675SRob Herring prm_wkup: prm@d00 { 652*724ba675SRob Herring compatible = "ti,am3-prm-inst", "ti,omap-prm-inst"; 653*724ba675SRob Herring reg = <0xd00 0x100>; 654*724ba675SRob Herring #reset-cells = <1>; 655*724ba675SRob Herring #power-domain-cells = <0>; 656*724ba675SRob Herring }; 657*724ba675SRob Herring 658*724ba675SRob Herring prm_mpu: prm@e00 { 659*724ba675SRob Herring compatible = "ti,am3-prm-inst", "ti,omap-prm-inst"; 660*724ba675SRob Herring reg = <0xe00 0x100>; 661*724ba675SRob Herring #power-domain-cells = <0>; 662*724ba675SRob Herring }; 663*724ba675SRob Herring 664*724ba675SRob Herring prm_device: prm@f00 { 665*724ba675SRob Herring compatible = "ti,am3-prm-inst", "ti,omap-prm-inst"; 666*724ba675SRob Herring reg = <0xf00 0x100>; 667*724ba675SRob Herring #reset-cells = <1>; 668*724ba675SRob Herring }; 669*724ba675SRob Herring 670*724ba675SRob Herring prm_rtc: prm@1000 { 671*724ba675SRob Herring compatible = "ti,am3-prm-inst", "ti,omap-prm-inst"; 672*724ba675SRob Herring reg = <0x1000 0x100>; 673*724ba675SRob Herring #power-domain-cells = <0>; 674*724ba675SRob Herring }; 675*724ba675SRob Herring 676*724ba675SRob Herring prm_gfx: prm@1100 { 677*724ba675SRob Herring compatible = "ti,am3-prm-inst", "ti,omap-prm-inst"; 678*724ba675SRob Herring reg = <0x1100 0x100>; 679*724ba675SRob Herring #power-domain-cells = <0>; 680*724ba675SRob Herring #reset-cells = <1>; 681*724ba675SRob Herring }; 682*724ba675SRob Herring 683*724ba675SRob Herring prm_cefuse: prm@1200 { 684*724ba675SRob Herring compatible = "ti,am3-prm-inst", "ti,omap-prm-inst"; 685*724ba675SRob Herring reg = <0x1200 0x100>; 686*724ba675SRob Herring #power-domain-cells = <0>; 687*724ba675SRob Herring }; 688*724ba675SRob Herring}; 689*724ba675SRob Herring 690*724ba675SRob Herring/* Preferred always-on timer for clocksource */ 691*724ba675SRob Herring&timer1_target { 692*724ba675SRob Herring clocks = <&l4_wkup_clkctrl AM3_L4_WKUP_TIMER1_CLKCTRL 0>, 693*724ba675SRob Herring <&l4_wkup_clkctrl AM3_L4_WKUP_L4_WKUP_CLKCTRL 0>; 694*724ba675SRob Herring clock-names = "fck", "ick"; 695*724ba675SRob Herring ti,no-reset-on-init; 696*724ba675SRob Herring ti,no-idle; 697*724ba675SRob Herring timer@0 { 698*724ba675SRob Herring assigned-clocks = <&timer1_fck>; 699*724ba675SRob Herring assigned-clock-parents = <&sys_clkin_ck>; 700*724ba675SRob Herring }; 701*724ba675SRob Herring}; 702*724ba675SRob Herring 703*724ba675SRob Herring/* Preferred timer for clockevent */ 704*724ba675SRob Herring&timer2_target { 705*724ba675SRob Herring clocks = <&l4ls_clkctrl AM3_L4LS_TIMER2_CLKCTRL 0>, 706*724ba675SRob Herring <&l4ls_clkctrl AM3_L4LS_L4_LS_CLKCTRL 0>; 707*724ba675SRob Herring clock-names = "fck", "ick"; 708*724ba675SRob Herring ti,no-reset-on-init; 709*724ba675SRob Herring ti,no-idle; 710*724ba675SRob Herring timer@0 { 711*724ba675SRob Herring assigned-clocks = <&timer2_fck>; 712*724ba675SRob Herring assigned-clock-parents = <&sys_clkin_ck>; 713*724ba675SRob Herring }; 714*724ba675SRob Herring}; 715