Guest User

Untitled

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