dra7.dtsi 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575
  1. /*
  2. * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com/
  3. *
  4. * This program is free software; you can redistribute it and/or modify
  5. * it under the terms of the GNU General Public License version 2 as
  6. * published by the Free Software Foundation.
  7. * Based on "omap4.dtsi"
  8. */
  9. #include <dt-bindings/interrupt-controller/arm-gic.h>
  10. #include <dt-bindings/pinctrl/dra.h>
  11. #include "skeleton.dtsi"
  12. / {
  13. #address-cells = <1>;
  14. #size-cells = <1>;
  15. compatible = "ti,dra7xx";
  16. interrupt-parent = <&gic>;
  17. aliases {
  18. serial0 = &uart1;
  19. serial1 = &uart2;
  20. serial2 = &uart3;
  21. serial3 = &uart4;
  22. serial4 = &uart5;
  23. serial5 = &uart6;
  24. };
  25. cpus {
  26. #address-cells = <1>;
  27. #size-cells = <0>;
  28. cpu@0 {
  29. device_type = "cpu";
  30. compatible = "arm,cortex-a15";
  31. reg = <0>;
  32. };
  33. cpu@1 {
  34. device_type = "cpu";
  35. compatible = "arm,cortex-a15";
  36. reg = <1>;
  37. };
  38. };
  39. timer {
  40. compatible = "arm,armv7-timer";
  41. interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
  42. <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
  43. <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
  44. <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>;
  45. };
  46. gic: interrupt-controller@48211000 {
  47. compatible = "arm,cortex-a15-gic";
  48. interrupt-controller;
  49. #interrupt-cells = <3>;
  50. reg = <0x48211000 0x1000>,
  51. <0x48212000 0x1000>,
  52. <0x48214000 0x2000>,
  53. <0x48216000 0x2000>;
  54. interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_HIGH)>;
  55. };
  56. /*
  57. * The soc node represents the soc top level view. It is uses for IPs
  58. * that are not memory mapped in the MPU view or for the MPU itself.
  59. */
  60. soc {
  61. compatible = "ti,omap-infra";
  62. mpu {
  63. compatible = "ti,omap5-mpu";
  64. ti,hwmods = "mpu";
  65. };
  66. };
  67. /*
  68. * XXX: Use a flat representation of the SOC interconnect.
  69. * The real OMAP interconnect network is quite complex.
  70. * Since that will not bring real advantage to represent that in DT for
  71. * the moment, just use a fake OCP bus entry to represent the whole bus
  72. * hierarchy.
  73. */
  74. ocp {
  75. compatible = "ti,omap4-l3-noc", "simple-bus";
  76. #address-cells = <1>;
  77. #size-cells = <1>;
  78. ranges;
  79. ti,hwmods = "l3_main_1", "l3_main_2";
  80. reg = <0x44000000 0x2000>,
  81. <0x44800000 0x3000>;
  82. interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
  83. <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
  84. counter32k: counter@4ae04000 {
  85. compatible = "ti,omap-counter32k";
  86. reg = <0x4ae04000 0x40>;
  87. ti,hwmods = "counter_32k";
  88. };
  89. dra7_pmx_core: pinmux@4a003400 {
  90. compatible = "pinctrl-single";
  91. reg = <0x4a003400 0x0464>;
  92. #address-cells = <1>;
  93. #size-cells = <0>;
  94. pinctrl-single,register-width = <32>;
  95. pinctrl-single,function-mask = <0x3fffffff>;
  96. };
  97. sdma: dma-controller@4a056000 {
  98. compatible = "ti,omap4430-sdma";
  99. reg = <0x4a056000 0x1000>;
  100. interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
  101. <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
  102. <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>,
  103. <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
  104. #dma-cells = <1>;
  105. #dma-channels = <32>;
  106. #dma-requests = <127>;
  107. };
  108. gpio1: gpio@4ae10000 {
  109. compatible = "ti,omap4-gpio";
  110. reg = <0x4ae10000 0x200>;
  111. interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
  112. ti,hwmods = "gpio1";
  113. gpio-controller;
  114. #gpio-cells = <2>;
  115. interrupt-controller;
  116. #interrupt-cells = <1>;
  117. };
  118. gpio2: gpio@48055000 {
  119. compatible = "ti,omap4-gpio";
  120. reg = <0x48055000 0x200>;
  121. interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
  122. ti,hwmods = "gpio2";
  123. gpio-controller;
  124. #gpio-cells = <2>;
  125. interrupt-controller;
  126. #interrupt-cells = <1>;
  127. };
  128. gpio3: gpio@48057000 {
  129. compatible = "ti,omap4-gpio";
  130. reg = <0x48057000 0x200>;
  131. interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
  132. ti,hwmods = "gpio3";
  133. gpio-controller;
  134. #gpio-cells = <2>;
  135. interrupt-controller;
  136. #interrupt-cells = <1>;
  137. };
  138. gpio4: gpio@48059000 {
  139. compatible = "ti,omap4-gpio";
  140. reg = <0x48059000 0x200>;
  141. interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
  142. ti,hwmods = "gpio4";
  143. gpio-controller;
  144. #gpio-cells = <2>;
  145. interrupt-controller;
  146. #interrupt-cells = <1>;
  147. };
  148. gpio5: gpio@4805b000 {
  149. compatible = "ti,omap4-gpio";
  150. reg = <0x4805b000 0x200>;
  151. interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
  152. ti,hwmods = "gpio5";
  153. gpio-controller;
  154. #gpio-cells = <2>;
  155. interrupt-controller;
  156. #interrupt-cells = <1>;
  157. };
  158. gpio6: gpio@4805d000 {
  159. compatible = "ti,omap4-gpio";
  160. reg = <0x4805d000 0x200>;
  161. interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
  162. ti,hwmods = "gpio6";
  163. gpio-controller;
  164. #gpio-cells = <2>;
  165. interrupt-controller;
  166. #interrupt-cells = <1>;
  167. };
  168. gpio7: gpio@48051000 {
  169. compatible = "ti,omap4-gpio";
  170. reg = <0x48051000 0x200>;
  171. interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
  172. ti,hwmods = "gpio7";
  173. gpio-controller;
  174. #gpio-cells = <2>;
  175. interrupt-controller;
  176. #interrupt-cells = <1>;
  177. };
  178. gpio8: gpio@48053000 {
  179. compatible = "ti,omap4-gpio";
  180. reg = <0x48053000 0x200>;
  181. interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>;
  182. ti,hwmods = "gpio8";
  183. gpio-controller;
  184. #gpio-cells = <2>;
  185. interrupt-controller;
  186. #interrupt-cells = <1>;
  187. };
  188. uart1: serial@4806a000 {
  189. compatible = "ti,omap4-uart";
  190. reg = <0x4806a000 0x100>;
  191. interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
  192. ti,hwmods = "uart1";
  193. clock-frequency = <48000000>;
  194. status = "disabled";
  195. };
  196. uart2: serial@4806c000 {
  197. compatible = "ti,omap4-uart";
  198. reg = <0x4806c000 0x100>;
  199. interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
  200. ti,hwmods = "uart2";
  201. clock-frequency = <48000000>;
  202. status = "disabled";
  203. };
  204. uart3: serial@48020000 {
  205. compatible = "ti,omap4-uart";
  206. reg = <0x48020000 0x100>;
  207. interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
  208. ti,hwmods = "uart3";
  209. clock-frequency = <48000000>;
  210. status = "disabled";
  211. };
  212. uart4: serial@4806e000 {
  213. compatible = "ti,omap4-uart";
  214. reg = <0x4806e000 0x100>;
  215. interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
  216. ti,hwmods = "uart4";
  217. clock-frequency = <48000000>;
  218. status = "disabled";
  219. };
  220. uart5: serial@48066000 {
  221. compatible = "ti,omap4-uart";
  222. reg = <0x48066000 0x100>;
  223. interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
  224. ti,hwmods = "uart5";
  225. clock-frequency = <48000000>;
  226. status = "disabled";
  227. };
  228. uart6: serial@48068000 {
  229. compatible = "ti,omap4-uart";
  230. reg = <0x48068000 0x100>;
  231. interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
  232. ti,hwmods = "uart6";
  233. clock-frequency = <48000000>;
  234. status = "disabled";
  235. };
  236. uart7: serial@48420000 {
  237. compatible = "ti,omap4-uart";
  238. reg = <0x48420000 0x100>;
  239. ti,hwmods = "uart7";
  240. clock-frequency = <48000000>;
  241. status = "disabled";
  242. };
  243. uart8: serial@48422000 {
  244. compatible = "ti,omap4-uart";
  245. reg = <0x48422000 0x100>;
  246. ti,hwmods = "uart8";
  247. clock-frequency = <48000000>;
  248. status = "disabled";
  249. };
  250. uart9: serial@48424000 {
  251. compatible = "ti,omap4-uart";
  252. reg = <0x48424000 0x100>;
  253. ti,hwmods = "uart9";
  254. clock-frequency = <48000000>;
  255. status = "disabled";
  256. };
  257. uart10: serial@4ae2b000 {
  258. compatible = "ti,omap4-uart";
  259. reg = <0x4ae2b000 0x100>;
  260. ti,hwmods = "uart10";
  261. clock-frequency = <48000000>;
  262. status = "disabled";
  263. };
  264. timer1: timer@4ae18000 {
  265. compatible = "ti,omap5430-timer";
  266. reg = <0x4ae18000 0x80>;
  267. interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
  268. ti,hwmods = "timer1";
  269. ti,timer-alwon;
  270. };
  271. timer2: timer@48032000 {
  272. compatible = "ti,omap5430-timer";
  273. reg = <0x48032000 0x80>;
  274. interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
  275. ti,hwmods = "timer2";
  276. };
  277. timer3: timer@48034000 {
  278. compatible = "ti,omap5430-timer";
  279. reg = <0x48034000 0x80>;
  280. interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
  281. ti,hwmods = "timer3";
  282. };
  283. timer4: timer@48036000 {
  284. compatible = "ti,omap5430-timer";
  285. reg = <0x48036000 0x80>;
  286. interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
  287. ti,hwmods = "timer4";
  288. };
  289. timer5: timer@48820000 {
  290. compatible = "ti,omap5430-timer";
  291. reg = <0x48820000 0x80>;
  292. interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
  293. ti,hwmods = "timer5";
  294. ti,timer-dsp;
  295. };
  296. timer6: timer@48822000 {
  297. compatible = "ti,omap5430-timer";
  298. reg = <0x48822000 0x80>;
  299. interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
  300. ti,hwmods = "timer6";
  301. ti,timer-dsp;
  302. ti,timer-pwm;
  303. };
  304. timer7: timer@48824000 {
  305. compatible = "ti,omap5430-timer";
  306. reg = <0x48824000 0x80>;
  307. interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
  308. ti,hwmods = "timer7";
  309. ti,timer-dsp;
  310. };
  311. timer8: timer@48826000 {
  312. compatible = "ti,omap5430-timer";
  313. reg = <0x48826000 0x80>;
  314. interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
  315. ti,hwmods = "timer8";
  316. ti,timer-dsp;
  317. ti,timer-pwm;
  318. };
  319. timer9: timer@4803e000 {
  320. compatible = "ti,omap5430-timer";
  321. reg = <0x4803e000 0x80>;
  322. interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
  323. ti,hwmods = "timer9";
  324. };
  325. timer10: timer@48086000 {
  326. compatible = "ti,omap5430-timer";
  327. reg = <0x48086000 0x80>;
  328. interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
  329. ti,hwmods = "timer10";
  330. };
  331. timer11: timer@48088000 {
  332. compatible = "ti,omap5430-timer";
  333. reg = <0x48088000 0x80>;
  334. interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
  335. ti,hwmods = "timer11";
  336. ti,timer-pwm;
  337. };
  338. timer13: timer@48828000 {
  339. compatible = "ti,omap5430-timer";
  340. reg = <0x48828000 0x80>;
  341. ti,hwmods = "timer13";
  342. status = "disabled";
  343. };
  344. timer14: timer@4882a000 {
  345. compatible = "ti,omap5430-timer";
  346. reg = <0x4882a000 0x80>;
  347. ti,hwmods = "timer14";
  348. status = "disabled";
  349. };
  350. timer15: timer@4882c000 {
  351. compatible = "ti,omap5430-timer";
  352. reg = <0x4882c000 0x80>;
  353. ti,hwmods = "timer15";
  354. status = "disabled";
  355. };
  356. timer16: timer@4882e000 {
  357. compatible = "ti,omap5430-timer";
  358. reg = <0x4882e000 0x80>;
  359. ti,hwmods = "timer16";
  360. status = "disabled";
  361. };
  362. wdt2: wdt@4ae14000 {
  363. compatible = "ti,omap4-wdt";
  364. reg = <0x4ae14000 0x80>;
  365. interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
  366. ti,hwmods = "wd_timer2";
  367. };
  368. i2c1: i2c@48070000 {
  369. compatible = "ti,omap4-i2c";
  370. reg = <0x48070000 0x100>;
  371. interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
  372. #address-cells = <1>;
  373. #size-cells = <0>;
  374. ti,hwmods = "i2c1";
  375. status = "disabled";
  376. };
  377. i2c2: i2c@48072000 {
  378. compatible = "ti,omap4-i2c";
  379. reg = <0x48072000 0x100>;
  380. interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
  381. #address-cells = <1>;
  382. #size-cells = <0>;
  383. ti,hwmods = "i2c2";
  384. status = "disabled";
  385. };
  386. i2c3: i2c@48060000 {
  387. compatible = "ti,omap4-i2c";
  388. reg = <0x48060000 0x100>;
  389. interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
  390. #address-cells = <1>;
  391. #size-cells = <0>;
  392. ti,hwmods = "i2c3";
  393. status = "disabled";
  394. };
  395. i2c4: i2c@4807a000 {
  396. compatible = "ti,omap4-i2c";
  397. reg = <0x4807a000 0x100>;
  398. interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
  399. #address-cells = <1>;
  400. #size-cells = <0>;
  401. ti,hwmods = "i2c4";
  402. status = "disabled";
  403. };
  404. i2c5: i2c@4807c000 {
  405. compatible = "ti,omap4-i2c";
  406. reg = <0x4807c000 0x100>;
  407. interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
  408. #address-cells = <1>;
  409. #size-cells = <0>;
  410. ti,hwmods = "i2c5";
  411. status = "disabled";
  412. };
  413. mmc1: mmc@4809c000 {
  414. compatible = "ti,omap4-hsmmc";
  415. reg = <0x4809c000 0x400>;
  416. interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
  417. ti,hwmods = "mmc1";
  418. ti,dual-volt;
  419. ti,needs-special-reset;
  420. dmas = <&sdma 61>, <&sdma 62>;
  421. dma-names = "tx", "rx";
  422. status = "disabled";
  423. };
  424. mmc2: mmc@480b4000 {
  425. compatible = "ti,omap4-hsmmc";
  426. reg = <0x480b4000 0x400>;
  427. interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
  428. ti,hwmods = "mmc2";
  429. ti,needs-special-reset;
  430. dmas = <&sdma 47>, <&sdma 48>;
  431. dma-names = "tx", "rx";
  432. status = "disabled";
  433. };
  434. mmc3: mmc@480ad000 {
  435. compatible = "ti,omap4-hsmmc";
  436. reg = <0x480ad000 0x400>;
  437. interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
  438. ti,hwmods = "mmc3";
  439. ti,needs-special-reset;
  440. dmas = <&sdma 77>, <&sdma 78>;
  441. dma-names = "tx", "rx";
  442. status = "disabled";
  443. };
  444. mmc4: mmc@480d1000 {
  445. compatible = "ti,omap4-hsmmc";
  446. reg = <0x480d1000 0x400>;
  447. interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
  448. ti,hwmods = "mmc4";
  449. ti,needs-special-reset;
  450. dmas = <&sdma 57>, <&sdma 58>;
  451. dma-names = "tx", "rx";
  452. status = "disabled";
  453. };
  454. mcspi1: spi@48098000 {
  455. compatible = "ti,omap4-mcspi";
  456. reg = <0x48098000 0x200>;
  457. interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
  458. #address-cells = <1>;
  459. #size-cells = <0>;
  460. ti,hwmods = "mcspi1";
  461. ti,spi-num-cs = <4>;
  462. dmas = <&sdma 35>,
  463. <&sdma 36>,
  464. <&sdma 37>,
  465. <&sdma 38>,
  466. <&sdma 39>,
  467. <&sdma 40>,
  468. <&sdma 41>,
  469. <&sdma 42>;
  470. dma-names = "tx0", "rx0", "tx1", "rx1",
  471. "tx2", "rx2", "tx3", "rx3";
  472. status = "disabled";
  473. };
  474. mcspi2: spi@4809a000 {
  475. compatible = "ti,omap4-mcspi";
  476. reg = <0x4809a000 0x200>;
  477. interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>;
  478. #address-cells = <1>;
  479. #size-cells = <0>;
  480. ti,hwmods = "mcspi2";
  481. ti,spi-num-cs = <2>;
  482. dmas = <&sdma 43>,
  483. <&sdma 44>,
  484. <&sdma 45>,
  485. <&sdma 46>;
  486. dma-names = "tx0", "rx0", "tx1", "rx1";
  487. status = "disabled";
  488. };
  489. mcspi3: spi@480b8000 {
  490. compatible = "ti,omap4-mcspi";
  491. reg = <0x480b8000 0x200>;
  492. interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
  493. #address-cells = <1>;
  494. #size-cells = <0>;
  495. ti,hwmods = "mcspi3";
  496. ti,spi-num-cs = <2>;
  497. dmas = <&sdma 15>, <&sdma 16>;
  498. dma-names = "tx0", "rx0";
  499. status = "disabled";
  500. };
  501. mcspi4: spi@480ba000 {
  502. compatible = "ti,omap4-mcspi";
  503. reg = <0x480ba000 0x200>;
  504. interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
  505. #address-cells = <1>;
  506. #size-cells = <0>;
  507. ti,hwmods = "mcspi4";
  508. ti,spi-num-cs = <1>;
  509. dmas = <&sdma 70>, <&sdma 71>;
  510. dma-names = "tx0", "rx0";
  511. status = "disabled";
  512. };
  513. };
  514. };