imx27.dtsi 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408
  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. serial0 = &uart1;
  15. serial1 = &uart2;
  16. serial2 = &uart3;
  17. serial3 = &uart4;
  18. serial4 = &uart5;
  19. serial5 = &uart6;
  20. gpio0 = &gpio1;
  21. gpio1 = &gpio2;
  22. gpio2 = &gpio3;
  23. gpio3 = &gpio4;
  24. gpio4 = &gpio5;
  25. gpio5 = &gpio6;
  26. spi0 = &cspi1;
  27. spi1 = &cspi2;
  28. spi2 = &cspi3;
  29. };
  30. avic: avic-interrupt-controller@e0000000 {
  31. compatible = "fsl,imx27-avic", "fsl,avic";
  32. interrupt-controller;
  33. #interrupt-cells = <1>;
  34. reg = <0x10040000 0x1000>;
  35. };
  36. clocks {
  37. #address-cells = <1>;
  38. #size-cells = <0>;
  39. osc26m {
  40. compatible = "fsl,imx-osc26m", "fixed-clock";
  41. clock-frequency = <26000000>;
  42. };
  43. };
  44. soc {
  45. #address-cells = <1>;
  46. #size-cells = <1>;
  47. compatible = "simple-bus";
  48. interrupt-parent = <&avic>;
  49. ranges;
  50. aipi@10000000 { /* AIPI1 */
  51. compatible = "fsl,aipi-bus", "simple-bus";
  52. #address-cells = <1>;
  53. #size-cells = <1>;
  54. reg = <0x10000000 0x20000>;
  55. ranges;
  56. dma: dma@10001000 {
  57. compatible = "fsl,imx27-dma";
  58. reg = <0x10001000 0x1000>;
  59. interrupts = <32>;
  60. clocks = <&clks 50>, <&clks 70>;
  61. clock-names = "ipg", "ahb";
  62. #dma-cells = <1>;
  63. #dma-channels = <16>;
  64. };
  65. wdog: wdog@10002000 {
  66. compatible = "fsl,imx27-wdt", "fsl,imx21-wdt";
  67. reg = <0x10002000 0x1000>;
  68. interrupts = <27>;
  69. clocks = <&clks 0>;
  70. };
  71. gpt1: timer@10003000 {
  72. compatible = "fsl,imx27-gpt", "fsl,imx1-gpt";
  73. reg = <0x10003000 0x1000>;
  74. interrupts = <26>;
  75. clocks = <&clks 46>, <&clks 61>;
  76. clock-names = "ipg", "per";
  77. };
  78. gpt2: timer@10004000 {
  79. compatible = "fsl,imx27-gpt", "fsl,imx1-gpt";
  80. reg = <0x10004000 0x1000>;
  81. interrupts = <25>;
  82. clocks = <&clks 45>, <&clks 61>;
  83. clock-names = "ipg", "per";
  84. };
  85. gpt3: timer@10005000 {
  86. compatible = "fsl,imx27-gpt", "fsl,imx1-gpt";
  87. reg = <0x10005000 0x1000>;
  88. interrupts = <24>;
  89. clocks = <&clks 44>, <&clks 61>;
  90. clock-names = "ipg", "per";
  91. };
  92. pwm: pwm@10006000 {
  93. compatible = "fsl,imx27-pwm";
  94. reg = <0x10006000 0x1000>;
  95. interrupts = <23>;
  96. clocks = <&clks 34>, <&clks 61>;
  97. clock-names = "ipg", "per";
  98. };
  99. kpp: kpp@10008000 {
  100. compatible = "fsl,imx27-kpp", "fsl,imx21-kpp";
  101. reg = <0x10008000 0x1000>;
  102. interrupts = <21>;
  103. clocks = <&clks 37>;
  104. status = "disabled";
  105. };
  106. uart1: serial@1000a000 {
  107. compatible = "fsl,imx27-uart", "fsl,imx21-uart";
  108. reg = <0x1000a000 0x1000>;
  109. interrupts = <20>;
  110. clocks = <&clks 81>, <&clks 61>;
  111. clock-names = "ipg", "per";
  112. status = "disabled";
  113. };
  114. uart2: serial@1000b000 {
  115. compatible = "fsl,imx27-uart", "fsl,imx21-uart";
  116. reg = <0x1000b000 0x1000>;
  117. interrupts = <19>;
  118. clocks = <&clks 80>, <&clks 61>;
  119. clock-names = "ipg", "per";
  120. status = "disabled";
  121. };
  122. uart3: serial@1000c000 {
  123. compatible = "fsl,imx27-uart", "fsl,imx21-uart";
  124. reg = <0x1000c000 0x1000>;
  125. interrupts = <18>;
  126. clocks = <&clks 79>, <&clks 61>;
  127. clock-names = "ipg", "per";
  128. status = "disabled";
  129. };
  130. uart4: serial@1000d000 {
  131. compatible = "fsl,imx27-uart", "fsl,imx21-uart";
  132. reg = <0x1000d000 0x1000>;
  133. interrupts = <17>;
  134. clocks = <&clks 78>, <&clks 61>;
  135. clock-names = "ipg", "per";
  136. status = "disabled";
  137. };
  138. cspi1: cspi@1000e000 {
  139. #address-cells = <1>;
  140. #size-cells = <0>;
  141. compatible = "fsl,imx27-cspi";
  142. reg = <0x1000e000 0x1000>;
  143. interrupts = <16>;
  144. clocks = <&clks 53>, <&clks 53>;
  145. clock-names = "ipg", "per";
  146. status = "disabled";
  147. };
  148. cspi2: cspi@1000f000 {
  149. #address-cells = <1>;
  150. #size-cells = <0>;
  151. compatible = "fsl,imx27-cspi";
  152. reg = <0x1000f000 0x1000>;
  153. interrupts = <15>;
  154. clocks = <&clks 52>, <&clks 52>;
  155. clock-names = "ipg", "per";
  156. status = "disabled";
  157. };
  158. i2c1: i2c@10012000 {
  159. #address-cells = <1>;
  160. #size-cells = <0>;
  161. compatible = "fsl,imx27-i2c", "fsl,imx21-i2c";
  162. reg = <0x10012000 0x1000>;
  163. interrupts = <12>;
  164. clocks = <&clks 40>;
  165. status = "disabled";
  166. };
  167. sdhci1: sdhci@10013000 {
  168. compatible = "fsl,imx27-mmc", "fsl,imx21-mmc";
  169. reg = <0x10013000 0x1000>;
  170. interrupts = <11>;
  171. clocks = <&clks 30>, <&clks 60>;
  172. clock-names = "ipg", "per";
  173. dmas = <&dma 7>;
  174. dma-names = "rx-tx";
  175. status = "disabled";
  176. };
  177. sdhci2: sdhci@10014000 {
  178. compatible = "fsl,imx27-mmc", "fsl,imx21-mmc";
  179. reg = <0x10014000 0x1000>;
  180. interrupts = <10>;
  181. clocks = <&clks 29>, <&clks 60>;
  182. clock-names = "ipg", "per";
  183. dmas = <&dma 6>;
  184. dma-names = "rx-tx";
  185. status = "disabled";
  186. };
  187. gpio1: gpio@10015000 {
  188. compatible = "fsl,imx27-gpio", "fsl,imx21-gpio";
  189. reg = <0x10015000 0x100>;
  190. interrupts = <8>;
  191. gpio-controller;
  192. #gpio-cells = <2>;
  193. interrupt-controller;
  194. #interrupt-cells = <2>;
  195. };
  196. gpio2: gpio@10015100 {
  197. compatible = "fsl,imx27-gpio", "fsl,imx21-gpio";
  198. reg = <0x10015100 0x100>;
  199. interrupts = <8>;
  200. gpio-controller;
  201. #gpio-cells = <2>;
  202. interrupt-controller;
  203. #interrupt-cells = <2>;
  204. };
  205. gpio3: gpio@10015200 {
  206. compatible = "fsl,imx27-gpio", "fsl,imx21-gpio";
  207. reg = <0x10015200 0x100>;
  208. interrupts = <8>;
  209. gpio-controller;
  210. #gpio-cells = <2>;
  211. interrupt-controller;
  212. #interrupt-cells = <2>;
  213. };
  214. gpio4: gpio@10015300 {
  215. compatible = "fsl,imx27-gpio", "fsl,imx21-gpio";
  216. reg = <0x10015300 0x100>;
  217. interrupts = <8>;
  218. gpio-controller;
  219. #gpio-cells = <2>;
  220. interrupt-controller;
  221. #interrupt-cells = <2>;
  222. };
  223. gpio5: gpio@10015400 {
  224. compatible = "fsl,imx27-gpio", "fsl,imx21-gpio";
  225. reg = <0x10015400 0x100>;
  226. interrupts = <8>;
  227. gpio-controller;
  228. #gpio-cells = <2>;
  229. interrupt-controller;
  230. #interrupt-cells = <2>;
  231. };
  232. gpio6: gpio@10015500 {
  233. compatible = "fsl,imx27-gpio", "fsl,imx21-gpio";
  234. reg = <0x10015500 0x100>;
  235. interrupts = <8>;
  236. gpio-controller;
  237. #gpio-cells = <2>;
  238. interrupt-controller;
  239. #interrupt-cells = <2>;
  240. };
  241. audmux: audmux@10016000 {
  242. compatible = "fsl,imx27-audmux", "fsl,imx21-audmux";
  243. reg = <0x10016000 0x1000>;
  244. clocks = <&clks 0>;
  245. clock-names = "audmux";
  246. };
  247. cspi3: cspi@10017000 {
  248. #address-cells = <1>;
  249. #size-cells = <0>;
  250. compatible = "fsl,imx27-cspi";
  251. reg = <0x10017000 0x1000>;
  252. interrupts = <6>;
  253. clocks = <&clks 51>, <&clks 51>;
  254. clock-names = "ipg", "per";
  255. status = "disabled";
  256. };
  257. gpt4: timer@10019000 {
  258. compatible = "fsl,imx27-gpt", "fsl,imx1-gpt";
  259. reg = <0x10019000 0x1000>;
  260. interrupts = <4>;
  261. clocks = <&clks 43>, <&clks 61>;
  262. clock-names = "ipg", "per";
  263. };
  264. gpt5: timer@1001a000 {
  265. compatible = "fsl,imx27-gpt", "fsl,imx1-gpt";
  266. reg = <0x1001a000 0x1000>;
  267. interrupts = <3>;
  268. clocks = <&clks 42>, <&clks 61>;
  269. clock-names = "ipg", "per";
  270. };
  271. uart5: serial@1001b000 {
  272. compatible = "fsl,imx27-uart", "fsl,imx21-uart";
  273. reg = <0x1001b000 0x1000>;
  274. interrupts = <49>;
  275. clocks = <&clks 77>, <&clks 61>;
  276. clock-names = "ipg", "per";
  277. status = "disabled";
  278. };
  279. uart6: serial@1001c000 {
  280. compatible = "fsl,imx27-uart", "fsl,imx21-uart";
  281. reg = <0x1001c000 0x1000>;
  282. interrupts = <48>;
  283. clocks = <&clks 78>, <&clks 61>;
  284. clock-names = "ipg", "per";
  285. status = "disabled";
  286. };
  287. i2c2: i2c@1001d000 {
  288. #address-cells = <1>;
  289. #size-cells = <0>;
  290. compatible = "fsl,imx27-i2c", "fsl,imx21-i2c";
  291. reg = <0x1001d000 0x1000>;
  292. interrupts = <1>;
  293. clocks = <&clks 39>;
  294. status = "disabled";
  295. };
  296. sdhci3: sdhci@1001e000 {
  297. compatible = "fsl,imx27-mmc", "fsl,imx21-mmc";
  298. reg = <0x1001e000 0x1000>;
  299. interrupts = <9>;
  300. clocks = <&clks 28>, <&clks 60>;
  301. clock-names = "ipg", "per";
  302. dmas = <&dma 36>;
  303. dma-names = "rx-tx";
  304. status = "disabled";
  305. };
  306. gpt6: timer@1001f000 {
  307. compatible = "fsl,imx27-gpt", "fsl,imx1-gpt";
  308. reg = <0x1001f000 0x1000>;
  309. interrupts = <2>;
  310. clocks = <&clks 41>, <&clks 61>;
  311. clock-names = "ipg", "per";
  312. };
  313. };
  314. aipi@10020000 { /* AIPI2 */
  315. compatible = "fsl,aipi-bus", "simple-bus";
  316. #address-cells = <1>;
  317. #size-cells = <1>;
  318. reg = <0x10020000 0x20000>;
  319. ranges;
  320. coda: coda@10023000 {
  321. compatible = "fsl,imx27-vpu";
  322. reg = <0x10023000 0x0200>;
  323. interrupts = <53>;
  324. clocks = <&clks 57>, <&clks 66>;
  325. clock-names = "per", "ahb";
  326. iram = <&iram>;
  327. };
  328. sahara2: sahara@10025000 {
  329. compatible = "fsl,imx27-sahara";
  330. reg = <0x10025000 0x1000>;
  331. interrupts = <59>;
  332. clocks = <&clks 32>, <&clks 64>;
  333. clock-names = "ipg", "ahb";
  334. };
  335. clks: ccm@10027000{
  336. compatible = "fsl,imx27-ccm";
  337. reg = <0x10027000 0x1000>;
  338. #clock-cells = <1>;
  339. };
  340. fec: ethernet@1002b000 {
  341. compatible = "fsl,imx27-fec";
  342. reg = <0x1002b000 0x4000>;
  343. interrupts = <50>;
  344. clocks = <&clks 48>, <&clks 67>, <&clks 0>;
  345. clock-names = "ipg", "ahb", "ptp";
  346. status = "disabled";
  347. };
  348. };
  349. nfc: nand@d8000000 {
  350. #address-cells = <1>;
  351. #size-cells = <1>;
  352. compatible = "fsl,imx27-nand";
  353. reg = <0xd8000000 0x1000>;
  354. interrupts = <29>;
  355. clocks = <&clks 54>;
  356. status = "disabled";
  357. };
  358. iram: iram@ffff4c00 {
  359. compatible = "mmio-sram";
  360. reg = <0xffff4c00 0xb400>;
  361. };
  362. };
  363. };