imx6ull.dtsi 33 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161
  1. /*
  2. * Copyright 2015-2016 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 version 2 as
  6. * published by the Free Software Foundation.
  7. */
  8. #include <dt-bindings/clock/imx6ul-clock.h>
  9. #include <dt-bindings/gpio/gpio.h>
  10. #include <dt-bindings/interrupt-controller/arm-gic.h>
  11. #include "imx6ull-pinfunc.h"
  12. #include "imx6ull-pinfunc-snvs.h"
  13. #include "skeleton.dtsi"
  14. / {
  15. aliases {
  16. can0 = &flexcan1;
  17. can1 = &flexcan2;
  18. ethernet0 = &fec1;
  19. ethernet1 = &fec2;
  20. gpio0 = &gpio1;
  21. gpio1 = &gpio2;
  22. gpio2 = &gpio3;
  23. gpio3 = &gpio4;
  24. gpio4 = &gpio5;
  25. i2c0 = &i2c1;
  26. i2c1 = &i2c2;
  27. i2c2 = &i2c3;
  28. i2c3 = &i2c4;
  29. mmc0 = &usdhc1;
  30. mmc1 = &usdhc2;
  31. serial0 = &uart1;
  32. serial1 = &uart2;
  33. serial2 = &uart3;
  34. serial3 = &uart4;
  35. serial4 = &uart5;
  36. serial5 = &uart6;
  37. serial6 = &uart7;
  38. serial7 = &uart8;
  39. spi0 = &ecspi1;
  40. spi1 = &ecspi2;
  41. spi2 = &ecspi3;
  42. spi3 = &ecspi4;
  43. usbphy0 = &usbphy1;
  44. usbphy1 = &usbphy2;
  45. };
  46. cpus {
  47. #address-cells = <1>;
  48. #size-cells = <0>;
  49. cpu0: cpu@0 {
  50. compatible = "arm,cortex-a7";
  51. device_type = "cpu";
  52. reg = <0>;
  53. clock-latency = <61036>; /* two CLK32 periods */
  54. operating-points = <
  55. /* kHz uV */
  56. 528000 1175000
  57. 99000 950000
  58. >;
  59. fsl,soc-operating-points = <
  60. /* KHz uV */
  61. 528000 1175000
  62. 99000 1175000
  63. >;
  64. clocks = <&clks IMX6UL_CLK_ARM>,
  65. <&clks IMX6UL_CLK_PLL2_BUS>,
  66. <&clks IMX6UL_CLK_PLL2_PFD2>,
  67. <&clks IMX6UL_CA7_SECONDARY_SEL>,
  68. <&clks IMX6UL_CLK_STEP>,
  69. <&clks IMX6UL_CLK_PLL1_SW>,
  70. <&clks IMX6UL_CLK_PLL1_SYS>,
  71. <&clks IMX6UL_PLL1_BYPASS>,
  72. <&clks IMX6UL_CLK_PLL1>,
  73. <&clks IMX6UL_PLL1_BYPASS_SRC>,
  74. <&clks IMX6UL_CLK_OSC>;
  75. clock-names = "arm", "pll2_bus", "pll2_pfd2_396m", "secondary_sel", "step",
  76. "pll1_sw", "pll1_sys", "pll1_bypass", "pll1", "pll1_bypass_src", "osc";
  77. };
  78. };
  79. intc: interrupt-controller@00a01000 {
  80. compatible = "arm,cortex-a7-gic";
  81. #interrupt-cells = <3>;
  82. interrupt-controller;
  83. reg = <0x00a01000 0x1000>,
  84. <0x00a02000 0x100>;
  85. };
  86. clocks {
  87. #address-cells = <1>;
  88. #size-cells = <0>;
  89. ckil: clock@0 {
  90. compatible = "fixed-clock";
  91. reg = <0>;
  92. #clock-cells = <0>;
  93. clock-frequency = <32768>;
  94. clock-output-names = "ckil";
  95. };
  96. osc: clock@1 {
  97. compatible = "fixed-clock";
  98. reg = <1>;
  99. #clock-cells = <0>;
  100. clock-frequency = <24000000>;
  101. clock-output-names = "osc";
  102. };
  103. ipp_di0: clock@2 {
  104. compatible = "fixed-clock";
  105. reg = <2>;
  106. #clock-cells = <0>;
  107. clock-frequency = <0>;
  108. clock-output-names = "ipp_di0";
  109. };
  110. ipp_di1: clock@3 {
  111. compatible = "fixed-clock";
  112. reg = <3>;
  113. #clock-cells = <0>;
  114. clock-frequency = <0>;
  115. clock-output-names = "ipp_di1";
  116. };
  117. };
  118. soc {
  119. #address-cells = <1>;
  120. #size-cells = <1>;
  121. compatible = "simple-bus";
  122. interrupt-parent = <&gpc>;
  123. ranges;
  124. busfreq {
  125. compatible = "fsl,imx_busfreq";
  126. clocks = <&clks IMX6UL_CLK_PLL2_PFD2>, <&clks IMX6UL_CLK_PLL2_198M>,
  127. <&clks IMX6UL_CLK_PLL2_BUS>, <&clks IMX6UL_CLK_ARM>,
  128. <&clks IMX6UL_CLK_PLL3_USB_OTG>, <&clks IMX6UL_CLK_PERIPH>,
  129. <&clks IMX6UL_CLK_PERIPH_PRE>, <&clks IMX6UL_CLK_PERIPH_CLK2>,
  130. <&clks IMX6UL_CLK_PERIPH_CLK2_SEL>, <&clks IMX6UL_CLK_OSC>,
  131. <&clks IMX6UL_CLK_AHB>, <&clks IMX6UL_CLK_AXI>,
  132. <&clks IMX6UL_CLK_PERIPH2>, <&clks IMX6UL_CLK_PERIPH2_PRE>,
  133. <&clks IMX6UL_CLK_PERIPH2_CLK2>, <&clks IMX6UL_CLK_PERIPH2_CLK2_SEL>,
  134. <&clks IMX6UL_CLK_STEP>, <&clks IMX6UL_CLK_MMDC_P0_FAST>, <&clks IMX6UL_PLL1_BYPASS_SRC>,
  135. <&clks IMX6UL_PLL1_BYPASS>, <&clks IMX6UL_CLK_PLL1_SYS>, <&clks IMX6UL_CLK_PLL1_SW>,
  136. <&clks IMX6UL_CLK_PLL1>;
  137. clock-names = "pll2_pfd2_396m", "pll2_198m", "pll2_bus", "arm", "pll3_usb_otg",
  138. "periph", "periph_pre", "periph_clk2", "periph_clk2_sel", "osc",
  139. "ahb", "ocram", "periph2", "periph2_pre", "periph2_clk2", "periph2_clk2_sel",
  140. "step", "mmdc", "pll1_bypass_src", "pll1_bypass", "pll1_sys", "pll1_sw", "pll1";
  141. fsl,max_ddr_freq = <400000000>;
  142. };
  143. pmu {
  144. compatible = "arm,cortex-a7-pmu";
  145. interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
  146. status = "disabled";
  147. };
  148. ocrams: sram@00900000 {
  149. compatible = "fsl,lpm-sram";
  150. reg = <0x00900000 0x4000>;
  151. };
  152. ocrams_ddr: sram@00904000 {
  153. compatible = "fsl,ddr-lpm-sram";
  154. reg = <0x00904000 0x1000>;
  155. };
  156. ocram: sram@00905000 {
  157. compatible = "mmio-sram";
  158. reg = <0x00905000 0x1B000>;
  159. };
  160. dma_apbh: dma-apbh@01804000 {
  161. compatible = "fsl,imx6ul-dma-apbh", "fsl,imx28-dma-apbh";
  162. reg = <0x01804000 0x2000>;
  163. interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
  164. <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
  165. <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
  166. <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
  167. interrupt-names = "gpmi0", "gpmi1", "gpmi2", "gpmi3";
  168. #dma-cells = <1>;
  169. dma-channels = <4>;
  170. clocks = <&clks IMX6UL_CLK_APBHDMA>;
  171. };
  172. gpmi: gpmi-nand@01806000{
  173. compatible = "fsl,imx6ull-gpmi-nand", "fsl, imx6ul-gpmi-nand";
  174. #address-cells = <1>;
  175. #size-cells = <1>;
  176. reg = <0x01806000 0x2000>, <0x01808000 0x4000>;
  177. reg-names = "gpmi-nand", "bch";
  178. interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
  179. interrupt-names = "bch";
  180. clocks = <&clks IMX6UL_CLK_GPMI_IO>,
  181. <&clks IMX6UL_CLK_GPMI_APB>,
  182. <&clks IMX6UL_CLK_GPMI_BCH>,
  183. <&clks IMX6UL_CLK_GPMI_BCH_APB>,
  184. <&clks IMX6UL_CLK_PER_BCH>;
  185. clock-names = "gpmi_io", "gpmi_apb", "gpmi_bch",
  186. "gpmi_bch_apb", "per1_bch";
  187. dmas = <&dma_apbh 0>;
  188. dma-names = "rx-tx";
  189. status = "disabled";
  190. };
  191. aips1: aips-bus@02000000 {
  192. compatible = "fsl,aips-bus", "simple-bus";
  193. #address-cells = <1>;
  194. #size-cells = <1>;
  195. reg = <0x02000000 0x100000>;
  196. ranges;
  197. spba-bus@02000000 {
  198. compatible = "fsl,spba-bus", "simple-bus";
  199. #address-cells = <1>;
  200. #size-cells = <1>;
  201. reg = <0x02000000 0x40000>;
  202. ranges;
  203. spdif: spdif@02004000 {
  204. compatible = "fsl,imx6ul-spdif", "fsl,imx35-spdif";
  205. reg = <0x02004000 0x4000>;
  206. interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
  207. dmas = <&sdma 41 18 0>,
  208. <&sdma 42 18 0>;
  209. dma-names = "rx", "tx";
  210. clocks = <&clks IMX6UL_CLK_SPDIF_GCLK>,
  211. <&clks IMX6UL_CLK_OSC>,
  212. <&clks IMX6UL_CLK_SPDIF>,
  213. <&clks IMX6UL_CLK_DUMMY>, <&clks IMX6UL_CLK_DUMMY>, <&clks IMX6UL_CLK_DUMMY>,
  214. <&clks IMX6UL_CLK_IPG>,
  215. <&clks IMX6UL_CLK_DUMMY>, <&clks IMX6UL_CLK_DUMMY>,
  216. <&clks IMX6UL_CLK_SPBA>;
  217. clock-names = "core", "rxtx0",
  218. "rxtx1", "rxtx2",
  219. "rxtx3", "rxtx4",
  220. "rxtx5", "rxtx6",
  221. "rxtx7", "dma";
  222. status = "disabled";
  223. };
  224. ecspi1: ecspi@02008000 {
  225. #address-cells = <1>;
  226. #size-cells = <0>;
  227. compatible = "fsl,imx6ul-ecspi", "fsl,imx51-ecspi";
  228. reg = <0x02008000 0x4000>;
  229. interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
  230. clocks = <&clks IMX6UL_CLK_ECSPI1>,
  231. <&clks IMX6UL_CLK_ECSPI1>;
  232. clock-names = "ipg", "per";
  233. dmas = <&sdma 3 7 1>, <&sdma 4 7 2>;
  234. dma-names = "rx", "tx";
  235. status = "disabled";
  236. };
  237. ecspi2: ecspi@0200c000 {
  238. #address-cells = <1>;
  239. #size-cells = <0>;
  240. compatible = "fsl,imx6ul-ecspi", "fsl,imx51-ecspi";
  241. reg = <0x0200c000 0x4000>;
  242. interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
  243. clocks = <&clks IMX6UL_CLK_ECSPI2>,
  244. <&clks IMX6UL_CLK_ECSPI2>;
  245. clock-names = "ipg", "per";
  246. dmas = <&sdma 5 7 1>, <&sdma 6 7 2>;
  247. dma-names = "rx", "tx";
  248. status = "disabled";
  249. };
  250. ecspi3: ecspi@02010000 {
  251. #address-cells = <1>;
  252. #size-cells = <0>;
  253. compatible = "fsl,imx6ul-ecspi", "fsl,imx51-ecspi";
  254. reg = <0x02010000 0x4000>;
  255. interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
  256. clocks = <&clks IMX6UL_CLK_ECSPI3>,
  257. <&clks IMX6UL_CLK_ECSPI3>;
  258. clock-names = "ipg", "per";
  259. dmas = <&sdma 7 7 1>, <&sdma 8 7 2>;
  260. dma-names = "rx", "tx";
  261. status = "disabled";
  262. };
  263. ecspi4: ecspi@02014000 {
  264. #address-cells = <1>;
  265. #size-cells = <0>;
  266. compatible = "fsl,imx6ul-ecspi", "fsl,imx51-ecspi";
  267. reg = <0x02014000 0x4000>;
  268. interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
  269. clocks = <&clks IMX6UL_CLK_ECSPI4>,
  270. <&clks IMX6UL_CLK_ECSPI4>;
  271. clock-names = "ipg", "per";
  272. dmas = <&sdma 9 7 1>, <&sdma 10 7 2>;
  273. dma-names = "rx", "tx";
  274. status = "disabled";
  275. };
  276. uart7: serial@02018000 {
  277. compatible = "fsl,imx6ul-uart",
  278. "fsl,imx6q-uart", "fsl,imx21-uart";
  279. reg = <0x02018000 0x4000>;
  280. interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
  281. clocks = <&clks IMX6UL_CLK_UART7_IPG>,
  282. <&clks IMX6UL_CLK_UART7_SERIAL>;
  283. clock-names = "ipg", "per";
  284. dmas = <&sdma 43 4 0>, <&sdma 44 4 0>;
  285. dma-names = "rx", "tx";
  286. status = "disabled";
  287. };
  288. uart1: serial@02020000 {
  289. compatible = "fsl,imx6ul-uart",
  290. "fsl,imx6q-uart", "fsl,imx21-uart";
  291. reg = <0x02020000 0x4000>;
  292. interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
  293. clocks = <&clks IMX6UL_CLK_UART1_IPG>,
  294. <&clks IMX6UL_CLK_UART1_SERIAL>;
  295. clock-names = "ipg", "per";
  296. status = "disabled";
  297. };
  298. esai: esai@02024000 {
  299. compatible = "fsl,imx6ull-esai";
  300. reg = <0x02024000 0x4000>;
  301. interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
  302. clocks = <&clks IMX6UL_CLK_ESAI_IPG>,
  303. <&clks IMX6UL_CLK_ESAI_MEM>,
  304. <&clks IMX6UL_CLK_ESAI_EXTAL>,
  305. <&clks IMX6UL_CLK_ESAI_IPG>,
  306. <&clks IMX6UL_CLK_SPBA>;
  307. clock-names = "core", "mem", "extal",
  308. "fsys", "dma";
  309. dmas = <&sdma 0 21 0>, <&sdma 47 21 0>;
  310. dma-names = "rx", "tx";
  311. dma-source = <&gpr 0 14 0 15>;
  312. status = "disabled";
  313. };
  314. sai1: sai@02028000 {
  315. compatible = "fsl,imx6ul-sai",
  316. "fsl,imx6sx-sai";
  317. reg = <0x02028000 0x4000>;
  318. interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
  319. clocks = <&clks IMX6UL_CLK_SAI1_IPG>,
  320. <&clks IMX6UL_CLK_DUMMY>,
  321. <&clks IMX6UL_CLK_SAI1>,
  322. <&clks 0>, <&clks 0>;
  323. clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3";
  324. dma-names = "rx", "tx";
  325. dmas = <&sdma 35 24 0>, <&sdma 36 24 0>;
  326. status = "disabled";
  327. };
  328. sai2: sai@0202c000 {
  329. compatible = "fsl,imx6ul-sai",
  330. "fsl,imx6sx-sai";
  331. reg = <0x0202c000 0x4000>;
  332. interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
  333. clocks = <&clks IMX6UL_CLK_SAI2_IPG>,
  334. <&clks IMX6UL_CLK_DUMMY>,
  335. <&clks IMX6UL_CLK_SAI2>,
  336. <&clks 0>, <&clks 0>;
  337. clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3";
  338. dma-names = "rx", "tx";
  339. dmas = <&sdma 37 24 0>, <&sdma 38 24 0>;
  340. status = "disabled";
  341. };
  342. sai3: sai@02030000 {
  343. compatible = "fsl,imx6ul-sai",
  344. "fsl,imx6sx-sai";
  345. reg = <0x02030000 0x4000>;
  346. interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
  347. clocks = <&clks IMX6UL_CLK_SAI3_IPG>,
  348. <&clks IMX6UL_CLK_DUMMY>,
  349. <&clks IMX6UL_CLK_SAI3>,
  350. <&clks 0>, <&clks 0>;
  351. clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3";
  352. dma-names = "rx", "tx";
  353. dmas = <&sdma 39 24 0>, <&sdma 40 24 0>;
  354. status = "disabled";
  355. };
  356. asrc: asrc@02034000 {
  357. compatible = "fsl,imx53-asrc";
  358. reg = <0x02034000 0x4000>;
  359. interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
  360. clocks = <&clks IMX6UL_CLK_ASRC_IPG>,
  361. <&clks IMX6UL_CLK_ASRC_MEM>, <&clks 0>,
  362. <&clks 0>, <&clks 0>, <&clks 0>, <&clks 0>,
  363. <&clks 0>, <&clks 0>, <&clks 0>, <&clks 0>,
  364. <&clks 0>, <&clks 0>, <&clks 0>, <&clks 0>,
  365. <&clks IMX6UL_CLK_SPDIF>, <&clks 0>, <&clks 0>,
  366. <&clks IMX6UL_CLK_SPBA>;
  367. clock-names = "mem", "ipg", "asrck_0",
  368. "asrck_1", "asrck_2", "asrck_3", "asrck_4",
  369. "asrck_5", "asrck_6", "asrck_7", "asrck_8",
  370. "asrck_9", "asrck_a", "asrck_b", "asrck_c",
  371. "asrck_d", "asrck_e", "asrck_f", "dma";
  372. dmas = <&sdma 17 23 1>, <&sdma 18 23 1>, <&sdma 19 23 1>,
  373. <&sdma 20 23 1>, <&sdma 21 23 1>, <&sdma 22 23 1>;
  374. dma-names = "rxa", "rxb", "rxc",
  375. "txa", "txb", "txc";
  376. fsl,asrc-rate = <48000>;
  377. fsl,asrc-width = <16>;
  378. status = "okay";
  379. };
  380. };
  381. tsc: tsc@02040000 {
  382. compatible = "fsl,imx6ul-tsc";
  383. reg = <0x02040000 0x4000>, <0x0219c000 0x4000>;
  384. interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
  385. <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
  386. clocks = <&clks IMX6UL_CLK_IPG>,
  387. <&clks IMX6UL_CLK_ADC2>;
  388. clock-names = "tsc", "adc";
  389. status = "disabled";
  390. };
  391. pwm1: pwm@02080000 {
  392. compatible = "fsl,imx6ul-pwm", "fsl,imx27-pwm";
  393. reg = <0x02080000 0x4000>;
  394. interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
  395. clocks = <&clks IMX6UL_CLK_PWM1>,
  396. <&clks IMX6UL_CLK_PWM1>;
  397. clock-names = "ipg", "per";
  398. #pwm-cells = <2>;
  399. };
  400. pwm2: pwm@02084000 {
  401. compatible = "fsl,imx6ul-pwm", "fsl,imx27-pwm";
  402. reg = <0x02084000 0x4000>;
  403. interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
  404. clocks = <&clks IMX6UL_CLK_DUMMY>,
  405. <&clks IMX6UL_CLK_DUMMY>;
  406. clock-names = "ipg", "per";
  407. #pwm-cells = <2>;
  408. };
  409. pwm3: pwm@02088000 {
  410. compatible = "fsl,imx6ul-pwm", "fsl,imx27-pwm";
  411. reg = <0x02088000 0x4000>;
  412. interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
  413. clocks = <&clks IMX6UL_CLK_PWM3>,
  414. <&clks IMX6UL_CLK_PWM3>;
  415. clock-names = "ipg", "per";
  416. #pwm-cells = <2>;
  417. };
  418. pwm4: pwm@0208c000 {
  419. compatible = "fsl,imx6ul-pwm", "fsl,imx27-pwm";
  420. reg = <0x0208c000 0x4000>;
  421. interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
  422. clocks = <&clks IMX6UL_CLK_DUMMY>,
  423. <&clks IMX6UL_CLK_DUMMY>;
  424. clock-names = "ipg", "per";
  425. #pwm-cells = <2>;
  426. };
  427. flexcan1: can@02090000 {
  428. compatible = "fsl,imx6ul-flexcan", "fsl,imx6q-flexcan";
  429. reg = <0x02090000 0x4000>;
  430. interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
  431. clocks = <&clks IMX6UL_CLK_CAN1_IPG>,
  432. <&clks IMX6UL_CLK_CAN1_SERIAL>;
  433. clock-names = "ipg", "per";
  434. stop-mode = <&gpr 0x10 1 0x10 17>;
  435. status = "disabled";
  436. };
  437. flexcan2: can@02094000 {
  438. compatible = "fsl,imx6ul-flexcan", "fsl,imx6q-flexcan";
  439. reg = <0x02094000 0x4000>;
  440. interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
  441. clocks = <&clks IMX6UL_CLK_CAN2_IPG>,
  442. <&clks IMX6UL_CLK_CAN2_SERIAL>;
  443. clock-names = "ipg", "per";
  444. stop-mode = <&gpr 0x10 2 0x10 18>;
  445. status = "disabled";
  446. };
  447. gpt1: gpt@02098000 {
  448. compatible = "fsl,imx6ul-gpt", "fsl,imx31-gpt";
  449. reg = <0x02098000 0x4000>;
  450. interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
  451. clocks = <&clks IMX6UL_CLK_GPT1_BUS>,
  452. <&clks IMX6UL_CLK_GPT1_SERIAL>;
  453. clock-names = "ipg", "per";
  454. };
  455. gpio1: gpio@0209c000 {
  456. compatible = "fsl,imx6ul-gpio", "fsl,imx35-gpio";
  457. reg = <0x0209c000 0x4000>;
  458. interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>,
  459. <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
  460. gpio-controller;
  461. #gpio-cells = <2>;
  462. interrupt-controller;
  463. #interrupt-cells = <2>;
  464. };
  465. gpio2: gpio@020a0000 {
  466. compatible = "fsl,imx6ul-gpio", "fsl,imx35-gpio";
  467. reg = <0x020a0000 0x4000>;
  468. interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>,
  469. <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
  470. gpio-controller;
  471. #gpio-cells = <2>;
  472. interrupt-controller;
  473. #interrupt-cells = <2>;
  474. };
  475. gpio3: gpio@020a4000 {
  476. compatible = "fsl,imx6ul-gpio", "fsl,imx35-gpio";
  477. reg = <0x020a4000 0x4000>;
  478. interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>,
  479. <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
  480. gpio-controller;
  481. #gpio-cells = <2>;
  482. interrupt-controller;
  483. #interrupt-cells = <2>;
  484. };
  485. gpio4: gpio@020a8000 {
  486. compatible = "fsl,imx6ul-gpio", "fsl,imx35-gpio";
  487. reg = <0x020a8000 0x4000>;
  488. interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>,
  489. <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
  490. gpio-controller;
  491. #gpio-cells = <2>;
  492. interrupt-controller;
  493. #interrupt-cells = <2>;
  494. };
  495. gpio5: gpio@020ac000 {
  496. compatible = "fsl,imx6ul-gpio", "fsl,imx35-gpio";
  497. reg = <0x020ac000 0x4000>;
  498. interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>,
  499. <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
  500. gpio-controller;
  501. #gpio-cells = <2>;
  502. interrupt-controller;
  503. #interrupt-cells = <2>;
  504. };
  505. snvslp: snvs@020b0000 {
  506. compatible = "fsl,imx6ul-snvs";
  507. reg = <0x020b0000 0x4000>;
  508. interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
  509. };
  510. fec2: ethernet@020b4000 {
  511. compatible = "fsl,imx6ul-fec", "fsl,imx6q-fec";
  512. reg = <0x020b4000 0x4000>;
  513. interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>,
  514. <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>;
  515. clocks = <&clks IMX6UL_CLK_ENET>,
  516. <&clks IMX6UL_CLK_ENET_AHB>,
  517. <&clks IMX6UL_CLK_ENET_PTP>,
  518. <&clks IMX6UL_CLK_ENET2_REF_125M>,
  519. <&clks IMX6UL_CLK_ENET2_REF_125M>;
  520. clock-names = "ipg", "ahb", "ptp",
  521. "enet_clk_ref", "enet_out";
  522. stop-mode = <&gpr 0x10 4>;
  523. fsl,num-tx-queues=<1>;
  524. fsl,num-rx-queues=<1>;
  525. fsl,magic-packet;
  526. fsl,wakeup_irq = <0>;
  527. status = "disabled";
  528. };
  529. kpp: kpp@020b8000 {
  530. compatible = "fsl,imx6ul-kpp", "fsl,imx21-kpp";
  531. reg = <0x020b8000 0x4000>;
  532. interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
  533. clocks = <&clks IMX6UL_CLK_DUMMY>;
  534. status = "disabled";
  535. };
  536. wdog1: wdog@020bc000 {
  537. compatible = "fsl,imx6ul-wdt", "fsl,imx21-wdt";
  538. reg = <0x020bc000 0x4000>;
  539. interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
  540. clocks = <&clks IMX6UL_CLK_WDOG1>;
  541. };
  542. wdog2: wdog@020c0000 {
  543. compatible = "fsl,imx6ul-wdt", "fsl,imx21-wdt";
  544. reg = <0x020c0000 0x4000>;
  545. interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
  546. clocks = <&clks IMX6UL_CLK_WDOG2>;
  547. status = "disabled";
  548. };
  549. clks: ccm@020c4000 {
  550. compatible = "fsl,imx6ul-ccm";
  551. reg = <0x020c4000 0x4000>;
  552. interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>,
  553. <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;
  554. #clock-cells = <1>;
  555. clocks = <&ckil>, <&osc>, <&ipp_di0>, <&ipp_di1>;
  556. clock-names = "ckil", "osc", "ipp_di0", "ipp_di1";
  557. };
  558. anatop: anatop@020c8000 {
  559. compatible = "fsl,imx6ul-anatop", "fsl,imx6q-anatop",
  560. "syscon", "simple-bus";
  561. reg = <0x020c8000 0x1000>;
  562. interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>,
  563. <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>,
  564. <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
  565. reg_3p0: regulator-3p0@120 {
  566. compatible = "fsl,anatop-regulator";
  567. regulator-name = "vdd3p0";
  568. regulator-min-microvolt = <2625000>;
  569. regulator-max-microvolt = <3400000>;
  570. anatop-reg-offset = <0x120>;
  571. anatop-vol-bit-shift = <8>;
  572. anatop-vol-bit-width = <5>;
  573. anatop-min-bit-val = <0>;
  574. anatop-min-voltage = <2625000>;
  575. anatop-max-voltage = <3400000>;
  576. anatop-enable-bit = <0>;
  577. };
  578. reg_arm: regulator-vddcore@140 {
  579. compatible = "fsl,anatop-regulator";
  580. regulator-name = "cpu";
  581. regulator-min-microvolt = <725000>;
  582. regulator-max-microvolt = <1450000>;
  583. regulator-always-on;
  584. anatop-reg-offset = <0x140>;
  585. anatop-vol-bit-shift = <0>;
  586. anatop-vol-bit-width = <5>;
  587. anatop-delay-reg-offset = <0x170>;
  588. anatop-delay-bit-shift = <24>;
  589. anatop-delay-bit-width = <2>;
  590. anatop-min-bit-val = <1>;
  591. anatop-min-voltage = <725000>;
  592. anatop-max-voltage = <1450000>;
  593. };
  594. reg_soc: regulator-vddsoc@140 {
  595. compatible = "fsl,anatop-regulator";
  596. regulator-name = "vddsoc";
  597. regulator-min-microvolt = <725000>;
  598. regulator-max-microvolt = <1450000>;
  599. regulator-always-on;
  600. anatop-reg-offset = <0x140>;
  601. anatop-vol-bit-shift = <18>;
  602. anatop-vol-bit-width = <5>;
  603. anatop-delay-reg-offset = <0x170>;
  604. anatop-delay-bit-shift = <28>;
  605. anatop-delay-bit-width = <2>;
  606. anatop-min-bit-val = <1>;
  607. anatop-min-voltage = <725000>;
  608. anatop-max-voltage = <1450000>;
  609. };
  610. };
  611. usbphy1: usbphy@020c9000 {
  612. compatible = "fsl,imx6ul-usbphy", "fsl,imx23-usbphy";
  613. reg = <0x020c9000 0x1000>;
  614. interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
  615. clocks = <&clks IMX6UL_CLK_USBPHY1>;
  616. phy-3p0-supply = <&reg_3p0>;
  617. fsl,anatop = <&anatop>;
  618. };
  619. usbphy2: usbphy@020ca000 {
  620. compatible = "fsl,imx6ul-usbphy", "fsl,imx23-usbphy";
  621. reg = <0x020ca000 0x1000>;
  622. interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
  623. clocks = <&clks IMX6UL_CLK_USBPHY2>;
  624. phy-3p0-supply = <&reg_3p0>;
  625. fsl,anatop = <&anatop>;
  626. };
  627. tempmon: tempmon {
  628. compatible = "fsl,imx6ul-tempmon", "fsl,imx6sx-tempmon";
  629. interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
  630. fsl,tempmon = <&anatop>;
  631. fsl,tempmon-data = <&ocotp>;
  632. clocks = <&clks IMX6UL_CLK_PLL3_USB_OTG>;
  633. };
  634. snvs: snvs@020cc000 {
  635. compatible = "fsl,sec-v4.0-mon", "syscon", "simple-mfd";
  636. reg = <0x020cc000 0x4000>;
  637. snvs_rtc: snvs-rtc-lp {
  638. compatible = "fsl,sec-v4.0-mon-rtc-lp";
  639. regmap = <&snvs>;
  640. offset = <0x34>;
  641. interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
  642. };
  643. snvs_poweroff: snvs-poweroff {
  644. compatible = "syscon-poweroff";
  645. regmap = <&snvs>;
  646. offset = <0x38>;
  647. mask = <0x61>;
  648. };
  649. snvs_pwrkey: snvs-powerkey {
  650. compatible = "fsl,sec-v4.0-pwrkey";
  651. regmap = <&snvs>;
  652. interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
  653. linux,keycode = <KEY_POWER>;
  654. wakeup;
  655. };
  656. };
  657. epit1: epit@020d0000 {
  658. reg = <0x020d0000 0x4000>;
  659. interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
  660. };
  661. epit2: epit@020d4000 {
  662. reg = <0x020d4000 0x4000>;
  663. interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
  664. };
  665. src: src@020d8000 {
  666. compatible = "fsl,imx6ul-src", "fsl,imx51-src";
  667. reg = <0x020d8000 0x4000>;
  668. interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>,
  669. <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
  670. #reset-cells = <1>;
  671. };
  672. gpc: gpc@020dc000 {
  673. compatible = "fsl,imx6ul-gpc", "fsl,imx6q-gpc";
  674. reg = <0x020dc000 0x4000>;
  675. interrupt-controller;
  676. #interrupt-cells = <3>;
  677. interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
  678. interrupt-parent = <&intc>;
  679. fsl,mf-mix-wakeup-irq = <0xfc00000 0x7d00 0x0 0x1400640>;
  680. };
  681. iomuxc: iomuxc@020e0000 {
  682. compatible = "fsl,imx6ul-iomuxc";
  683. reg = <0x020e0000 0x4000>;
  684. };
  685. gpr: iomuxc-gpr@020e4000 {
  686. compatible = "fsl,imx6ul-iomuxc-gpr", "syscon";
  687. reg = <0x020e4000 0x4000>;
  688. };
  689. mqs: mqs {
  690. compatible = "fsl,imx6sx-mqs";
  691. gpr = <&gpr>;
  692. status = "disabled";
  693. };
  694. gpt2: gpt@020e8000 {
  695. compatible = "fsl,imx6ul-gpt", "fsl,imx31-gpt";
  696. reg = <0x020e8000 0x4000>;
  697. interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>;
  698. clocks = <&clks IMX6UL_CLK_DUMMY>,
  699. <&clks IMX6UL_CLK_DUMMY>;
  700. clock-names = "ipg", "per";
  701. };
  702. sdma: sdma@020ec000 {
  703. compatible = "fsl,imx6ul-sdma", "fsl,imx35-sdma";
  704. reg = <0x020ec000 0x4000>;
  705. interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
  706. clocks = <&clks IMX6UL_CLK_SDMA>,
  707. <&clks IMX6UL_CLK_SDMA>;
  708. clock-names = "ipg", "ahb";
  709. #dma-cells = <3>;
  710. iram = <&ocram>;
  711. fsl,sdma-ram-script-name = "imx/sdma/sdma-imx6q.bin";
  712. };
  713. pwm5: pwm@020f0000 {
  714. compatible = "fsl,imx6ul-pwm", "fsl,imx27-pwm";
  715. reg = <0x020f0000 0x4000>;
  716. interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
  717. clocks = <&clks IMX6UL_CLK_DUMMY>,
  718. <&clks IMX6UL_CLK_DUMMY>;
  719. clock-names = "ipg", "per";
  720. #pwm-cells = <2>;
  721. };
  722. pwm6: pwm@020f4000 {
  723. compatible = "fsl,imx6ul-pwm", "fsl,imx27-pwm";
  724. reg = <0x020f4000 0x4000>;
  725. interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
  726. clocks = <&clks IMX6UL_CLK_DUMMY>,
  727. <&clks IMX6UL_CLK_DUMMY>;
  728. clock-names = "ipg", "per";
  729. #pwm-cells = <2>;
  730. };
  731. pwm7: pwm@020f8000 {
  732. compatible = "fsl,imx6ul-pwm", "fsl,imx27-pwm";
  733. reg = <0x020f8000 0x4000>;
  734. interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
  735. clocks = <&clks IMX6UL_CLK_DUMMY>,
  736. <&clks IMX6UL_CLK_DUMMY>;
  737. clock-names = "ipg", "per";
  738. #pwm-cells = <2>;
  739. };
  740. pwm8: pwm@020fc000 {
  741. compatible = "fsl,imx6ul-pwm", "fsl,imx27-pwm";
  742. reg = <0x020fc000 0x4000>;
  743. interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
  744. clocks = <&clks IMX6UL_CLK_DUMMY>,
  745. <&clks IMX6UL_CLK_DUMMY>;
  746. clock-names = "ipg", "per";
  747. #pwm-cells = <2>;
  748. };
  749. };
  750. aips2: aips-bus@02100000 {
  751. compatible = "fsl,aips-bus", "simple-bus";
  752. #address-cells = <1>;
  753. #size-cells = <1>;
  754. reg = <0x02100000 0x100000>;
  755. ranges;
  756. usbotg1: usb@02184000 {
  757. compatible = "fsl,imx6ul-usb", "fsl,imx27-usb";
  758. reg = <0x02184000 0x200>;
  759. interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
  760. clocks = <&clks IMX6UL_CLK_USBOH3>;
  761. fsl,usbphy = <&usbphy1>;
  762. fsl,usbmisc = <&usbmisc 0>;
  763. fsl,anatop = <&anatop>;
  764. ahb-burst-config = <0x0>;
  765. tx-burst-size-dword = <0x10>;
  766. rx-burst-size-dword = <0x10>;
  767. status = "disabled";
  768. };
  769. usbotg2: usb@02184200 {
  770. compatible = "fsl,imx6ul-usb", "fsl,imx27-usb";
  771. reg = <0x02184200 0x200>;
  772. interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
  773. clocks = <&clks IMX6UL_CLK_USBOH3>;
  774. fsl,usbphy = <&usbphy2>;
  775. fsl,usbmisc = <&usbmisc 1>;
  776. ahb-burst-config = <0x0>;
  777. tx-burst-size-dword = <0x10>;
  778. rx-burst-size-dword = <0x10>;
  779. status = "disabled";
  780. };
  781. usbmisc: usbmisc@02184800 {
  782. #index-cells = <1>;
  783. compatible = "fsl,imx6ul-usbmisc", "fsl,imx6q-usbmisc";
  784. reg = <0x02184800 0x200>;
  785. };
  786. fec1: ethernet@02188000 {
  787. compatible = "fsl,imx6ul-fec", "fsl,imx6q-fec";
  788. reg = <0x02188000 0x4000>;
  789. interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
  790. <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
  791. clocks = <&clks IMX6UL_CLK_ENET>,
  792. <&clks IMX6UL_CLK_ENET_AHB>,
  793. <&clks IMX6UL_CLK_ENET_PTP>,
  794. <&clks IMX6UL_CLK_ENET_REF>,
  795. <&clks IMX6UL_CLK_ENET_REF>;
  796. clock-names = "ipg", "ahb", "ptp",
  797. "enet_clk_ref", "enet_out";
  798. stop-mode = <&gpr 0x10 3>;
  799. fsl,num-tx-queues=<1>;
  800. fsl,num-rx-queues=<1>;
  801. fsl,magic-packet;
  802. fsl,wakeup_irq = <0>;
  803. status = "disabled";
  804. };
  805. usdhc1: usdhc@02190000 {
  806. compatible = "fsl,imx6ul-usdhc", "fsl,imx6sx-usdhc";
  807. reg = <0x02190000 0x4000>;
  808. interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
  809. clocks = <&clks IMX6UL_CLK_USDHC1>,
  810. <&clks IMX6UL_CLK_USDHC1>,
  811. <&clks IMX6UL_CLK_USDHC1>;
  812. clock-names = "ipg", "ahb", "per";
  813. bus-width = <4>;
  814. fsl,tuning-step= <2>;
  815. status = "disabled";
  816. };
  817. usdhc2: usdhc@02194000 {
  818. compatible = "fsl,imx6ul-usdhc", "fsl,imx6sx-usdhc";
  819. reg = <0x02194000 0x4000>;
  820. interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
  821. clocks = <&clks IMX6UL_CLK_USDHC2>,
  822. <&clks IMX6UL_CLK_USDHC2>,
  823. <&clks IMX6UL_CLK_USDHC2>;
  824. clock-names = "ipg", "ahb", "per";
  825. bus-width = <4>;
  826. fsl,tuning-step= <2>;
  827. status = "disabled";
  828. };
  829. adc1: adc@02198000 {
  830. compatible = "fsl,imx6ul-adc", "fsl,vf610-adc";
  831. reg = <0x02198000 0x4000>;
  832. interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
  833. clocks = <&clks IMX6UL_CLK_ADC1>;
  834. num-channels = <2>;
  835. clock-names = "adc";
  836. status = "disabled";
  837. };
  838. i2c1: i2c@021a0000 {
  839. #address-cells = <1>;
  840. #size-cells = <0>;
  841. compatible = "fsl,imx6ul-i2c", "fsl,imx21-i2c";
  842. reg = <0x021a0000 0x4000>;
  843. interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
  844. clocks = <&clks IMX6UL_CLK_I2C1>;
  845. status = "disabled";
  846. };
  847. i2c2: i2c@021a4000 {
  848. #address-cells = <1>;
  849. #size-cells = <0>;
  850. compatible = "fsl,imx6ul-i2c", "fsl,imx21-i2c";
  851. reg = <0x021a4000 0x4000>;
  852. interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
  853. clocks = <&clks IMX6UL_CLK_I2C2>;
  854. status = "disabled";
  855. };
  856. i2c3: i2c@021a8000 {
  857. #address-cells = <1>;
  858. #size-cells = <0>;
  859. compatible = "fsl,imx6ul-i2c", "fsl,imx21-i2c";
  860. reg = <0x021a8000 0x4000>;
  861. interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
  862. clocks = <&clks IMX6UL_CLK_I2C3>;
  863. status = "disabled";
  864. };
  865. romcp@021ac000 {
  866. compatible = "fsl,imx6ul-romcp", "syscon";
  867. reg = <0x021ac000 0x4000>;
  868. };
  869. mmdc: mmdc@021b0000 {
  870. compatible = "fsl,imx6ul-mmdc", "fsl,imx6q-mmdc";
  871. reg = <0x021b0000 0x4000>;
  872. };
  873. weim: weim@021b8000 {
  874. compatible = "fsl,imx6ul-weim", "fsl,imx6q-weim";
  875. reg = <0x021b8000 0x4000>;
  876. interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
  877. clocks = <&clks IMX6UL_CLK_DUMMY>;
  878. };
  879. ocotp: ocotp-ctrl@021bc000 {
  880. compatible = "fsl,imx6ull-ocotp", "syscon";
  881. reg = <0x021bc000 0x4000>;
  882. clocks = <&clks IMX6UL_CLK_OCOTP>;
  883. };
  884. csu: csu@021c0000 {
  885. compatible = "fsl,imx6ul-csu";
  886. reg = <0x021c0000 0x4000>;
  887. interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
  888. status = "disabled";
  889. };
  890. csi: csi@021c4000 {
  891. compatible = "fsl,imx6ul-csi", "fsl,imx6s-csi";
  892. reg = <0x021c4000 0x4000>;
  893. interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
  894. clocks = <&clks IMX6UL_CLK_DUMMY>,
  895. <&clks IMX6UL_CLK_CSI>,
  896. <&clks IMX6UL_CLK_DUMMY>;
  897. clock-names = "disp-axi", "csi_mclk", "disp_dcic";
  898. status = "disabled";
  899. };
  900. lcdif: lcdif@021c8000 {
  901. compatible = "fsl,imx6ul-lcdif", "fsl,imx28-lcdif";
  902. reg = <0x021c8000 0x4000>;
  903. interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
  904. clocks = <&clks IMX6UL_CLK_LCDIF_PIX>,
  905. <&clks IMX6UL_CLK_LCDIF_APB>,
  906. <&clks IMX6UL_CLK_DUMMY>;
  907. clock-names = "pix", "axi", "disp_axi";
  908. status = "disabled";
  909. };
  910. pxp: pxp@021cc000 {
  911. compatible = "fsl,imx6ull-pxp-dma", "fsl,imx7d-pxp-dma";
  912. reg = <0x021cc000 0x4000>;
  913. interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
  914. <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
  915. clocks = <&clks IMX6UL_CLK_DUMMY>, <&clks IMX6UL_CLK_PXP>;
  916. clock-names = "pxp_ipg", "pxp_axi";
  917. status = "disabled";
  918. };
  919. qspi: qspi@021e0000 {
  920. #address-cells = <1>;
  921. #size-cells = <0>;
  922. compatible = "fsl,imx6ull-qspi", "fsl,imx6ul-qspi";
  923. reg = <0x021e0000 0x4000>, <0x60000000 0x10000000>;
  924. reg-names = "QuadSPI", "QuadSPI-memory";
  925. interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
  926. clocks = <&clks IMX6UL_CLK_QSPI>,
  927. <&clks IMX6UL_CLK_QSPI>;
  928. clock-names = "qspi_en", "qspi";
  929. status = "disabled";
  930. };
  931. uart2: serial@021e8000 {
  932. compatible = "fsl,imx6ul-uart",
  933. "fsl,imx6q-uart", "fsl,imx21-uart";
  934. reg = <0x021e8000 0x4000>;
  935. interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
  936. clocks = <&clks IMX6UL_CLK_UART2_IPG>,
  937. <&clks IMX6UL_CLK_UART2_SERIAL>;
  938. clock-names = "ipg", "per";
  939. dmas = <&sdma 27 4 0>, <&sdma 28 4 0>;
  940. dma-names = "rx", "tx";
  941. status = "disabled";
  942. };
  943. uart3: serial@021ec000 {
  944. compatible = "fsl,imx6ul-uart",
  945. "fsl,imx6q-uart", "fsl,imx21-uart";
  946. reg = <0x021ec000 0x4000>;
  947. interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
  948. clocks = <&clks IMX6UL_CLK_UART3_IPG>,
  949. <&clks IMX6UL_CLK_UART3_SERIAL>;
  950. clock-names = "ipg", "per";
  951. dmas = <&sdma 29 4 0>, <&sdma 30 4 0>;
  952. dma-names = "rx", "tx";
  953. status = "disabled";
  954. };
  955. uart4: serial@021f0000 {
  956. compatible = "fsl,imx6ul-uart",
  957. "fsl,imx6q-uart", "fsl,imx21-uart";
  958. reg = <0x021f0000 0x4000>;
  959. interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
  960. clocks = <&clks IMX6UL_CLK_UART4_IPG>,
  961. <&clks IMX6UL_CLK_UART4_SERIAL>;
  962. clock-names = "ipg", "per";
  963. dmas = <&sdma 31 4 0>, <&sdma 32 4 0>;
  964. dma-names = "rx", "tx";
  965. status = "disabled";
  966. };
  967. uart5: serial@021f4000 {
  968. compatible = "fsl,imx6ul-uart",
  969. "fsl,imx6q-uart", "fsl,imx21-uart";
  970. reg = <0x021f4000 0x4000>;
  971. interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
  972. clocks = <&clks IMX6UL_CLK_UART5_IPG>,
  973. <&clks IMX6UL_CLK_UART5_SERIAL>;
  974. clock-names = "ipg", "per";
  975. dmas = <&sdma 33 4 0>, <&sdma 34 4 0>;
  976. dma-names = "rx", "tx";
  977. status = "disabled";
  978. };
  979. i2c4: i2c@021f8000 {
  980. #address-cells = <1>;
  981. #size-cells = <0>;
  982. compatible = "fsl,imx6ul-i2c", "fsl,imx21-i2c";
  983. reg = <0x021f8000 0x4000>;
  984. interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
  985. clocks = <&clks IMX6UL_CLK_I2C4>;
  986. status = "disabled";
  987. };
  988. uart6: serial@021fc000 {
  989. compatible = "fsl,imx6ul-uart",
  990. "fsl,imx6q-uart", "fsl,imx21-uart";
  991. reg = <0x021fc000 0x4000>;
  992. interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
  993. clocks = <&clks IMX6UL_CLK_UART6_IPG>,
  994. <&clks IMX6UL_CLK_UART6_SERIAL>;
  995. clock-names = "ipg", "per";
  996. dmas = <&sdma 0 4 0>, <&sdma 47 4 0>;
  997. dma-names = "rx", "tx";
  998. status = "disabled";
  999. };
  1000. };
  1001. aips3: aips-bus@02200000 {
  1002. compatible = "fsl,aips-bus", "simple-bus";
  1003. #address-cells = <1>;
  1004. #size-cells = <1>;
  1005. reg = <0x02200000 0x100000>;
  1006. ranges;
  1007. dcp: dcp@02280000 {
  1008. reg = <0x02280000 0x4000>;
  1009. interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>,
  1010. <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>,
  1011. <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
  1012. /*clocks = <&clks IMX6UL_CLK_DCP>;*/
  1013. clock-names = "dcp";
  1014. status = "disabled";
  1015. };
  1016. rngb: rngb@02284000 {
  1017. reg = <0x02284000 0x4000>;
  1018. interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
  1019. };
  1020. uart8: serial@02288000 {
  1021. compatible = "fsl,imx6ul-uart",
  1022. "fsl,imx6q-uart", "fsl,imx21-uart";
  1023. reg = <0x02288000 0x4000>;
  1024. interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
  1025. clocks = <&clks IMX6UL_CLK_UART8_IPG>,
  1026. <&clks IMX6UL_CLK_UART8_SERIAL>;
  1027. clock-names = "ipg", "per";
  1028. dmas = <&sdma 45 4 0>, <&sdma 46 4 0>;
  1029. dma-names = "rx", "tx";
  1030. status = "disabled";
  1031. };
  1032. epdc: epdc@0228c000 {
  1033. compatible = "fsl,imx7d-epdc";
  1034. interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
  1035. reg = <0x0228c000 0x4000>;
  1036. clocks = <&clks IMX6UL_CLK_EPDC_ACLK>,
  1037. <&clks IMX6UL_CLK_EPDC_PIX>;
  1038. clock-names = "epdc_axi", "epdc_pix";
  1039. /* Need to fix epdc-ram */
  1040. /* epdc-ram = <&gpr 0x4 30>; */
  1041. status = "disabled";
  1042. };
  1043. iomuxc_snvs: iomuxc-snvs@02290000 {
  1044. compatible = "fsl,imx6ull-iomuxc-snvs";
  1045. reg = <0x02290000 0x10000>;
  1046. };
  1047. snvs_gpr: snvs-gpr@0x02294000 {
  1048. compatible = "fsl, imx6ull-snvs-gpr";
  1049. reg = <0x02294000 0x10000>;
  1050. };
  1051. };
  1052. };
  1053. };