vf610.dtsi 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476
  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. dspi0: dspi0@4002c000 {
  111. #address-cells = <1>;
  112. #size-cells = <0>;
  113. compatible = "fsl,vf610-dspi";
  114. reg = <0x4002c000 0x1000>;
  115. interrupts = <0 67 0x04>;
  116. clocks = <&clks VF610_CLK_DSPI0>;
  117. clock-names = "dspi";
  118. spi-num-chipselects = <5>;
  119. status = "disabled";
  120. };
  121. sai2: sai@40031000 {
  122. compatible = "fsl,vf610-sai";
  123. reg = <0x40031000 0x1000>;
  124. interrupts = <0 86 0x04>;
  125. clocks = <&clks VF610_CLK_SAI2>;
  126. clock-names = "sai";
  127. status = "disabled";
  128. };
  129. pit: pit@40037000 {
  130. compatible = "fsl,vf610-pit";
  131. reg = <0x40037000 0x1000>;
  132. interrupts = <0 39 0x04>;
  133. clocks = <&clks VF610_CLK_PIT>;
  134. clock-names = "pit";
  135. };
  136. wdog@4003e000 {
  137. compatible = "fsl,vf610-wdt", "fsl,imx21-wdt";
  138. reg = <0x4003e000 0x1000>;
  139. clocks = <&clks VF610_CLK_WDT>;
  140. clock-names = "wdog";
  141. };
  142. qspi0: quadspi@40044000 {
  143. #address-cells = <1>;
  144. #size-cells = <0>;
  145. compatible = "fsl,vf610-qspi";
  146. reg = <0x40044000 0x1000>;
  147. interrupts = <0 24 0x04>;
  148. clocks = <&clks VF610_CLK_QSPI0_EN>,
  149. <&clks VF610_CLK_QSPI0>;
  150. clock-names = "qspi_en", "qspi";
  151. status = "disabled";
  152. };
  153. iomuxc: iomuxc@40048000 {
  154. compatible = "fsl,vf610-iomuxc";
  155. reg = <0x40048000 0x1000>;
  156. #gpio-range-cells = <3>;
  157. /* functions and groups pins */
  158. dcu0 {
  159. pinctrl_dcu0_1: dcu0grp_1 {
  160. fsl,pins = <
  161. VF610_PAD_PTB8__GPIO_30 0x42
  162. VF610_PAD_PTE0__DCU0_HSYNC 0x42
  163. VF610_PAD_PTE1__DCU0_VSYNC 0x42
  164. VF610_PAD_PTE2__DCU0_PCLK 0x42
  165. VF610_PAD_PTE4__DCU0_DE 0x42
  166. VF610_PAD_PTE5__DCU0_R0 0x42
  167. VF610_PAD_PTE6__DCU0_R1 0x42
  168. VF610_PAD_PTE7__DCU0_R2 0x42
  169. VF610_PAD_PTE8__DCU0_R3 0x42
  170. VF610_PAD_PTE9__DCU0_R4 0x42
  171. VF610_PAD_PTE10__DCU0_R5 0x42
  172. VF610_PAD_PTE11__DCU0_R6 0x42
  173. VF610_PAD_PTE12__DCU0_R7 0x42
  174. VF610_PAD_PTE13__DCU0_G0 0x42
  175. VF610_PAD_PTE14__DCU0_G1 0x42
  176. VF610_PAD_PTE15__DCU0_G2 0x42
  177. VF610_PAD_PTE16__DCU0_G3 0x42
  178. VF610_PAD_PTE17__DCU0_G4 0x42
  179. VF610_PAD_PTE18__DCU0_G5 0x42
  180. VF610_PAD_PTE19__DCU0_G6 0x42
  181. VF610_PAD_PTE20__DCU0_G7 0x42
  182. VF610_PAD_PTE21__DCU0_B0 0x42
  183. VF610_PAD_PTE22__DCU0_B1 0x42
  184. VF610_PAD_PTE23__DCU0_B2 0x42
  185. VF610_PAD_PTE24__DCU0_B3 0x42
  186. VF610_PAD_PTE25__DCU0_B4 0x42
  187. VF610_PAD_PTE26__DCU0_B5 0x42
  188. VF610_PAD_PTE27__DCU0_B6 0x42
  189. VF610_PAD_PTE28__DCU0_B7 0x42
  190. >;
  191. };
  192. };
  193. dspi0 {
  194. pinctrl_dspi0_1: dspi0grp_1 {
  195. fsl,pins = <
  196. VF610_PAD_PTB19__DSPI0_CS0 0x1182
  197. VF610_PAD_PTB20__DSPI0_SIN 0x1181
  198. VF610_PAD_PTB21__DSPI0_SOUT 0x1182
  199. VF610_PAD_PTB22__DSPI0_SCK 0x1182
  200. >;
  201. };
  202. };
  203. esdhc1 {
  204. pinctrl_esdhc1_1: esdhc1grp_1 {
  205. fsl,pins = <
  206. VF610_PAD_PTA24__ESDHC1_CLK 0x31ef
  207. VF610_PAD_PTA25__ESDHC1_CMD 0x31ef
  208. VF610_PAD_PTA26__ESDHC1_DAT0 0x31ef
  209. VF610_PAD_PTA27__ESDHC1_DAT1 0x31ef
  210. VF610_PAD_PTA28__ESDHC1_DATA2 0x31ef
  211. VF610_PAD_PTA29__ESDHC1_DAT3 0x31ef
  212. VF610_PAD_PTA7__GPIO_134 0x219d
  213. >;
  214. };
  215. };
  216. fec0 {
  217. pinctrl_fec0_1: fec0grp_1 {
  218. fsl,pins = <
  219. VF610_PAD_PTA6__RMII_CLKIN 0x30d1
  220. VF610_PAD_PTC0__ENET_RMII0_MDC 0x30d3
  221. VF610_PAD_PTC1__ENET_RMII0_MDIO 0x30d1
  222. VF610_PAD_PTC2__ENET_RMII0_CRS 0x30d1
  223. VF610_PAD_PTC3__ENET_RMII0_RXD1 0x30d1
  224. VF610_PAD_PTC4__ENET_RMII0_RXD0 0x30d1
  225. VF610_PAD_PTC5__ENET_RMII0_RXER 0x30d1
  226. VF610_PAD_PTC6__ENET_RMII0_TXD1 0x30d2
  227. VF610_PAD_PTC7__ENET_RMII0_TXD0 0x30d2
  228. VF610_PAD_PTC8__ENET_RMII0_TXEN 0x30d2
  229. >;
  230. };
  231. };
  232. fec1 {
  233. pinctrl_fec1_1: fec1grp_1 {
  234. fsl,pins = <
  235. VF610_PAD_PTC9__ENET_RMII1_MDC 0x30d2
  236. VF610_PAD_PTC10__ENET_RMII1_MDIO 0x30d3
  237. VF610_PAD_PTC11__ENET_RMII1_CRS 0x30d1
  238. VF610_PAD_PTC12__ENET_RMII_RXD1 0x30d1
  239. VF610_PAD_PTC13__ENET_RMII1_RXD0 0x30d1
  240. VF610_PAD_PTC14__ENET_RMII1_RXER 0x30d1
  241. VF610_PAD_PTC15__ENET_RMII1_TXD1 0x30d2
  242. VF610_PAD_PTC16__ENET_RMII1_TXD0 0x30d2
  243. VF610_PAD_PTC17__ENET_RMII1_TXEN 0x30d2
  244. >;
  245. };
  246. };
  247. i2c0 {
  248. pinctrl_i2c0_1: i2c0grp_1 {
  249. fsl,pins = <
  250. VF610_PAD_PTB14__I2C0_SCL 0x30d3
  251. VF610_PAD_PTB15__I2C0_SDA 0x30d3
  252. >;
  253. };
  254. };
  255. pwm0 {
  256. pinctrl_pwm0_1: pwm0grp_1 {
  257. fsl,pins = <
  258. VF610_PAD_PTB0__FTM0_CH0 0x1582
  259. VF610_PAD_PTB1__FTM0_CH1 0x1582
  260. VF610_PAD_PTB2__FTM0_CH2 0x1582
  261. VF610_PAD_PTB3__FTM0_CH3 0x1582
  262. VF610_PAD_PTB6__FTM0_CH6 0x1582
  263. VF610_PAD_PTB7__FTM0_CH7 0x1582
  264. >;
  265. };
  266. };
  267. qspi0 {
  268. pinctrl_qspi0_1: qspi0grp_1 {
  269. fsl,pins = <
  270. VF610_PAD_PTD0__QSPI0_A_QSCK 0x307b
  271. VF610_PAD_PTD1__QSPI0_A_CS0 0x307f
  272. VF610_PAD_PTD2__QSPI0_A_DATA3 0x3073
  273. VF610_PAD_PTD3__QSPI0_A_DATA2 0x3073
  274. VF610_PAD_PTD4__QSPI0_A_DATA1 0x3073
  275. VF610_PAD_PTD5__QSPI0_A_DATA0 0x307b
  276. VF610_PAD_PTD7__QSPI0_B_QSCK 0x307b
  277. VF610_PAD_PTD8__QSPI0_B_CS0 0x307f
  278. VF610_PAD_PTD9__QSPI0_B_DATA3 0x3073
  279. VF610_PAD_PTD10__QSPI0_B_DATA2 0x3073
  280. VF610_PAD_PTD11__QSPI0_B_DATA1 0x3073
  281. VF610_PAD_PTD12__QSPI0_B_DATA0 0x307b
  282. >;
  283. };
  284. };
  285. sai2 {
  286. pinctrl_sai2_1: sai2grp_1 {
  287. fsl,pins = <
  288. VF610_PAD_PTA16__SAI2_TX_BCLK 0x02ed
  289. VF610_PAD_PTA18__SAI2_TX_DATA 0x02ee
  290. VF610_PAD_PTA19__SAI2_TX_SYNC 0x02ed
  291. VF610_PAD_PTA21__SAI2_RX_BCLK 0x02ed
  292. VF610_PAD_PTA22__SAI2_RX_DATA 0x02ed
  293. VF610_PAD_PTA23__SAI2_RX_SYNC 0x02ed
  294. VF610_PAD_PTB18__EXT_AUDIO_MCLK 0x02ed
  295. >;
  296. };
  297. };
  298. uart1 {
  299. pinctrl_uart1_1: uart1grp_1 {
  300. fsl,pins = <
  301. VF610_PAD_PTB4__UART1_TX 0x21a2
  302. VF610_PAD_PTB5__UART1_RX 0x21a1
  303. >;
  304. };
  305. };
  306. usbvbus {
  307. pinctrl_usbvbus_1: usbvbusgrp_1 {
  308. fsl,pins = <
  309. VF610_PAD_PTA24__USB1_VBUS_EN 0x219c
  310. VF610_PAD_PTA16__USB0_VBUS_EN 0x219c
  311. >;
  312. };
  313. };
  314. };
  315. gpio1: gpio@40049000 {
  316. compatible = "fsl,vf610-gpio";
  317. reg = <0x40049000 0x1000 0x400ff000 0x40>;
  318. interrupts = <0 107 0x04>;
  319. gpio-controller;
  320. #gpio-cells = <2>;
  321. interrupt-controller;
  322. #interrupt-cells = <2>;
  323. gpio-ranges = <&iomuxc 0 0 32>;
  324. };
  325. gpio2: gpio@4004a000 {
  326. compatible = "fsl,vf610-gpio";
  327. reg = <0x4004a000 0x1000 0x400ff040 0x40>;
  328. interrupts = <0 108 0x04>;
  329. gpio-controller;
  330. #gpio-cells = <2>;
  331. interrupt-controller;
  332. #interrupt-cells = <2>;
  333. gpio-ranges = <&iomuxc 0 32 32>;
  334. };
  335. gpio3: gpio@4004b000 {
  336. compatible = "fsl,vf610-gpio";
  337. reg = <0x4004b000 0x1000 0x400ff080 0x40>;
  338. interrupts = <0 109 0x04>;
  339. gpio-controller;
  340. #gpio-cells = <2>;
  341. interrupt-controller;
  342. #interrupt-cells = <2>;
  343. gpio-ranges = <&iomuxc 0 64 32>;
  344. };
  345. gpio4: gpio@4004c000 {
  346. compatible = "fsl,vf610-gpio";
  347. reg = <0x4004c000 0x1000 0x400ff0c0 0x40>;
  348. interrupts = <0 110 0x04>;
  349. gpio-controller;
  350. #gpio-cells = <2>;
  351. interrupt-controller;
  352. #interrupt-cells = <2>;
  353. gpio-ranges = <&iomuxc 0 96 32>;
  354. };
  355. gpio5: gpio@4004d000 {
  356. compatible = "fsl,vf610-gpio";
  357. reg = <0x4004d000 0x1000 0x400ff100 0x40>;
  358. interrupts = <0 111 0x04>;
  359. gpio-controller;
  360. #gpio-cells = <2>;
  361. interrupt-controller;
  362. #interrupt-cells = <2>;
  363. gpio-ranges = <&iomuxc 0 128 7>;
  364. };
  365. anatop@40050000 {
  366. compatible = "fsl,vf610-anatop";
  367. reg = <0x40050000 0x1000>;
  368. };
  369. i2c0: i2c@40066000 {
  370. #address-cells = <1>;
  371. #size-cells = <0>;
  372. compatible = "fsl,vf610-i2c";
  373. reg = <0x40066000 0x1000>;
  374. interrupts =<0 71 0x04>;
  375. clocks = <&clks VF610_CLK_I2C0>;
  376. clock-names = "ipg";
  377. status = "disabled";
  378. };
  379. clks: ccm@4006b000 {
  380. compatible = "fsl,vf610-ccm";
  381. reg = <0x4006b000 0x1000>;
  382. #clock-cells = <1>;
  383. };
  384. };
  385. aips1: aips-bus@40080000 {
  386. compatible = "fsl,aips-bus", "simple-bus";
  387. #address-cells = <1>;
  388. #size-cells = <1>;
  389. reg = <0x40080000 0x80000>;
  390. ranges;
  391. uart4: serial@400a9000 {
  392. compatible = "fsl,vf610-lpuart";
  393. reg = <0x400a9000 0x1000>;
  394. interrupts = <0 65 0x04>;
  395. clocks = <&clks VF610_CLK_UART4>;
  396. clock-names = "ipg";
  397. status = "disabled";
  398. };
  399. uart5: serial@400aa000 {
  400. compatible = "fsl,vf610-lpuart";
  401. reg = <0x400aa000 0x1000>;
  402. interrupts = <0 66 0x04>;
  403. clocks = <&clks VF610_CLK_UART5>;
  404. clock-names = "ipg";
  405. status = "disabled";
  406. };
  407. fec0: ethernet@400d0000 {
  408. compatible = "fsl,mvf600-fec";
  409. reg = <0x400d0000 0x1000>;
  410. interrupts = <0 78 0x04>;
  411. clocks = <&clks VF610_CLK_ENET0>,
  412. <&clks VF610_CLK_ENET0>,
  413. <&clks VF610_CLK_ENET>;
  414. clock-names = "ipg", "ahb", "ptp";
  415. status = "disabled";
  416. };
  417. fec1: ethernet@400d1000 {
  418. compatible = "fsl,mvf600-fec";
  419. reg = <0x400d1000 0x1000>;
  420. interrupts = <0 79 0x04>;
  421. clocks = <&clks VF610_CLK_ENET1>,
  422. <&clks VF610_CLK_ENET1>,
  423. <&clks VF610_CLK_ENET>;
  424. clock-names = "ipg", "ahb", "ptp";
  425. status = "disabled";
  426. };
  427. };
  428. };
  429. };