1724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0-only 2724ba675SRob Herring/* 3724ba675SRob Herring * Device Tree Source for AM33XX SoC 4724ba675SRob Herring * 5724ba675SRob Herring * Copyright (C) 2012 Texas Instruments Incorporated - https://www.ti.com/ 6724ba675SRob Herring */ 7724ba675SRob Herring 8724ba675SRob Herring#include <dt-bindings/bus/ti-sysc.h> 9724ba675SRob Herring#include <dt-bindings/gpio/gpio.h> 10724ba675SRob Herring#include <dt-bindings/pinctrl/am33xx.h> 11724ba675SRob Herring#include <dt-bindings/clock/am3.h> 12724ba675SRob Herring 13724ba675SRob Herring/ { 14724ba675SRob Herring compatible = "ti,am33xx"; 15724ba675SRob Herring interrupt-parent = <&intc>; 16724ba675SRob Herring #address-cells = <1>; 17724ba675SRob Herring #size-cells = <1>; 18724ba675SRob Herring chosen { }; 19724ba675SRob Herring 20724ba675SRob Herring aliases { 21724ba675SRob Herring i2c0 = &i2c0; 22724ba675SRob Herring i2c1 = &i2c1; 23724ba675SRob Herring i2c2 = &i2c2; 24724ba675SRob Herring serial0 = &uart0; 25724ba675SRob Herring serial1 = &uart1; 26724ba675SRob Herring serial2 = &uart2; 27724ba675SRob Herring serial3 = &uart3; 28724ba675SRob Herring serial4 = &uart4; 29724ba675SRob Herring serial5 = &uart5; 30724ba675SRob Herring d-can0 = &dcan0; 31724ba675SRob Herring d-can1 = &dcan1; 32724ba675SRob Herring usb0 = &usb0; 33724ba675SRob Herring usb1 = &usb1; 34724ba675SRob Herring phy0 = &usb0_phy; 35724ba675SRob Herring phy1 = &usb1_phy; 36724ba675SRob Herring ethernet0 = &cpsw_port1; 37724ba675SRob Herring ethernet1 = &cpsw_port2; 38724ba675SRob Herring spi0 = &spi0; 39724ba675SRob Herring spi1 = &spi1; 40724ba675SRob Herring mmc0 = &mmc1; 41724ba675SRob Herring mmc1 = &mmc2; 42724ba675SRob Herring mmc2 = &mmc3; 43724ba675SRob Herring }; 44724ba675SRob Herring 45724ba675SRob Herring cpus { 46724ba675SRob Herring #address-cells = <1>; 47724ba675SRob Herring #size-cells = <0>; 48724ba675SRob Herring cpu@0 { 49724ba675SRob Herring compatible = "arm,cortex-a8"; 50724ba675SRob Herring enable-method = "ti,am3352"; 51724ba675SRob Herring device_type = "cpu"; 52724ba675SRob Herring reg = <0>; 53724ba675SRob Herring 54724ba675SRob Herring operating-points-v2 = <&cpu0_opp_table>; 55724ba675SRob Herring 56724ba675SRob Herring clocks = <&dpll_mpu_ck>; 57724ba675SRob Herring clock-names = "cpu"; 58724ba675SRob Herring 59724ba675SRob Herring clock-latency = <300000>; /* From omap-cpufreq driver */ 60724ba675SRob Herring cpu-idle-states = <&mpu_gate>; 61724ba675SRob Herring }; 62724ba675SRob Herring 63724ba675SRob Herring idle-states { 64724ba675SRob Herring mpu_gate: mpu_gate { 65724ba675SRob Herring compatible = "arm,idle-state"; 66724ba675SRob Herring entry-latency-us = <40>; 67724ba675SRob Herring exit-latency-us = <90>; 68724ba675SRob Herring min-residency-us = <300>; 69724ba675SRob Herring ti,idle-wkup-m3; 70724ba675SRob Herring }; 71724ba675SRob Herring }; 72724ba675SRob Herring }; 73724ba675SRob Herring 74724ba675SRob Herring cpu0_opp_table: opp-table { 75724ba675SRob Herring compatible = "operating-points-v2-ti-cpu"; 76724ba675SRob Herring syscon = <&scm_conf>; 77724ba675SRob Herring 78724ba675SRob Herring /* 79724ba675SRob Herring * The three following nodes are marked with opp-suspend 80724ba675SRob Herring * because the can not be enabled simultaneously on a 81724ba675SRob Herring * single SoC. 82724ba675SRob Herring */ 835821d766SNishanth Menon opp-50-300000000 { 845821d766SNishanth Menon /* OPP50 */ 85724ba675SRob Herring opp-hz = /bits/ 64 <300000000>; 86724ba675SRob Herring opp-microvolt = <950000 931000 969000>; 87724ba675SRob Herring opp-supported-hw = <0x06 0x0010>; 88724ba675SRob Herring opp-suspend; 89724ba675SRob Herring }; 90724ba675SRob Herring 915821d766SNishanth Menon opp-100-275000000 { 925821d766SNishanth Menon /* OPP100-1 */ 93724ba675SRob Herring opp-hz = /bits/ 64 <275000000>; 94724ba675SRob Herring opp-microvolt = <1100000 1078000 1122000>; 95724ba675SRob Herring opp-supported-hw = <0x01 0x00FF>; 96724ba675SRob Herring opp-suspend; 97724ba675SRob Herring }; 98724ba675SRob Herring 995821d766SNishanth Menon opp-100-300000000 { 1005821d766SNishanth Menon /* OPP100-2 */ 101724ba675SRob Herring opp-hz = /bits/ 64 <300000000>; 102724ba675SRob Herring opp-microvolt = <1100000 1078000 1122000>; 103724ba675SRob Herring opp-supported-hw = <0x06 0x0020>; 104724ba675SRob Herring opp-suspend; 105724ba675SRob Herring }; 106724ba675SRob Herring 1075821d766SNishanth Menon opp-100-500000000 { 1085821d766SNishanth Menon /* OPP100-3 */ 109724ba675SRob Herring opp-hz = /bits/ 64 <500000000>; 110724ba675SRob Herring opp-microvolt = <1100000 1078000 1122000>; 111724ba675SRob Herring opp-supported-hw = <0x01 0xFFFF>; 112724ba675SRob Herring }; 113724ba675SRob Herring 1145821d766SNishanth Menon opp-100-600000000 { 1155821d766SNishanth Menon /* OPP100-4 */ 116724ba675SRob Herring opp-hz = /bits/ 64 <600000000>; 117724ba675SRob Herring opp-microvolt = <1100000 1078000 1122000>; 118724ba675SRob Herring opp-supported-hw = <0x06 0x0040>; 119724ba675SRob Herring }; 120724ba675SRob Herring 1215821d766SNishanth Menon opp-120-600000000 { 1225821d766SNishanth Menon /* OPP120-1 */ 123724ba675SRob Herring opp-hz = /bits/ 64 <600000000>; 124724ba675SRob Herring opp-microvolt = <1200000 1176000 1224000>; 125724ba675SRob Herring opp-supported-hw = <0x01 0xFFFF>; 126724ba675SRob Herring }; 127724ba675SRob Herring 1285821d766SNishanth Menon opp-120-720000000 { 1295821d766SNishanth Menon /* OPP120-2 */ 130724ba675SRob Herring opp-hz = /bits/ 64 <720000000>; 131724ba675SRob Herring opp-microvolt = <1200000 1176000 1224000>; 132724ba675SRob Herring opp-supported-hw = <0x06 0x0080>; 133724ba675SRob Herring }; 134724ba675SRob Herring 1355821d766SNishanth Menon opp-720000000 { 1365821d766SNishanth Menon /* OPP Turbo-1 */ 137724ba675SRob Herring opp-hz = /bits/ 64 <720000000>; 138724ba675SRob Herring opp-microvolt = <1260000 1234800 1285200>; 139724ba675SRob Herring opp-supported-hw = <0x01 0xFFFF>; 140724ba675SRob Herring }; 141724ba675SRob Herring 1425821d766SNishanth Menon opp-800000000 { 1435821d766SNishanth Menon /* OPP Turbo-2 */ 144724ba675SRob Herring opp-hz = /bits/ 64 <800000000>; 145724ba675SRob Herring opp-microvolt = <1260000 1234800 1285200>; 146724ba675SRob Herring opp-supported-hw = <0x06 0x0100>; 147724ba675SRob Herring }; 148724ba675SRob Herring 1495821d766SNishanth Menon opp-1000000000 { 1505821d766SNishanth Menon /* OPP Nitro */ 151724ba675SRob Herring opp-hz = /bits/ 64 <1000000000>; 152724ba675SRob Herring opp-microvolt = <1325000 1298500 1351500>; 153724ba675SRob Herring opp-supported-hw = <0x04 0x0200>; 154724ba675SRob Herring }; 155724ba675SRob Herring }; 156724ba675SRob Herring 157724ba675SRob Herring target-module@4b000000 { 158724ba675SRob Herring compatible = "ti,sysc-omap4-simple", "ti,sysc"; 159724ba675SRob Herring clocks = <&l3_clkctrl AM3_L3_L3_INSTR_CLKCTRL 0>; 160724ba675SRob Herring clock-names = "fck"; 161724ba675SRob Herring ti,no-idle; 162724ba675SRob Herring #address-cells = <1>; 163724ba675SRob Herring #size-cells = <1>; 164724ba675SRob Herring ranges = <0x0 0x4b000000 0x1000000>; 165724ba675SRob Herring 166724ba675SRob Herring target-module@140000 { 167724ba675SRob Herring compatible = "ti,sysc-omap4-simple", "ti,sysc"; 168724ba675SRob Herring clocks = <&l3_aon_clkctrl AM3_L3_AON_DEBUGSS_CLKCTRL 0>; 169724ba675SRob Herring clock-names = "fck"; 170724ba675SRob Herring #address-cells = <1>; 171724ba675SRob Herring #size-cells = <1>; 172724ba675SRob Herring ranges = <0x0 0x140000 0xec0000>; 173724ba675SRob Herring 174724ba675SRob Herring pmu@0 { 175724ba675SRob Herring compatible = "arm,cortex-a8-pmu"; 176724ba675SRob Herring interrupts = <3>; 177724ba675SRob Herring }; 178724ba675SRob Herring }; 179724ba675SRob Herring }; 180724ba675SRob Herring 181724ba675SRob Herring /* 182724ba675SRob Herring * The soc node represents the soc top level view. It is used for IPs 183724ba675SRob Herring * that are not memory mapped in the MPU view or for the MPU itself. 184724ba675SRob Herring */ 185724ba675SRob Herring soc { 186724ba675SRob Herring compatible = "ti,omap-infra"; 187724ba675SRob Herring }; 188724ba675SRob Herring 189724ba675SRob Herring /* 190724ba675SRob Herring * XXX: Use a flat representation of the AM33XX interconnect. 191724ba675SRob Herring * The real AM33XX interconnect network is quite complex. Since 192724ba675SRob Herring * it will not bring real advantage to represent that in DT 193724ba675SRob Herring * for the moment, just use a fake OCP bus entry to represent 194724ba675SRob Herring * the whole bus hierarchy. 195724ba675SRob Herring */ 196724ba675SRob Herring ocp: ocp { 197724ba675SRob Herring compatible = "simple-pm-bus"; 198724ba675SRob Herring power-domains = <&prm_per>; 199724ba675SRob Herring clocks = <&l3_clkctrl AM3_L3_L3_MAIN_CLKCTRL 0>; 200724ba675SRob Herring clock-names = "fck"; 201724ba675SRob Herring #address-cells = <1>; 202724ba675SRob Herring #size-cells = <1>; 203724ba675SRob Herring ranges; 204724ba675SRob Herring 205724ba675SRob Herring l4_wkup: interconnect@44c00000 { 206724ba675SRob Herring }; 207724ba675SRob Herring l4_per: interconnect@48000000 { 208724ba675SRob Herring }; 209724ba675SRob Herring l4_fw: interconnect@47c00000 { 210724ba675SRob Herring }; 211724ba675SRob Herring l4_fast: interconnect@4a000000 { 212724ba675SRob Herring }; 213724ba675SRob Herring l4_mpuss: interconnect@4b140000 { 214724ba675SRob Herring }; 215724ba675SRob Herring 216724ba675SRob Herring intc: interrupt-controller@48200000 { 217724ba675SRob Herring compatible = "ti,am33xx-intc"; 218724ba675SRob Herring interrupt-controller; 219724ba675SRob Herring #interrupt-cells = <1>; 220724ba675SRob Herring reg = <0x48200000 0x1000>; 221724ba675SRob Herring }; 222724ba675SRob Herring 223724ba675SRob Herring target-module@49000000 { 224724ba675SRob Herring compatible = "ti,sysc-omap4", "ti,sysc"; 225724ba675SRob Herring reg = <0x49000000 0x4>; 226724ba675SRob Herring reg-names = "rev"; 227724ba675SRob Herring clocks = <&l3_clkctrl AM3_L3_TPCC_CLKCTRL 0>; 228724ba675SRob Herring clock-names = "fck"; 229724ba675SRob Herring #address-cells = <1>; 230724ba675SRob Herring #size-cells = <1>; 231724ba675SRob Herring ranges = <0x0 0x49000000 0x10000>; 232724ba675SRob Herring 233724ba675SRob Herring edma: dma@0 { 234724ba675SRob Herring compatible = "ti,edma3-tpcc"; 235724ba675SRob Herring reg = <0 0x10000>; 236724ba675SRob Herring reg-names = "edma3_cc"; 237724ba675SRob Herring interrupts = <12 13 14>; 238724ba675SRob Herring interrupt-names = "edma3_ccint", "edma3_mperr", 239724ba675SRob Herring "edma3_ccerrint"; 240724ba675SRob Herring dma-requests = <64>; 241724ba675SRob Herring #dma-cells = <2>; 242724ba675SRob Herring 243724ba675SRob Herring ti,tptcs = <&edma_tptc0 7>, <&edma_tptc1 5>, 244724ba675SRob Herring <&edma_tptc2 0>; 245724ba675SRob Herring 246724ba675SRob Herring ti,edma-memcpy-channels = <20 21>; 247724ba675SRob Herring }; 248724ba675SRob Herring }; 249724ba675SRob Herring 250724ba675SRob Herring target-module@49800000 { 251724ba675SRob Herring compatible = "ti,sysc-omap4", "ti,sysc"; 252724ba675SRob Herring reg = <0x49800000 0x4>, 253724ba675SRob Herring <0x49800010 0x4>; 254724ba675SRob Herring reg-names = "rev", "sysc"; 255724ba675SRob Herring ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>; 256724ba675SRob Herring ti,sysc-midle = <SYSC_IDLE_FORCE>; 257724ba675SRob Herring ti,sysc-sidle = <SYSC_IDLE_FORCE>, 258724ba675SRob Herring <SYSC_IDLE_SMART>; 259724ba675SRob Herring clocks = <&l3_clkctrl AM3_L3_TPTC0_CLKCTRL 0>; 260724ba675SRob Herring clock-names = "fck"; 261724ba675SRob Herring #address-cells = <1>; 262724ba675SRob Herring #size-cells = <1>; 263724ba675SRob Herring ranges = <0x0 0x49800000 0x100000>; 264724ba675SRob Herring 265724ba675SRob Herring edma_tptc0: dma@0 { 266724ba675SRob Herring compatible = "ti,edma3-tptc"; 267724ba675SRob Herring reg = <0 0x100000>; 268724ba675SRob Herring interrupts = <112>; 269724ba675SRob Herring interrupt-names = "edma3_tcerrint"; 270724ba675SRob Herring }; 271724ba675SRob Herring }; 272724ba675SRob Herring 273724ba675SRob Herring target-module@49900000 { 274724ba675SRob Herring compatible = "ti,sysc-omap4", "ti,sysc"; 275724ba675SRob Herring reg = <0x49900000 0x4>, 276724ba675SRob Herring <0x49900010 0x4>; 277724ba675SRob Herring reg-names = "rev", "sysc"; 278724ba675SRob Herring ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>; 279724ba675SRob Herring ti,sysc-midle = <SYSC_IDLE_FORCE>; 280724ba675SRob Herring ti,sysc-sidle = <SYSC_IDLE_FORCE>, 281724ba675SRob Herring <SYSC_IDLE_SMART>; 282724ba675SRob Herring clocks = <&l3_clkctrl AM3_L3_TPTC1_CLKCTRL 0>; 283724ba675SRob Herring clock-names = "fck"; 284724ba675SRob Herring #address-cells = <1>; 285724ba675SRob Herring #size-cells = <1>; 286724ba675SRob Herring ranges = <0x0 0x49900000 0x100000>; 287724ba675SRob Herring 288724ba675SRob Herring edma_tptc1: dma@0 { 289724ba675SRob Herring compatible = "ti,edma3-tptc"; 290724ba675SRob Herring reg = <0 0x100000>; 291724ba675SRob Herring interrupts = <113>; 292724ba675SRob Herring interrupt-names = "edma3_tcerrint"; 293724ba675SRob Herring }; 294724ba675SRob Herring }; 295724ba675SRob Herring 296724ba675SRob Herring target-module@49a00000 { 297724ba675SRob Herring compatible = "ti,sysc-omap4", "ti,sysc"; 298724ba675SRob Herring reg = <0x49a00000 0x4>, 299724ba675SRob Herring <0x49a00010 0x4>; 300724ba675SRob Herring reg-names = "rev", "sysc"; 301724ba675SRob Herring ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>; 302724ba675SRob Herring ti,sysc-midle = <SYSC_IDLE_FORCE>; 303724ba675SRob Herring ti,sysc-sidle = <SYSC_IDLE_FORCE>, 304724ba675SRob Herring <SYSC_IDLE_SMART>; 305724ba675SRob Herring clocks = <&l3_clkctrl AM3_L3_TPTC2_CLKCTRL 0>; 306724ba675SRob Herring clock-names = "fck"; 307724ba675SRob Herring #address-cells = <1>; 308724ba675SRob Herring #size-cells = <1>; 309724ba675SRob Herring ranges = <0x0 0x49a00000 0x100000>; 310724ba675SRob Herring 311724ba675SRob Herring edma_tptc2: dma@0 { 312724ba675SRob Herring compatible = "ti,edma3-tptc"; 313724ba675SRob Herring reg = <0 0x100000>; 314724ba675SRob Herring interrupts = <114>; 315724ba675SRob Herring interrupt-names = "edma3_tcerrint"; 316724ba675SRob Herring }; 317724ba675SRob Herring }; 318724ba675SRob Herring 319724ba675SRob Herring target-module@47810000 { 320724ba675SRob Herring compatible = "ti,sysc-omap2", "ti,sysc"; 321724ba675SRob Herring reg = <0x478102fc 0x4>, 322724ba675SRob Herring <0x47810110 0x4>, 323724ba675SRob Herring <0x47810114 0x4>; 324724ba675SRob Herring reg-names = "rev", "sysc", "syss"; 325724ba675SRob Herring ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY | 326724ba675SRob Herring SYSC_OMAP2_ENAWAKEUP | 327724ba675SRob Herring SYSC_OMAP2_SOFTRESET | 328724ba675SRob Herring SYSC_OMAP2_AUTOIDLE)>; 329724ba675SRob Herring ti,sysc-sidle = <SYSC_IDLE_FORCE>, 330724ba675SRob Herring <SYSC_IDLE_NO>, 331724ba675SRob Herring <SYSC_IDLE_SMART>; 332724ba675SRob Herring ti,syss-mask = <1>; 333724ba675SRob Herring clocks = <&l3s_clkctrl AM3_L3S_MMC3_CLKCTRL 0>; 334724ba675SRob Herring clock-names = "fck"; 335724ba675SRob Herring #address-cells = <1>; 336724ba675SRob Herring #size-cells = <1>; 337724ba675SRob Herring ranges = <0x0 0x47810000 0x1000>; 338724ba675SRob Herring 339724ba675SRob Herring mmc3: mmc@0 { 340724ba675SRob Herring compatible = "ti,am335-sdhci"; 341724ba675SRob Herring ti,needs-special-reset; 342724ba675SRob Herring interrupts = <29>; 343724ba675SRob Herring reg = <0x0 0x1000>; 344724ba675SRob Herring status = "disabled"; 345724ba675SRob Herring }; 346724ba675SRob Herring }; 347724ba675SRob Herring 348724ba675SRob Herring usb: target-module@47400000 { 349724ba675SRob Herring compatible = "ti,sysc-omap4", "ti,sysc"; 350724ba675SRob Herring reg = <0x47400000 0x4>, 351724ba675SRob Herring <0x47400010 0x4>; 352724ba675SRob Herring reg-names = "rev", "sysc"; 353724ba675SRob Herring ti,sysc-mask = <(SYSC_OMAP4_FREEEMU | 354724ba675SRob Herring SYSC_OMAP4_SOFTRESET)>; 355724ba675SRob Herring ti,sysc-midle = <SYSC_IDLE_FORCE>, 356724ba675SRob Herring <SYSC_IDLE_NO>, 357724ba675SRob Herring <SYSC_IDLE_SMART>; 358724ba675SRob Herring ti,sysc-sidle = <SYSC_IDLE_FORCE>, 359724ba675SRob Herring <SYSC_IDLE_NO>, 360724ba675SRob Herring <SYSC_IDLE_SMART>, 361724ba675SRob Herring <SYSC_IDLE_SMART_WKUP>; 3629b6a51aaSTony Lindgren ti,sysc-delay-us = <2>; 363724ba675SRob Herring clocks = <&l3s_clkctrl AM3_L3S_USB_OTG_HS_CLKCTRL 0>; 364724ba675SRob Herring clock-names = "fck"; 365724ba675SRob Herring #address-cells = <1>; 366724ba675SRob Herring #size-cells = <1>; 367724ba675SRob Herring ranges = <0x0 0x47400000 0x8000>; 368724ba675SRob Herring 369724ba675SRob Herring usb0_phy: usb-phy@1300 { 370724ba675SRob Herring compatible = "ti,am335x-usb-phy"; 371724ba675SRob Herring reg = <0x1300 0x100>; 372724ba675SRob Herring reg-names = "phy"; 373724ba675SRob Herring ti,ctrl_mod = <&usb_ctrl_mod>; 374724ba675SRob Herring #phy-cells = <0>; 375724ba675SRob Herring }; 376724ba675SRob Herring 377724ba675SRob Herring usb0: usb@1400 { 378724ba675SRob Herring compatible = "ti,musb-am33xx"; 379724ba675SRob Herring reg = <0x1400 0x400>, 380724ba675SRob Herring <0x1000 0x200>; 381724ba675SRob Herring reg-names = "mc", "control"; 382724ba675SRob Herring 383724ba675SRob Herring interrupts = <18>; 384724ba675SRob Herring interrupt-names = "mc"; 385724ba675SRob Herring dr_mode = "otg"; 386724ba675SRob Herring mentor,multipoint = <1>; 387724ba675SRob Herring mentor,num-eps = <16>; 388724ba675SRob Herring mentor,ram-bits = <12>; 389724ba675SRob Herring mentor,power = <500>; 390724ba675SRob Herring phys = <&usb0_phy>; 391724ba675SRob Herring 392724ba675SRob Herring dmas = <&cppi41dma 0 0 &cppi41dma 1 0 393724ba675SRob Herring &cppi41dma 2 0 &cppi41dma 3 0 394724ba675SRob Herring &cppi41dma 4 0 &cppi41dma 5 0 395724ba675SRob Herring &cppi41dma 6 0 &cppi41dma 7 0 396724ba675SRob Herring &cppi41dma 8 0 &cppi41dma 9 0 397724ba675SRob Herring &cppi41dma 10 0 &cppi41dma 11 0 398724ba675SRob Herring &cppi41dma 12 0 &cppi41dma 13 0 399724ba675SRob Herring &cppi41dma 14 0 &cppi41dma 0 1 400724ba675SRob Herring &cppi41dma 1 1 &cppi41dma 2 1 401724ba675SRob Herring &cppi41dma 3 1 &cppi41dma 4 1 402724ba675SRob Herring &cppi41dma 5 1 &cppi41dma 6 1 403724ba675SRob Herring &cppi41dma 7 1 &cppi41dma 8 1 404724ba675SRob Herring &cppi41dma 9 1 &cppi41dma 10 1 405724ba675SRob Herring &cppi41dma 11 1 &cppi41dma 12 1 406724ba675SRob Herring &cppi41dma 13 1 &cppi41dma 14 1>; 407724ba675SRob Herring dma-names = 408724ba675SRob Herring "rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7", 409724ba675SRob Herring "rx8", "rx9", "rx10", "rx11", "rx12", "rx13", 410724ba675SRob Herring "rx14", "rx15", 411724ba675SRob Herring "tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7", 412724ba675SRob Herring "tx8", "tx9", "tx10", "tx11", "tx12", "tx13", 413724ba675SRob Herring "tx14", "tx15"; 414724ba675SRob Herring }; 415724ba675SRob Herring 416724ba675SRob Herring usb1_phy: usb-phy@1b00 { 417724ba675SRob Herring compatible = "ti,am335x-usb-phy"; 418724ba675SRob Herring reg = <0x1b00 0x100>; 419724ba675SRob Herring reg-names = "phy"; 420724ba675SRob Herring ti,ctrl_mod = <&usb_ctrl_mod>; 421724ba675SRob Herring #phy-cells = <0>; 422724ba675SRob Herring }; 423724ba675SRob Herring 424724ba675SRob Herring usb1: usb@1800 { 425724ba675SRob Herring compatible = "ti,musb-am33xx"; 426724ba675SRob Herring reg = <0x1c00 0x400>, 427724ba675SRob Herring <0x1800 0x200>; 428724ba675SRob Herring reg-names = "mc", "control"; 429724ba675SRob Herring interrupts = <19>; 430724ba675SRob Herring interrupt-names = "mc"; 431724ba675SRob Herring dr_mode = "otg"; 432724ba675SRob Herring mentor,multipoint = <1>; 433724ba675SRob Herring mentor,num-eps = <16>; 434724ba675SRob Herring mentor,ram-bits = <12>; 435724ba675SRob Herring mentor,power = <500>; 436724ba675SRob Herring phys = <&usb1_phy>; 437724ba675SRob Herring 438724ba675SRob Herring dmas = <&cppi41dma 15 0 &cppi41dma 16 0 439724ba675SRob Herring &cppi41dma 17 0 &cppi41dma 18 0 440724ba675SRob Herring &cppi41dma 19 0 &cppi41dma 20 0 441724ba675SRob Herring &cppi41dma 21 0 &cppi41dma 22 0 442724ba675SRob Herring &cppi41dma 23 0 &cppi41dma 24 0 443724ba675SRob Herring &cppi41dma 25 0 &cppi41dma 26 0 444724ba675SRob Herring &cppi41dma 27 0 &cppi41dma 28 0 445724ba675SRob Herring &cppi41dma 29 0 &cppi41dma 15 1 446724ba675SRob Herring &cppi41dma 16 1 &cppi41dma 17 1 447724ba675SRob Herring &cppi41dma 18 1 &cppi41dma 19 1 448724ba675SRob Herring &cppi41dma 20 1 &cppi41dma 21 1 449724ba675SRob Herring &cppi41dma 22 1 &cppi41dma 23 1 450724ba675SRob Herring &cppi41dma 24 1 &cppi41dma 25 1 451724ba675SRob Herring &cppi41dma 26 1 &cppi41dma 27 1 452724ba675SRob Herring &cppi41dma 28 1 &cppi41dma 29 1>; 453724ba675SRob Herring dma-names = 454724ba675SRob Herring "rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7", 455724ba675SRob Herring "rx8", "rx9", "rx10", "rx11", "rx12", "rx13", 456724ba675SRob Herring "rx14", "rx15", 457724ba675SRob Herring "tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7", 458724ba675SRob Herring "tx8", "tx9", "tx10", "tx11", "tx12", "tx13", 459724ba675SRob Herring "tx14", "tx15"; 460724ba675SRob Herring }; 461724ba675SRob Herring 462724ba675SRob Herring cppi41dma: dma-controller@2000 { 463724ba675SRob Herring compatible = "ti,am3359-cppi41"; 464724ba675SRob Herring reg = <0x0000 0x1000>, 465724ba675SRob Herring <0x2000 0x1000>, 466724ba675SRob Herring <0x3000 0x1000>, 467724ba675SRob Herring <0x4000 0x4000>; 468724ba675SRob Herring reg-names = "glue", "controller", "scheduler", "queuemgr"; 469724ba675SRob Herring interrupts = <17>; 470724ba675SRob Herring interrupt-names = "glue"; 471724ba675SRob Herring #dma-cells = <2>; 472724ba675SRob Herring /* For backwards compatibility: */ 473724ba675SRob Herring #dma-channels = <30>; 474724ba675SRob Herring dma-channels = <30>; 475724ba675SRob Herring #dma-requests = <256>; 476724ba675SRob Herring dma-requests = <256>; 477724ba675SRob Herring }; 478724ba675SRob Herring }; 479724ba675SRob Herring 480724ba675SRob Herring target-module@40300000 { 481724ba675SRob Herring compatible = "ti,sysc-omap4-simple", "ti,sysc"; 482724ba675SRob Herring clocks = <&l3_clkctrl AM3_L3_OCMCRAM_CLKCTRL 0>; 483724ba675SRob Herring clock-names = "fck"; 484724ba675SRob Herring ti,no-idle; 485724ba675SRob Herring #address-cells = <1>; 486724ba675SRob Herring #size-cells = <1>; 487724ba675SRob Herring ranges = <0 0x40300000 0x10000>; 488724ba675SRob Herring 489724ba675SRob Herring ocmcram: sram@0 { 490724ba675SRob Herring compatible = "mmio-sram"; 491724ba675SRob Herring reg = <0 0x10000>; /* 64k */ 492724ba675SRob Herring ranges = <0 0 0x10000>; 493724ba675SRob Herring #address-cells = <1>; 494724ba675SRob Herring #size-cells = <1>; 495724ba675SRob Herring 496724ba675SRob Herring pm_sram_code: pm-code-sram@0 { 497724ba675SRob Herring compatible = "ti,sram"; 498724ba675SRob Herring reg = <0x0 0x1000>; 499724ba675SRob Herring protect-exec; 500724ba675SRob Herring }; 501724ba675SRob Herring 502724ba675SRob Herring pm_sram_data: pm-data-sram@1000 { 503724ba675SRob Herring compatible = "ti,sram"; 504724ba675SRob Herring reg = <0x1000 0x1000>; 505724ba675SRob Herring pool; 506724ba675SRob Herring }; 507724ba675SRob Herring }; 508724ba675SRob Herring }; 509724ba675SRob Herring 510724ba675SRob Herring target-module@4c000000 { 511724ba675SRob Herring compatible = "ti,sysc-omap4-simple", "ti,sysc"; 512724ba675SRob Herring reg = <0x4c000000 0x4>; 513724ba675SRob Herring reg-names = "rev"; 514724ba675SRob Herring clocks = <&l3_clkctrl AM3_L3_EMIF_CLKCTRL 0>; 515724ba675SRob Herring clock-names = "fck"; 516724ba675SRob Herring ti,no-idle; 517724ba675SRob Herring #address-cells = <1>; 518724ba675SRob Herring #size-cells = <1>; 519724ba675SRob Herring ranges = <0x0 0x4c000000 0x1000000>; 520724ba675SRob Herring 521724ba675SRob Herring emif: emif@0 { 522724ba675SRob Herring compatible = "ti,emif-am3352"; 523724ba675SRob Herring reg = <0 0x1000000>; 524724ba675SRob Herring interrupts = <101>; 525724ba675SRob Herring sram = <&pm_sram_code 526724ba675SRob Herring &pm_sram_data>; 527724ba675SRob Herring }; 528724ba675SRob Herring }; 529724ba675SRob Herring 530724ba675SRob Herring target-module@50000000 { 531724ba675SRob Herring compatible = "ti,sysc-omap2", "ti,sysc"; 532724ba675SRob Herring reg = <0x50000000 4>, 533724ba675SRob Herring <0x50000010 4>, 534724ba675SRob Herring <0x50000014 4>; 535724ba675SRob Herring reg-names = "rev", "sysc", "syss"; 536724ba675SRob Herring ti,sysc-sidle = <SYSC_IDLE_FORCE>, 537724ba675SRob Herring <SYSC_IDLE_NO>, 538724ba675SRob Herring <SYSC_IDLE_SMART>; 539724ba675SRob Herring ti,syss-mask = <1>; 540724ba675SRob Herring clocks = <&l3s_clkctrl AM3_L3S_GPMC_CLKCTRL 0>; 541724ba675SRob Herring clock-names = "fck"; 542724ba675SRob Herring #address-cells = <1>; 543724ba675SRob Herring #size-cells = <1>; 544724ba675SRob Herring ranges = <0x50000000 0x50000000 0x00001000>, /* regs */ 545724ba675SRob Herring <0x00000000 0x00000000 0x40000000>; /* data */ 546724ba675SRob Herring 547724ba675SRob Herring gpmc: gpmc@50000000 { 548724ba675SRob Herring compatible = "ti,am3352-gpmc"; 549724ba675SRob Herring reg = <0x50000000 0x2000>; 550724ba675SRob Herring interrupts = <100>; 551724ba675SRob Herring dmas = <&edma 52 0>; 552724ba675SRob Herring dma-names = "rxtx"; 553724ba675SRob Herring gpmc,num-cs = <7>; 554724ba675SRob Herring gpmc,num-waitpins = <2>; 555724ba675SRob Herring #address-cells = <2>; 556724ba675SRob Herring #size-cells = <1>; 557724ba675SRob Herring interrupt-controller; 558724ba675SRob Herring #interrupt-cells = <2>; 559724ba675SRob Herring gpio-controller; 560724ba675SRob Herring #gpio-cells = <2>; 561724ba675SRob Herring status = "disabled"; 562724ba675SRob Herring }; 563724ba675SRob Herring }; 564724ba675SRob Herring 565724ba675SRob Herring sham_target: target-module@53100000 { 566724ba675SRob Herring compatible = "ti,sysc-omap3-sham", "ti,sysc"; 567724ba675SRob Herring reg = <0x53100100 0x4>, 568724ba675SRob Herring <0x53100110 0x4>, 569724ba675SRob Herring <0x53100114 0x4>; 570724ba675SRob Herring reg-names = "rev", "sysc", "syss"; 571724ba675SRob Herring ti,sysc-mask = <(SYSC_OMAP2_SOFTRESET | 572724ba675SRob Herring SYSC_OMAP2_AUTOIDLE)>; 573724ba675SRob Herring ti,sysc-sidle = <SYSC_IDLE_FORCE>, 574724ba675SRob Herring <SYSC_IDLE_NO>, 575724ba675SRob Herring <SYSC_IDLE_SMART>; 576724ba675SRob Herring ti,syss-mask = <1>; 577724ba675SRob Herring /* Domains (P, C): per_pwrdm, l3_clkdm */ 578724ba675SRob Herring clocks = <&l3_clkctrl AM3_L3_SHAM_CLKCTRL 0>; 579724ba675SRob Herring clock-names = "fck"; 580724ba675SRob Herring #address-cells = <1>; 581724ba675SRob Herring #size-cells = <1>; 582724ba675SRob Herring ranges = <0x0 0x53100000 0x1000>; 583724ba675SRob Herring 584724ba675SRob Herring sham: sham@0 { 585724ba675SRob Herring compatible = "ti,omap4-sham"; 586724ba675SRob Herring reg = <0 0x200>; 587724ba675SRob Herring interrupts = <109>; 588724ba675SRob Herring dmas = <&edma 36 0>; 589724ba675SRob Herring dma-names = "rx"; 590724ba675SRob Herring }; 591724ba675SRob Herring }; 592724ba675SRob Herring 593724ba675SRob Herring aes_target: target-module@53500000 { 594724ba675SRob Herring compatible = "ti,sysc-omap2", "ti,sysc"; 595724ba675SRob Herring reg = <0x53500080 0x4>, 596724ba675SRob Herring <0x53500084 0x4>, 597724ba675SRob Herring <0x53500088 0x4>; 598724ba675SRob Herring reg-names = "rev", "sysc", "syss"; 599724ba675SRob Herring ti,sysc-mask = <(SYSC_OMAP2_SOFTRESET | 600724ba675SRob Herring SYSC_OMAP2_AUTOIDLE)>; 601724ba675SRob Herring ti,sysc-sidle = <SYSC_IDLE_FORCE>, 602724ba675SRob Herring <SYSC_IDLE_NO>, 603724ba675SRob Herring <SYSC_IDLE_SMART>, 604724ba675SRob Herring <SYSC_IDLE_SMART_WKUP>; 605724ba675SRob Herring ti,syss-mask = <1>; 606724ba675SRob Herring /* Domains (P, C): per_pwrdm, l3_clkdm */ 607724ba675SRob Herring clocks = <&l3_clkctrl AM3_L3_AES_CLKCTRL 0>; 608724ba675SRob Herring clock-names = "fck"; 609724ba675SRob Herring #address-cells = <1>; 610724ba675SRob Herring #size-cells = <1>; 611724ba675SRob Herring ranges = <0x0 0x53500000 0x1000>; 612724ba675SRob Herring 613724ba675SRob Herring aes: aes@0 { 614724ba675SRob Herring compatible = "ti,omap4-aes"; 615724ba675SRob Herring reg = <0 0xa0>; 616724ba675SRob Herring interrupts = <103>; 617724ba675SRob Herring dmas = <&edma 6 0>, 618724ba675SRob Herring <&edma 5 0>; 619724ba675SRob Herring dma-names = "tx", "rx"; 620724ba675SRob Herring }; 621724ba675SRob Herring }; 622724ba675SRob Herring 623724ba675SRob Herring target-module@56000000 { 624724ba675SRob Herring compatible = "ti,sysc-omap4", "ti,sysc"; 625724ba675SRob Herring reg = <0x5600fe00 0x4>, 626724ba675SRob Herring <0x5600fe10 0x4>; 627724ba675SRob Herring reg-names = "rev", "sysc"; 628724ba675SRob Herring ti,sysc-midle = <SYSC_IDLE_FORCE>, 629724ba675SRob Herring <SYSC_IDLE_NO>, 630724ba675SRob Herring <SYSC_IDLE_SMART>; 631724ba675SRob Herring ti,sysc-sidle = <SYSC_IDLE_FORCE>, 632724ba675SRob Herring <SYSC_IDLE_NO>, 633724ba675SRob Herring <SYSC_IDLE_SMART>; 634724ba675SRob Herring clocks = <&gfx_l3_clkctrl AM3_GFX_L3_GFX_CLKCTRL 0>; 635724ba675SRob Herring clock-names = "fck"; 636724ba675SRob Herring power-domains = <&prm_gfx>; 637724ba675SRob Herring resets = <&prm_gfx 0>; 638724ba675SRob Herring reset-names = "rstctrl"; 639724ba675SRob Herring #address-cells = <1>; 640724ba675SRob Herring #size-cells = <1>; 641724ba675SRob Herring ranges = <0 0x56000000 0x1000000>; 642724ba675SRob Herring 643*b65bf91fSAndrew Davis gpu@0 { 644*b65bf91fSAndrew Davis compatible = "ti,omap3630-gpu", "img,powervr-sgx530"; 645*b65bf91fSAndrew Davis reg = <0x0 0x10000>; /* 64kB */ 646*b65bf91fSAndrew Davis interrupts = <37>; 647*b65bf91fSAndrew Davis }; 648724ba675SRob Herring }; 649724ba675SRob Herring }; 650724ba675SRob Herring}; 651724ba675SRob Herring 652724ba675SRob Herring#include "am33xx-l4.dtsi" 653724ba675SRob Herring#include "am33xx-clocks.dtsi" 654724ba675SRob Herring 655724ba675SRob Herring&prcm { 656724ba675SRob Herring prm_per: prm@c00 { 657724ba675SRob Herring compatible = "ti,am3-prm-inst", "ti,omap-prm-inst"; 658724ba675SRob Herring reg = <0xc00 0x100>; 659724ba675SRob Herring #reset-cells = <1>; 660724ba675SRob Herring #power-domain-cells = <0>; 661724ba675SRob Herring }; 662724ba675SRob Herring 663724ba675SRob Herring prm_wkup: prm@d00 { 664724ba675SRob Herring compatible = "ti,am3-prm-inst", "ti,omap-prm-inst"; 665724ba675SRob Herring reg = <0xd00 0x100>; 666724ba675SRob Herring #reset-cells = <1>; 667724ba675SRob Herring #power-domain-cells = <0>; 668724ba675SRob Herring }; 669724ba675SRob Herring 670724ba675SRob Herring prm_mpu: prm@e00 { 671724ba675SRob Herring compatible = "ti,am3-prm-inst", "ti,omap-prm-inst"; 672724ba675SRob Herring reg = <0xe00 0x100>; 673724ba675SRob Herring #power-domain-cells = <0>; 674724ba675SRob Herring }; 675724ba675SRob Herring 676724ba675SRob Herring prm_device: prm@f00 { 677724ba675SRob Herring compatible = "ti,am3-prm-inst", "ti,omap-prm-inst"; 678724ba675SRob Herring reg = <0xf00 0x100>; 679724ba675SRob Herring #reset-cells = <1>; 680724ba675SRob Herring }; 681724ba675SRob Herring 682724ba675SRob Herring prm_rtc: prm@1000 { 683724ba675SRob Herring compatible = "ti,am3-prm-inst", "ti,omap-prm-inst"; 684724ba675SRob Herring reg = <0x1000 0x100>; 685724ba675SRob Herring #power-domain-cells = <0>; 686724ba675SRob Herring }; 687724ba675SRob Herring 688724ba675SRob Herring prm_gfx: prm@1100 { 689724ba675SRob Herring compatible = "ti,am3-prm-inst", "ti,omap-prm-inst"; 690724ba675SRob Herring reg = <0x1100 0x100>; 691724ba675SRob Herring #power-domain-cells = <0>; 692724ba675SRob Herring #reset-cells = <1>; 693724ba675SRob Herring }; 694724ba675SRob Herring 695724ba675SRob Herring prm_cefuse: prm@1200 { 696724ba675SRob Herring compatible = "ti,am3-prm-inst", "ti,omap-prm-inst"; 697724ba675SRob Herring reg = <0x1200 0x100>; 698724ba675SRob Herring #power-domain-cells = <0>; 699724ba675SRob Herring }; 700724ba675SRob Herring}; 701724ba675SRob Herring 702724ba675SRob Herring/* Preferred always-on timer for clocksource */ 703724ba675SRob Herring&timer1_target { 704724ba675SRob Herring clocks = <&l4_wkup_clkctrl AM3_L4_WKUP_TIMER1_CLKCTRL 0>, 705724ba675SRob Herring <&l4_wkup_clkctrl AM3_L4_WKUP_L4_WKUP_CLKCTRL 0>; 706724ba675SRob Herring clock-names = "fck", "ick"; 707724ba675SRob Herring ti,no-reset-on-init; 708724ba675SRob Herring ti,no-idle; 709724ba675SRob Herring timer@0 { 710724ba675SRob Herring assigned-clocks = <&timer1_fck>; 711724ba675SRob Herring assigned-clock-parents = <&sys_clkin_ck>; 712724ba675SRob Herring }; 713724ba675SRob Herring}; 714724ba675SRob Herring 715724ba675SRob Herring/* Preferred timer for clockevent */ 716724ba675SRob Herring&timer2_target { 717724ba675SRob Herring clocks = <&l4ls_clkctrl AM3_L4LS_TIMER2_CLKCTRL 0>, 718724ba675SRob Herring <&l4ls_clkctrl AM3_L4LS_L4_LS_CLKCTRL 0>; 719724ba675SRob Herring clock-names = "fck", "ick"; 720724ba675SRob Herring ti,no-reset-on-init; 721724ba675SRob Herring ti,no-idle; 722724ba675SRob Herring timer@0 { 723724ba675SRob Herring assigned-clocks = <&timer2_fck>; 724724ba675SRob Herring assigned-clock-parents = <&sys_clkin_ck>; 725724ba675SRob Herring }; 726724ba675SRob Herring}; 727