vf610.dtsi 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464
  1. /*
  2. * Copyright 2013 Freescale Semiconductor, Inc.
  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 as published by
  6. * the Free Software Foundation; either version 2 of the License, or
  7. * (at your option) any later version.
  8. */
  9. #include "skeleton.dtsi"
  10. #include "vf610-pinfunc.h"
  11. #include <dt-bindings/clock/vf610-clock.h>
  12. / {
  13. aliases {
  14. serial0 = &uart0;
  15. serial1 = &uart1;
  16. serial2 = &uart2;
  17. serial3 = &uart3;
  18. serial4 = &uart4;
  19. serial5 = &uart5;
  20. gpio0 = &gpio1;
  21. gpio1 = &gpio2;
  22. gpio2 = &gpio3;
  23. gpio3 = &gpio4;
  24. gpio4 = &gpio5;
  25. };
  26. cpus {
  27. #address-cells = <1>;
  28. #size-cells = <0>;
  29. cpu@0 {
  30. compatible = "arm,cortex-a5";
  31. device_type = "cpu";
  32. reg = <0x0>;
  33. next-level-cache = <&L2>;
  34. };
  35. };
  36. clocks {
  37. #address-cells = <1>;
  38. #size-cells = <0>;
  39. sxosc {
  40. compatible = "fixed-clock";
  41. clock-frequency = <32768>;
  42. };
  43. fxosc {
  44. compatible = "fixed-clock";
  45. clock-frequency = <24000000>;
  46. };
  47. };
  48. soc {
  49. #address-cells = <1>;
  50. #size-cells = <1>;
  51. compatible = "simple-bus";
  52. interrupt-parent = <&intc>;
  53. ranges;
  54. aips0: aips-bus@40000000 {
  55. compatible = "fsl,aips-bus", "simple-bus";
  56. #address-cells = <1>;
  57. #size-cells = <1>;
  58. interrupt-parent = <&intc>;
  59. reg = <0x40000000 0x70000>;
  60. ranges;
  61. intc: interrupt-controller@40002000 {
  62. compatible = "arm,cortex-a9-gic";
  63. #interrupt-cells = <3>;
  64. #address-cells = <1>;
  65. #size-cells = <1>;
  66. interrupt-controller;
  67. reg = <0x40003000 0x1000>,
  68. <0x40002100 0x100>;
  69. };
  70. L2: l2-cache@40006000 {
  71. compatible = "arm,pl310-cache";
  72. reg = <0x40006000 0x1000>;
  73. cache-unified;
  74. cache-level = <2>;
  75. arm,data-latency = <1 1 1>;
  76. arm,tag-latency = <2 2 2>;
  77. };
  78. uart0: serial@40027000 {
  79. compatible = "fsl,vf610-lpuart";
  80. reg = <0x40027000 0x1000>;
  81. interrupts = <0 61 0x00>;
  82. clocks = <&clks VF610_CLK_UART0>;
  83. clock-names = "ipg";
  84. status = "disabled";
  85. };
  86. uart1: serial@40028000 {
  87. compatible = "fsl,vf610-lpuart";
  88. reg = <0x40028000 0x1000>;
  89. interrupts = <0 62 0x04>;
  90. clocks = <&clks VF610_CLK_UART1>;
  91. clock-names = "ipg";
  92. status = "disabled";
  93. };
  94. uart2: serial@40029000 {
  95. compatible = "fsl,vf610-lpuart";
  96. reg = <0x40029000 0x1000>;
  97. interrupts = <0 63 0x04>;
  98. clocks = <&clks VF610_CLK_UART2>;
  99. clock-names = "ipg";
  100. status = "disabled";
  101. };
  102. uart3: serial@4002a000 {
  103. compatible = "fsl,vf610-lpuart";
  104. reg = <0x4002a000 0x1000>;
  105. interrupts = <0 64 0x04>;
  106. clocks = <&clks VF610_CLK_UART3>;
  107. clock-names = "ipg";
  108. status = "disabled";
  109. };
  110. sai2: sai@40031000 {
  111. compatible = "fsl,vf610-sai";
  112. reg = <0x40031000 0x1000>;
  113. interrupts = <0 86 0x04>;
  114. clocks = <&clks VF610_CLK_SAI2>;
  115. clock-names = "sai";
  116. status = "disabled";
  117. };
  118. pit: pit@40037000 {
  119. compatible = "fsl,vf610-pit";
  120. reg = <0x40037000 0x1000>;
  121. interrupts = <0 39 0x04>;
  122. clocks = <&clks VF610_CLK_PIT>;
  123. clock-names = "pit";
  124. };
  125. wdog@4003e000 {
  126. compatible = "fsl,vf610-wdt", "fsl,imx21-wdt";
  127. reg = <0x4003e000 0x1000>;
  128. clocks = <&clks VF610_CLK_WDT>;
  129. clock-names = "wdog";
  130. };
  131. qspi0: quadspi@40044000 {
  132. #address-cells = <1>;
  133. #size-cells = <0>;
  134. compatible = "fsl,vf610-qspi";
  135. reg = <0x40044000 0x1000>;
  136. interrupts = <0 24 0x04>;
  137. clocks = <&clks VF610_CLK_QSPI0_EN>,
  138. <&clks VF610_CLK_QSPI0>;
  139. clock-names = "qspi_en", "qspi";
  140. status = "disabled";
  141. };
  142. iomuxc: iomuxc@40048000 {
  143. compatible = "fsl,vf610-iomuxc";
  144. reg = <0x40048000 0x1000>;
  145. #gpio-range-cells = <3>;
  146. /* functions and groups pins */
  147. dcu0 {
  148. pinctrl_dcu0_1: dcu0grp_1 {
  149. fsl,pins = <
  150. VF610_PAD_PTB8__GPIO_30 0x42
  151. VF610_PAD_PTE0__DCU0_HSYNC 0x42
  152. VF610_PAD_PTE1__DCU0_VSYNC 0x42
  153. VF610_PAD_PTE2__DCU0_PCLK 0x42
  154. VF610_PAD_PTE4__DCU0_DE 0x42
  155. VF610_PAD_PTE5__DCU0_R0 0x42
  156. VF610_PAD_PTE6__DCU0_R1 0x42
  157. VF610_PAD_PTE7__DCU0_R2 0x42
  158. VF610_PAD_PTE8__DCU0_R3 0x42
  159. VF610_PAD_PTE9__DCU0_R4 0x42
  160. VF610_PAD_PTE10__DCU0_R5 0x42
  161. VF610_PAD_PTE11__DCU0_R6 0x42
  162. VF610_PAD_PTE12__DCU0_R7 0x42
  163. VF610_PAD_PTE13__DCU0_G0 0x42
  164. VF610_PAD_PTE14__DCU0_G1 0x42
  165. VF610_PAD_PTE15__DCU0_G2 0x42
  166. VF610_PAD_PTE16__DCU0_G3 0x42
  167. VF610_PAD_PTE17__DCU0_G4 0x42
  168. VF610_PAD_PTE18__DCU0_G5 0x42
  169. VF610_PAD_PTE19__DCU0_G6 0x42
  170. VF610_PAD_PTE20__DCU0_G7 0x42
  171. VF610_PAD_PTE21__DCU0_B0 0x42
  172. VF610_PAD_PTE22__DCU0_B1 0x42
  173. VF610_PAD_PTE23__DCU0_B2 0x42
  174. VF610_PAD_PTE24__DCU0_B3 0x42
  175. VF610_PAD_PTE25__DCU0_B4 0x42
  176. VF610_PAD_PTE26__DCU0_B5 0x42
  177. VF610_PAD_PTE27__DCU0_B6 0x42
  178. VF610_PAD_PTE28__DCU0_B7 0x42
  179. >;
  180. };
  181. };
  182. dspi0 {
  183. pinctrl_dspi0_1: dspi0grp_1 {
  184. fsl,pins = <
  185. VF610_PAD_PTB19__DSPI0_CS0 0x1182
  186. VF610_PAD_PTB20__DSPI0_SIN 0x1181
  187. VF610_PAD_PTB21__DSPI0_SOUT 0x1182
  188. VF610_PAD_PTB22__DSPI0_SCK 0x1182
  189. >;
  190. };
  191. };
  192. esdhc1 {
  193. pinctrl_esdhc1_1: esdhc1grp_1 {
  194. fsl,pins = <
  195. VF610_PAD_PTA24__ESDHC1_CLK 0x31ef
  196. VF610_PAD_PTA25__ESDHC1_CMD 0x31ef
  197. VF610_PAD_PTA26__ESDHC1_DAT0 0x31ef
  198. VF610_PAD_PTA27__ESDHC1_DAT1 0x31ef
  199. VF610_PAD_PTA28__ESDHC1_DATA2 0x31ef
  200. VF610_PAD_PTA29__ESDHC1_DAT3 0x31ef
  201. VF610_PAD_PTA7__GPIO_134 0x219d
  202. >;
  203. };
  204. };
  205. fec0 {
  206. pinctrl_fec0_1: fec0grp_1 {
  207. fsl,pins = <
  208. VF610_PAD_PTA6__RMII_CLKIN 0x30d1
  209. VF610_PAD_PTC0__ENET_RMII0_MDC 0x30d3
  210. VF610_PAD_PTC1__ENET_RMII0_MDIO 0x30d1
  211. VF610_PAD_PTC2__ENET_RMII0_CRS 0x30d1
  212. VF610_PAD_PTC3__ENET_RMII0_RXD1 0x30d1
  213. VF610_PAD_PTC4__ENET_RMII0_RXD0 0x30d1
  214. VF610_PAD_PTC5__ENET_RMII0_RXER 0x30d1
  215. VF610_PAD_PTC6__ENET_RMII0_TXD1 0x30d2
  216. VF610_PAD_PTC7__ENET_RMII0_TXD0 0x30d2
  217. VF610_PAD_PTC8__ENET_RMII0_TXEN 0x30d2
  218. >;
  219. };
  220. };
  221. fec1 {
  222. pinctrl_fec1_1: fec1grp_1 {
  223. fsl,pins = <
  224. VF610_PAD_PTC9__ENET_RMII1_MDC 0x30d2
  225. VF610_PAD_PTC10__ENET_RMII1_MDIO 0x30d3
  226. VF610_PAD_PTC11__ENET_RMII1_CRS 0x30d1
  227. VF610_PAD_PTC12__ENET_RMII_RXD1 0x30d1
  228. VF610_PAD_PTC13__ENET_RMII1_RXD0 0x30d1
  229. VF610_PAD_PTC14__ENET_RMII1_RXER 0x30d1
  230. VF610_PAD_PTC15__ENET_RMII1_TXD1 0x30d2
  231. VF610_PAD_PTC16__ENET_RMII1_TXD0 0x30d2
  232. VF610_PAD_PTC17__ENET_RMII1_TXEN 0x30d2
  233. >;
  234. };
  235. };
  236. i2c0 {
  237. pinctrl_i2c0_1: i2c0grp_1 {
  238. fsl,pins = <
  239. VF610_PAD_PTB14__I2C0_SCL 0x30d3
  240. VF610_PAD_PTB15__I2C0_SDA 0x30d3
  241. >;
  242. };
  243. };
  244. pwm0 {
  245. pinctrl_pwm0_1: pwm0grp_1 {
  246. fsl,pins = <
  247. VF610_PAD_PTB0__FTM0_CH0 0x1582
  248. VF610_PAD_PTB1__FTM0_CH1 0x1582
  249. VF610_PAD_PTB2__FTM0_CH2 0x1582
  250. VF610_PAD_PTB3__FTM0_CH3 0x1582
  251. VF610_PAD_PTB6__FTM0_CH6 0x1582
  252. VF610_PAD_PTB7__FTM0_CH7 0x1582
  253. >;
  254. };
  255. };
  256. qspi0 {
  257. pinctrl_qspi0_1: qspi0grp_1 {
  258. fsl,pins = <
  259. VF610_PAD_PTD0__QSPI0_A_QSCK 0x307b
  260. VF610_PAD_PTD1__QSPI0_A_CS0 0x307f
  261. VF610_PAD_PTD2__QSPI0_A_DATA3 0x3073
  262. VF610_PAD_PTD3__QSPI0_A_DATA2 0x3073
  263. VF610_PAD_PTD4__QSPI0_A_DATA1 0x3073
  264. VF610_PAD_PTD5__QSPI0_A_DATA0 0x307b
  265. VF610_PAD_PTD7__QSPI0_B_QSCK 0x307b
  266. VF610_PAD_PTD8__QSPI0_B_CS0 0x307f
  267. VF610_PAD_PTD9__QSPI0_B_DATA3 0x3073
  268. VF610_PAD_PTD10__QSPI0_B_DATA2 0x3073
  269. VF610_PAD_PTD11__QSPI0_B_DATA1 0x3073
  270. VF610_PAD_PTD12__QSPI0_B_DATA0 0x307b
  271. >;
  272. };
  273. };
  274. sai2 {
  275. pinctrl_sai2_1: sai2grp_1 {
  276. fsl,pins = <
  277. VF610_PAD_PTA16__SAI2_TX_BCLK 0x02ed
  278. VF610_PAD_PTA18__SAI2_TX_DATA 0x02ee
  279. VF610_PAD_PTA19__SAI2_TX_SYNC 0x02ed
  280. VF610_PAD_PTA21__SAI2_RX_BCLK 0x02ed
  281. VF610_PAD_PTA22__SAI2_RX_DATA 0x02ed
  282. VF610_PAD_PTA23__SAI2_RX_SYNC 0x02ed
  283. VF610_PAD_PTB18__EXT_AUDIO_MCLK 0x02ed
  284. >;
  285. };
  286. };
  287. uart1 {
  288. pinctrl_uart1_1: uart1grp_1 {
  289. fsl,pins = <
  290. VF610_PAD_PTB4__UART1_TX 0x21a2
  291. VF610_PAD_PTB5__UART1_RX 0x21a1
  292. >;
  293. };
  294. };
  295. usbvbus {
  296. pinctrl_usbvbus_1: usbvbusgrp_1 {
  297. fsl,pins = <
  298. VF610_PAD_PTA24__USB1_VBUS_EN 0x219c
  299. VF610_PAD_PTA16__USB0_VBUS_EN 0x219c
  300. >;
  301. };
  302. };
  303. };
  304. gpio1: gpio@40049000 {
  305. compatible = "fsl,vf610-gpio";
  306. reg = <0x40049000 0x1000 0x400ff000 0x40>;
  307. interrupts = <0 107 0x04>;
  308. gpio-controller;
  309. #gpio-cells = <2>;
  310. interrupt-controller;
  311. #interrupt-cells = <2>;
  312. gpio-ranges = <&iomuxc 0 0 32>;
  313. };
  314. gpio2: gpio@4004a000 {
  315. compatible = "fsl,vf610-gpio";
  316. reg = <0x4004a000 0x1000 0x400ff040 0x40>;
  317. interrupts = <0 108 0x04>;
  318. gpio-controller;
  319. #gpio-cells = <2>;
  320. interrupt-controller;
  321. #interrupt-cells = <2>;
  322. gpio-ranges = <&iomuxc 0 32 32>;
  323. };
  324. gpio3: gpio@4004b000 {
  325. compatible = "fsl,vf610-gpio";
  326. reg = <0x4004b000 0x1000 0x400ff080 0x40>;
  327. interrupts = <0 109 0x04>;
  328. gpio-controller;
  329. #gpio-cells = <2>;
  330. interrupt-controller;
  331. #interrupt-cells = <2>;
  332. gpio-ranges = <&iomuxc 0 64 32>;
  333. };
  334. gpio4: gpio@4004c000 {
  335. compatible = "fsl,vf610-gpio";
  336. reg = <0x4004c000 0x1000 0x400ff0c0 0x40>;
  337. interrupts = <0 110 0x04>;
  338. gpio-controller;
  339. #gpio-cells = <2>;
  340. interrupt-controller;
  341. #interrupt-cells = <2>;
  342. gpio-ranges = <&iomuxc 0 96 32>;
  343. };
  344. gpio5: gpio@4004d000 {
  345. compatible = "fsl,vf610-gpio";
  346. reg = <0x4004d000 0x1000 0x400ff100 0x40>;
  347. interrupts = <0 111 0x04>;
  348. gpio-controller;
  349. #gpio-cells = <2>;
  350. interrupt-controller;
  351. #interrupt-cells = <2>;
  352. gpio-ranges = <&iomuxc 0 128 7>;
  353. };
  354. anatop@40050000 {
  355. compatible = "fsl,vf610-anatop";
  356. reg = <0x40050000 0x1000>;
  357. };
  358. i2c0: i2c@40066000 {
  359. #address-cells = <1>;
  360. #size-cells = <0>;
  361. compatible = "fsl,vf610-i2c";
  362. reg = <0x40066000 0x1000>;
  363. interrupts =<0 71 0x04>;
  364. clocks = <&clks VF610_CLK_I2C0>;
  365. clock-names = "ipg";
  366. status = "disabled";
  367. };
  368. clks: ccm@4006b000 {
  369. compatible = "fsl,vf610-ccm";
  370. reg = <0x4006b000 0x1000>;
  371. #clock-cells = <1>;
  372. };
  373. };
  374. aips1: aips-bus@40080000 {
  375. compatible = "fsl,aips-bus", "simple-bus";
  376. #address-cells = <1>;
  377. #size-cells = <1>;
  378. reg = <0x40080000 0x80000>;
  379. ranges;
  380. uart4: serial@400a9000 {
  381. compatible = "fsl,vf610-lpuart";
  382. reg = <0x400a9000 0x1000>;
  383. interrupts = <0 65 0x04>;
  384. clocks = <&clks VF610_CLK_UART4>;
  385. clock-names = "ipg";
  386. status = "disabled";
  387. };
  388. uart5: serial@400aa000 {
  389. compatible = "fsl,vf610-lpuart";
  390. reg = <0x400aa000 0x1000>;
  391. interrupts = <0 66 0x04>;
  392. clocks = <&clks VF610_CLK_UART5>;
  393. clock-names = "ipg";
  394. status = "disabled";
  395. };
  396. fec0: ethernet@400d0000 {
  397. compatible = "fsl,mvf600-fec";
  398. reg = <0x400d0000 0x1000>;
  399. interrupts = <0 78 0x04>;
  400. clocks = <&clks VF610_CLK_ENET0>,
  401. <&clks VF610_CLK_ENET0>,
  402. <&clks VF610_CLK_ENET>;
  403. clock-names = "ipg", "ahb", "ptp";
  404. status = "disabled";
  405. };
  406. fec1: ethernet@400d1000 {
  407. compatible = "fsl,mvf600-fec";
  408. reg = <0x400d1000 0x1000>;
  409. interrupts = <0 79 0x04>;
  410. clocks = <&clks VF610_CLK_ENET1>,
  411. <&clks VF610_CLK_ENET1>,
  412. <&clks VF610_CLK_ENET>;
  413. clock-names = "ipg", "ahb", "ptp";
  414. status = "disabled";
  415. };
  416. };
  417. };
  418. };