imx27.dtsi 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470
  1. /*
  2. * Copyright 2012 Sascha Hauer, Pengutronix
  3. *
  4. * The code contained herein is licensed under the GNU General Public
  5. * License. You may obtain a copy of the GNU General Public License
  6. * Version 2 or later at the following locations:
  7. *
  8. * http://www.opensource.org/licenses/gpl-license.html
  9. * http://www.gnu.org/copyleft/gpl.html
  10. */
  11. #include "skeleton.dtsi"
  12. / {
  13. aliases {
  14. gpio0 = &gpio1;
  15. gpio1 = &gpio2;
  16. gpio2 = &gpio3;
  17. gpio3 = &gpio4;
  18. gpio4 = &gpio5;
  19. gpio5 = &gpio6;
  20. i2c0 = &i2c1;
  21. i2c1 = &i2c2;
  22. serial0 = &uart1;
  23. serial1 = &uart2;
  24. serial2 = &uart3;
  25. serial3 = &uart4;
  26. serial4 = &uart5;
  27. serial5 = &uart6;
  28. spi0 = &cspi1;
  29. spi1 = &cspi2;
  30. spi2 = &cspi3;
  31. };
  32. aitc: aitc-interrupt-controller@e0000000 {
  33. compatible = "fsl,imx27-aitc", "fsl,avic";
  34. interrupt-controller;
  35. #interrupt-cells = <1>;
  36. reg = <0x10040000 0x1000>;
  37. };
  38. clocks {
  39. #address-cells = <1>;
  40. #size-cells = <0>;
  41. osc26m {
  42. compatible = "fsl,imx-osc26m", "fixed-clock";
  43. clock-frequency = <26000000>;
  44. };
  45. };
  46. cpus {
  47. #size-cells = <0>;
  48. #address-cells = <1>;
  49. cpu: cpu@0 {
  50. device_type = "cpu";
  51. compatible = "arm,arm926ej-s";
  52. operating-points = <
  53. /* kHz uV */
  54. 266000 1300000
  55. 399000 1450000
  56. >;
  57. clock-latency = <62500>;
  58. clocks = <&clks 18>;
  59. voltage-tolerance = <5>;
  60. };
  61. };
  62. soc {
  63. #address-cells = <1>;
  64. #size-cells = <1>;
  65. compatible = "simple-bus";
  66. interrupt-parent = <&aitc>;
  67. ranges;
  68. aipi@10000000 { /* AIPI1 */
  69. compatible = "fsl,aipi-bus", "simple-bus";
  70. #address-cells = <1>;
  71. #size-cells = <1>;
  72. reg = <0x10000000 0x20000>;
  73. ranges;
  74. dma: dma@10001000 {
  75. compatible = "fsl,imx27-dma";
  76. reg = <0x10001000 0x1000>;
  77. interrupts = <32>;
  78. clocks = <&clks 50>, <&clks 70>;
  79. clock-names = "ipg", "ahb";
  80. #dma-cells = <1>;
  81. #dma-channels = <16>;
  82. };
  83. wdog: wdog@10002000 {
  84. compatible = "fsl,imx27-wdt", "fsl,imx21-wdt";
  85. reg = <0x10002000 0x1000>;
  86. interrupts = <27>;
  87. clocks = <&clks 74>;
  88. };
  89. gpt1: timer@10003000 {
  90. compatible = "fsl,imx27-gpt", "fsl,imx1-gpt";
  91. reg = <0x10003000 0x1000>;
  92. interrupts = <26>;
  93. clocks = <&clks 46>, <&clks 61>;
  94. clock-names = "ipg", "per";
  95. };
  96. gpt2: timer@10004000 {
  97. compatible = "fsl,imx27-gpt", "fsl,imx1-gpt";
  98. reg = <0x10004000 0x1000>;
  99. interrupts = <25>;
  100. clocks = <&clks 45>, <&clks 61>;
  101. clock-names = "ipg", "per";
  102. };
  103. gpt3: timer@10005000 {
  104. compatible = "fsl,imx27-gpt", "fsl,imx1-gpt";
  105. reg = <0x10005000 0x1000>;
  106. interrupts = <24>;
  107. clocks = <&clks 44>, <&clks 61>;
  108. clock-names = "ipg", "per";
  109. };
  110. pwm: pwm@10006000 {
  111. #pwm-cells = <2>;
  112. compatible = "fsl,imx27-pwm";
  113. reg = <0x10006000 0x1000>;
  114. interrupts = <23>;
  115. clocks = <&clks 34>, <&clks 61>;
  116. clock-names = "ipg", "per";
  117. };
  118. kpp: kpp@10008000 {
  119. compatible = "fsl,imx27-kpp", "fsl,imx21-kpp";
  120. reg = <0x10008000 0x1000>;
  121. interrupts = <21>;
  122. clocks = <&clks 37>;
  123. status = "disabled";
  124. };
  125. owire: owire@10009000 {
  126. compatible = "fsl,imx27-owire", "fsl,imx21-owire";
  127. reg = <0x10009000 0x1000>;
  128. clocks = <&clks 35>;
  129. status = "disabled";
  130. };
  131. uart1: serial@1000a000 {
  132. compatible = "fsl,imx27-uart", "fsl,imx21-uart";
  133. reg = <0x1000a000 0x1000>;
  134. interrupts = <20>;
  135. clocks = <&clks 81>, <&clks 61>;
  136. clock-names = "ipg", "per";
  137. status = "disabled";
  138. };
  139. uart2: serial@1000b000 {
  140. compatible = "fsl,imx27-uart", "fsl,imx21-uart";
  141. reg = <0x1000b000 0x1000>;
  142. interrupts = <19>;
  143. clocks = <&clks 80>, <&clks 61>;
  144. clock-names = "ipg", "per";
  145. status = "disabled";
  146. };
  147. uart3: serial@1000c000 {
  148. compatible = "fsl,imx27-uart", "fsl,imx21-uart";
  149. reg = <0x1000c000 0x1000>;
  150. interrupts = <18>;
  151. clocks = <&clks 79>, <&clks 61>;
  152. clock-names = "ipg", "per";
  153. status = "disabled";
  154. };
  155. uart4: serial@1000d000 {
  156. compatible = "fsl,imx27-uart", "fsl,imx21-uart";
  157. reg = <0x1000d000 0x1000>;
  158. interrupts = <17>;
  159. clocks = <&clks 78>, <&clks 61>;
  160. clock-names = "ipg", "per";
  161. status = "disabled";
  162. };
  163. cspi1: cspi@1000e000 {
  164. #address-cells = <1>;
  165. #size-cells = <0>;
  166. compatible = "fsl,imx27-cspi";
  167. reg = <0x1000e000 0x1000>;
  168. interrupts = <16>;
  169. clocks = <&clks 53>, <&clks 60>;
  170. clock-names = "ipg", "per";
  171. status = "disabled";
  172. };
  173. cspi2: cspi@1000f000 {
  174. #address-cells = <1>;
  175. #size-cells = <0>;
  176. compatible = "fsl,imx27-cspi";
  177. reg = <0x1000f000 0x1000>;
  178. interrupts = <15>;
  179. clocks = <&clks 52>, <&clks 60>;
  180. clock-names = "ipg", "per";
  181. status = "disabled";
  182. };
  183. i2c1: i2c@10012000 {
  184. #address-cells = <1>;
  185. #size-cells = <0>;
  186. compatible = "fsl,imx27-i2c", "fsl,imx21-i2c";
  187. reg = <0x10012000 0x1000>;
  188. interrupts = <12>;
  189. clocks = <&clks 40>;
  190. status = "disabled";
  191. };
  192. sdhci1: sdhci@10013000 {
  193. compatible = "fsl,imx27-mmc", "fsl,imx21-mmc";
  194. reg = <0x10013000 0x1000>;
  195. interrupts = <11>;
  196. clocks = <&clks 30>, <&clks 60>;
  197. clock-names = "ipg", "per";
  198. dmas = <&dma 7>;
  199. dma-names = "rx-tx";
  200. status = "disabled";
  201. };
  202. sdhci2: sdhci@10014000 {
  203. compatible = "fsl,imx27-mmc", "fsl,imx21-mmc";
  204. reg = <0x10014000 0x1000>;
  205. interrupts = <10>;
  206. clocks = <&clks 29>, <&clks 60>;
  207. clock-names = "ipg", "per";
  208. dmas = <&dma 6>;
  209. dma-names = "rx-tx";
  210. status = "disabled";
  211. };
  212. gpio1: gpio@10015000 {
  213. compatible = "fsl,imx27-gpio", "fsl,imx21-gpio";
  214. reg = <0x10015000 0x100>;
  215. interrupts = <8>;
  216. gpio-controller;
  217. #gpio-cells = <2>;
  218. interrupt-controller;
  219. #interrupt-cells = <2>;
  220. };
  221. gpio2: gpio@10015100 {
  222. compatible = "fsl,imx27-gpio", "fsl,imx21-gpio";
  223. reg = <0x10015100 0x100>;
  224. interrupts = <8>;
  225. gpio-controller;
  226. #gpio-cells = <2>;
  227. interrupt-controller;
  228. #interrupt-cells = <2>;
  229. };
  230. gpio3: gpio@10015200 {
  231. compatible = "fsl,imx27-gpio", "fsl,imx21-gpio";
  232. reg = <0x10015200 0x100>;
  233. interrupts = <8>;
  234. gpio-controller;
  235. #gpio-cells = <2>;
  236. interrupt-controller;
  237. #interrupt-cells = <2>;
  238. };
  239. gpio4: gpio@10015300 {
  240. compatible = "fsl,imx27-gpio", "fsl,imx21-gpio";
  241. reg = <0x10015300 0x100>;
  242. interrupts = <8>;
  243. gpio-controller;
  244. #gpio-cells = <2>;
  245. interrupt-controller;
  246. #interrupt-cells = <2>;
  247. };
  248. gpio5: gpio@10015400 {
  249. compatible = "fsl,imx27-gpio", "fsl,imx21-gpio";
  250. reg = <0x10015400 0x100>;
  251. interrupts = <8>;
  252. gpio-controller;
  253. #gpio-cells = <2>;
  254. interrupt-controller;
  255. #interrupt-cells = <2>;
  256. };
  257. gpio6: gpio@10015500 {
  258. compatible = "fsl,imx27-gpio", "fsl,imx21-gpio";
  259. reg = <0x10015500 0x100>;
  260. interrupts = <8>;
  261. gpio-controller;
  262. #gpio-cells = <2>;
  263. interrupt-controller;
  264. #interrupt-cells = <2>;
  265. };
  266. audmux: audmux@10016000 {
  267. compatible = "fsl,imx27-audmux", "fsl,imx21-audmux";
  268. reg = <0x10016000 0x1000>;
  269. clocks = <&clks 0>;
  270. clock-names = "audmux";
  271. status = "disabled";
  272. };
  273. cspi3: cspi@10017000 {
  274. #address-cells = <1>;
  275. #size-cells = <0>;
  276. compatible = "fsl,imx27-cspi";
  277. reg = <0x10017000 0x1000>;
  278. interrupts = <6>;
  279. clocks = <&clks 51>, <&clks 60>;
  280. clock-names = "ipg", "per";
  281. status = "disabled";
  282. };
  283. gpt4: timer@10019000 {
  284. compatible = "fsl,imx27-gpt", "fsl,imx1-gpt";
  285. reg = <0x10019000 0x1000>;
  286. interrupts = <4>;
  287. clocks = <&clks 43>, <&clks 61>;
  288. clock-names = "ipg", "per";
  289. };
  290. gpt5: timer@1001a000 {
  291. compatible = "fsl,imx27-gpt", "fsl,imx1-gpt";
  292. reg = <0x1001a000 0x1000>;
  293. interrupts = <3>;
  294. clocks = <&clks 42>, <&clks 61>;
  295. clock-names = "ipg", "per";
  296. };
  297. uart5: serial@1001b000 {
  298. compatible = "fsl,imx27-uart", "fsl,imx21-uart";
  299. reg = <0x1001b000 0x1000>;
  300. interrupts = <49>;
  301. clocks = <&clks 77>, <&clks 61>;
  302. clock-names = "ipg", "per";
  303. status = "disabled";
  304. };
  305. uart6: serial@1001c000 {
  306. compatible = "fsl,imx27-uart", "fsl,imx21-uart";
  307. reg = <0x1001c000 0x1000>;
  308. interrupts = <48>;
  309. clocks = <&clks 78>, <&clks 61>;
  310. clock-names = "ipg", "per";
  311. status = "disabled";
  312. };
  313. i2c2: i2c@1001d000 {
  314. #address-cells = <1>;
  315. #size-cells = <0>;
  316. compatible = "fsl,imx27-i2c", "fsl,imx21-i2c";
  317. reg = <0x1001d000 0x1000>;
  318. interrupts = <1>;
  319. clocks = <&clks 39>;
  320. status = "disabled";
  321. };
  322. sdhci3: sdhci@1001e000 {
  323. compatible = "fsl,imx27-mmc", "fsl,imx21-mmc";
  324. reg = <0x1001e000 0x1000>;
  325. interrupts = <9>;
  326. clocks = <&clks 28>, <&clks 60>;
  327. clock-names = "ipg", "per";
  328. dmas = <&dma 36>;
  329. dma-names = "rx-tx";
  330. status = "disabled";
  331. };
  332. gpt6: timer@1001f000 {
  333. compatible = "fsl,imx27-gpt", "fsl,imx1-gpt";
  334. reg = <0x1001f000 0x1000>;
  335. interrupts = <2>;
  336. clocks = <&clks 41>, <&clks 61>;
  337. clock-names = "ipg", "per";
  338. };
  339. };
  340. aipi@10020000 { /* AIPI2 */
  341. compatible = "fsl,aipi-bus", "simple-bus";
  342. #address-cells = <1>;
  343. #size-cells = <1>;
  344. reg = <0x10020000 0x20000>;
  345. ranges;
  346. fb: fb@10021000 {
  347. compatible = "fsl,imx27-fb", "fsl,imx21-fb";
  348. interrupts = <61>;
  349. reg = <0x10021000 0x1000>;
  350. clocks = <&clks 36>, <&clks 65>, <&clks 59>;
  351. clock-names = "ipg", "ahb", "per";
  352. status = "disabled";
  353. };
  354. coda: coda@10023000 {
  355. compatible = "fsl,imx27-vpu";
  356. reg = <0x10023000 0x0200>;
  357. interrupts = <53>;
  358. clocks = <&clks 57>, <&clks 66>;
  359. clock-names = "per", "ahb";
  360. iram = <&iram>;
  361. };
  362. sahara2: sahara@10025000 {
  363. compatible = "fsl,imx27-sahara";
  364. reg = <0x10025000 0x1000>;
  365. interrupts = <59>;
  366. clocks = <&clks 32>, <&clks 64>;
  367. clock-names = "ipg", "ahb";
  368. };
  369. clks: ccm@10027000{
  370. compatible = "fsl,imx27-ccm";
  371. reg = <0x10027000 0x1000>;
  372. #clock-cells = <1>;
  373. };
  374. iim: iim@10028000 {
  375. compatible = "fsl,imx27-iim";
  376. reg = <0x10028000 0x1000>;
  377. interrupts = <62>;
  378. clocks = <&clks 38>;
  379. };
  380. fec: ethernet@1002b000 {
  381. compatible = "fsl,imx27-fec";
  382. reg = <0x1002b000 0x4000>;
  383. interrupts = <50>;
  384. clocks = <&clks 48>, <&clks 67>;
  385. clock-names = "ipg", "ahb";
  386. status = "disabled";
  387. };
  388. };
  389. nfc: nand@d8000000 {
  390. #address-cells = <1>;
  391. #size-cells = <1>;
  392. compatible = "fsl,imx27-nand";
  393. reg = <0xd8000000 0x1000>;
  394. interrupts = <29>;
  395. clocks = <&clks 54>;
  396. status = "disabled";
  397. };
  398. weim: weim@d8002000 {
  399. #address-cells = <2>;
  400. #size-cells = <1>;
  401. compatible = "fsl,imx27-weim";
  402. reg = <0xd8002000 0x1000>;
  403. clocks = <&clks 0>;
  404. ranges = <
  405. 0 0 0xc0000000 0x08000000
  406. 1 0 0xc8000000 0x08000000
  407. 2 0 0xd0000000 0x02000000
  408. 3 0 0xd2000000 0x02000000
  409. 4 0 0xd4000000 0x02000000
  410. 5 0 0xd6000000 0x02000000
  411. >;
  412. status = "disabled";
  413. };
  414. iram: iram@ffff4c00 {
  415. compatible = "mmio-sram";
  416. reg = <0xffff4c00 0xb400>;
  417. };
  418. };
  419. };