imx6qdl.dtsi 33 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281
  1. /*
  2. * Copyright 2011 Freescale Semiconductor, Inc.
  3. * Copyright 2011 Linaro Ltd.
  4. *
  5. * The code contained herein is licensed under the GNU General Public
  6. * License. You may obtain a copy of the GNU General Public License
  7. * Version 2 or later at the following locations:
  8. *
  9. * http://www.opensource.org/licenses/gpl-license.html
  10. * http://www.gnu.org/copyleft/gpl.html
  11. */
  12. #include <dt-bindings/clock/imx6qdl-clock.h>
  13. #include <dt-bindings/interrupt-controller/arm-gic.h>
  14. #include "skeleton.dtsi"
  15. / {
  16. aliases {
  17. ethernet0 = &fec;
  18. can0 = &can1;
  19. can1 = &can2;
  20. gpio0 = &gpio1;
  21. gpio1 = &gpio2;
  22. gpio2 = &gpio3;
  23. gpio3 = &gpio4;
  24. gpio4 = &gpio5;
  25. gpio5 = &gpio6;
  26. gpio6 = &gpio7;
  27. i2c0 = &i2c1;
  28. i2c1 = &i2c2;
  29. i2c2 = &i2c3;
  30. ipu0 = &ipu1;
  31. mmc0 = &usdhc1;
  32. mmc1 = &usdhc2;
  33. mmc2 = &usdhc3;
  34. mmc3 = &usdhc4;
  35. serial0 = &uart1;
  36. serial1 = &uart2;
  37. serial2 = &uart3;
  38. serial3 = &uart4;
  39. serial4 = &uart5;
  40. spi0 = &ecspi1;
  41. spi1 = &ecspi2;
  42. spi2 = &ecspi3;
  43. spi3 = &ecspi4;
  44. usbphy0 = &usbphy1;
  45. usbphy1 = &usbphy2;
  46. };
  47. clocks {
  48. #address-cells = <1>;
  49. #size-cells = <0>;
  50. ckil {
  51. compatible = "fsl,imx-ckil", "fixed-clock";
  52. #clock-cells = <0>;
  53. clock-frequency = <32768>;
  54. };
  55. ckih1 {
  56. compatible = "fsl,imx-ckih1", "fixed-clock";
  57. #clock-cells = <0>;
  58. clock-frequency = <0>;
  59. };
  60. osc {
  61. compatible = "fsl,imx-osc", "fixed-clock";
  62. #clock-cells = <0>;
  63. clock-frequency = <24000000>;
  64. };
  65. };
  66. soc {
  67. #address-cells = <1>;
  68. #size-cells = <1>;
  69. compatible = "simple-bus";
  70. interrupt-parent = <&gpc>;
  71. ranges;
  72. dma_apbh: dma-apbh@00110000 {
  73. compatible = "fsl,imx6q-dma-apbh", "fsl,imx28-dma-apbh";
  74. reg = <0x00110000 0x2000>;
  75. interrupts = <0 13 IRQ_TYPE_LEVEL_HIGH>,
  76. <0 13 IRQ_TYPE_LEVEL_HIGH>,
  77. <0 13 IRQ_TYPE_LEVEL_HIGH>,
  78. <0 13 IRQ_TYPE_LEVEL_HIGH>;
  79. interrupt-names = "gpmi0", "gpmi1", "gpmi2", "gpmi3";
  80. #dma-cells = <1>;
  81. dma-channels = <4>;
  82. clocks = <&clks IMX6QDL_CLK_APBH_DMA>;
  83. };
  84. gpmi: gpmi-nand@00112000 {
  85. compatible = "fsl,imx6q-gpmi-nand";
  86. #address-cells = <1>;
  87. #size-cells = <1>;
  88. reg = <0x00112000 0x2000>, <0x00114000 0x2000>;
  89. reg-names = "gpmi-nand", "bch";
  90. interrupts = <0 15 IRQ_TYPE_LEVEL_HIGH>;
  91. interrupt-names = "bch";
  92. clocks = <&clks IMX6QDL_CLK_GPMI_IO>,
  93. <&clks IMX6QDL_CLK_GPMI_APB>,
  94. <&clks IMX6QDL_CLK_GPMI_BCH>,
  95. <&clks IMX6QDL_CLK_GPMI_BCH_APB>,
  96. <&clks IMX6QDL_CLK_PER1_BCH>;
  97. clock-names = "gpmi_io", "gpmi_apb", "gpmi_bch",
  98. "gpmi_bch_apb", "per1_bch";
  99. dmas = <&dma_apbh 0>;
  100. dma-names = "rx-tx";
  101. status = "disabled";
  102. };
  103. hdmi: hdmi@0120000 {
  104. #address-cells = <1>;
  105. #size-cells = <0>;
  106. reg = <0x00120000 0x9000>;
  107. interrupts = <0 115 0x04>;
  108. gpr = <&gpr>;
  109. clocks = <&clks IMX6QDL_CLK_HDMI_IAHB>,
  110. <&clks IMX6QDL_CLK_HDMI_ISFR>;
  111. clock-names = "iahb", "isfr";
  112. status = "disabled";
  113. port@0 {
  114. reg = <0>;
  115. hdmi_mux_0: endpoint {
  116. remote-endpoint = <&ipu1_di0_hdmi>;
  117. };
  118. };
  119. port@1 {
  120. reg = <1>;
  121. hdmi_mux_1: endpoint {
  122. remote-endpoint = <&ipu1_di1_hdmi>;
  123. };
  124. };
  125. };
  126. gpu_3d: gpu@00130000 {
  127. compatible = "vivante,gc";
  128. reg = <0x00130000 0x4000>;
  129. interrupts = <0 9 IRQ_TYPE_LEVEL_HIGH>;
  130. clocks = <&clks IMX6QDL_CLK_GPU3D_AXI>,
  131. <&clks IMX6QDL_CLK_GPU3D_CORE>,
  132. <&clks IMX6QDL_CLK_GPU3D_SHADER>;
  133. clock-names = "bus", "core", "shader";
  134. power-domains = <&gpc 1>;
  135. };
  136. gpu_2d: gpu@00134000 {
  137. compatible = "vivante,gc";
  138. reg = <0x00134000 0x4000>;
  139. interrupts = <0 10 IRQ_TYPE_LEVEL_HIGH>;
  140. clocks = <&clks IMX6QDL_CLK_GPU2D_AXI>,
  141. <&clks IMX6QDL_CLK_GPU2D_CORE>;
  142. clock-names = "bus", "core";
  143. power-domains = <&gpc 1>;
  144. };
  145. timer@00a00600 {
  146. compatible = "arm,cortex-a9-twd-timer";
  147. reg = <0x00a00600 0x20>;
  148. interrupts = <1 13 0xf01>;
  149. interrupt-parent = <&intc>;
  150. clocks = <&clks IMX6QDL_CLK_TWD>;
  151. };
  152. intc: interrupt-controller@00a01000 {
  153. compatible = "arm,cortex-a9-gic";
  154. #interrupt-cells = <3>;
  155. interrupt-controller;
  156. reg = <0x00a01000 0x1000>,
  157. <0x00a00100 0x100>;
  158. interrupt-parent = <&intc>;
  159. };
  160. L2: l2-cache@00a02000 {
  161. compatible = "arm,pl310-cache";
  162. reg = <0x00a02000 0x1000>;
  163. interrupts = <0 92 IRQ_TYPE_LEVEL_HIGH>;
  164. cache-unified;
  165. cache-level = <2>;
  166. arm,tag-latency = <4 2 3>;
  167. arm,data-latency = <4 2 3>;
  168. arm,shared-override;
  169. };
  170. pcie: pcie@0x01000000 {
  171. compatible = "fsl,imx6q-pcie", "snps,dw-pcie";
  172. reg = <0x01ffc000 0x04000>,
  173. <0x01f00000 0x80000>;
  174. reg-names = "dbi", "config";
  175. #address-cells = <3>;
  176. #size-cells = <2>;
  177. device_type = "pci";
  178. ranges = <0x81000000 0 0 0x01f80000 0 0x00010000 /* downstream I/O */
  179. 0x82000000 0 0x01000000 0x01000000 0 0x00f00000>; /* non-prefetchable memory */
  180. num-lanes = <1>;
  181. interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
  182. interrupt-names = "msi";
  183. #interrupt-cells = <1>;
  184. interrupt-map-mask = <0 0 0 0x7>;
  185. interrupt-map = <0 0 0 1 &gpc GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
  186. <0 0 0 2 &gpc GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>,
  187. <0 0 0 3 &gpc GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
  188. <0 0 0 4 &gpc GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
  189. clocks = <&clks IMX6QDL_CLK_PCIE_AXI>,
  190. <&clks IMX6QDL_CLK_LVDS1_GATE>,
  191. <&clks IMX6QDL_CLK_PCIE_REF_125M>;
  192. clock-names = "pcie", "pcie_bus", "pcie_phy";
  193. status = "disabled";
  194. };
  195. pmu {
  196. compatible = "arm,cortex-a9-pmu";
  197. interrupts = <0 94 IRQ_TYPE_LEVEL_HIGH>;
  198. };
  199. aips-bus@02000000 { /* AIPS1 */
  200. compatible = "fsl,aips-bus", "simple-bus";
  201. #address-cells = <1>;
  202. #size-cells = <1>;
  203. reg = <0x02000000 0x100000>;
  204. ranges;
  205. spba-bus@02000000 {
  206. compatible = "fsl,spba-bus", "simple-bus";
  207. #address-cells = <1>;
  208. #size-cells = <1>;
  209. reg = <0x02000000 0x40000>;
  210. ranges;
  211. spdif: spdif@02004000 {
  212. compatible = "fsl,imx35-spdif";
  213. reg = <0x02004000 0x4000>;
  214. interrupts = <0 52 IRQ_TYPE_LEVEL_HIGH>;
  215. dmas = <&sdma 14 18 0>,
  216. <&sdma 15 18 0>;
  217. dma-names = "rx", "tx";
  218. clocks = <&clks IMX6QDL_CLK_SPDIF_GCLK>, <&clks IMX6QDL_CLK_OSC>,
  219. <&clks IMX6QDL_CLK_SPDIF>, <&clks IMX6QDL_CLK_ASRC>,
  220. <&clks IMX6QDL_CLK_DUMMY>, <&clks IMX6QDL_CLK_ESAI_EXTAL>,
  221. <&clks IMX6QDL_CLK_IPG>, <&clks IMX6QDL_CLK_DUMMY>,
  222. <&clks IMX6QDL_CLK_DUMMY>, <&clks IMX6QDL_CLK_SPBA>;
  223. clock-names = "core", "rxtx0",
  224. "rxtx1", "rxtx2",
  225. "rxtx3", "rxtx4",
  226. "rxtx5", "rxtx6",
  227. "rxtx7", "spba";
  228. status = "disabled";
  229. };
  230. ecspi1: ecspi@02008000 {
  231. #address-cells = <1>;
  232. #size-cells = <0>;
  233. compatible = "fsl,imx6q-ecspi", "fsl,imx51-ecspi";
  234. reg = <0x02008000 0x4000>;
  235. interrupts = <0 31 IRQ_TYPE_LEVEL_HIGH>;
  236. clocks = <&clks IMX6QDL_CLK_ECSPI1>,
  237. <&clks IMX6QDL_CLK_ECSPI1>;
  238. clock-names = "ipg", "per";
  239. dmas = <&sdma 3 8 1>, <&sdma 4 8 2>;
  240. dma-names = "rx", "tx";
  241. status = "disabled";
  242. };
  243. ecspi2: ecspi@0200c000 {
  244. #address-cells = <1>;
  245. #size-cells = <0>;
  246. compatible = "fsl,imx6q-ecspi", "fsl,imx51-ecspi";
  247. reg = <0x0200c000 0x4000>;
  248. interrupts = <0 32 IRQ_TYPE_LEVEL_HIGH>;
  249. clocks = <&clks IMX6QDL_CLK_ECSPI2>,
  250. <&clks IMX6QDL_CLK_ECSPI2>;
  251. clock-names = "ipg", "per";
  252. dmas = <&sdma 5 8 1>, <&sdma 6 8 2>;
  253. dma-names = "rx", "tx";
  254. status = "disabled";
  255. };
  256. ecspi3: ecspi@02010000 {
  257. #address-cells = <1>;
  258. #size-cells = <0>;
  259. compatible = "fsl,imx6q-ecspi", "fsl,imx51-ecspi";
  260. reg = <0x02010000 0x4000>;
  261. interrupts = <0 33 IRQ_TYPE_LEVEL_HIGH>;
  262. clocks = <&clks IMX6QDL_CLK_ECSPI3>,
  263. <&clks IMX6QDL_CLK_ECSPI3>;
  264. clock-names = "ipg", "per";
  265. dmas = <&sdma 7 8 1>, <&sdma 8 8 2>;
  266. dma-names = "rx", "tx";
  267. status = "disabled";
  268. };
  269. ecspi4: ecspi@02014000 {
  270. #address-cells = <1>;
  271. #size-cells = <0>;
  272. compatible = "fsl,imx6q-ecspi", "fsl,imx51-ecspi";
  273. reg = <0x02014000 0x4000>;
  274. interrupts = <0 34 IRQ_TYPE_LEVEL_HIGH>;
  275. clocks = <&clks IMX6QDL_CLK_ECSPI4>,
  276. <&clks IMX6QDL_CLK_ECSPI4>;
  277. clock-names = "ipg", "per";
  278. dmas = <&sdma 9 8 1>, <&sdma 10 8 2>;
  279. dma-names = "rx", "tx";
  280. status = "disabled";
  281. };
  282. uart1: serial@02020000 {
  283. compatible = "fsl,imx6q-uart", "fsl,imx21-uart";
  284. reg = <0x02020000 0x4000>;
  285. interrupts = <0 26 IRQ_TYPE_LEVEL_HIGH>;
  286. clocks = <&clks IMX6QDL_CLK_UART_IPG>,
  287. <&clks IMX6QDL_CLK_UART_SERIAL>;
  288. clock-names = "ipg", "per";
  289. dmas = <&sdma 25 4 0>, <&sdma 26 4 0>;
  290. dma-names = "rx", "tx";
  291. status = "disabled";
  292. };
  293. esai: esai@02024000 {
  294. #sound-dai-cells = <0>;
  295. compatible = "fsl,imx35-esai";
  296. reg = <0x02024000 0x4000>;
  297. interrupts = <0 51 IRQ_TYPE_LEVEL_HIGH>;
  298. clocks = <&clks IMX6QDL_CLK_ESAI_IPG>,
  299. <&clks IMX6QDL_CLK_ESAI_MEM>,
  300. <&clks IMX6QDL_CLK_ESAI_EXTAL>,
  301. <&clks IMX6QDL_CLK_ESAI_IPG>,
  302. <&clks IMX6QDL_CLK_SPBA>;
  303. clock-names = "core", "mem", "extal", "fsys", "spba";
  304. dmas = <&sdma 23 21 0>, <&sdma 24 21 0>;
  305. dma-names = "rx", "tx";
  306. status = "disabled";
  307. };
  308. ssi1: ssi@02028000 {
  309. #sound-dai-cells = <0>;
  310. compatible = "fsl,imx6q-ssi",
  311. "fsl,imx51-ssi";
  312. reg = <0x02028000 0x4000>;
  313. interrupts = <0 46 IRQ_TYPE_LEVEL_HIGH>;
  314. clocks = <&clks IMX6QDL_CLK_SSI1_IPG>,
  315. <&clks IMX6QDL_CLK_SSI1>;
  316. clock-names = "ipg", "baud";
  317. dmas = <&sdma 37 1 0>,
  318. <&sdma 38 1 0>;
  319. dma-names = "rx", "tx";
  320. fsl,fifo-depth = <15>;
  321. status = "disabled";
  322. };
  323. ssi2: ssi@0202c000 {
  324. #sound-dai-cells = <0>;
  325. compatible = "fsl,imx6q-ssi",
  326. "fsl,imx51-ssi";
  327. reg = <0x0202c000 0x4000>;
  328. interrupts = <0 47 IRQ_TYPE_LEVEL_HIGH>;
  329. clocks = <&clks IMX6QDL_CLK_SSI2_IPG>,
  330. <&clks IMX6QDL_CLK_SSI2>;
  331. clock-names = "ipg", "baud";
  332. dmas = <&sdma 41 1 0>,
  333. <&sdma 42 1 0>;
  334. dma-names = "rx", "tx";
  335. fsl,fifo-depth = <15>;
  336. status = "disabled";
  337. };
  338. ssi3: ssi@02030000 {
  339. #sound-dai-cells = <0>;
  340. compatible = "fsl,imx6q-ssi",
  341. "fsl,imx51-ssi";
  342. reg = <0x02030000 0x4000>;
  343. interrupts = <0 48 IRQ_TYPE_LEVEL_HIGH>;
  344. clocks = <&clks IMX6QDL_CLK_SSI3_IPG>,
  345. <&clks IMX6QDL_CLK_SSI3>;
  346. clock-names = "ipg", "baud";
  347. dmas = <&sdma 45 1 0>,
  348. <&sdma 46 1 0>;
  349. dma-names = "rx", "tx";
  350. fsl,fifo-depth = <15>;
  351. status = "disabled";
  352. };
  353. asrc: asrc@02034000 {
  354. compatible = "fsl,imx53-asrc";
  355. reg = <0x02034000 0x4000>;
  356. interrupts = <0 50 IRQ_TYPE_LEVEL_HIGH>;
  357. clocks = <&clks IMX6QDL_CLK_ASRC_IPG>,
  358. <&clks IMX6QDL_CLK_ASRC_MEM>, <&clks 0>,
  359. <&clks 0>, <&clks 0>, <&clks 0>, <&clks 0>,
  360. <&clks 0>, <&clks 0>, <&clks 0>, <&clks 0>,
  361. <&clks 0>, <&clks 0>, <&clks 0>, <&clks 0>,
  362. <&clks IMX6QDL_CLK_ASRC>, <&clks 0>, <&clks 0>,
  363. <&clks IMX6QDL_CLK_SPBA>;
  364. clock-names = "mem", "ipg", "asrck_0",
  365. "asrck_1", "asrck_2", "asrck_3", "asrck_4",
  366. "asrck_5", "asrck_6", "asrck_7", "asrck_8",
  367. "asrck_9", "asrck_a", "asrck_b", "asrck_c",
  368. "asrck_d", "asrck_e", "asrck_f", "spba";
  369. dmas = <&sdma 17 23 1>, <&sdma 18 23 1>, <&sdma 19 23 1>,
  370. <&sdma 20 23 1>, <&sdma 21 23 1>, <&sdma 22 23 1>;
  371. dma-names = "rxa", "rxb", "rxc",
  372. "txa", "txb", "txc";
  373. fsl,asrc-rate = <48000>;
  374. fsl,asrc-width = <16>;
  375. status = "okay";
  376. };
  377. spba@0203c000 {
  378. reg = <0x0203c000 0x4000>;
  379. };
  380. };
  381. vpu: vpu@02040000 {
  382. compatible = "cnm,coda960";
  383. reg = <0x02040000 0x3c000>;
  384. interrupts = <0 12 IRQ_TYPE_LEVEL_HIGH>,
  385. <0 3 IRQ_TYPE_LEVEL_HIGH>;
  386. interrupt-names = "bit", "jpeg";
  387. clocks = <&clks IMX6QDL_CLK_VPU_AXI>,
  388. <&clks IMX6QDL_CLK_MMDC_CH0_AXI>;
  389. clock-names = "per", "ahb";
  390. power-domains = <&gpc 1>;
  391. resets = <&src 1>;
  392. iram = <&ocram>;
  393. };
  394. aipstz@0207c000 { /* AIPSTZ1 */
  395. reg = <0x0207c000 0x4000>;
  396. };
  397. pwm1: pwm@02080000 {
  398. #pwm-cells = <2>;
  399. compatible = "fsl,imx6q-pwm", "fsl,imx27-pwm";
  400. reg = <0x02080000 0x4000>;
  401. interrupts = <0 83 IRQ_TYPE_LEVEL_HIGH>;
  402. clocks = <&clks IMX6QDL_CLK_IPG>,
  403. <&clks IMX6QDL_CLK_PWM1>;
  404. clock-names = "ipg", "per";
  405. status = "disabled";
  406. };
  407. pwm2: pwm@02084000 {
  408. #pwm-cells = <2>;
  409. compatible = "fsl,imx6q-pwm", "fsl,imx27-pwm";
  410. reg = <0x02084000 0x4000>;
  411. interrupts = <0 84 IRQ_TYPE_LEVEL_HIGH>;
  412. clocks = <&clks IMX6QDL_CLK_IPG>,
  413. <&clks IMX6QDL_CLK_PWM2>;
  414. clock-names = "ipg", "per";
  415. status = "disabled";
  416. };
  417. pwm3: pwm@02088000 {
  418. #pwm-cells = <2>;
  419. compatible = "fsl,imx6q-pwm", "fsl,imx27-pwm";
  420. reg = <0x02088000 0x4000>;
  421. interrupts = <0 85 IRQ_TYPE_LEVEL_HIGH>;
  422. clocks = <&clks IMX6QDL_CLK_IPG>,
  423. <&clks IMX6QDL_CLK_PWM3>;
  424. clock-names = "ipg", "per";
  425. status = "disabled";
  426. };
  427. pwm4: pwm@0208c000 {
  428. #pwm-cells = <2>;
  429. compatible = "fsl,imx6q-pwm", "fsl,imx27-pwm";
  430. reg = <0x0208c000 0x4000>;
  431. interrupts = <0 86 IRQ_TYPE_LEVEL_HIGH>;
  432. clocks = <&clks IMX6QDL_CLK_IPG>,
  433. <&clks IMX6QDL_CLK_PWM4>;
  434. clock-names = "ipg", "per";
  435. status = "disabled";
  436. };
  437. can1: flexcan@02090000 {
  438. compatible = "fsl,imx6q-flexcan";
  439. reg = <0x02090000 0x4000>;
  440. interrupts = <0 110 IRQ_TYPE_LEVEL_HIGH>;
  441. clocks = <&clks IMX6QDL_CLK_CAN1_IPG>,
  442. <&clks IMX6QDL_CLK_CAN1_SERIAL>;
  443. clock-names = "ipg", "per";
  444. status = "disabled";
  445. };
  446. can2: flexcan@02094000 {
  447. compatible = "fsl,imx6q-flexcan";
  448. reg = <0x02094000 0x4000>;
  449. interrupts = <0 111 IRQ_TYPE_LEVEL_HIGH>;
  450. clocks = <&clks IMX6QDL_CLK_CAN2_IPG>,
  451. <&clks IMX6QDL_CLK_CAN2_SERIAL>;
  452. clock-names = "ipg", "per";
  453. status = "disabled";
  454. };
  455. gpt: gpt@02098000 {
  456. compatible = "fsl,imx6q-gpt", "fsl,imx31-gpt";
  457. reg = <0x02098000 0x4000>;
  458. interrupts = <0 55 IRQ_TYPE_LEVEL_HIGH>;
  459. clocks = <&clks IMX6QDL_CLK_GPT_IPG>,
  460. <&clks IMX6QDL_CLK_GPT_IPG_PER>,
  461. <&clks IMX6QDL_CLK_GPT_3M>;
  462. clock-names = "ipg", "per", "osc_per";
  463. };
  464. gpio1: gpio@0209c000 {
  465. compatible = "fsl,imx6q-gpio", "fsl,imx35-gpio";
  466. reg = <0x0209c000 0x4000>;
  467. interrupts = <0 66 IRQ_TYPE_LEVEL_HIGH>,
  468. <0 67 IRQ_TYPE_LEVEL_HIGH>;
  469. gpio-controller;
  470. #gpio-cells = <2>;
  471. interrupt-controller;
  472. #interrupt-cells = <2>;
  473. };
  474. gpio2: gpio@020a0000 {
  475. compatible = "fsl,imx6q-gpio", "fsl,imx35-gpio";
  476. reg = <0x020a0000 0x4000>;
  477. interrupts = <0 68 IRQ_TYPE_LEVEL_HIGH>,
  478. <0 69 IRQ_TYPE_LEVEL_HIGH>;
  479. gpio-controller;
  480. #gpio-cells = <2>;
  481. interrupt-controller;
  482. #interrupt-cells = <2>;
  483. };
  484. gpio3: gpio@020a4000 {
  485. compatible = "fsl,imx6q-gpio", "fsl,imx35-gpio";
  486. reg = <0x020a4000 0x4000>;
  487. interrupts = <0 70 IRQ_TYPE_LEVEL_HIGH>,
  488. <0 71 IRQ_TYPE_LEVEL_HIGH>;
  489. gpio-controller;
  490. #gpio-cells = <2>;
  491. interrupt-controller;
  492. #interrupt-cells = <2>;
  493. };
  494. gpio4: gpio@020a8000 {
  495. compatible = "fsl,imx6q-gpio", "fsl,imx35-gpio";
  496. reg = <0x020a8000 0x4000>;
  497. interrupts = <0 72 IRQ_TYPE_LEVEL_HIGH>,
  498. <0 73 IRQ_TYPE_LEVEL_HIGH>;
  499. gpio-controller;
  500. #gpio-cells = <2>;
  501. interrupt-controller;
  502. #interrupt-cells = <2>;
  503. };
  504. gpio5: gpio@020ac000 {
  505. compatible = "fsl,imx6q-gpio", "fsl,imx35-gpio";
  506. reg = <0x020ac000 0x4000>;
  507. interrupts = <0 74 IRQ_TYPE_LEVEL_HIGH>,
  508. <0 75 IRQ_TYPE_LEVEL_HIGH>;
  509. gpio-controller;
  510. #gpio-cells = <2>;
  511. interrupt-controller;
  512. #interrupt-cells = <2>;
  513. };
  514. gpio6: gpio@020b0000 {
  515. compatible = "fsl,imx6q-gpio", "fsl,imx35-gpio";
  516. reg = <0x020b0000 0x4000>;
  517. interrupts = <0 76 IRQ_TYPE_LEVEL_HIGH>,
  518. <0 77 IRQ_TYPE_LEVEL_HIGH>;
  519. gpio-controller;
  520. #gpio-cells = <2>;
  521. interrupt-controller;
  522. #interrupt-cells = <2>;
  523. };
  524. gpio7: gpio@020b4000 {
  525. compatible = "fsl,imx6q-gpio", "fsl,imx35-gpio";
  526. reg = <0x020b4000 0x4000>;
  527. interrupts = <0 78 IRQ_TYPE_LEVEL_HIGH>,
  528. <0 79 IRQ_TYPE_LEVEL_HIGH>;
  529. gpio-controller;
  530. #gpio-cells = <2>;
  531. interrupt-controller;
  532. #interrupt-cells = <2>;
  533. };
  534. kpp: kpp@020b8000 {
  535. compatible = "fsl,imx6q-kpp", "fsl,imx21-kpp";
  536. reg = <0x020b8000 0x4000>;
  537. interrupts = <0 82 IRQ_TYPE_LEVEL_HIGH>;
  538. clocks = <&clks IMX6QDL_CLK_IPG>;
  539. status = "disabled";
  540. };
  541. wdog1: wdog@020bc000 {
  542. compatible = "fsl,imx6q-wdt", "fsl,imx21-wdt";
  543. reg = <0x020bc000 0x4000>;
  544. interrupts = <0 80 IRQ_TYPE_LEVEL_HIGH>;
  545. clocks = <&clks IMX6QDL_CLK_DUMMY>;
  546. };
  547. wdog2: wdog@020c0000 {
  548. compatible = "fsl,imx6q-wdt", "fsl,imx21-wdt";
  549. reg = <0x020c0000 0x4000>;
  550. interrupts = <0 81 IRQ_TYPE_LEVEL_HIGH>;
  551. clocks = <&clks IMX6QDL_CLK_DUMMY>;
  552. status = "disabled";
  553. };
  554. clks: ccm@020c4000 {
  555. compatible = "fsl,imx6q-ccm";
  556. reg = <0x020c4000 0x4000>;
  557. interrupts = <0 87 IRQ_TYPE_LEVEL_HIGH>,
  558. <0 88 IRQ_TYPE_LEVEL_HIGH>;
  559. #clock-cells = <1>;
  560. };
  561. anatop: anatop@020c8000 {
  562. compatible = "fsl,imx6q-anatop", "syscon", "simple-bus";
  563. reg = <0x020c8000 0x1000>;
  564. interrupts = <0 49 IRQ_TYPE_LEVEL_HIGH>,
  565. <0 54 IRQ_TYPE_LEVEL_HIGH>,
  566. <0 127 IRQ_TYPE_LEVEL_HIGH>;
  567. regulator-1p1 {
  568. compatible = "fsl,anatop-regulator";
  569. regulator-name = "vdd1p1";
  570. regulator-min-microvolt = <800000>;
  571. regulator-max-microvolt = <1375000>;
  572. regulator-always-on;
  573. anatop-reg-offset = <0x110>;
  574. anatop-vol-bit-shift = <8>;
  575. anatop-vol-bit-width = <5>;
  576. anatop-min-bit-val = <4>;
  577. anatop-min-voltage = <800000>;
  578. anatop-max-voltage = <1375000>;
  579. };
  580. regulator-3p0 {
  581. compatible = "fsl,anatop-regulator";
  582. regulator-name = "vdd3p0";
  583. regulator-min-microvolt = <2800000>;
  584. regulator-max-microvolt = <3150000>;
  585. regulator-always-on;
  586. anatop-reg-offset = <0x120>;
  587. anatop-vol-bit-shift = <8>;
  588. anatop-vol-bit-width = <5>;
  589. anatop-min-bit-val = <0>;
  590. anatop-min-voltage = <2625000>;
  591. anatop-max-voltage = <3400000>;
  592. };
  593. regulator-2p5 {
  594. compatible = "fsl,anatop-regulator";
  595. regulator-name = "vdd2p5";
  596. regulator-min-microvolt = <2000000>;
  597. regulator-max-microvolt = <2750000>;
  598. regulator-always-on;
  599. anatop-reg-offset = <0x130>;
  600. anatop-vol-bit-shift = <8>;
  601. anatop-vol-bit-width = <5>;
  602. anatop-min-bit-val = <0>;
  603. anatop-min-voltage = <2000000>;
  604. anatop-max-voltage = <2750000>;
  605. };
  606. reg_arm: regulator-vddcore {
  607. compatible = "fsl,anatop-regulator";
  608. regulator-name = "vddarm";
  609. regulator-min-microvolt = <725000>;
  610. regulator-max-microvolt = <1450000>;
  611. regulator-always-on;
  612. anatop-reg-offset = <0x140>;
  613. anatop-vol-bit-shift = <0>;
  614. anatop-vol-bit-width = <5>;
  615. anatop-delay-reg-offset = <0x170>;
  616. anatop-delay-bit-shift = <24>;
  617. anatop-delay-bit-width = <2>;
  618. anatop-min-bit-val = <1>;
  619. anatop-min-voltage = <725000>;
  620. anatop-max-voltage = <1450000>;
  621. };
  622. reg_pu: regulator-vddpu {
  623. compatible = "fsl,anatop-regulator";
  624. regulator-name = "vddpu";
  625. regulator-min-microvolt = <725000>;
  626. regulator-max-microvolt = <1450000>;
  627. regulator-enable-ramp-delay = <150>;
  628. anatop-reg-offset = <0x140>;
  629. anatop-vol-bit-shift = <9>;
  630. anatop-vol-bit-width = <5>;
  631. anatop-delay-reg-offset = <0x170>;
  632. anatop-delay-bit-shift = <26>;
  633. anatop-delay-bit-width = <2>;
  634. anatop-min-bit-val = <1>;
  635. anatop-min-voltage = <725000>;
  636. anatop-max-voltage = <1450000>;
  637. };
  638. reg_soc: regulator-vddsoc {
  639. compatible = "fsl,anatop-regulator";
  640. regulator-name = "vddsoc";
  641. regulator-min-microvolt = <725000>;
  642. regulator-max-microvolt = <1450000>;
  643. regulator-always-on;
  644. anatop-reg-offset = <0x140>;
  645. anatop-vol-bit-shift = <18>;
  646. anatop-vol-bit-width = <5>;
  647. anatop-delay-reg-offset = <0x170>;
  648. anatop-delay-bit-shift = <28>;
  649. anatop-delay-bit-width = <2>;
  650. anatop-min-bit-val = <1>;
  651. anatop-min-voltage = <725000>;
  652. anatop-max-voltage = <1450000>;
  653. };
  654. };
  655. tempmon: tempmon {
  656. compatible = "fsl,imx6q-tempmon";
  657. interrupts = <0 49 IRQ_TYPE_LEVEL_HIGH>;
  658. fsl,tempmon = <&anatop>;
  659. fsl,tempmon-data = <&ocotp>;
  660. clocks = <&clks IMX6QDL_CLK_PLL3_USB_OTG>;
  661. };
  662. usbphy1: usbphy@020c9000 {
  663. compatible = "fsl,imx6q-usbphy", "fsl,imx23-usbphy";
  664. reg = <0x020c9000 0x1000>;
  665. interrupts = <0 44 IRQ_TYPE_LEVEL_HIGH>;
  666. clocks = <&clks IMX6QDL_CLK_USBPHY1>;
  667. fsl,anatop = <&anatop>;
  668. };
  669. usbphy2: usbphy@020ca000 {
  670. compatible = "fsl,imx6q-usbphy", "fsl,imx23-usbphy";
  671. reg = <0x020ca000 0x1000>;
  672. interrupts = <0 45 IRQ_TYPE_LEVEL_HIGH>;
  673. clocks = <&clks IMX6QDL_CLK_USBPHY2>;
  674. fsl,anatop = <&anatop>;
  675. };
  676. snvs: snvs@020cc000 {
  677. compatible = "fsl,sec-v4.0-mon", "syscon", "simple-mfd";
  678. reg = <0x020cc000 0x4000>;
  679. snvs_rtc: snvs-rtc-lp {
  680. compatible = "fsl,sec-v4.0-mon-rtc-lp";
  681. regmap = <&snvs>;
  682. offset = <0x34>;
  683. interrupts = <0 19 IRQ_TYPE_LEVEL_HIGH>,
  684. <0 20 IRQ_TYPE_LEVEL_HIGH>;
  685. };
  686. snvs_poweroff: snvs-poweroff {
  687. compatible = "syscon-poweroff";
  688. regmap = <&snvs>;
  689. offset = <0x38>;
  690. mask = <0x60>;
  691. status = "disabled";
  692. };
  693. };
  694. epit1: epit@020d0000 { /* EPIT1 */
  695. reg = <0x020d0000 0x4000>;
  696. interrupts = <0 56 IRQ_TYPE_LEVEL_HIGH>;
  697. };
  698. epit2: epit@020d4000 { /* EPIT2 */
  699. reg = <0x020d4000 0x4000>;
  700. interrupts = <0 57 IRQ_TYPE_LEVEL_HIGH>;
  701. };
  702. src: src@020d8000 {
  703. compatible = "fsl,imx6q-src", "fsl,imx51-src";
  704. reg = <0x020d8000 0x4000>;
  705. interrupts = <0 91 IRQ_TYPE_LEVEL_HIGH>,
  706. <0 96 IRQ_TYPE_LEVEL_HIGH>;
  707. #reset-cells = <1>;
  708. };
  709. gpc: gpc@020dc000 {
  710. compatible = "fsl,imx6q-gpc";
  711. reg = <0x020dc000 0x4000>;
  712. interrupt-controller;
  713. #interrupt-cells = <3>;
  714. interrupts = <0 89 IRQ_TYPE_LEVEL_HIGH>,
  715. <0 90 IRQ_TYPE_LEVEL_HIGH>;
  716. interrupt-parent = <&intc>;
  717. pu-supply = <&reg_pu>;
  718. clocks = <&clks IMX6QDL_CLK_GPU3D_CORE>,
  719. <&clks IMX6QDL_CLK_GPU3D_SHADER>,
  720. <&clks IMX6QDL_CLK_GPU2D_CORE>,
  721. <&clks IMX6QDL_CLK_GPU2D_AXI>,
  722. <&clks IMX6QDL_CLK_OPENVG_AXI>,
  723. <&clks IMX6QDL_CLK_VPU_AXI>;
  724. #power-domain-cells = <1>;
  725. };
  726. gpr: iomuxc-gpr@020e0000 {
  727. compatible = "fsl,imx6q-iomuxc-gpr", "syscon";
  728. reg = <0x020e0000 0x38>;
  729. };
  730. iomuxc: iomuxc@020e0000 {
  731. compatible = "fsl,imx6dl-iomuxc", "fsl,imx6q-iomuxc";
  732. reg = <0x020e0000 0x4000>;
  733. };
  734. ldb: ldb@020e0008 {
  735. #address-cells = <1>;
  736. #size-cells = <0>;
  737. compatible = "fsl,imx6q-ldb", "fsl,imx53-ldb";
  738. gpr = <&gpr>;
  739. status = "disabled";
  740. lvds-channel@0 {
  741. #address-cells = <1>;
  742. #size-cells = <0>;
  743. reg = <0>;
  744. status = "disabled";
  745. port@0 {
  746. reg = <0>;
  747. lvds0_mux_0: endpoint {
  748. remote-endpoint = <&ipu1_di0_lvds0>;
  749. };
  750. };
  751. port@1 {
  752. reg = <1>;
  753. lvds0_mux_1: endpoint {
  754. remote-endpoint = <&ipu1_di1_lvds0>;
  755. };
  756. };
  757. };
  758. lvds-channel@1 {
  759. #address-cells = <1>;
  760. #size-cells = <0>;
  761. reg = <1>;
  762. status = "disabled";
  763. port@0 {
  764. reg = <0>;
  765. lvds1_mux_0: endpoint {
  766. remote-endpoint = <&ipu1_di0_lvds1>;
  767. };
  768. };
  769. port@1 {
  770. reg = <1>;
  771. lvds1_mux_1: endpoint {
  772. remote-endpoint = <&ipu1_di1_lvds1>;
  773. };
  774. };
  775. };
  776. };
  777. dcic1: dcic@020e4000 {
  778. reg = <0x020e4000 0x4000>;
  779. interrupts = <0 124 IRQ_TYPE_LEVEL_HIGH>;
  780. };
  781. dcic2: dcic@020e8000 {
  782. reg = <0x020e8000 0x4000>;
  783. interrupts = <0 125 IRQ_TYPE_LEVEL_HIGH>;
  784. };
  785. sdma: sdma@020ec000 {
  786. compatible = "fsl,imx6q-sdma", "fsl,imx35-sdma";
  787. reg = <0x020ec000 0x4000>;
  788. interrupts = <0 2 IRQ_TYPE_LEVEL_HIGH>;
  789. clocks = <&clks IMX6QDL_CLK_SDMA>,
  790. <&clks IMX6QDL_CLK_SDMA>;
  791. clock-names = "ipg", "ahb";
  792. #dma-cells = <3>;
  793. fsl,sdma-ram-script-name = "imx/sdma/sdma-imx6q.bin";
  794. };
  795. };
  796. aips-bus@02100000 { /* AIPS2 */
  797. compatible = "fsl,aips-bus", "simple-bus";
  798. #address-cells = <1>;
  799. #size-cells = <1>;
  800. reg = <0x02100000 0x100000>;
  801. ranges;
  802. crypto: caam@2100000 {
  803. compatible = "fsl,sec-v4.0";
  804. fsl,sec-era = <4>;
  805. #address-cells = <1>;
  806. #size-cells = <1>;
  807. reg = <0x2100000 0x10000>;
  808. ranges = <0 0x2100000 0x10000>;
  809. clocks = <&clks IMX6QDL_CLK_CAAM_MEM>,
  810. <&clks IMX6QDL_CLK_CAAM_ACLK>,
  811. <&clks IMX6QDL_CLK_CAAM_IPG>,
  812. <&clks IMX6QDL_CLK_EIM_SLOW>;
  813. clock-names = "mem", "aclk", "ipg", "emi_slow";
  814. sec_jr0: jr0@1000 {
  815. compatible = "fsl,sec-v4.0-job-ring";
  816. reg = <0x1000 0x1000>;
  817. interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
  818. };
  819. sec_jr1: jr1@2000 {
  820. compatible = "fsl,sec-v4.0-job-ring";
  821. reg = <0x2000 0x1000>;
  822. interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
  823. };
  824. };
  825. aipstz@0217c000 { /* AIPSTZ2 */
  826. reg = <0x0217c000 0x4000>;
  827. };
  828. usbotg: usb@02184000 {
  829. compatible = "fsl,imx6q-usb", "fsl,imx27-usb";
  830. reg = <0x02184000 0x200>;
  831. interrupts = <0 43 IRQ_TYPE_LEVEL_HIGH>;
  832. clocks = <&clks IMX6QDL_CLK_USBOH3>;
  833. fsl,usbphy = <&usbphy1>;
  834. fsl,usbmisc = <&usbmisc 0>;
  835. ahb-burst-config = <0x0>;
  836. tx-burst-size-dword = <0x10>;
  837. rx-burst-size-dword = <0x10>;
  838. status = "disabled";
  839. };
  840. usbh1: usb@02184200 {
  841. compatible = "fsl,imx6q-usb", "fsl,imx27-usb";
  842. reg = <0x02184200 0x200>;
  843. interrupts = <0 40 IRQ_TYPE_LEVEL_HIGH>;
  844. clocks = <&clks IMX6QDL_CLK_USBOH3>;
  845. fsl,usbphy = <&usbphy2>;
  846. fsl,usbmisc = <&usbmisc 1>;
  847. dr_mode = "host";
  848. ahb-burst-config = <0x0>;
  849. tx-burst-size-dword = <0x10>;
  850. rx-burst-size-dword = <0x10>;
  851. status = "disabled";
  852. };
  853. usbh2: usb@02184400 {
  854. compatible = "fsl,imx6q-usb", "fsl,imx27-usb";
  855. reg = <0x02184400 0x200>;
  856. interrupts = <0 41 IRQ_TYPE_LEVEL_HIGH>;
  857. clocks = <&clks IMX6QDL_CLK_USBOH3>;
  858. fsl,usbmisc = <&usbmisc 2>;
  859. dr_mode = "host";
  860. ahb-burst-config = <0x0>;
  861. tx-burst-size-dword = <0x10>;
  862. rx-burst-size-dword = <0x10>;
  863. status = "disabled";
  864. };
  865. usbh3: usb@02184600 {
  866. compatible = "fsl,imx6q-usb", "fsl,imx27-usb";
  867. reg = <0x02184600 0x200>;
  868. interrupts = <0 42 IRQ_TYPE_LEVEL_HIGH>;
  869. clocks = <&clks IMX6QDL_CLK_USBOH3>;
  870. fsl,usbmisc = <&usbmisc 3>;
  871. dr_mode = "host";
  872. ahb-burst-config = <0x0>;
  873. tx-burst-size-dword = <0x10>;
  874. rx-burst-size-dword = <0x10>;
  875. status = "disabled";
  876. };
  877. usbmisc: usbmisc@02184800 {
  878. #index-cells = <1>;
  879. compatible = "fsl,imx6q-usbmisc";
  880. reg = <0x02184800 0x200>;
  881. clocks = <&clks IMX6QDL_CLK_USBOH3>;
  882. };
  883. fec: ethernet@02188000 {
  884. compatible = "fsl,imx6q-fec";
  885. reg = <0x02188000 0x4000>;
  886. interrupts-extended =
  887. <&intc 0 118 IRQ_TYPE_LEVEL_HIGH>,
  888. <&intc 0 119 IRQ_TYPE_LEVEL_HIGH>;
  889. clocks = <&clks IMX6QDL_CLK_ENET>,
  890. <&clks IMX6QDL_CLK_ENET>,
  891. <&clks IMX6QDL_CLK_ENET_REF>;
  892. clock-names = "ipg", "ahb", "ptp";
  893. status = "disabled";
  894. };
  895. mlb@0218c000 {
  896. reg = <0x0218c000 0x4000>;
  897. interrupts = <0 53 IRQ_TYPE_LEVEL_HIGH>,
  898. <0 117 IRQ_TYPE_LEVEL_HIGH>,
  899. <0 126 IRQ_TYPE_LEVEL_HIGH>;
  900. };
  901. usdhc1: usdhc@02190000 {
  902. compatible = "fsl,imx6q-usdhc";
  903. reg = <0x02190000 0x4000>;
  904. interrupts = <0 22 IRQ_TYPE_LEVEL_HIGH>;
  905. clocks = <&clks IMX6QDL_CLK_USDHC1>,
  906. <&clks IMX6QDL_CLK_USDHC1>,
  907. <&clks IMX6QDL_CLK_USDHC1>;
  908. clock-names = "ipg", "ahb", "per";
  909. bus-width = <4>;
  910. status = "disabled";
  911. };
  912. usdhc2: usdhc@02194000 {
  913. compatible = "fsl,imx6q-usdhc";
  914. reg = <0x02194000 0x4000>;
  915. interrupts = <0 23 IRQ_TYPE_LEVEL_HIGH>;
  916. clocks = <&clks IMX6QDL_CLK_USDHC2>,
  917. <&clks IMX6QDL_CLK_USDHC2>,
  918. <&clks IMX6QDL_CLK_USDHC2>;
  919. clock-names = "ipg", "ahb", "per";
  920. bus-width = <4>;
  921. status = "disabled";
  922. };
  923. usdhc3: usdhc@02198000 {
  924. compatible = "fsl,imx6q-usdhc";
  925. reg = <0x02198000 0x4000>;
  926. interrupts = <0 24 IRQ_TYPE_LEVEL_HIGH>;
  927. clocks = <&clks IMX6QDL_CLK_USDHC3>,
  928. <&clks IMX6QDL_CLK_USDHC3>,
  929. <&clks IMX6QDL_CLK_USDHC3>;
  930. clock-names = "ipg", "ahb", "per";
  931. bus-width = <4>;
  932. status = "disabled";
  933. };
  934. usdhc4: usdhc@0219c000 {
  935. compatible = "fsl,imx6q-usdhc";
  936. reg = <0x0219c000 0x4000>;
  937. interrupts = <0 25 IRQ_TYPE_LEVEL_HIGH>;
  938. clocks = <&clks IMX6QDL_CLK_USDHC4>,
  939. <&clks IMX6QDL_CLK_USDHC4>,
  940. <&clks IMX6QDL_CLK_USDHC4>;
  941. clock-names = "ipg", "ahb", "per";
  942. bus-width = <4>;
  943. status = "disabled";
  944. };
  945. i2c1: i2c@021a0000 {
  946. #address-cells = <1>;
  947. #size-cells = <0>;
  948. compatible = "fsl,imx6q-i2c", "fsl,imx21-i2c";
  949. reg = <0x021a0000 0x4000>;
  950. interrupts = <0 36 IRQ_TYPE_LEVEL_HIGH>;
  951. clocks = <&clks IMX6QDL_CLK_I2C1>;
  952. status = "disabled";
  953. };
  954. i2c2: i2c@021a4000 {
  955. #address-cells = <1>;
  956. #size-cells = <0>;
  957. compatible = "fsl,imx6q-i2c", "fsl,imx21-i2c";
  958. reg = <0x021a4000 0x4000>;
  959. interrupts = <0 37 IRQ_TYPE_LEVEL_HIGH>;
  960. clocks = <&clks IMX6QDL_CLK_I2C2>;
  961. status = "disabled";
  962. };
  963. i2c3: i2c@021a8000 {
  964. #address-cells = <1>;
  965. #size-cells = <0>;
  966. compatible = "fsl,imx6q-i2c", "fsl,imx21-i2c";
  967. reg = <0x021a8000 0x4000>;
  968. interrupts = <0 38 IRQ_TYPE_LEVEL_HIGH>;
  969. clocks = <&clks IMX6QDL_CLK_I2C3>;
  970. status = "disabled";
  971. };
  972. romcp@021ac000 {
  973. reg = <0x021ac000 0x4000>;
  974. };
  975. mmdc0: mmdc@021b0000 { /* MMDC0 */
  976. compatible = "fsl,imx6q-mmdc";
  977. reg = <0x021b0000 0x4000>;
  978. };
  979. mmdc1: mmdc@021b4000 { /* MMDC1 */
  980. reg = <0x021b4000 0x4000>;
  981. };
  982. weim: weim@021b8000 {
  983. compatible = "fsl,imx6q-weim";
  984. reg = <0x021b8000 0x4000>;
  985. interrupts = <0 14 IRQ_TYPE_LEVEL_HIGH>;
  986. clocks = <&clks IMX6QDL_CLK_EIM_SLOW>;
  987. };
  988. ocotp: ocotp@021bc000 {
  989. compatible = "fsl,imx6q-ocotp", "syscon";
  990. reg = <0x021bc000 0x4000>;
  991. clocks = <&clks IMX6QDL_CLK_IIM>;
  992. };
  993. tzasc@021d0000 { /* TZASC1 */
  994. reg = <0x021d0000 0x4000>;
  995. interrupts = <0 108 IRQ_TYPE_LEVEL_HIGH>;
  996. };
  997. tzasc@021d4000 { /* TZASC2 */
  998. reg = <0x021d4000 0x4000>;
  999. interrupts = <0 109 IRQ_TYPE_LEVEL_HIGH>;
  1000. };
  1001. audmux: audmux@021d8000 {
  1002. compatible = "fsl,imx6q-audmux", "fsl,imx31-audmux";
  1003. reg = <0x021d8000 0x4000>;
  1004. status = "disabled";
  1005. };
  1006. mipi_csi: mipi@021dc000 {
  1007. reg = <0x021dc000 0x4000>;
  1008. };
  1009. mipi_dsi: mipi@021e0000 {
  1010. #address-cells = <1>;
  1011. #size-cells = <0>;
  1012. reg = <0x021e0000 0x4000>;
  1013. status = "disabled";
  1014. ports {
  1015. #address-cells = <1>;
  1016. #size-cells = <0>;
  1017. port@0 {
  1018. reg = <0>;
  1019. mipi_mux_0: endpoint {
  1020. remote-endpoint = <&ipu1_di0_mipi>;
  1021. };
  1022. };
  1023. port@1 {
  1024. reg = <1>;
  1025. mipi_mux_1: endpoint {
  1026. remote-endpoint = <&ipu1_di1_mipi>;
  1027. };
  1028. };
  1029. };
  1030. };
  1031. vdoa@021e4000 {
  1032. reg = <0x021e4000 0x4000>;
  1033. interrupts = <0 18 IRQ_TYPE_LEVEL_HIGH>;
  1034. };
  1035. uart2: serial@021e8000 {
  1036. compatible = "fsl,imx6q-uart", "fsl,imx21-uart";
  1037. reg = <0x021e8000 0x4000>;
  1038. interrupts = <0 27 IRQ_TYPE_LEVEL_HIGH>;
  1039. clocks = <&clks IMX6QDL_CLK_UART_IPG>,
  1040. <&clks IMX6QDL_CLK_UART_SERIAL>;
  1041. clock-names = "ipg", "per";
  1042. dmas = <&sdma 27 4 0>, <&sdma 28 4 0>;
  1043. dma-names = "rx", "tx";
  1044. status = "disabled";
  1045. };
  1046. uart3: serial@021ec000 {
  1047. compatible = "fsl,imx6q-uart", "fsl,imx21-uart";
  1048. reg = <0x021ec000 0x4000>;
  1049. interrupts = <0 28 IRQ_TYPE_LEVEL_HIGH>;
  1050. clocks = <&clks IMX6QDL_CLK_UART_IPG>,
  1051. <&clks IMX6QDL_CLK_UART_SERIAL>;
  1052. clock-names = "ipg", "per";
  1053. dmas = <&sdma 29 4 0>, <&sdma 30 4 0>;
  1054. dma-names = "rx", "tx";
  1055. status = "disabled";
  1056. };
  1057. uart4: serial@021f0000 {
  1058. compatible = "fsl,imx6q-uart", "fsl,imx21-uart";
  1059. reg = <0x021f0000 0x4000>;
  1060. interrupts = <0 29 IRQ_TYPE_LEVEL_HIGH>;
  1061. clocks = <&clks IMX6QDL_CLK_UART_IPG>,
  1062. <&clks IMX6QDL_CLK_UART_SERIAL>;
  1063. clock-names = "ipg", "per";
  1064. dmas = <&sdma 31 4 0>, <&sdma 32 4 0>;
  1065. dma-names = "rx", "tx";
  1066. status = "disabled";
  1067. };
  1068. uart5: serial@021f4000 {
  1069. compatible = "fsl,imx6q-uart", "fsl,imx21-uart";
  1070. reg = <0x021f4000 0x4000>;
  1071. interrupts = <0 30 IRQ_TYPE_LEVEL_HIGH>;
  1072. clocks = <&clks IMX6QDL_CLK_UART_IPG>,
  1073. <&clks IMX6QDL_CLK_UART_SERIAL>;
  1074. clock-names = "ipg", "per";
  1075. dmas = <&sdma 33 4 0>, <&sdma 34 4 0>;
  1076. dma-names = "rx", "tx";
  1077. status = "disabled";
  1078. };
  1079. };
  1080. ipu1: ipu@02400000 {
  1081. #address-cells = <1>;
  1082. #size-cells = <0>;
  1083. compatible = "fsl,imx6q-ipu";
  1084. reg = <0x02400000 0x400000>;
  1085. interrupts = <0 6 IRQ_TYPE_LEVEL_HIGH>,
  1086. <0 5 IRQ_TYPE_LEVEL_HIGH>;
  1087. clocks = <&clks IMX6QDL_CLK_IPU1>,
  1088. <&clks IMX6QDL_CLK_IPU1_DI0>,
  1089. <&clks IMX6QDL_CLK_IPU1_DI1>;
  1090. clock-names = "bus", "di0", "di1";
  1091. resets = <&src 2>;
  1092. ipu1_csi0: port@0 {
  1093. reg = <0>;
  1094. };
  1095. ipu1_csi1: port@1 {
  1096. reg = <1>;
  1097. };
  1098. ipu1_di0: port@2 {
  1099. #address-cells = <1>;
  1100. #size-cells = <0>;
  1101. reg = <2>;
  1102. ipu1_di0_disp0: disp0-endpoint {
  1103. };
  1104. ipu1_di0_hdmi: hdmi-endpoint {
  1105. remote-endpoint = <&hdmi_mux_0>;
  1106. };
  1107. ipu1_di0_mipi: mipi-endpoint {
  1108. remote-endpoint = <&mipi_mux_0>;
  1109. };
  1110. ipu1_di0_lvds0: lvds0-endpoint {
  1111. remote-endpoint = <&lvds0_mux_0>;
  1112. };
  1113. ipu1_di0_lvds1: lvds1-endpoint {
  1114. remote-endpoint = <&lvds1_mux_0>;
  1115. };
  1116. };
  1117. ipu1_di1: port@3 {
  1118. #address-cells = <1>;
  1119. #size-cells = <0>;
  1120. reg = <3>;
  1121. ipu1_di1_disp1: disp1-endpoint {
  1122. };
  1123. ipu1_di1_hdmi: hdmi-endpoint {
  1124. remote-endpoint = <&hdmi_mux_1>;
  1125. };
  1126. ipu1_di1_mipi: mipi-endpoint {
  1127. remote-endpoint = <&mipi_mux_1>;
  1128. };
  1129. ipu1_di1_lvds0: lvds0-endpoint {
  1130. remote-endpoint = <&lvds0_mux_1>;
  1131. };
  1132. ipu1_di1_lvds1: lvds1-endpoint {
  1133. remote-endpoint = <&lvds1_mux_1>;
  1134. };
  1135. };
  1136. };
  1137. };
  1138. };