1*724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0-only 2*724ba675SRob Herring 3*724ba675SRob Herring#include <dt-bindings/bus/ti-sysc.h> 4*724ba675SRob Herring#include <dt-bindings/clock/dm816.h> 5*724ba675SRob Herring#include <dt-bindings/gpio/gpio.h> 6*724ba675SRob Herring#include <dt-bindings/pinctrl/omap.h> 7*724ba675SRob Herring 8*724ba675SRob Herring/ { 9*724ba675SRob Herring compatible = "ti,dm816"; 10*724ba675SRob Herring interrupt-parent = <&intc>; 11*724ba675SRob Herring #address-cells = <1>; 12*724ba675SRob Herring #size-cells = <1>; 13*724ba675SRob Herring chosen { }; 14*724ba675SRob Herring 15*724ba675SRob Herring aliases { 16*724ba675SRob Herring i2c0 = &i2c1; 17*724ba675SRob Herring i2c1 = &i2c2; 18*724ba675SRob Herring serial0 = &uart1; 19*724ba675SRob Herring serial1 = &uart2; 20*724ba675SRob Herring serial2 = &uart3; 21*724ba675SRob Herring ethernet0 = ð0; 22*724ba675SRob Herring ethernet1 = ð1; 23*724ba675SRob Herring }; 24*724ba675SRob Herring 25*724ba675SRob Herring cpus { 26*724ba675SRob Herring #address-cells = <1>; 27*724ba675SRob Herring #size-cells = <0>; 28*724ba675SRob Herring cpu@0 { 29*724ba675SRob Herring compatible = "arm,cortex-a8"; 30*724ba675SRob Herring device_type = "cpu"; 31*724ba675SRob Herring reg = <0>; 32*724ba675SRob Herring }; 33*724ba675SRob Herring }; 34*724ba675SRob Herring 35*724ba675SRob Herring pmu { 36*724ba675SRob Herring compatible = "arm,cortex-a8-pmu"; 37*724ba675SRob Herring interrupts = <3>; 38*724ba675SRob Herring }; 39*724ba675SRob Herring 40*724ba675SRob Herring /* 41*724ba675SRob Herring * The soc node represents the soc top level view. It is used for IPs 42*724ba675SRob Herring * that are not memory mapped in the MPU view or for the MPU itself. 43*724ba675SRob Herring */ 44*724ba675SRob Herring soc { 45*724ba675SRob Herring compatible = "ti,omap-infra"; 46*724ba675SRob Herring mpu { 47*724ba675SRob Herring compatible = "ti,omap3-mpu"; 48*724ba675SRob Herring ti,hwmods = "mpu"; 49*724ba675SRob Herring }; 50*724ba675SRob Herring }; 51*724ba675SRob Herring 52*724ba675SRob Herring /* 53*724ba675SRob Herring * XXX: Use a flat representation of the dm816x interconnect. 54*724ba675SRob Herring * The real dm816x interconnect network is quite complex. Since 55*724ba675SRob Herring * it will not bring real advantage to represent that in DT 56*724ba675SRob Herring * for the moment, just use a fake OCP bus entry to represent 57*724ba675SRob Herring * the whole bus hierarchy. 58*724ba675SRob Herring */ 59*724ba675SRob Herring ocp { 60*724ba675SRob Herring compatible = "simple-bus"; 61*724ba675SRob Herring reg = <0x44000000 0x10000>; 62*724ba675SRob Herring interrupts = <9 10>; 63*724ba675SRob Herring #address-cells = <1>; 64*724ba675SRob Herring #size-cells = <1>; 65*724ba675SRob Herring ranges; 66*724ba675SRob Herring 67*724ba675SRob Herring prcm: prcm@48180000 { 68*724ba675SRob Herring compatible = "ti,dm816-prcm", "simple-bus"; 69*724ba675SRob Herring reg = <0x48180000 0x4000>; 70*724ba675SRob Herring #address-cells = <1>; 71*724ba675SRob Herring #size-cells = <1>; 72*724ba675SRob Herring ranges = <0 0x48180000 0x4000>; 73*724ba675SRob Herring 74*724ba675SRob Herring prcm_clocks: clocks { 75*724ba675SRob Herring #address-cells = <1>; 76*724ba675SRob Herring #size-cells = <0>; 77*724ba675SRob Herring }; 78*724ba675SRob Herring 79*724ba675SRob Herring prcm_clockdomains: clockdomains { 80*724ba675SRob Herring }; 81*724ba675SRob Herring }; 82*724ba675SRob Herring 83*724ba675SRob Herring scrm: scrm@48140000 { 84*724ba675SRob Herring compatible = "ti,dm816-scrm", "simple-bus"; 85*724ba675SRob Herring reg = <0x48140000 0x21000>; 86*724ba675SRob Herring #address-cells = <1>; 87*724ba675SRob Herring #size-cells = <1>; 88*724ba675SRob Herring #pinctrl-cells = <1>; 89*724ba675SRob Herring ranges = <0 0x48140000 0x21000>; 90*724ba675SRob Herring 91*724ba675SRob Herring dm816x_pinmux: pinmux@800 { 92*724ba675SRob Herring compatible = "pinctrl-single"; 93*724ba675SRob Herring reg = <0x800 0x50a>; 94*724ba675SRob Herring #address-cells = <1>; 95*724ba675SRob Herring #size-cells = <0>; 96*724ba675SRob Herring #pinctrl-cells = <1>; 97*724ba675SRob Herring pinctrl-single,register-width = <16>; 98*724ba675SRob Herring pinctrl-single,function-mask = <0xf>; 99*724ba675SRob Herring }; 100*724ba675SRob Herring 101*724ba675SRob Herring /* Device Configuration Registers */ 102*724ba675SRob Herring scm_conf: syscon@600 { 103*724ba675SRob Herring compatible = "syscon", "simple-bus"; 104*724ba675SRob Herring reg = <0x600 0x110>; 105*724ba675SRob Herring #address-cells = <1>; 106*724ba675SRob Herring #size-cells = <1>; 107*724ba675SRob Herring ranges = <0 0x600 0x110>; 108*724ba675SRob Herring 109*724ba675SRob Herring usb_phy0: usb-phy@20 { 110*724ba675SRob Herring compatible = "ti,dm8168-usb-phy"; 111*724ba675SRob Herring reg = <0x20 0x8>; 112*724ba675SRob Herring reg-names = "phy"; 113*724ba675SRob Herring clocks = <&main_fapll 6>; 114*724ba675SRob Herring clock-names = "refclk"; 115*724ba675SRob Herring #phy-cells = <0>; 116*724ba675SRob Herring syscon = <&scm_conf>; 117*724ba675SRob Herring }; 118*724ba675SRob Herring 119*724ba675SRob Herring usb_phy1: usb-phy@28 { 120*724ba675SRob Herring compatible = "ti,dm8168-usb-phy"; 121*724ba675SRob Herring reg = <0x28 0x8>; 122*724ba675SRob Herring reg-names = "phy"; 123*724ba675SRob Herring clocks = <&main_fapll 6>; 124*724ba675SRob Herring clock-names = "refclk"; 125*724ba675SRob Herring #phy-cells = <0>; 126*724ba675SRob Herring syscon = <&scm_conf>; 127*724ba675SRob Herring }; 128*724ba675SRob Herring }; 129*724ba675SRob Herring 130*724ba675SRob Herring scrm_clocks: clocks { 131*724ba675SRob Herring #address-cells = <1>; 132*724ba675SRob Herring #size-cells = <0>; 133*724ba675SRob Herring }; 134*724ba675SRob Herring 135*724ba675SRob Herring scrm_clockdomains: clockdomains { 136*724ba675SRob Herring }; 137*724ba675SRob Herring }; 138*724ba675SRob Herring 139*724ba675SRob Herring target-module@49000000 { 140*724ba675SRob Herring compatible = "ti,sysc-omap4", "ti,sysc"; 141*724ba675SRob Herring reg = <0x49000000 0x4>; 142*724ba675SRob Herring reg-names = "rev"; 143*724ba675SRob Herring clocks = <&alwon_clkctrl DM816_TPCC_CLKCTRL 0>; 144*724ba675SRob Herring clock-names = "fck"; 145*724ba675SRob Herring #address-cells = <1>; 146*724ba675SRob Herring #size-cells = <1>; 147*724ba675SRob Herring ranges = <0x0 0x49000000 0x10000>; 148*724ba675SRob Herring 149*724ba675SRob Herring edma: dma@0 { 150*724ba675SRob Herring compatible = "ti,edma3-tpcc"; 151*724ba675SRob Herring reg = <0 0x10000>; 152*724ba675SRob Herring reg-names = "edma3_cc"; 153*724ba675SRob Herring interrupts = <12 13 14>; 154*724ba675SRob Herring interrupt-names = "edma3_ccint", "edma3_mperr", 155*724ba675SRob Herring "edma3_ccerrint"; 156*724ba675SRob Herring dma-requests = <64>; 157*724ba675SRob Herring #dma-cells = <2>; 158*724ba675SRob Herring 159*724ba675SRob Herring ti,tptcs = <&edma_tptc0 7>, <&edma_tptc1 5>, 160*724ba675SRob Herring <&edma_tptc2 3>, <&edma_tptc3 0>; 161*724ba675SRob Herring 162*724ba675SRob Herring ti,edma-memcpy-channels = <20 21>; 163*724ba675SRob Herring }; 164*724ba675SRob Herring }; 165*724ba675SRob Herring 166*724ba675SRob Herring target-module@49800000 { 167*724ba675SRob Herring compatible = "ti,sysc-omap4", "ti,sysc"; 168*724ba675SRob Herring reg = <0x49800000 0x4>, 169*724ba675SRob Herring <0x49800010 0x4>; 170*724ba675SRob Herring reg-names = "rev", "sysc"; 171*724ba675SRob Herring ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>; 172*724ba675SRob Herring ti,sysc-midle = <SYSC_IDLE_FORCE>; 173*724ba675SRob Herring ti,sysc-sidle = <SYSC_IDLE_FORCE>, 174*724ba675SRob Herring <SYSC_IDLE_SMART>; 175*724ba675SRob Herring clocks = <&alwon_clkctrl DM816_TPTC0_CLKCTRL 0>; 176*724ba675SRob Herring clock-names = "fck"; 177*724ba675SRob Herring #address-cells = <1>; 178*724ba675SRob Herring #size-cells = <1>; 179*724ba675SRob Herring ranges = <0x0 0x49800000 0x100000>; 180*724ba675SRob Herring 181*724ba675SRob Herring edma_tptc0: dma@0 { 182*724ba675SRob Herring compatible = "ti,edma3-tptc"; 183*724ba675SRob Herring reg = <0 0x100000>; 184*724ba675SRob Herring interrupts = <112>; 185*724ba675SRob Herring interrupt-names = "edma3_tcerrint"; 186*724ba675SRob Herring }; 187*724ba675SRob Herring }; 188*724ba675SRob Herring 189*724ba675SRob Herring target-module@49900000 { 190*724ba675SRob Herring compatible = "ti,sysc-omap4", "ti,sysc"; 191*724ba675SRob Herring reg = <0x49900000 0x4>, 192*724ba675SRob Herring <0x49900010 0x4>; 193*724ba675SRob Herring reg-names = "rev", "sysc"; 194*724ba675SRob Herring ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>; 195*724ba675SRob Herring ti,sysc-midle = <SYSC_IDLE_FORCE>; 196*724ba675SRob Herring ti,sysc-sidle = <SYSC_IDLE_FORCE>, 197*724ba675SRob Herring <SYSC_IDLE_SMART>; 198*724ba675SRob Herring clocks = <&alwon_clkctrl DM816_TPTC1_CLKCTRL 0>; 199*724ba675SRob Herring clock-names = "fck"; 200*724ba675SRob Herring #address-cells = <1>; 201*724ba675SRob Herring #size-cells = <1>; 202*724ba675SRob Herring ranges = <0x0 0x49900000 0x100000>; 203*724ba675SRob Herring 204*724ba675SRob Herring edma_tptc1: dma@0 { 205*724ba675SRob Herring compatible = "ti,edma3-tptc"; 206*724ba675SRob Herring reg = <0 0x100000>; 207*724ba675SRob Herring interrupts = <113>; 208*724ba675SRob Herring interrupt-names = "edma3_tcerrint"; 209*724ba675SRob Herring }; 210*724ba675SRob Herring }; 211*724ba675SRob Herring 212*724ba675SRob Herring target-module@49a00000 { 213*724ba675SRob Herring compatible = "ti,sysc-omap4", "ti,sysc"; 214*724ba675SRob Herring reg = <0x49a00000 0x4>, 215*724ba675SRob Herring <0x49a00010 0x4>; 216*724ba675SRob Herring reg-names = "rev", "sysc"; 217*724ba675SRob Herring ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>; 218*724ba675SRob Herring ti,sysc-midle = <SYSC_IDLE_FORCE>; 219*724ba675SRob Herring ti,sysc-sidle = <SYSC_IDLE_FORCE>, 220*724ba675SRob Herring <SYSC_IDLE_SMART>; 221*724ba675SRob Herring clocks = <&alwon_clkctrl DM816_TPTC2_CLKCTRL 0>; 222*724ba675SRob Herring clock-names = "fck"; 223*724ba675SRob Herring #address-cells = <1>; 224*724ba675SRob Herring #size-cells = <1>; 225*724ba675SRob Herring ranges = <0x0 0x49a00000 0x100000>; 226*724ba675SRob Herring 227*724ba675SRob Herring edma_tptc2: dma@0 { 228*724ba675SRob Herring compatible = "ti,edma3-tptc"; 229*724ba675SRob Herring reg = <0 0x100000>; 230*724ba675SRob Herring interrupts = <114>; 231*724ba675SRob Herring interrupt-names = "edma3_tcerrint"; 232*724ba675SRob Herring }; 233*724ba675SRob Herring }; 234*724ba675SRob Herring 235*724ba675SRob Herring target-module@49b00000 { 236*724ba675SRob Herring compatible = "ti,sysc-omap4", "ti,sysc"; 237*724ba675SRob Herring reg = <0x49b00000 0x4>, 238*724ba675SRob Herring <0x49b00010 0x4>; 239*724ba675SRob Herring reg-names = "rev", "sysc"; 240*724ba675SRob Herring ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>; 241*724ba675SRob Herring ti,sysc-midle = <SYSC_IDLE_FORCE>; 242*724ba675SRob Herring ti,sysc-sidle = <SYSC_IDLE_FORCE>, 243*724ba675SRob Herring <SYSC_IDLE_SMART>; 244*724ba675SRob Herring clocks = <&alwon_clkctrl DM816_TPTC3_CLKCTRL 0>; 245*724ba675SRob Herring clock-names = "fck"; 246*724ba675SRob Herring #address-cells = <1>; 247*724ba675SRob Herring #size-cells = <1>; 248*724ba675SRob Herring ranges = <0x0 0x49b00000 0x100000>; 249*724ba675SRob Herring 250*724ba675SRob Herring edma_tptc3: dma@0 { 251*724ba675SRob Herring compatible = "ti,edma3-tptc"; 252*724ba675SRob Herring reg = <0 0x100000>; 253*724ba675SRob Herring interrupts = <115>; 254*724ba675SRob Herring interrupt-names = "edma3_tcerrint"; 255*724ba675SRob Herring }; 256*724ba675SRob Herring }; 257*724ba675SRob Herring 258*724ba675SRob Herring elm: elm@48080000 { 259*724ba675SRob Herring compatible = "ti,am3352-elm"; 260*724ba675SRob Herring ti,hwmods = "elm"; 261*724ba675SRob Herring reg = <0x48080000 0x2000>; 262*724ba675SRob Herring interrupts = <4>; 263*724ba675SRob Herring }; 264*724ba675SRob Herring 265*724ba675SRob Herring gpio1: gpio@48032000 { 266*724ba675SRob Herring compatible = "ti,omap4-gpio"; 267*724ba675SRob Herring ti,hwmods = "gpio1"; 268*724ba675SRob Herring ti,gpio-always-on; 269*724ba675SRob Herring reg = <0x48032000 0x1000>; 270*724ba675SRob Herring interrupts = <96>; 271*724ba675SRob Herring gpio-controller; 272*724ba675SRob Herring #gpio-cells = <2>; 273*724ba675SRob Herring interrupt-controller; 274*724ba675SRob Herring #interrupt-cells = <2>; 275*724ba675SRob Herring }; 276*724ba675SRob Herring 277*724ba675SRob Herring gpio2: gpio@4804c000 { 278*724ba675SRob Herring compatible = "ti,omap4-gpio"; 279*724ba675SRob Herring ti,hwmods = "gpio2"; 280*724ba675SRob Herring ti,gpio-always-on; 281*724ba675SRob Herring reg = <0x4804c000 0x1000>; 282*724ba675SRob Herring interrupts = <98>; 283*724ba675SRob Herring gpio-controller; 284*724ba675SRob Herring #gpio-cells = <2>; 285*724ba675SRob Herring interrupt-controller; 286*724ba675SRob Herring #interrupt-cells = <2>; 287*724ba675SRob Herring }; 288*724ba675SRob Herring 289*724ba675SRob Herring gpmc: gpmc@50000000 { 290*724ba675SRob Herring compatible = "ti,am3352-gpmc"; 291*724ba675SRob Herring ti,hwmods = "gpmc"; 292*724ba675SRob Herring reg = <0x50000000 0x2000>; 293*724ba675SRob Herring #address-cells = <2>; 294*724ba675SRob Herring #size-cells = <1>; 295*724ba675SRob Herring interrupts = <100>; 296*724ba675SRob Herring dmas = <&edma 52 0>; 297*724ba675SRob Herring dma-names = "rxtx"; 298*724ba675SRob Herring gpmc,num-cs = <6>; 299*724ba675SRob Herring gpmc,num-waitpins = <2>; 300*724ba675SRob Herring interrupt-controller; 301*724ba675SRob Herring #interrupt-cells = <2>; 302*724ba675SRob Herring gpio-controller; 303*724ba675SRob Herring #gpio-cells = <2>; 304*724ba675SRob Herring }; 305*724ba675SRob Herring 306*724ba675SRob Herring i2c1: i2c@48028000 { 307*724ba675SRob Herring compatible = "ti,omap4-i2c"; 308*724ba675SRob Herring ti,hwmods = "i2c1"; 309*724ba675SRob Herring reg = <0x48028000 0x1000>; 310*724ba675SRob Herring #address-cells = <1>; 311*724ba675SRob Herring #size-cells = <0>; 312*724ba675SRob Herring interrupts = <70>; 313*724ba675SRob Herring }; 314*724ba675SRob Herring 315*724ba675SRob Herring i2c2: i2c@4802a000 { 316*724ba675SRob Herring compatible = "ti,omap4-i2c"; 317*724ba675SRob Herring ti,hwmods = "i2c2"; 318*724ba675SRob Herring reg = <0x4802a000 0x1000>; 319*724ba675SRob Herring #address-cells = <1>; 320*724ba675SRob Herring #size-cells = <0>; 321*724ba675SRob Herring interrupts = <71>; 322*724ba675SRob Herring }; 323*724ba675SRob Herring 324*724ba675SRob Herring intc: interrupt-controller@48200000 { 325*724ba675SRob Herring compatible = "ti,dm816-intc"; 326*724ba675SRob Herring interrupt-controller; 327*724ba675SRob Herring #interrupt-cells = <1>; 328*724ba675SRob Herring reg = <0x48200000 0x1000>; 329*724ba675SRob Herring }; 330*724ba675SRob Herring 331*724ba675SRob Herring rtc: rtc@480c0000 { 332*724ba675SRob Herring compatible = "ti,am3352-rtc", "ti,da830-rtc"; 333*724ba675SRob Herring reg = <0x480c0000 0x1000>; 334*724ba675SRob Herring interrupts = <75 76>; 335*724ba675SRob Herring ti,hwmods = "rtc"; 336*724ba675SRob Herring }; 337*724ba675SRob Herring 338*724ba675SRob Herring mailbox: mailbox@480c8000 { 339*724ba675SRob Herring compatible = "ti,omap4-mailbox"; 340*724ba675SRob Herring reg = <0x480c8000 0x2000>; 341*724ba675SRob Herring interrupts = <77>; 342*724ba675SRob Herring ti,hwmods = "mailbox"; 343*724ba675SRob Herring #mbox-cells = <1>; 344*724ba675SRob Herring ti,mbox-num-users = <4>; 345*724ba675SRob Herring ti,mbox-num-fifos = <12>; 346*724ba675SRob Herring mbox_dsp: mbox-dsp { 347*724ba675SRob Herring ti,mbox-tx = <3 0 0>; 348*724ba675SRob Herring ti,mbox-rx = <0 0 0>; 349*724ba675SRob Herring }; 350*724ba675SRob Herring }; 351*724ba675SRob Herring 352*724ba675SRob Herring spinbox: spinbox@480ca000 { 353*724ba675SRob Herring compatible = "ti,omap4-hwspinlock"; 354*724ba675SRob Herring reg = <0x480ca000 0x2000>; 355*724ba675SRob Herring ti,hwmods = "spinbox"; 356*724ba675SRob Herring #hwlock-cells = <1>; 357*724ba675SRob Herring }; 358*724ba675SRob Herring 359*724ba675SRob Herring mdio: mdio@4a100800 { 360*724ba675SRob Herring compatible = "ti,davinci_mdio"; 361*724ba675SRob Herring #address-cells = <1>; 362*724ba675SRob Herring #size-cells = <0>; 363*724ba675SRob Herring reg = <0x4a100800 0x100>; 364*724ba675SRob Herring ti,hwmods = "davinci_mdio"; 365*724ba675SRob Herring bus_freq = <1000000>; 366*724ba675SRob Herring phy0: ethernet-phy@0 { 367*724ba675SRob Herring reg = <1>; 368*724ba675SRob Herring }; 369*724ba675SRob Herring phy1: ethernet-phy@1 { 370*724ba675SRob Herring reg = <2>; 371*724ba675SRob Herring }; 372*724ba675SRob Herring }; 373*724ba675SRob Herring 374*724ba675SRob Herring eth0: ethernet@4a100000 { 375*724ba675SRob Herring compatible = "ti,dm816-emac"; 376*724ba675SRob Herring ti,hwmods = "emac0"; 377*724ba675SRob Herring reg = <0x4a100000 0x800 378*724ba675SRob Herring 0x4a100900 0x3700>; 379*724ba675SRob Herring clocks = <&sysclk24_ck>; 380*724ba675SRob Herring syscon = <&scm_conf>; 381*724ba675SRob Herring ti,davinci-ctrl-reg-offset = <0>; 382*724ba675SRob Herring ti,davinci-ctrl-mod-reg-offset = <0x900>; 383*724ba675SRob Herring ti,davinci-ctrl-ram-offset = <0x2000>; 384*724ba675SRob Herring ti,davinci-ctrl-ram-size = <0x2000>; 385*724ba675SRob Herring interrupts = <40 41 42 43>; 386*724ba675SRob Herring phy-handle = <&phy0>; 387*724ba675SRob Herring }; 388*724ba675SRob Herring 389*724ba675SRob Herring eth1: ethernet@4a120000 { 390*724ba675SRob Herring compatible = "ti,dm816-emac"; 391*724ba675SRob Herring ti,hwmods = "emac1"; 392*724ba675SRob Herring reg = <0x4a120000 0x4000>; 393*724ba675SRob Herring clocks = <&sysclk24_ck>; 394*724ba675SRob Herring syscon = <&scm_conf>; 395*724ba675SRob Herring ti,davinci-ctrl-reg-offset = <0>; 396*724ba675SRob Herring ti,davinci-ctrl-mod-reg-offset = <0x900>; 397*724ba675SRob Herring ti,davinci-ctrl-ram-offset = <0x2000>; 398*724ba675SRob Herring ti,davinci-ctrl-ram-size = <0x2000>; 399*724ba675SRob Herring interrupts = <44 45 46 47>; 400*724ba675SRob Herring phy-handle = <&phy1>; 401*724ba675SRob Herring }; 402*724ba675SRob Herring 403*724ba675SRob Herring sata: sata@4a140000 { 404*724ba675SRob Herring compatible = "ti,dm816-ahci"; 405*724ba675SRob Herring reg = <0x4a140000 0x10000>; 406*724ba675SRob Herring interrupts = <16>; 407*724ba675SRob Herring ti,hwmods = "sata"; 408*724ba675SRob Herring }; 409*724ba675SRob Herring 410*724ba675SRob Herring mcspi1: spi@48030000 { 411*724ba675SRob Herring compatible = "ti,omap4-mcspi"; 412*724ba675SRob Herring reg = <0x48030000 0x1000>; 413*724ba675SRob Herring #address-cells = <1>; 414*724ba675SRob Herring #size-cells = <0>; 415*724ba675SRob Herring interrupts = <65>; 416*724ba675SRob Herring ti,spi-num-cs = <4>; 417*724ba675SRob Herring ti,hwmods = "mcspi1"; 418*724ba675SRob Herring dmas = <&edma 16 0 &edma 17 0 419*724ba675SRob Herring &edma 18 0 &edma 19 0 420*724ba675SRob Herring &edma 20 0 &edma 21 0 421*724ba675SRob Herring &edma 22 0 &edma 23 0>; 422*724ba675SRob Herring dma-names = "tx0", "rx0", "tx1", "rx1", 423*724ba675SRob Herring "tx2", "rx2", "tx3", "rx3"; 424*724ba675SRob Herring }; 425*724ba675SRob Herring 426*724ba675SRob Herring mmc1: mmc@48060000 { 427*724ba675SRob Herring compatible = "ti,omap4-hsmmc"; 428*724ba675SRob Herring reg = <0x48060000 0x11000>; 429*724ba675SRob Herring ti,hwmods = "mmc1"; 430*724ba675SRob Herring interrupts = <64>; 431*724ba675SRob Herring dmas = <&edma 24 0 &edma 25 0>; 432*724ba675SRob Herring dma-names = "tx", "rx"; 433*724ba675SRob Herring }; 434*724ba675SRob Herring 435*724ba675SRob Herring timer1_target: target-module@4802e000 { 436*724ba675SRob Herring compatible = "ti,sysc-omap4-timer", "ti,sysc"; 437*724ba675SRob Herring reg = <0x4802e000 0x4>, 438*724ba675SRob Herring <0x4802e010 0x4>; 439*724ba675SRob Herring reg-names = "rev", "sysc"; 440*724ba675SRob Herring ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>; 441*724ba675SRob Herring ti,sysc-sidle = <SYSC_IDLE_FORCE>, 442*724ba675SRob Herring <SYSC_IDLE_NO>, 443*724ba675SRob Herring <SYSC_IDLE_SMART>, 444*724ba675SRob Herring <SYSC_IDLE_SMART_WKUP>; 445*724ba675SRob Herring clocks = <&alwon_clkctrl DM816_TIMER1_CLKCTRL 0>; 446*724ba675SRob Herring clock-names = "fck"; 447*724ba675SRob Herring #address-cells = <1>; 448*724ba675SRob Herring #size-cells = <1>; 449*724ba675SRob Herring ranges = <0x0 0x4802e000 0x1000>; 450*724ba675SRob Herring 451*724ba675SRob Herring timer1: timer@0 { 452*724ba675SRob Herring compatible = "ti,dm816-timer"; 453*724ba675SRob Herring reg = <0 0x1000>; 454*724ba675SRob Herring interrupts = <67>; 455*724ba675SRob Herring ti,timer-alwon; 456*724ba675SRob Herring clocks = <&alwon_clkctrl DM816_TIMER1_CLKCTRL 0>; 457*724ba675SRob Herring clock-names = "fck"; 458*724ba675SRob Herring }; 459*724ba675SRob Herring }; 460*724ba675SRob Herring 461*724ba675SRob Herring timer2_target: target-module@48040000 { 462*724ba675SRob Herring compatible = "ti,sysc-omap4-timer", "ti,sysc"; 463*724ba675SRob Herring reg = <0x48040000 0x4>, 464*724ba675SRob Herring <0x48040010 0x4>; 465*724ba675SRob Herring reg-names = "rev", "sysc"; 466*724ba675SRob Herring ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>; 467*724ba675SRob Herring ti,sysc-sidle = <SYSC_IDLE_FORCE>, 468*724ba675SRob Herring <SYSC_IDLE_NO>, 469*724ba675SRob Herring <SYSC_IDLE_SMART>, 470*724ba675SRob Herring <SYSC_IDLE_SMART_WKUP>; 471*724ba675SRob Herring clocks = <&alwon_clkctrl DM816_TIMER2_CLKCTRL 0>; 472*724ba675SRob Herring clock-names = "fck"; 473*724ba675SRob Herring #address-cells = <1>; 474*724ba675SRob Herring #size-cells = <1>; 475*724ba675SRob Herring ranges = <0x0 0x48040000 0x1000>; 476*724ba675SRob Herring 477*724ba675SRob Herring timer2: timer@0 { 478*724ba675SRob Herring compatible = "ti,dm816-timer"; 479*724ba675SRob Herring reg = <0 0x1000>; 480*724ba675SRob Herring interrupts = <68>; 481*724ba675SRob Herring clocks = <&alwon_clkctrl DM816_TIMER2_CLKCTRL 0>; 482*724ba675SRob Herring clock-names = "fck"; 483*724ba675SRob Herring }; 484*724ba675SRob Herring }; 485*724ba675SRob Herring 486*724ba675SRob Herring timer3: timer@48042000 { 487*724ba675SRob Herring compatible = "ti,dm816-timer"; 488*724ba675SRob Herring reg = <0x48042000 0x2000>; 489*724ba675SRob Herring interrupts = <69>; 490*724ba675SRob Herring ti,hwmods = "timer3"; 491*724ba675SRob Herring }; 492*724ba675SRob Herring 493*724ba675SRob Herring timer4: timer@48044000 { 494*724ba675SRob Herring compatible = "ti,dm816-timer"; 495*724ba675SRob Herring reg = <0x48044000 0x2000>; 496*724ba675SRob Herring interrupts = <92>; 497*724ba675SRob Herring ti,hwmods = "timer4"; 498*724ba675SRob Herring ti,timer-pwm; 499*724ba675SRob Herring }; 500*724ba675SRob Herring 501*724ba675SRob Herring timer5: timer@48046000 { 502*724ba675SRob Herring compatible = "ti,dm816-timer"; 503*724ba675SRob Herring reg = <0x48046000 0x2000>; 504*724ba675SRob Herring interrupts = <93>; 505*724ba675SRob Herring ti,hwmods = "timer5"; 506*724ba675SRob Herring ti,timer-pwm; 507*724ba675SRob Herring }; 508*724ba675SRob Herring 509*724ba675SRob Herring timer6: timer@48048000 { 510*724ba675SRob Herring compatible = "ti,dm816-timer"; 511*724ba675SRob Herring reg = <0x48048000 0x2000>; 512*724ba675SRob Herring interrupts = <94>; 513*724ba675SRob Herring ti,hwmods = "timer6"; 514*724ba675SRob Herring ti,timer-pwm; 515*724ba675SRob Herring }; 516*724ba675SRob Herring 517*724ba675SRob Herring timer7: timer@4804a000 { 518*724ba675SRob Herring compatible = "ti,dm816-timer"; 519*724ba675SRob Herring reg = <0x4804a000 0x2000>; 520*724ba675SRob Herring interrupts = <95>; 521*724ba675SRob Herring ti,hwmods = "timer7"; 522*724ba675SRob Herring ti,timer-pwm; 523*724ba675SRob Herring }; 524*724ba675SRob Herring 525*724ba675SRob Herring uart1: serial@48020000 { 526*724ba675SRob Herring compatible = "ti,am3352-uart", "ti,omap3-uart"; 527*724ba675SRob Herring ti,hwmods = "uart1"; 528*724ba675SRob Herring reg = <0x48020000 0x2000>; 529*724ba675SRob Herring clock-frequency = <48000000>; 530*724ba675SRob Herring interrupts = <72>; 531*724ba675SRob Herring dmas = <&edma 26 0 &edma 27 0>; 532*724ba675SRob Herring dma-names = "tx", "rx"; 533*724ba675SRob Herring }; 534*724ba675SRob Herring 535*724ba675SRob Herring uart2: serial@48022000 { 536*724ba675SRob Herring compatible = "ti,am3352-uart", "ti,omap3-uart"; 537*724ba675SRob Herring ti,hwmods = "uart2"; 538*724ba675SRob Herring reg = <0x48022000 0x2000>; 539*724ba675SRob Herring clock-frequency = <48000000>; 540*724ba675SRob Herring interrupts = <73>; 541*724ba675SRob Herring dmas = <&edma 28 0 &edma 29 0>; 542*724ba675SRob Herring dma-names = "tx", "rx"; 543*724ba675SRob Herring }; 544*724ba675SRob Herring 545*724ba675SRob Herring uart3: serial@48024000 { 546*724ba675SRob Herring compatible = "ti,am3352-uart", "ti,omap3-uart"; 547*724ba675SRob Herring ti,hwmods = "uart3"; 548*724ba675SRob Herring reg = <0x48024000 0x2000>; 549*724ba675SRob Herring clock-frequency = <48000000>; 550*724ba675SRob Herring interrupts = <74>; 551*724ba675SRob Herring dmas = <&edma 30 0 &edma 31 0>; 552*724ba675SRob Herring dma-names = "tx", "rx"; 553*724ba675SRob Herring }; 554*724ba675SRob Herring 555*724ba675SRob Herring /* NOTE: USB needs a transceiver driver for phys to work */ 556*724ba675SRob Herring usb: usb_otg_hs@47401000 { 557*724ba675SRob Herring compatible = "ti,am33xx-usb"; 558*724ba675SRob Herring reg = <0x47401000 0x400000>; 559*724ba675SRob Herring ranges; 560*724ba675SRob Herring #address-cells = <1>; 561*724ba675SRob Herring #size-cells = <1>; 562*724ba675SRob Herring ti,hwmods = "usb_otg_hs"; 563*724ba675SRob Herring 564*724ba675SRob Herring usb0: usb@47401000 { 565*724ba675SRob Herring compatible = "ti,musb-dm816"; 566*724ba675SRob Herring reg = <0x47401400 0x400 567*724ba675SRob Herring 0x47401000 0x200>; 568*724ba675SRob Herring reg-names = "mc", "control"; 569*724ba675SRob Herring interrupts = <18>; 570*724ba675SRob Herring interrupt-names = "mc"; 571*724ba675SRob Herring dr_mode = "host"; 572*724ba675SRob Herring interface-type = <0>; 573*724ba675SRob Herring phys = <&usb_phy0>; 574*724ba675SRob Herring phy-names = "usb2-phy"; 575*724ba675SRob Herring mentor,multipoint = <1>; 576*724ba675SRob Herring mentor,num-eps = <16>; 577*724ba675SRob Herring mentor,ram-bits = <12>; 578*724ba675SRob Herring mentor,power = <500>; 579*724ba675SRob Herring 580*724ba675SRob Herring dmas = <&cppi41dma 0 0 &cppi41dma 1 0 581*724ba675SRob Herring &cppi41dma 2 0 &cppi41dma 3 0 582*724ba675SRob Herring &cppi41dma 4 0 &cppi41dma 5 0 583*724ba675SRob Herring &cppi41dma 6 0 &cppi41dma 7 0 584*724ba675SRob Herring &cppi41dma 8 0 &cppi41dma 9 0 585*724ba675SRob Herring &cppi41dma 10 0 &cppi41dma 11 0 586*724ba675SRob Herring &cppi41dma 12 0 &cppi41dma 13 0 587*724ba675SRob Herring &cppi41dma 14 0 &cppi41dma 0 1 588*724ba675SRob Herring &cppi41dma 1 1 &cppi41dma 2 1 589*724ba675SRob Herring &cppi41dma 3 1 &cppi41dma 4 1 590*724ba675SRob Herring &cppi41dma 5 1 &cppi41dma 6 1 591*724ba675SRob Herring &cppi41dma 7 1 &cppi41dma 8 1 592*724ba675SRob Herring &cppi41dma 9 1 &cppi41dma 10 1 593*724ba675SRob Herring &cppi41dma 11 1 &cppi41dma 12 1 594*724ba675SRob Herring &cppi41dma 13 1 &cppi41dma 14 1>; 595*724ba675SRob Herring dma-names = 596*724ba675SRob Herring "rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7", 597*724ba675SRob Herring "rx8", "rx9", "rx10", "rx11", "rx12", "rx13", 598*724ba675SRob Herring "rx14", "rx15", 599*724ba675SRob Herring "tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7", 600*724ba675SRob Herring "tx8", "tx9", "tx10", "tx11", "tx12", "tx13", 601*724ba675SRob Herring "tx14", "tx15"; 602*724ba675SRob Herring }; 603*724ba675SRob Herring 604*724ba675SRob Herring usb1: usb@47401800 { 605*724ba675SRob Herring compatible = "ti,musb-dm816"; 606*724ba675SRob Herring reg = <0x47401c00 0x400 607*724ba675SRob Herring 0x47401800 0x200>; 608*724ba675SRob Herring reg-names = "mc", "control"; 609*724ba675SRob Herring interrupts = <19>; 610*724ba675SRob Herring interrupt-names = "mc"; 611*724ba675SRob Herring dr_mode = "host"; 612*724ba675SRob Herring interface-type = <0>; 613*724ba675SRob Herring phys = <&usb_phy1>; 614*724ba675SRob Herring phy-names = "usb2-phy"; 615*724ba675SRob Herring mentor,multipoint = <1>; 616*724ba675SRob Herring mentor,num-eps = <16>; 617*724ba675SRob Herring mentor,ram-bits = <12>; 618*724ba675SRob Herring mentor,power = <500>; 619*724ba675SRob Herring 620*724ba675SRob Herring dmas = <&cppi41dma 15 0 &cppi41dma 16 0 621*724ba675SRob Herring &cppi41dma 17 0 &cppi41dma 18 0 622*724ba675SRob Herring &cppi41dma 19 0 &cppi41dma 20 0 623*724ba675SRob Herring &cppi41dma 21 0 &cppi41dma 22 0 624*724ba675SRob Herring &cppi41dma 23 0 &cppi41dma 24 0 625*724ba675SRob Herring &cppi41dma 25 0 &cppi41dma 26 0 626*724ba675SRob Herring &cppi41dma 27 0 &cppi41dma 28 0 627*724ba675SRob Herring &cppi41dma 29 0 &cppi41dma 15 1 628*724ba675SRob Herring &cppi41dma 16 1 &cppi41dma 17 1 629*724ba675SRob Herring &cppi41dma 18 1 &cppi41dma 19 1 630*724ba675SRob Herring &cppi41dma 20 1 &cppi41dma 21 1 631*724ba675SRob Herring &cppi41dma 22 1 &cppi41dma 23 1 632*724ba675SRob Herring &cppi41dma 24 1 &cppi41dma 25 1 633*724ba675SRob Herring &cppi41dma 26 1 &cppi41dma 27 1 634*724ba675SRob Herring &cppi41dma 28 1 &cppi41dma 29 1>; 635*724ba675SRob Herring dma-names = 636*724ba675SRob Herring "rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7", 637*724ba675SRob Herring "rx8", "rx9", "rx10", "rx11", "rx12", "rx13", 638*724ba675SRob Herring "rx14", "rx15", 639*724ba675SRob Herring "tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7", 640*724ba675SRob Herring "tx8", "tx9", "tx10", "tx11", "tx12", "tx13", 641*724ba675SRob Herring "tx14", "tx15"; 642*724ba675SRob Herring }; 643*724ba675SRob Herring 644*724ba675SRob Herring cppi41dma: dma-controller@47402000 { 645*724ba675SRob Herring compatible = "ti,am3359-cppi41"; 646*724ba675SRob Herring reg = <0x47400000 0x1000 647*724ba675SRob Herring 0x47402000 0x1000 648*724ba675SRob Herring 0x47403000 0x1000 649*724ba675SRob Herring 0x47404000 0x4000>; 650*724ba675SRob Herring reg-names = "glue", "controller", "scheduler", "queuemgr"; 651*724ba675SRob Herring interrupts = <17>; 652*724ba675SRob Herring interrupt-names = "glue"; 653*724ba675SRob Herring #dma-cells = <2>; 654*724ba675SRob Herring /* For backwards compatibility: */ 655*724ba675SRob Herring #dma-channels = <30>; 656*724ba675SRob Herring dma-channels = <30>; 657*724ba675SRob Herring #dma-requests = <256>; 658*724ba675SRob Herring dma-requests = <256>; 659*724ba675SRob Herring }; 660*724ba675SRob Herring }; 661*724ba675SRob Herring 662*724ba675SRob Herring wd_timer2: wd_timer@480c2000 { 663*724ba675SRob Herring compatible = "ti,omap3-wdt"; 664*724ba675SRob Herring ti,hwmods = "wd_timer"; 665*724ba675SRob Herring reg = <0x480c2000 0x1000>; 666*724ba675SRob Herring interrupts = <0>; 667*724ba675SRob Herring }; 668*724ba675SRob Herring }; 669*724ba675SRob Herring}; 670*724ba675SRob Herring 671*724ba675SRob Herring#include "dm816x-clocks.dtsi" 672*724ba675SRob Herring 673*724ba675SRob Herring/* Preferred always-on timer for clocksource */ 674*724ba675SRob Herring&timer1_target { 675*724ba675SRob Herring ti,no-reset-on-init; 676*724ba675SRob Herring ti,no-idle; 677*724ba675SRob Herring timer@0 { 678*724ba675SRob Herring assigned-clocks = <&timer1_fck>; 679*724ba675SRob Herring assigned-clock-parents = <&sys_clkin_ck>; 680*724ba675SRob Herring }; 681*724ba675SRob Herring}; 682*724ba675SRob Herring 683*724ba675SRob Herring/* Preferred timer for clockevent */ 684*724ba675SRob Herring&timer2_target { 685*724ba675SRob Herring ti,no-reset-on-init; 686*724ba675SRob Herring ti,no-idle; 687*724ba675SRob Herring timer@0 { 688*724ba675SRob Herring assigned-clocks = <&timer2_fck>; 689*724ba675SRob Herring assigned-clock-parents = <&sys_clkin_ck>; 690*724ba675SRob Herring }; 691*724ba675SRob Herring}; 692