vfxxx.dtsi 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756
  1. // SPDX-License-Identifier: (GPL-2.0 OR MIT)
  2. //
  3. // Copyright 2013 Freescale Semiconductor, Inc.
  4. #include "vf610-pinfunc.h"
  5. #include <dt-bindings/clock/vf610-clock.h>
  6. #include <dt-bindings/interrupt-controller/irq.h>
  7. #include <dt-bindings/gpio/gpio.h>
  8. / {
  9. aliases {
  10. can0 = &can0;
  11. can1 = &can1;
  12. ethernet0 = &fec0;
  13. ethernet1 = &fec1;
  14. serial0 = &uart0;
  15. serial1 = &uart1;
  16. serial2 = &uart2;
  17. serial3 = &uart3;
  18. serial4 = &uart4;
  19. serial5 = &uart5;
  20. gpio0 = &gpio0;
  21. gpio1 = &gpio1;
  22. gpio2 = &gpio2;
  23. gpio3 = &gpio3;
  24. gpio4 = &gpio4;
  25. usbphy0 = &usbphy0;
  26. usbphy1 = &usbphy1;
  27. };
  28. fxosc: fxosc {
  29. compatible = "fixed-clock";
  30. #clock-cells = <0>;
  31. clock-frequency = <24000000>;
  32. };
  33. sxosc: sxosc {
  34. compatible = "fixed-clock";
  35. #clock-cells = <0>;
  36. clock-frequency = <32768>;
  37. };
  38. reboot: syscon-reboot {
  39. compatible = "syscon-reboot";
  40. regmap = <&src>;
  41. offset = <0x0>;
  42. mask = <0x1000>;
  43. };
  44. tempsensor: iio-hwmon {
  45. compatible = "iio-hwmon";
  46. io-channels = <&adc0 16>, <&adc1 16>;
  47. };
  48. soc {
  49. #address-cells = <1>;
  50. #size-cells = <1>;
  51. compatible = "simple-bus";
  52. interrupt-parent = <&mscm_ir>;
  53. ranges;
  54. aips0: bus@40000000 {
  55. compatible = "fsl,aips-bus", "simple-bus";
  56. #address-cells = <1>;
  57. #size-cells = <1>;
  58. reg = <0x40000000 0x00070000>;
  59. ranges;
  60. mscm_cpucfg: cpucfg@40001000 {
  61. compatible = "fsl,vf610-mscm-cpucfg", "syscon";
  62. reg = <0x40001000 0x800>;
  63. };
  64. mscm_ir: interrupt-controller@40001800 {
  65. compatible = "fsl,vf610-mscm-ir";
  66. reg = <0x40001800 0x400>;
  67. fsl,cpucfg = <&mscm_cpucfg>;
  68. interrupt-controller;
  69. #interrupt-cells = <2>;
  70. };
  71. edma0: dma-controller@40018000 {
  72. #dma-cells = <2>;
  73. compatible = "fsl,vf610-edma";
  74. reg = <0x40018000 0x2000>,
  75. <0x40024000 0x1000>,
  76. <0x40025000 0x1000>;
  77. dma-channels = <32>;
  78. interrupts = <8 IRQ_TYPE_LEVEL_HIGH>,
  79. <9 IRQ_TYPE_LEVEL_HIGH>;
  80. interrupt-names = "edma-tx", "edma-err";
  81. clock-names = "dmamux0", "dmamux1";
  82. clocks = <&clks VF610_CLK_DMAMUX0>,
  83. <&clks VF610_CLK_DMAMUX1>;
  84. status = "disabled";
  85. };
  86. can0: can@40020000 {
  87. compatible = "fsl,vf610-flexcan";
  88. reg = <0x40020000 0x4000>;
  89. interrupts = <58 IRQ_TYPE_LEVEL_HIGH>;
  90. clocks = <&clks VF610_CLK_FLEXCAN0>,
  91. <&clks VF610_CLK_FLEXCAN0>;
  92. clock-names = "ipg", "per";
  93. status = "disabled";
  94. };
  95. uart0: serial@40027000 {
  96. compatible = "fsl,vf610-lpuart";
  97. reg = <0x40027000 0x1000>;
  98. interrupts = <61 IRQ_TYPE_LEVEL_HIGH>;
  99. clocks = <&clks VF610_CLK_UART0>;
  100. clock-names = "ipg";
  101. dmas = <&edma0 0 2>,
  102. <&edma0 0 3>;
  103. dma-names = "rx","tx";
  104. status = "disabled";
  105. };
  106. uart1: serial@40028000 {
  107. compatible = "fsl,vf610-lpuart";
  108. reg = <0x40028000 0x1000>;
  109. interrupts = <62 IRQ_TYPE_LEVEL_HIGH>;
  110. clocks = <&clks VF610_CLK_UART1>;
  111. clock-names = "ipg";
  112. dmas = <&edma0 0 4>,
  113. <&edma0 0 5>;
  114. dma-names = "rx","tx";
  115. status = "disabled";
  116. };
  117. uart2: serial@40029000 {
  118. compatible = "fsl,vf610-lpuart";
  119. reg = <0x40029000 0x1000>;
  120. interrupts = <63 IRQ_TYPE_LEVEL_HIGH>;
  121. clocks = <&clks VF610_CLK_UART2>;
  122. clock-names = "ipg";
  123. dmas = <&edma0 0 6>,
  124. <&edma0 0 7>;
  125. dma-names = "rx","tx";
  126. status = "disabled";
  127. };
  128. uart3: serial@4002a000 {
  129. compatible = "fsl,vf610-lpuart";
  130. reg = <0x4002a000 0x1000>;
  131. interrupts = <64 IRQ_TYPE_LEVEL_HIGH>;
  132. clocks = <&clks VF610_CLK_UART3>;
  133. clock-names = "ipg";
  134. dmas = <&edma0 0 8>,
  135. <&edma0 0 9>;
  136. dma-names = "rx","tx";
  137. status = "disabled";
  138. };
  139. dspi0: spi@4002c000 {
  140. #address-cells = <1>;
  141. #size-cells = <0>;
  142. compatible = "fsl,vf610-dspi";
  143. reg = <0x4002c000 0x1000>;
  144. interrupts = <67 IRQ_TYPE_LEVEL_HIGH>;
  145. clocks = <&clks VF610_CLK_DSPI0>;
  146. clock-names = "dspi";
  147. spi-num-chipselects = <6>;
  148. dmas = <&edma1 1 12>,
  149. <&edma1 1 13>;
  150. dma-names = "rx", "tx";
  151. status = "disabled";
  152. };
  153. dspi1: spi@4002d000 {
  154. #address-cells = <1>;
  155. #size-cells = <0>;
  156. compatible = "fsl,vf610-dspi";
  157. reg = <0x4002d000 0x1000>;
  158. interrupts = <68 IRQ_TYPE_LEVEL_HIGH>;
  159. clocks = <&clks VF610_CLK_DSPI1>;
  160. clock-names = "dspi";
  161. spi-num-chipselects = <4>;
  162. dmas = <&edma1 1 14>,
  163. <&edma1 1 15>;
  164. dma-names = "rx", "tx";
  165. status = "disabled";
  166. };
  167. sai0: sai@4002f000 {
  168. compatible = "fsl,vf610-sai";
  169. reg = <0x4002f000 0x1000>;
  170. interrupts = <84 IRQ_TYPE_LEVEL_HIGH>;
  171. clocks = <&clks VF610_CLK_SAI0>,
  172. <&clks VF610_CLK_SAI0_DIV>,
  173. <&clks 0>, <&clks 0>;
  174. clock-names = "bus", "mclk1", "mclk2", "mclk3";
  175. dma-names = "tx", "rx";
  176. dmas = <&edma0 0 17>,
  177. <&edma0 0 16>;
  178. status = "disabled";
  179. };
  180. sai1: sai@40030000 {
  181. compatible = "fsl,vf610-sai";
  182. reg = <0x40030000 0x1000>;
  183. interrupts = <85 IRQ_TYPE_LEVEL_HIGH>;
  184. clocks = <&clks VF610_CLK_SAI1>,
  185. <&clks VF610_CLK_SAI1_DIV>,
  186. <&clks 0>, <&clks 0>;
  187. clock-names = "bus", "mclk1", "mclk2", "mclk3";
  188. dma-names = "tx", "rx";
  189. dmas = <&edma0 0 19>,
  190. <&edma0 0 18>;
  191. status = "disabled";
  192. };
  193. sai2: sai@40031000 {
  194. compatible = "fsl,vf610-sai";
  195. reg = <0x40031000 0x1000>;
  196. interrupts = <86 IRQ_TYPE_LEVEL_HIGH>;
  197. clocks = <&clks VF610_CLK_SAI2>,
  198. <&clks VF610_CLK_SAI2_DIV>,
  199. <&clks 0>, <&clks 0>;
  200. clock-names = "bus", "mclk1", "mclk2", "mclk3";
  201. dma-names = "tx", "rx";
  202. dmas = <&edma0 0 21>,
  203. <&edma0 0 20>;
  204. status = "disabled";
  205. };
  206. sai3: sai@40032000 {
  207. compatible = "fsl,vf610-sai";
  208. reg = <0x40032000 0x1000>;
  209. interrupts = <87 IRQ_TYPE_LEVEL_HIGH>;
  210. clocks = <&clks VF610_CLK_SAI3>,
  211. <&clks VF610_CLK_SAI3_DIV>,
  212. <&clks 0>, <&clks 0>;
  213. clock-names = "bus", "mclk1", "mclk2", "mclk3";
  214. dma-names = "tx", "rx";
  215. dmas = <&edma0 1 9>,
  216. <&edma0 1 8>;
  217. status = "disabled";
  218. };
  219. pit: pit@40037000 {
  220. compatible = "fsl,vf610-pit";
  221. reg = <0x40037000 0x1000>;
  222. interrupts = <39 IRQ_TYPE_LEVEL_HIGH>;
  223. clocks = <&clks VF610_CLK_PIT>;
  224. clock-names = "pit";
  225. };
  226. pwm0: pwm@40038000 {
  227. compatible = "fsl,vf610-ftm-pwm";
  228. #pwm-cells = <3>;
  229. reg = <0x40038000 0x1000>;
  230. clock-names = "ftm_sys", "ftm_ext",
  231. "ftm_fix", "ftm_cnt_clk_en";
  232. clocks = <&clks VF610_CLK_FTM0>,
  233. <&clks VF610_CLK_FTM0_EXT_SEL>,
  234. <&clks VF610_CLK_FTM0_FIX_SEL>,
  235. <&clks VF610_CLK_FTM0_EXT_FIX_EN>;
  236. status = "disabled";
  237. };
  238. pwm1: pwm@40039000 {
  239. compatible = "fsl,vf610-ftm-pwm";
  240. #pwm-cells = <3>;
  241. reg = <0x40039000 0x1000>;
  242. clock-names = "ftm_sys", "ftm_ext",
  243. "ftm_fix", "ftm_cnt_clk_en";
  244. clocks = <&clks VF610_CLK_FTM1>,
  245. <&clks VF610_CLK_FTM1_EXT_SEL>,
  246. <&clks VF610_CLK_FTM1_FIX_SEL>,
  247. <&clks VF610_CLK_FTM1_EXT_FIX_EN>;
  248. status = "disabled";
  249. };
  250. adc0: adc@4003b000 {
  251. compatible = "fsl,vf610-adc";
  252. reg = <0x4003b000 0x1000>;
  253. interrupts = <53 IRQ_TYPE_LEVEL_HIGH>;
  254. clocks = <&clks VF610_CLK_ADC0>;
  255. clock-names = "adc";
  256. #io-channel-cells = <1>;
  257. status = "disabled";
  258. fsl,adck-max-frequency = <30000000>, <40000000>,
  259. <20000000>;
  260. };
  261. tcon0: timing-controller@4003d000 {
  262. compatible = "fsl,vf610-tcon";
  263. reg = <0x4003d000 0x1000>;
  264. clocks = <&clks VF610_CLK_TCON0>;
  265. clock-names = "ipg";
  266. status = "disabled";
  267. };
  268. wdoga5: watchdog@4003e000 {
  269. compatible = "fsl,vf610-wdt", "fsl,imx21-wdt";
  270. reg = <0x4003e000 0x1000>;
  271. interrupts = <20 IRQ_TYPE_LEVEL_HIGH>;
  272. clocks = <&clks VF610_CLK_WDT>;
  273. clock-names = "wdog";
  274. status = "disabled";
  275. };
  276. qspi0: spi@40044000 {
  277. #address-cells = <1>;
  278. #size-cells = <0>;
  279. compatible = "fsl,vf610-qspi";
  280. reg = <0x40044000 0x1000>, <0x20000000 0x10000000>;
  281. reg-names = "QuadSPI", "QuadSPI-memory";
  282. interrupts = <24 IRQ_TYPE_LEVEL_HIGH>;
  283. clocks = <&clks VF610_CLK_QSPI0_EN>,
  284. <&clks VF610_CLK_QSPI0>;
  285. clock-names = "qspi_en", "qspi";
  286. status = "disabled";
  287. };
  288. iomuxc: iomuxc@40048000 {
  289. compatible = "fsl,vf610-iomuxc";
  290. reg = <0x40048000 0x1000>;
  291. };
  292. gpio0: gpio@40049000 {
  293. compatible = "fsl,vf610-gpio";
  294. reg = <0x40049000 0x1000 0x400ff000 0x40>;
  295. gpio-controller;
  296. #gpio-cells = <2>;
  297. interrupts = <107 IRQ_TYPE_LEVEL_HIGH>;
  298. interrupt-controller;
  299. #interrupt-cells = <2>;
  300. gpio-ranges = <&iomuxc 0 0 32>;
  301. };
  302. gpio1: gpio@4004a000 {
  303. compatible = "fsl,vf610-gpio";
  304. reg = <0x4004a000 0x1000 0x400ff040 0x40>;
  305. gpio-controller;
  306. #gpio-cells = <2>;
  307. interrupts = <108 IRQ_TYPE_LEVEL_HIGH>;
  308. interrupt-controller;
  309. #interrupt-cells = <2>;
  310. gpio-ranges = <&iomuxc 0 32 32>;
  311. };
  312. gpio2: gpio@4004b000 {
  313. compatible = "fsl,vf610-gpio";
  314. reg = <0x4004b000 0x1000 0x400ff080 0x40>;
  315. gpio-controller;
  316. #gpio-cells = <2>;
  317. interrupts = <109 IRQ_TYPE_LEVEL_HIGH>;
  318. interrupt-controller;
  319. #interrupt-cells = <2>;
  320. gpio-ranges = <&iomuxc 0 64 32>;
  321. };
  322. gpio3: gpio@4004c000 {
  323. compatible = "fsl,vf610-gpio";
  324. reg = <0x4004c000 0x1000 0x400ff0c0 0x40>;
  325. gpio-controller;
  326. #gpio-cells = <2>;
  327. interrupts = <110 IRQ_TYPE_LEVEL_HIGH>;
  328. interrupt-controller;
  329. #interrupt-cells = <2>;
  330. gpio-ranges = <&iomuxc 0 96 32>;
  331. };
  332. gpio4: gpio@4004d000 {
  333. compatible = "fsl,vf610-gpio";
  334. reg = <0x4004d000 0x1000 0x400ff100 0x40>;
  335. gpio-controller;
  336. #gpio-cells = <2>;
  337. interrupts = <111 IRQ_TYPE_LEVEL_HIGH>;
  338. interrupt-controller;
  339. #interrupt-cells = <2>;
  340. gpio-ranges = <&iomuxc 0 128 7>;
  341. };
  342. anatop: anatop@40050000 {
  343. compatible = "fsl,vf610-anatop", "syscon";
  344. reg = <0x40050000 0x400>;
  345. };
  346. usbphy0: usbphy@40050800 {
  347. compatible = "fsl,vf610-usbphy";
  348. reg = <0x40050800 0x400>;
  349. interrupts = <50 IRQ_TYPE_LEVEL_HIGH>;
  350. clocks = <&clks VF610_CLK_USBPHY0>;
  351. fsl,anatop = <&anatop>;
  352. status = "disabled";
  353. };
  354. usbphy1: usbphy@40050c00 {
  355. compatible = "fsl,vf610-usbphy";
  356. reg = <0x40050c00 0x400>;
  357. interrupts = <51 IRQ_TYPE_LEVEL_HIGH>;
  358. clocks = <&clks VF610_CLK_USBPHY1>;
  359. fsl,anatop = <&anatop>;
  360. status = "disabled";
  361. };
  362. dcu0: dcu@40058000 {
  363. compatible = "fsl,vf610-dcu";
  364. reg = <0x40058000 0x1200>;
  365. interrupts = <30 IRQ_TYPE_LEVEL_HIGH>;
  366. clocks = <&clks VF610_CLK_DCU0>,
  367. <&clks VF610_CLK_DCU0_DIV>;
  368. clock-names = "dcu", "pix";
  369. fsl,tcon = <&tcon0>;
  370. status = "disabled";
  371. };
  372. i2c0: i2c@40066000 {
  373. #address-cells = <1>;
  374. #size-cells = <0>;
  375. compatible = "fsl,vf610-i2c";
  376. reg = <0x40066000 0x1000>;
  377. interrupts = <71 IRQ_TYPE_LEVEL_HIGH>;
  378. clocks = <&clks VF610_CLK_I2C0>;
  379. clock-names = "ipg";
  380. dmas = <&edma0 0 50>,
  381. <&edma0 0 51>;
  382. dma-names = "rx","tx";
  383. status = "disabled";
  384. };
  385. i2c1: i2c@40067000 {
  386. #address-cells = <1>;
  387. #size-cells = <0>;
  388. compatible = "fsl,vf610-i2c";
  389. reg = <0x40067000 0x1000>;
  390. interrupts = <72 IRQ_TYPE_LEVEL_HIGH>;
  391. clocks = <&clks VF610_CLK_I2C1>;
  392. clock-names = "ipg";
  393. dmas = <&edma0 0 52>,
  394. <&edma0 0 53>;
  395. dma-names = "rx","tx";
  396. status = "disabled";
  397. };
  398. clks: ccm@4006b000 {
  399. compatible = "fsl,vf610-ccm";
  400. reg = <0x4006b000 0x1000>;
  401. clocks = <&sxosc>, <&fxosc>;
  402. clock-names = "sxosc", "fxosc";
  403. #clock-cells = <1>;
  404. };
  405. usbdev0: usb@40034000 {
  406. compatible = "fsl,vf610-usb", "fsl,imx27-usb";
  407. reg = <0x40034000 0x800>;
  408. interrupts = <75 IRQ_TYPE_LEVEL_HIGH>;
  409. clocks = <&clks VF610_CLK_USBC0>;
  410. fsl,usbphy = <&usbphy0>;
  411. fsl,usbmisc = <&usbmisc0 0>;
  412. dr_mode = "peripheral";
  413. status = "disabled";
  414. };
  415. usbmisc0: usb@40034800 {
  416. #index-cells = <1>;
  417. compatible = "fsl,vf610-usbmisc";
  418. reg = <0x40034800 0x200>;
  419. clocks = <&clks VF610_CLK_USBC0>;
  420. status = "disabled";
  421. };
  422. src: src@4006e000 {
  423. compatible = "fsl,vf610-src", "syscon";
  424. reg = <0x4006e000 0x1000>;
  425. interrupts = <96 IRQ_TYPE_LEVEL_HIGH>;
  426. };
  427. };
  428. aips1: bus@40080000 {
  429. compatible = "fsl,aips-bus", "simple-bus";
  430. #address-cells = <1>;
  431. #size-cells = <1>;
  432. reg = <0x40080000 0x0007f000>;
  433. ranges;
  434. edma1: dma-controller@40098000 {
  435. #dma-cells = <2>;
  436. compatible = "fsl,vf610-edma";
  437. reg = <0x40098000 0x2000>,
  438. <0x400a1000 0x1000>,
  439. <0x400a2000 0x1000>;
  440. dma-channels = <32>;
  441. interrupts = <10 IRQ_TYPE_LEVEL_HIGH>,
  442. <11 IRQ_TYPE_LEVEL_HIGH>;
  443. interrupt-names = "edma-tx", "edma-err";
  444. clock-names = "dmamux0", "dmamux1";
  445. clocks = <&clks VF610_CLK_DMAMUX2>,
  446. <&clks VF610_CLK_DMAMUX3>;
  447. status = "disabled";
  448. };
  449. ocotp: ocotp@400a5000 {
  450. compatible = "fsl,vf610-ocotp", "syscon";
  451. reg = <0x400a5000 0x1000>;
  452. clocks = <&clks VF610_CLK_OCOTP>;
  453. };
  454. snvs0: snvs@400a7000 {
  455. compatible = "fsl,sec-v4.0-mon", "syscon", "simple-mfd";
  456. reg = <0x400a7000 0x2000>;
  457. snvsrtc: snvs-rtc-lp {
  458. compatible = "fsl,sec-v4.0-mon-rtc-lp";
  459. regmap = <&snvs0>;
  460. offset = <0x34>;
  461. interrupts = <100 IRQ_TYPE_LEVEL_HIGH>;
  462. clocks = <&clks VF610_CLK_SNVS>;
  463. clock-names = "snvs-rtc";
  464. };
  465. };
  466. uart4: serial@400a9000 {
  467. compatible = "fsl,vf610-lpuart";
  468. reg = <0x400a9000 0x1000>;
  469. interrupts = <65 IRQ_TYPE_LEVEL_HIGH>;
  470. clocks = <&clks VF610_CLK_UART4>;
  471. clock-names = "ipg";
  472. status = "disabled";
  473. };
  474. uart5: serial@400aa000 {
  475. compatible = "fsl,vf610-lpuart";
  476. reg = <0x400aa000 0x1000>;
  477. interrupts = <66 IRQ_TYPE_LEVEL_HIGH>;
  478. clocks = <&clks VF610_CLK_UART5>;
  479. clock-names = "ipg";
  480. status = "disabled";
  481. };
  482. dspi2: spi@400ac000 {
  483. #address-cells = <1>;
  484. #size-cells = <0>;
  485. compatible = "fsl,vf610-dspi";
  486. reg = <0x400ac000 0x1000>;
  487. interrupts = <69 IRQ_TYPE_LEVEL_HIGH>;
  488. clocks = <&clks VF610_CLK_DSPI2>;
  489. clock-names = "dspi";
  490. spi-num-chipselects = <2>;
  491. dmas = <&edma1 0 10>,
  492. <&edma1 0 11>;
  493. dma-names = "rx", "tx";
  494. status = "disabled";
  495. };
  496. dspi3: spi@400ad000 {
  497. #address-cells = <1>;
  498. #size-cells = <0>;
  499. compatible = "fsl,vf610-dspi";
  500. reg = <0x400ad000 0x1000>;
  501. interrupts = <70 IRQ_TYPE_LEVEL_HIGH>;
  502. clocks = <&clks VF610_CLK_DSPI3>;
  503. clock-names = "dspi";
  504. spi-num-chipselects = <2>;
  505. dmas = <&edma1 0 12>,
  506. <&edma1 0 13>;
  507. dma-names = "rx", "tx";
  508. status = "disabled";
  509. };
  510. adc1: adc@400bb000 {
  511. compatible = "fsl,vf610-adc";
  512. reg = <0x400bb000 0x1000>;
  513. interrupts = <54 IRQ_TYPE_LEVEL_HIGH>;
  514. clocks = <&clks VF610_CLK_ADC1>;
  515. clock-names = "adc";
  516. #io-channel-cells = <1>;
  517. status = "disabled";
  518. fsl,adck-max-frequency = <30000000>, <40000000>,
  519. <20000000>;
  520. };
  521. esdhc0: esdhc@400b1000 {
  522. compatible = "fsl,imx53-esdhc";
  523. reg = <0x400b1000 0x1000>;
  524. interrupts = <27 IRQ_TYPE_LEVEL_HIGH>;
  525. clocks = <&clks VF610_CLK_IPG_BUS>,
  526. <&clks VF610_CLK_PLATFORM_BUS>,
  527. <&clks VF610_CLK_ESDHC0>;
  528. clock-names = "ipg", "ahb", "per";
  529. status = "disabled";
  530. };
  531. esdhc1: esdhc@400b2000 {
  532. compatible = "fsl,imx53-esdhc";
  533. reg = <0x400b2000 0x1000>;
  534. interrupts = <28 IRQ_TYPE_LEVEL_HIGH>;
  535. clocks = <&clks VF610_CLK_IPG_BUS>,
  536. <&clks VF610_CLK_PLATFORM_BUS>,
  537. <&clks VF610_CLK_ESDHC1>;
  538. clock-names = "ipg", "ahb", "per";
  539. status = "disabled";
  540. };
  541. usbh1: usb@400b4000 {
  542. compatible = "fsl,vf610-usb", "fsl,imx27-usb";
  543. reg = <0x400b4000 0x800>;
  544. interrupts = <76 IRQ_TYPE_LEVEL_HIGH>;
  545. clocks = <&clks VF610_CLK_USBC1>;
  546. fsl,usbphy = <&usbphy1>;
  547. fsl,usbmisc = <&usbmisc1 0>;
  548. dr_mode = "host";
  549. status = "disabled";
  550. };
  551. usbmisc1: usb@400b4800 {
  552. #index-cells = <1>;
  553. compatible = "fsl,vf610-usbmisc";
  554. reg = <0x400b4800 0x200>;
  555. clocks = <&clks VF610_CLK_USBC1>;
  556. status = "disabled";
  557. };
  558. ftm: ftm@400b8000 {
  559. compatible = "fsl,ftm-timer";
  560. reg = <0x400b8000 0x1000 0x400b9000 0x1000>;
  561. interrupts = <44 IRQ_TYPE_LEVEL_HIGH>;
  562. clock-names = "ftm-evt", "ftm-src",
  563. "ftm-evt-counter-en", "ftm-src-counter-en";
  564. clocks = <&clks VF610_CLK_FTM2>,
  565. <&clks VF610_CLK_FTM3>,
  566. <&clks VF610_CLK_FTM2_EXT_FIX_EN>,
  567. <&clks VF610_CLK_FTM3_EXT_FIX_EN>;
  568. status = "disabled";
  569. };
  570. qspi1: spi@400c4000 {
  571. #address-cells = <1>;
  572. #size-cells = <0>;
  573. compatible = "fsl,vf610-qspi";
  574. reg = <0x400c4000 0x1000>, <0x50000000 0x10000000>;
  575. reg-names = "QuadSPI", "QuadSPI-memory";
  576. interrupts = <25 IRQ_TYPE_LEVEL_HIGH>;
  577. clocks = <&clks VF610_CLK_QSPI1_EN>,
  578. <&clks VF610_CLK_QSPI1>;
  579. clock-names = "qspi_en", "qspi";
  580. status = "disabled";
  581. };
  582. dac0: dac@400cc000 {
  583. compatible = "fsl,vf610-dac";
  584. reg = <0x400cc000 1000>;
  585. interrupts = <55 IRQ_TYPE_LEVEL_HIGH>;
  586. clock-names = "dac";
  587. clocks = <&clks VF610_CLK_DAC0>;
  588. status = "disabled";
  589. };
  590. dac1: dac@400cd000 {
  591. compatible = "fsl,vf610-dac";
  592. reg = <0x400cd000 1000>;
  593. interrupts = <56 IRQ_TYPE_LEVEL_HIGH>;
  594. clock-names = "dac";
  595. clocks = <&clks VF610_CLK_DAC1>;
  596. status = "disabled";
  597. };
  598. fec0: ethernet@400d0000 {
  599. compatible = "fsl,mvf600-fec";
  600. reg = <0x400d0000 0x1000>;
  601. interrupts = <78 IRQ_TYPE_LEVEL_HIGH>;
  602. clocks = <&clks VF610_CLK_ENET0>,
  603. <&clks VF610_CLK_ENET0>,
  604. <&clks VF610_CLK_ENET>;
  605. clock-names = "ipg", "ahb", "ptp";
  606. status = "disabled";
  607. };
  608. fec1: ethernet@400d1000 {
  609. compatible = "fsl,mvf600-fec";
  610. reg = <0x400d1000 0x1000>;
  611. interrupts = <79 IRQ_TYPE_LEVEL_HIGH>;
  612. clocks = <&clks VF610_CLK_ENET1>,
  613. <&clks VF610_CLK_ENET1>,
  614. <&clks VF610_CLK_ENET>;
  615. clock-names = "ipg", "ahb", "ptp";
  616. status = "disabled";
  617. };
  618. can1: can@400d4000 {
  619. compatible = "fsl,vf610-flexcan";
  620. reg = <0x400d4000 0x4000>;
  621. interrupts = <59 IRQ_TYPE_LEVEL_HIGH>;
  622. clocks = <&clks VF610_CLK_FLEXCAN1>,
  623. <&clks VF610_CLK_FLEXCAN1>;
  624. clock-names = "ipg", "per";
  625. status = "disabled";
  626. };
  627. nfc: nand@400e0000 {
  628. #address-cells = <1>;
  629. #size-cells = <0>;
  630. compatible = "fsl,vf610-nfc";
  631. reg = <0x400e0000 0x4000>;
  632. interrupts = <83 IRQ_TYPE_LEVEL_HIGH>;
  633. clocks = <&clks VF610_CLK_NFC>;
  634. clock-names = "nfc";
  635. status = "disabled";
  636. };
  637. i2c2: i2c@400e6000 {
  638. #address-cells = <1>;
  639. #size-cells = <0>;
  640. compatible = "fsl,vf610-i2c";
  641. reg = <0x400e6000 0x1000>;
  642. interrupts = <73 IRQ_TYPE_LEVEL_HIGH>;
  643. clocks = <&clks VF610_CLK_I2C2>;
  644. clock-names = "ipg";
  645. dmas = <&edma0 1 36>,
  646. <&edma0 1 37>;
  647. dma-names = "rx","tx";
  648. status = "disabled";
  649. };
  650. i2c3: i2c@400e7000 {
  651. #address-cells = <1>;
  652. #size-cells = <0>;
  653. compatible = "fsl,vf610-i2c";
  654. reg = <0x400e7000 0x1000>;
  655. interrupts = <74 IRQ_TYPE_LEVEL_HIGH>;
  656. clocks = <&clks VF610_CLK_I2C3>;
  657. clock-names = "ipg";
  658. dmas = <&edma0 1 38>,
  659. <&edma0 1 39>;
  660. dma-names = "rx","tx";
  661. status = "disabled";
  662. };
  663. crypto: crypto@400f0000 {
  664. compatible = "fsl,sec-v4.0";
  665. #address-cells = <1>;
  666. #size-cells = <1>;
  667. reg = <0x400f0000 0x9000>;
  668. ranges = <0 0x400f0000 0x9000>;
  669. clocks = <&clks VF610_CLK_CAAM>;
  670. clock-names = "ipg";
  671. sec_jr0: jr0@1000 {
  672. compatible = "fsl,sec-v4.0-job-ring";
  673. reg = <0x1000 0x1000>;
  674. interrupts = <102 IRQ_TYPE_LEVEL_HIGH>;
  675. };
  676. sec_jr1: jr1@2000 {
  677. compatible = "fsl,sec-v4.0-job-ring";
  678. reg = <0x2000 0x1000>;
  679. interrupts = <102 IRQ_TYPE_LEVEL_HIGH>;
  680. };
  681. };
  682. };
  683. };
  684. };