dra7.dtsi 14 KB

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