imx6ul.dtsi 31 KB

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