imx6qdl.dtsi 30 KB

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