dm816x.dtsi revision 279377
1279377Simp/* 2279377Simp * This file is licensed under the terms of the GNU General Public License 3279377Simp * version 2. This program is licensed "as is" without any warranty of any 4279377Simp * kind, whether express or implied. 5279377Simp */ 6279377Simp 7279377Simp#include <dt-bindings/gpio/gpio.h> 8279377Simp#include <dt-bindings/pinctrl/omap.h> 9279377Simp 10279377Simp#include "skeleton.dtsi" 11279377Simp 12279377Simp/ { 13279377Simp compatible = "ti,dm816"; 14279377Simp interrupt-parent = <&intc>; 15279377Simp 16279377Simp aliases { 17279377Simp i2c0 = &i2c1; 18279377Simp i2c1 = &i2c2; 19279377Simp serial0 = &uart1; 20279377Simp serial1 = &uart2; 21279377Simp serial2 = &uart3; 22279377Simp ethernet0 = ð0; 23279377Simp ethernet1 = ð1; 24279377Simp }; 25279377Simp 26279377Simp cpus { 27279377Simp #address-cells = <1>; 28279377Simp #size-cells = <0>; 29279377Simp cpu@0 { 30279377Simp compatible = "arm,cortex-a8"; 31279377Simp device_type = "cpu"; 32279377Simp reg = <0>; 33279377Simp }; 34279377Simp }; 35279377Simp 36279377Simp pmu { 37279377Simp compatible = "arm,cortex-a8-pmu"; 38279377Simp interrupts = <3>; 39279377Simp }; 40279377Simp 41279377Simp /* 42279377Simp * The soc node represents the soc top level view. It is used for IPs 43279377Simp * that are not memory mapped in the MPU view or for the MPU itself. 44279377Simp */ 45279377Simp soc { 46279377Simp compatible = "ti,omap-infra"; 47279377Simp mpu { 48279377Simp compatible = "ti,omap3-mpu"; 49279377Simp ti,hwmods = "mpu"; 50279377Simp }; 51279377Simp }; 52279377Simp 53279377Simp /* 54279377Simp * XXX: Use a flat representation of the dm816x interconnect. 55279377Simp * The real dm816x interconnect network is quite complex. Since 56279377Simp * it will not bring real advantage to represent that in DT 57279377Simp * for the moment, just use a fake OCP bus entry to represent 58279377Simp * the whole bus hierarchy. 59279377Simp */ 60279377Simp ocp { 61279377Simp compatible = "ti,omap3-l3-smx", "simple-bus"; 62279377Simp reg = <0x44000000 0x10000>; 63279377Simp interrupts = <9 10>; 64279377Simp #address-cells = <1>; 65279377Simp #size-cells = <1>; 66279377Simp ranges; 67279377Simp ti,hwmods = "l3_main"; 68279377Simp 69279377Simp prcm: prcm@48180000 { 70279377Simp compatible = "ti,dm816-prcm"; 71279377Simp reg = <0x48180000 0x4000>; 72279377Simp 73279377Simp prcm_clocks: clocks { 74279377Simp #address-cells = <1>; 75279377Simp #size-cells = <0>; 76279377Simp }; 77279377Simp 78279377Simp prcm_clockdomains: clockdomains { 79279377Simp }; 80279377Simp }; 81279377Simp 82279377Simp scrm: scrm@48140000 { 83279377Simp compatible = "ti,dm816-scrm", "simple-bus"; 84279377Simp reg = <0x48140000 0x21000>; 85279377Simp #address-cells = <1>; 86279377Simp #size-cells = <1>; 87279377Simp ranges = <0 0x48140000 0x21000>; 88279377Simp 89279377Simp dm816x_pinmux: pinmux@800 { 90279377Simp compatible = "pinctrl-single"; 91279377Simp reg = <0x800 0x50a>; 92279377Simp #address-cells = <1>; 93279377Simp #size-cells = <0>; 94279377Simp pinctrl-single,register-width = <16>; 95279377Simp pinctrl-single,function-mask = <0xf>; 96279377Simp }; 97279377Simp 98279377Simp /* Device Configuration Registers */ 99279377Simp scm_conf: syscon@600 { 100279377Simp compatible = "syscon"; 101279377Simp reg = <0x600 0x110>; 102279377Simp #address-cells = <1>; 103279377Simp #size-cells = <1>; 104279377Simp }; 105279377Simp 106279377Simp scrm_clocks: clocks { 107279377Simp #address-cells = <1>; 108279377Simp #size-cells = <0>; 109279377Simp }; 110279377Simp 111279377Simp scrm_clockdomains: clockdomains { 112279377Simp }; 113279377Simp }; 114279377Simp 115279377Simp edma: edma@49000000 { 116279377Simp compatible = "ti,edma3"; 117279377Simp ti,hwmods = "tpcc", "tptc0", "tptc1", "tptc2", "tptc3"; 118279377Simp reg = <0x49000000 0x10000>, 119279377Simp <0x44e10f90 0x40>; 120279377Simp interrupts = <12 13 14>; 121279377Simp #dma-cells = <1>; 122279377Simp }; 123279377Simp 124279377Simp elm: elm@48080000 { 125279377Simp compatible = "ti,816-elm"; 126279377Simp ti,hwmods = "elm"; 127279377Simp reg = <0x48080000 0x2000>; 128279377Simp interrupts = <4>; 129279377Simp }; 130279377Simp 131279377Simp gpio1: gpio@48032000 { 132279377Simp compatible = "ti,omap3-gpio"; 133279377Simp ti,hwmods = "gpio1"; 134279377Simp reg = <0x48032000 0x1000>; 135279377Simp interrupts = <97>; 136279377Simp }; 137279377Simp 138279377Simp gpio2: gpio@4804c000 { 139279377Simp compatible = "ti,omap3-gpio"; 140279377Simp ti,hwmods = "gpio2"; 141279377Simp reg = <0x4804c000 0x1000>; 142279377Simp interrupts = <99>; 143279377Simp }; 144279377Simp 145279377Simp gpmc: gpmc@50000000 { 146279377Simp compatible = "ti,am3352-gpmc"; 147279377Simp ti,hwmods = "gpmc"; 148279377Simp reg = <0x50000000 0x2000>; 149279377Simp #address-cells = <2>; 150279377Simp #size-cells = <1>; 151279377Simp interrupts = <100>; 152279377Simp gpmc,num-cs = <6>; 153279377Simp gpmc,num-waitpins = <2>; 154279377Simp }; 155279377Simp 156279377Simp i2c1: i2c@48028000 { 157279377Simp compatible = "ti,omap4-i2c"; 158279377Simp ti,hwmods = "i2c1"; 159279377Simp reg = <0x48028000 0x1000>; 160279377Simp #address-cells = <1>; 161279377Simp #size-cells = <0>; 162279377Simp interrupts = <70>; 163279377Simp dmas = <&edma 58 &edma 59>; 164279377Simp dma-names = "tx", "rx"; 165279377Simp }; 166279377Simp 167279377Simp i2c2: i2c@4802a000 { 168279377Simp compatible = "ti,omap4-i2c"; 169279377Simp ti,hwmods = "i2c2"; 170279377Simp reg = <0x4802a000 0x1000>; 171279377Simp #address-cells = <1>; 172279377Simp #size-cells = <0>; 173279377Simp interrupts = <71>; 174279377Simp dmas = <&edma 60 &edma 61>; 175279377Simp dma-names = "tx", "rx"; 176279377Simp }; 177279377Simp 178279377Simp intc: interrupt-controller@48200000 { 179279377Simp compatible = "ti,dm816-intc"; 180279377Simp interrupt-controller; 181279377Simp #interrupt-cells = <1>; 182279377Simp reg = <0x48200000 0x1000>; 183279377Simp }; 184279377Simp 185279377Simp mailbox: mailbox@480c8000 { 186279377Simp compatible = "ti,omap4-mailbox"; 187279377Simp reg = <0x480c8000 0x2000>; 188279377Simp interrupts = <77>; 189279377Simp ti,hwmods = "mailbox"; 190279377Simp ti,mbox-num-users = <4>; 191279377Simp ti,mbox-num-fifos = <12>; 192279377Simp mbox_dsp: mbox_dsp { 193279377Simp ti,mbox-tx = <3 0 0>; 194279377Simp ti,mbox-rx = <0 0 0>; 195279377Simp }; 196279377Simp }; 197279377Simp 198279377Simp mdio: mdio@4a100800 { 199279377Simp compatible = "ti,davinci_mdio"; 200279377Simp #address-cells = <1>; 201279377Simp #size-cells = <0>; 202279377Simp reg = <0x4a100800 0x100>; 203279377Simp ti,hwmods = "davinci_mdio"; 204279377Simp bus_freq = <1000000>; 205279377Simp phy0: ethernet-phy@0 { 206279377Simp reg = <1>; 207279377Simp }; 208279377Simp phy1: ethernet-phy@1 { 209279377Simp reg = <2>; 210279377Simp }; 211279377Simp }; 212279377Simp 213279377Simp eth0: ethernet@4a100000 { 214279377Simp compatible = "ti,dm816-emac"; 215279377Simp ti,hwmods = "emac0"; 216279377Simp reg = <0x4a100000 0x800 217279377Simp 0x4a100900 0x3700>; 218279377Simp clocks = <&sysclk24_ck>; 219279377Simp syscon = <&scm_conf>; 220279377Simp ti,davinci-ctrl-reg-offset = <0>; 221279377Simp ti,davinci-ctrl-mod-reg-offset = <0x900>; 222279377Simp ti,davinci-ctrl-ram-offset = <0x2000>; 223279377Simp ti,davinci-ctrl-ram-size = <0x2000>; 224279377Simp interrupts = <40 41 42 43>; 225279377Simp phy-handle = <&phy0>; 226279377Simp }; 227279377Simp 228279377Simp eth1: ethernet@4a120000 { 229279377Simp compatible = "ti,dm816-emac"; 230279377Simp ti,hwmods = "emac1"; 231279377Simp reg = <0x4a120000 0x4000>; 232279377Simp clocks = <&sysclk24_ck>; 233279377Simp syscon = <&scm_conf>; 234279377Simp ti,davinci-ctrl-reg-offset = <0>; 235279377Simp ti,davinci-ctrl-mod-reg-offset = <0x900>; 236279377Simp ti,davinci-ctrl-ram-offset = <0x2000>; 237279377Simp ti,davinci-ctrl-ram-size = <0x2000>; 238279377Simp interrupts = <44 45 46 47>; 239279377Simp phy-handle = <&phy1>; 240279377Simp }; 241279377Simp 242279377Simp mcspi1: spi@48030000 { 243279377Simp compatible = "ti,omap4-mcspi"; 244279377Simp reg = <0x48030000 0x1000>; 245279377Simp #address-cells = <1>; 246279377Simp #size-cells = <0>; 247279377Simp interrupts = <65>; 248279377Simp ti,spi-num-cs = <4>; 249279377Simp ti,hwmods = "mcspi1"; 250279377Simp dmas = <&edma 16 &edma 17 251279377Simp &edma 18 &edma 19>; 252279377Simp dma-names = "tx0", "rx0", "tx1", "rx1"; 253279377Simp }; 254279377Simp 255279377Simp mmc1: mmc@48060000 { 256279377Simp compatible = "ti,omap4-hsmmc"; 257279377Simp reg = <0x48060000 0x11000>; 258279377Simp ti,hwmods = "mmc1"; 259279377Simp interrupts = <64>; 260279377Simp dmas = <&edma 24 &edma 25>; 261279377Simp dma-names = "tx", "rx"; 262279377Simp }; 263279377Simp 264279377Simp timer1: timer@4802e000 { 265279377Simp compatible = "ti,dm816-timer"; 266279377Simp reg = <0x4802e000 0x2000>; 267279377Simp interrupts = <67>; 268279377Simp ti,hwmods = "timer1"; 269279377Simp ti,timer-alwon; 270279377Simp }; 271279377Simp 272279377Simp timer2: timer@48040000 { 273279377Simp compatible = "ti,dm816-timer"; 274279377Simp reg = <0x48040000 0x2000>; 275279377Simp interrupts = <68>; 276279377Simp ti,hwmods = "timer2"; 277279377Simp }; 278279377Simp 279279377Simp timer3: timer@48042000 { 280279377Simp compatible = "ti,dm816-timer"; 281279377Simp reg = <0x48042000 0x2000>; 282279377Simp interrupts = <69>; 283279377Simp ti,hwmods = "timer3"; 284279377Simp }; 285279377Simp 286279377Simp timer4: timer@48044000 { 287279377Simp compatible = "ti,dm816-timer"; 288279377Simp reg = <0x48044000 0x2000>; 289279377Simp interrupts = <92>; 290279377Simp ti,hwmods = "timer4"; 291279377Simp }; 292279377Simp 293279377Simp timer5: timer@48046000 { 294279377Simp compatible = "ti,dm816-timer"; 295279377Simp reg = <0x48046000 0x2000>; 296279377Simp interrupts = <93>; 297279377Simp ti,hwmods = "timer5"; 298279377Simp }; 299279377Simp 300279377Simp timer6: timer@48048000 { 301279377Simp compatible = "ti,dm816-timer"; 302279377Simp reg = <0x48048000 0x2000>; 303279377Simp interrupts = <94>; 304279377Simp ti,hwmods = "timer6"; 305279377Simp }; 306279377Simp 307279377Simp timer7: timer@4804a000 { 308279377Simp compatible = "ti,dm816-timer"; 309279377Simp reg = <0x4804a000 0x2000>; 310279377Simp interrupts = <95>; 311279377Simp ti,hwmods = "timer7"; 312279377Simp }; 313279377Simp 314279377Simp uart1: uart@48020000 { 315279377Simp compatible = "ti,omap3-uart"; 316279377Simp ti,hwmods = "uart1"; 317279377Simp reg = <0x48020000 0x2000>; 318279377Simp clock-frequency = <48000000>; 319279377Simp interrupts = <72>; 320279377Simp dmas = <&edma 26 &edma 27>; 321279377Simp dma-names = "tx", "rx"; 322279377Simp }; 323279377Simp 324279377Simp uart2: uart@48022000 { 325279377Simp compatible = "ti,omap3-uart"; 326279377Simp ti,hwmods = "uart2"; 327279377Simp reg = <0x48022000 0x2000>; 328279377Simp clock-frequency = <48000000>; 329279377Simp interrupts = <73>; 330279377Simp dmas = <&edma 28 &edma 29>; 331279377Simp dma-names = "tx", "rx"; 332279377Simp }; 333279377Simp 334279377Simp uart3: uart@48024000 { 335279377Simp compatible = "ti,omap3-uart"; 336279377Simp ti,hwmods = "uart3"; 337279377Simp reg = <0x48024000 0x2000>; 338279377Simp clock-frequency = <48000000>; 339279377Simp interrupts = <74>; 340279377Simp dmas = <&edma 30 &edma 31>; 341279377Simp dma-names = "tx", "rx"; 342279377Simp }; 343279377Simp 344279377Simp /* NOTE: USB needs a transceiver driver for phys to work */ 345279377Simp usb: usb_otg_hs@47401000 { 346279377Simp compatible = "ti,am33xx-usb"; 347279377Simp reg = <0x47401000 0x400000>; 348279377Simp ranges; 349279377Simp #address-cells = <1>; 350279377Simp #size-cells = <1>; 351279377Simp ti,hwmods = "usb_otg_hs"; 352279377Simp 353279377Simp usb0: usb@47401000 { 354279377Simp compatible = "ti,musb-am33xx"; 355279377Simp reg = <0x47401400 0x400 356279377Simp 0x47401000 0x200>; 357279377Simp reg-names = "mc", "control"; 358279377Simp interrupts = <18>; 359279377Simp interrupt-names = "mc"; 360279377Simp dr_mode = "otg"; 361279377Simp mentor,multipoint = <1>; 362279377Simp mentor,num-eps = <16>; 363279377Simp mentor,ram-bits = <12>; 364279377Simp mentor,power = <500>; 365279377Simp }; 366279377Simp 367279377Simp usb1: usb@47401800 { 368279377Simp compatible = "ti,musb-am33xx"; 369279377Simp status = "disabled"; 370279377Simp reg = <0x47401c00 0x400 371279377Simp 0x47401800 0x200>; 372279377Simp reg-names = "mc", "control"; 373279377Simp interrupts = <19>; 374279377Simp interrupt-names = "mc"; 375279377Simp dr_mode = "otg"; 376279377Simp mentor,multipoint = <1>; 377279377Simp mentor,num-eps = <16>; 378279377Simp mentor,ram-bits = <12>; 379279377Simp mentor,power = <500>; 380279377Simp }; 381279377Simp }; 382279377Simp 383279377Simp wd_timer2: wd_timer@480c2000 { 384279377Simp compatible = "ti,omap3-wdt"; 385279377Simp ti,hwmods = "wd_timer"; 386279377Simp reg = <0x480c2000 0x1000>; 387279377Simp interrupts = <0>; 388279377Simp }; 389279377Simp }; 390279377Simp}; 391279377Simp 392279377Simp#include "dm816x-clocks.dtsi" 393