imx6sll.dtsi 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839
  1. // SPDX-License-Identifier: (GPL-2.0 OR MIT)
  2. /*
  3. * Copyright 2016 Freescale Semiconductor, Inc.
  4. * Copyright 2017-2018 NXP.
  5. *
  6. */
  7. #include <dt-bindings/clock/imx6sll-clock.h>
  8. #include <dt-bindings/gpio/gpio.h>
  9. #include <dt-bindings/interrupt-controller/arm-gic.h>
  10. #include "imx6sll-pinfunc.h"
  11. / {
  12. #address-cells = <1>;
  13. #size-cells = <1>;
  14. aliases {
  15. gpio0 = &gpio1;
  16. gpio1 = &gpio2;
  17. gpio2 = &gpio3;
  18. gpio3 = &gpio4;
  19. gpio4 = &gpio5;
  20. gpio5 = &gpio6;
  21. i2c0 = &i2c1;
  22. i2c1 = &i2c2;
  23. i2c2 = &i2c3;
  24. mmc0 = &usdhc1;
  25. mmc1 = &usdhc2;
  26. mmc2 = &usdhc3;
  27. serial0 = &uart1;
  28. serial1 = &uart2;
  29. serial2 = &uart3;
  30. serial3 = &uart4;
  31. serial4 = &uart5;
  32. spi0 = &ecspi1;
  33. spi1 = &ecspi2;
  34. spi3 = &ecspi3;
  35. spi4 = &ecspi4;
  36. usb0 = &usbotg1;
  37. usb1 = &usbotg2;
  38. usbphy0 = &usbphy1;
  39. usbphy1 = &usbphy2;
  40. };
  41. cpus {
  42. #address-cells = <1>;
  43. #size-cells = <0>;
  44. cpu0: cpu@0 {
  45. compatible = "arm,cortex-a9";
  46. device_type = "cpu";
  47. reg = <0>;
  48. next-level-cache = <&L2>;
  49. operating-points =
  50. /* kHz uV */
  51. <996000 1275000>,
  52. <792000 1175000>,
  53. <396000 1075000>,
  54. <198000 975000>;
  55. fsl,soc-operating-points =
  56. /* ARM kHz SOC-PU uV */
  57. <996000 1175000>,
  58. <792000 1175000>,
  59. <396000 1175000>,
  60. <198000 1175000>;
  61. clock-latency = <61036>; /* two CLK32 periods */
  62. #cooling-cells = <2>;
  63. clocks = <&clks IMX6SLL_CLK_ARM>,
  64. <&clks IMX6SLL_CLK_PLL2_PFD2>,
  65. <&clks IMX6SLL_CLK_STEP>,
  66. <&clks IMX6SLL_CLK_PLL1_SW>,
  67. <&clks IMX6SLL_CLK_PLL1_SYS>;
  68. clock-names = "arm", "pll2_pfd2_396m", "step",
  69. "pll1_sw", "pll1_sys";
  70. nvmem-cells = <&cpu_speed_grade>;
  71. nvmem-cell-names = "speed_grade";
  72. };
  73. };
  74. ckil: clock-ckil {
  75. compatible = "fixed-clock";
  76. #clock-cells = <0>;
  77. clock-frequency = <32768>;
  78. clock-output-names = "ckil";
  79. };
  80. osc: clock-osc-24m {
  81. compatible = "fixed-clock";
  82. #clock-cells = <0>;
  83. clock-frequency = <24000000>;
  84. clock-output-names = "osc";
  85. };
  86. ipp_di0: clock-ipp-di0 {
  87. compatible = "fixed-clock";
  88. #clock-cells = <0>;
  89. clock-frequency = <0>;
  90. clock-output-names = "ipp_di0";
  91. };
  92. ipp_di1: clock-ipp-di1 {
  93. compatible = "fixed-clock";
  94. #clock-cells = <0>;
  95. clock-frequency = <0>;
  96. clock-output-names = "ipp_di1";
  97. };
  98. soc {
  99. #address-cells = <1>;
  100. #size-cells = <1>;
  101. compatible = "simple-bus";
  102. interrupt-parent = <&gpc>;
  103. ranges;
  104. ocram: sram@900000 {
  105. compatible = "mmio-sram";
  106. reg = <0x00900000 0x20000>;
  107. ranges = <0 0x00900000 0x20000>;
  108. #address-cells = <1>;
  109. #size-cells = <1>;
  110. };
  111. intc: interrupt-controller@a01000 {
  112. compatible = "arm,cortex-a9-gic";
  113. #interrupt-cells = <3>;
  114. interrupt-controller;
  115. reg = <0x00a01000 0x1000>,
  116. <0x00a00100 0x100>;
  117. interrupt-parent = <&intc>;
  118. };
  119. L2: cache-controller@a02000 {
  120. compatible = "arm,pl310-cache";
  121. reg = <0x00a02000 0x1000>;
  122. interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
  123. cache-unified;
  124. cache-level = <2>;
  125. arm,tag-latency = <4 2 3>;
  126. arm,data-latency = <4 2 3>;
  127. };
  128. aips1: bus@2000000 {
  129. compatible = "fsl,aips-bus", "simple-bus";
  130. #address-cells = <1>;
  131. #size-cells = <1>;
  132. reg = <0x02000000 0x100000>;
  133. ranges;
  134. spba: spba-bus@2000000 {
  135. compatible = "fsl,spba-bus", "simple-bus";
  136. #address-cells = <1>;
  137. #size-cells = <1>;
  138. reg = <0x02000000 0x40000>;
  139. ranges;
  140. spdif: spdif@2004000 {
  141. compatible = "fsl,imx6sl-spdif", "fsl,imx35-spdif";
  142. reg = <0x02004000 0x4000>;
  143. interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
  144. dmas = <&sdma 14 18 0>, <&sdma 15 18 0>;
  145. dma-names = "rx", "tx";
  146. clocks = <&clks IMX6SLL_CLK_SPDIF_GCLK>,
  147. <&clks IMX6SLL_CLK_OSC>,
  148. <&clks IMX6SLL_CLK_SPDIF>,
  149. <&clks IMX6SLL_CLK_DUMMY>,
  150. <&clks IMX6SLL_CLK_DUMMY>,
  151. <&clks IMX6SLL_CLK_DUMMY>,
  152. <&clks IMX6SLL_CLK_IPG>,
  153. <&clks IMX6SLL_CLK_DUMMY>,
  154. <&clks IMX6SLL_CLK_DUMMY>,
  155. <&clks IMX6SLL_CLK_SPBA>;
  156. clock-names = "core", "rxtx0",
  157. "rxtx1", "rxtx2",
  158. "rxtx3", "rxtx4",
  159. "rxtx5", "rxtx6",
  160. "rxtx7", "dma";
  161. status = "disabled";
  162. };
  163. ecspi1: spi@2008000 {
  164. compatible = "fsl,imx6ul-ecspi", "fsl,imx51-ecspi";
  165. reg = <0x02008000 0x4000>;
  166. interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
  167. dmas = <&sdma 3 7 1>, <&sdma 4 7 2>;
  168. dma-names = "rx", "tx";
  169. clocks = <&clks IMX6SLL_CLK_ECSPI1>,
  170. <&clks IMX6SLL_CLK_ECSPI1>;
  171. clock-names = "ipg", "per";
  172. status = "disabled";
  173. };
  174. ecspi2: spi@200c000 {
  175. compatible = "fsl,imx6ul-ecspi", "fsl,imx51-ecspi";
  176. reg = <0x0200c000 0x4000>;
  177. interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
  178. dmas = <&sdma 5 7 1>, <&sdma 6 7 2>;
  179. dma-names = "rx", "tx";
  180. clocks = <&clks IMX6SLL_CLK_ECSPI2>,
  181. <&clks IMX6SLL_CLK_ECSPI2>;
  182. clock-names = "ipg", "per";
  183. status = "disabled";
  184. };
  185. ecspi3: spi@2010000 {
  186. compatible = "fsl,imx6ul-ecspi", "fsl,imx51-ecspi";
  187. reg = <0x02010000 0x4000>;
  188. interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
  189. dmas = <&sdma 7 7 1>, <&sdma 8 7 2>;
  190. dma-names = "rx", "tx";
  191. clocks = <&clks IMX6SLL_CLK_ECSPI3>,
  192. <&clks IMX6SLL_CLK_ECSPI3>;
  193. clock-names = "ipg", "per";
  194. status = "disabled";
  195. };
  196. ecspi4: spi@2014000 {
  197. compatible = "fsl,imx6ul-ecspi", "fsl,imx51-ecspi";
  198. reg = <0x02014000 0x4000>;
  199. interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
  200. dmas = <&sdma 9 7 1>, <&sdma 10 7 2>;
  201. dma-names = "rx", "tx";
  202. clocks = <&clks IMX6SLL_CLK_ECSPI4>,
  203. <&clks IMX6SLL_CLK_ECSPI4>;
  204. clock-names = "ipg", "per";
  205. status = "disabled";
  206. };
  207. uart4: serial@2018000 {
  208. compatible = "fsl,imx6sl-uart", "fsl,imx6q-uart",
  209. "fsl,imx21-uart";
  210. reg = <0x02018000 0x4000>;
  211. interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
  212. dmas = <&sdma 31 4 0>, <&sdma 32 4 0>;
  213. dma-names = "rx", "tx";
  214. clocks = <&clks IMX6SLL_CLK_UART4_IPG>,
  215. <&clks IMX6SLL_CLK_UART4_SERIAL>;
  216. clock-names = "ipg", "per";
  217. status = "disabled";
  218. };
  219. uart1: serial@2020000 {
  220. compatible = "fsl,imx6sl-uart", "fsl,imx6q-uart",
  221. "fsl,imx21-uart";
  222. reg = <0x02020000 0x4000>;
  223. interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
  224. dmas = <&sdma 25 4 0>, <&sdma 26 4 0>;
  225. dma-names = "rx", "tx";
  226. clocks = <&clks IMX6SLL_CLK_UART1_IPG>,
  227. <&clks IMX6SLL_CLK_UART1_SERIAL>;
  228. clock-names = "ipg", "per";
  229. status = "disabled";
  230. };
  231. uart2: serial@2024000 {
  232. compatible = "fsl,imx6sl-uart", "fsl,imx6q-uart",
  233. "fsl,imx21-uart";
  234. reg = <0x02024000 0x4000>;
  235. interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
  236. dmas = <&sdma 27 4 0>, <&sdma 28 4 0>;
  237. dma-names = "rx", "tx";
  238. clocks = <&clks IMX6SLL_CLK_UART2_IPG>,
  239. <&clks IMX6SLL_CLK_UART2_SERIAL>;
  240. clock-names = "ipg", "per";
  241. status = "disabled";
  242. };
  243. ssi1: ssi@2028000 {
  244. compatible = "fsl,imx6sl-ssi", "fsl,imx51-ssi";
  245. reg = <0x02028000 0x4000>;
  246. interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
  247. dmas = <&sdma 37 22 0>, <&sdma 38 22 0>;
  248. dma-names = "rx", "tx";
  249. fsl,fifo-depth = <15>;
  250. clocks = <&clks IMX6SLL_CLK_SSI1_IPG>,
  251. <&clks IMX6SLL_CLK_SSI1>;
  252. clock-names = "ipg", "baud";
  253. status = "disabled";
  254. };
  255. ssi2: ssi@202c000 {
  256. compatible = "fsl,imx6sl-ssi", "fsl,imx51-ssi";
  257. reg = <0x0202c000 0x4000>;
  258. interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
  259. dmas = <&sdma 41 22 0>, <&sdma 42 22 0>;
  260. dma-names = "rx", "tx";
  261. fsl,fifo-depth = <15>;
  262. clocks = <&clks IMX6SLL_CLK_SSI2_IPG>,
  263. <&clks IMX6SLL_CLK_SSI2>;
  264. clock-names = "ipg", "baud";
  265. status = "disabled";
  266. };
  267. ssi3: ssi@2030000 {
  268. compatible = "fsl,imx6sl-ssi", "fsl,imx51-ssi";
  269. reg = <0x02030000 0x4000>;
  270. interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
  271. dmas = <&sdma 45 22 0>, <&sdma 46 22 0>;
  272. dma-names = "rx", "tx";
  273. fsl,fifo-depth = <15>;
  274. clocks = <&clks IMX6SLL_CLK_SSI3_IPG>,
  275. <&clks IMX6SLL_CLK_SSI3>;
  276. clock-names = "ipg", "baud";
  277. status = "disabled";
  278. };
  279. uart3: serial@2034000 {
  280. compatible = "fsl,imx6sl-uart", "fsl,imx6q-uart",
  281. "fsl,imx21-uart";
  282. reg = <0x02034000 0x4000>;
  283. interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
  284. dmas = <&sdma 29 4 0>, <&sdma 30 4 0>;
  285. dma-name = "rx", "tx";
  286. clocks = <&clks IMX6SLL_CLK_UART3_IPG>,
  287. <&clks IMX6SLL_CLK_UART3_SERIAL>;
  288. clock-names = "ipg", "per";
  289. status = "disabled";
  290. };
  291. };
  292. pwm1: pwm@2080000 {
  293. compatible = "fsl,imx6sll-pwm", "fsl,imx27-pwm";
  294. reg = <0x02080000 0x4000>;
  295. interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
  296. clocks = <&clks IMX6SLL_CLK_PWM1>,
  297. <&clks IMX6SLL_CLK_PWM1>;
  298. clock-names = "ipg", "per";
  299. #pwm-cells = <3>;
  300. };
  301. pwm2: pwm@2084000 {
  302. compatible = "fsl,imx6sll-pwm", "fsl,imx27-pwm";
  303. reg = <0x02084000 0x4000>;
  304. interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
  305. clocks = <&clks IMX6SLL_CLK_PWM2>,
  306. <&clks IMX6SLL_CLK_PWM2>;
  307. clock-names = "ipg", "per";
  308. #pwm-cells = <3>;
  309. };
  310. pwm3: pwm@2088000 {
  311. compatible = "fsl,imx6sll-pwm", "fsl,imx27-pwm";
  312. reg = <0x02088000 0x4000>;
  313. interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
  314. clocks = <&clks IMX6SLL_CLK_PWM3>,
  315. <&clks IMX6SLL_CLK_PWM3>;
  316. clock-names = "ipg", "per";
  317. #pwm-cells = <3>;
  318. };
  319. pwm4: pwm@208c000 {
  320. compatible = "fsl,imx6sll-pwm", "fsl,imx27-pwm";
  321. reg = <0x0208c000 0x4000>;
  322. interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
  323. clocks = <&clks IMX6SLL_CLK_PWM4>,
  324. <&clks IMX6SLL_CLK_PWM4>;
  325. clock-names = "ipg", "per";
  326. #pwm-cells = <3>;
  327. };
  328. gpt1: timer@2098000 {
  329. compatible = "fsl,imx6sl-gpt";
  330. reg = <0x02098000 0x4000>;
  331. interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
  332. clocks = <&clks IMX6SLL_CLK_GPT_BUS>,
  333. <&clks IMX6SLL_CLK_GPT_SERIAL>;
  334. clock-names = "ipg", "per";
  335. };
  336. gpio1: gpio@209c000 {
  337. compatible = "fsl,imx6sll-gpio", "fsl,imx35-gpio";
  338. reg = <0x0209c000 0x4000>;
  339. interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>,
  340. <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
  341. clocks = <&clks IMX6SLL_CLK_GPIO1>;
  342. gpio-controller;
  343. #gpio-cells = <2>;
  344. interrupt-controller;
  345. #interrupt-cells = <2>;
  346. gpio-ranges = <&iomuxc 0 94 7>, <&iomuxc 7 25 25>;
  347. };
  348. gpio2: gpio@20a0000 {
  349. compatible = "fsl,imx6sll-gpio", "fsl,imx35-gpio";
  350. reg = <0x020a0000 0x4000>;
  351. interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>,
  352. <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
  353. clocks = <&clks IMX6SLL_CLK_GPIO2>;
  354. gpio-controller;
  355. #gpio-cells = <2>;
  356. interrupt-controller;
  357. #interrupt-cells = <2>;
  358. gpio-ranges = <&iomuxc 0 50 32>;
  359. };
  360. gpio3: gpio@20a4000 {
  361. compatible = "fsl,imx6sll-gpio", "fsl,imx35-gpio";
  362. reg = <0x020a4000 0x4000>;
  363. interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>,
  364. <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
  365. clocks = <&clks IMX6SLL_CLK_GPIO3>;
  366. gpio-controller;
  367. #gpio-cells = <2>;
  368. interrupt-controller;
  369. #interrupt-cells = <2>;
  370. gpio-ranges = <&iomuxc 0 82 12>, <&iomuxc 12 103 4>,
  371. <&iomuxc 16 101 2>, <&iomuxc 18 5 1>,
  372. <&iomuxc 21 6 11>;
  373. };
  374. gpio4: gpio@20a8000 {
  375. compatible = "fsl,imx6sll-gpio", "fsl,imx35-gpio";
  376. reg = <0x020a8000 0x4000>;
  377. interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>,
  378. <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
  379. clocks = <&clks IMX6SLL_CLK_GPIO4>;
  380. gpio-controller;
  381. #gpio-cells = <2>;
  382. interrupt-controller;
  383. #interrupt-cells = <2>;
  384. gpio-ranges = <&iomuxc 0 17 8>, <&iomuxc 8 107 8>,
  385. <&iomuxc 16 151 1>, <&iomuxc 17 149 1>,
  386. <&iomuxc 18 146 1>, <&iomuxc 19 144 1>,
  387. <&iomuxc 20 142 1>, <&iomuxc 21 143 1>,
  388. <&iomuxc 22 150 1>, <&iomuxc 23 148 1>,
  389. <&iomuxc 24 147 1>, <&iomuxc 25 145 1>,
  390. <&iomuxc 26 152 1>, <&iomuxc 27 125 1>,
  391. <&iomuxc 28 131 1>, <&iomuxc 29 134 1>,
  392. <&iomuxc 30 129 1>, <&iomuxc 31 133 1>;
  393. };
  394. gpio5: gpio@20ac000 {
  395. compatible = "fsl,imx6sll-gpio", "fsl,imx35-gpio";
  396. reg = <0x020ac000 0x4000>;
  397. interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>,
  398. <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
  399. clocks = <&clks IMX6SLL_CLK_GPIO5>;
  400. gpio-controller;
  401. #gpio-cells = <2>;
  402. interrupt-controller;
  403. #interrupt-cells = <2>;
  404. gpio-ranges = <&iomuxc 0 135 1>, <&iomuxc 1 128 1>,
  405. <&iomuxc 2 132 1>, <&iomuxc 3 130 1>,
  406. <&iomuxc 4 127 1>, <&iomuxc 5 126 1>,
  407. <&iomuxc 6 120 1>, <&iomuxc 7 123 1>,
  408. <&iomuxc 8 118 1>, <&iomuxc 9 122 1>,
  409. <&iomuxc 10 124 1>, <&iomuxc 11 117 1>,
  410. <&iomuxc 12 121 1>, <&iomuxc 13 119 1>,
  411. <&iomuxc 14 116 1>, <&iomuxc 15 115 1>,
  412. <&iomuxc 16 140 2>, <&iomuxc 18 136 1>,
  413. <&iomuxc 19 138 1>, <&iomuxc 20 139 1>,
  414. <&iomuxc 21 137 1>;
  415. };
  416. gpio6: gpio@20b0000 {
  417. compatible = "fsl,imx6sll-gpio", "fsl,imx35-gpio";
  418. reg = <0x020b0000 0x4000>;
  419. interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>,
  420. <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
  421. clocks = <&clks IMX6SLL_CLK_GPIO6>;
  422. gpio-controller;
  423. #gpio-cells = <2>;
  424. interrupt-controller;
  425. #interrupt-cells = <2>;
  426. };
  427. kpp: keypad@20b8000 {
  428. compatible = "fsl,imx6sll-kpp", "fsl,imx21-kpp";
  429. reg = <0x020b8000 0x4000>;
  430. interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
  431. clocks = <&clks IMX6SLL_CLK_KPP>;
  432. status = "disabled";
  433. };
  434. wdog1: watchdog@20bc000 {
  435. compatible = "fsl,imx6sll-wdt", "fsl,imx21-wdt";
  436. reg = <0x020bc000 0x4000>;
  437. interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
  438. clocks = <&clks IMX6SLL_CLK_WDOG1>;
  439. };
  440. wdog2: watchdog@20c0000 {
  441. compatible = "fsl,imx6sll-wdt", "fsl,imx21-wdt";
  442. reg = <0x020c0000 0x4000>;
  443. interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
  444. clocks = <&clks IMX6SLL_CLK_WDOG2>;
  445. status = "disabled";
  446. };
  447. clks: clock-controller@20c4000 {
  448. compatible = "fsl,imx6sll-ccm";
  449. reg = <0x020c4000 0x4000>;
  450. interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>,
  451. <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;
  452. #clock-cells = <1>;
  453. clocks = <&ckil>, <&osc>, <&ipp_di0>, <&ipp_di1>;
  454. clock-names = "ckil", "osc", "ipp_di0", "ipp_di1";
  455. assigned-clocks = <&clks IMX6SLL_CLK_PERCLK_SEL>;
  456. assigned-clock-parents = <&clks IMX6SLL_CLK_OSC>;
  457. };
  458. anatop: anatop@20c8000 {
  459. compatible = "fsl,imx6sll-anatop",
  460. "fsl,imx6q-anatop",
  461. "syscon", "simple-mfd";
  462. reg = <0x020c8000 0x4000>;
  463. interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>,
  464. <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>,
  465. <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
  466. #address-cells = <1>;
  467. #size-cells = <0>;
  468. reg_3p0: regulator-3p0@20c8120 {
  469. compatible = "fsl,anatop-regulator";
  470. reg = <0x20c8120>;
  471. regulator-name = "vdd3p0";
  472. regulator-min-microvolt = <2625000>;
  473. regulator-max-microvolt = <3400000>;
  474. anatop-reg-offset = <0x120>;
  475. anatop-vol-bit-shift = <8>;
  476. anatop-vol-bit-width = <5>;
  477. anatop-min-bit-val = <0>;
  478. anatop-min-voltage = <2625000>;
  479. anatop-max-voltage = <3400000>;
  480. anatop-enable-bit = <0>;
  481. };
  482. tempmon: temperature-sensor {
  483. compatible = "fsl,imx6sll-tempmon", "fsl,imx6sx-tempmon";
  484. interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
  485. interrupt-parent = <&gpc>;
  486. fsl,tempmon = <&anatop>;
  487. nvmem-cells = <&tempmon_calib>, <&tempmon_temp_grade>;
  488. nvmem-cell-names = "calib", "temp_grade";
  489. clocks = <&clks IMX6SLL_CLK_PLL3_USB_OTG>;
  490. };
  491. };
  492. usbphy1: usb-phy@20c9000 {
  493. compatible = "fsl,imx6sll-usbphy", "fsl,imx6ul-usbphy",
  494. "fsl,imx23-usbphy";
  495. reg = <0x020c9000 0x1000>;
  496. interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
  497. clocks = <&clks IMX6SLL_CLK_USBPHY1>;
  498. phy-3p0-supply = <&reg_3p0>;
  499. fsl,anatop = <&anatop>;
  500. };
  501. usbphy2: usb-phy@20ca000 {
  502. compatible = "fsl,imx6sll-usbphy", "fsl,imx6ul-usbphy",
  503. "fsl,imx23-usbphy";
  504. reg = <0x020ca000 0x1000>;
  505. interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
  506. clocks = <&clks IMX6SLL_CLK_USBPHY2>;
  507. phy-3p0-supply = <&reg_3p0>;
  508. fsl,anatop = <&anatop>;
  509. };
  510. snvs: snvs@20cc000 {
  511. compatible = "fsl,sec-v4.0-mon", "syscon", "simple-mfd";
  512. reg = <0x020cc000 0x4000>;
  513. snvs_rtc: snvs-rtc-lp {
  514. compatible = "fsl,sec-v4.0-mon-rtc-lp";
  515. regmap = <&snvs>;
  516. offset = <0x34>;
  517. interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>,
  518. <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
  519. };
  520. snvs_poweroff: snvs-poweroff {
  521. compatible = "syscon-poweroff";
  522. regmap = <&snvs>;
  523. offset = <0x38>;
  524. mask = <0x61>;
  525. status = "disabled";
  526. };
  527. snvs_pwrkey: snvs-powerkey {
  528. compatible = "fsl,sec-v4.0-pwrkey";
  529. regmap = <&snvs>;
  530. interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
  531. linux,keycode = <KEY_POWER>;
  532. wakeup-source;
  533. status = "disabled";
  534. };
  535. };
  536. src: reset-controller@20d8000 {
  537. compatible = "fsl,imx6sll-src", "fsl,imx51-src";
  538. reg = <0x020d8000 0x4000>;
  539. interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>,
  540. <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
  541. #reset-cells = <1>;
  542. };
  543. gpc: interrupt-controller@20dc000 {
  544. compatible = "fsl,imx6sll-gpc", "fsl,imx6q-gpc";
  545. reg = <0x020dc000 0x4000>;
  546. interrupt-controller;
  547. #interrupt-cells = <3>;
  548. interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
  549. interrupt-parent = <&intc>;
  550. };
  551. iomuxc: pinctrl@20e0000 {
  552. compatible = "fsl,imx6sll-iomuxc";
  553. reg = <0x020e0000 0x4000>;
  554. };
  555. gpr: iomuxc-gpr@20e4000 {
  556. compatible = "fsl,imx6sll-iomuxc-gpr",
  557. "fsl,imx6q-iomuxc-gpr", "syscon";
  558. reg = <0x020e4000 0x4000>;
  559. };
  560. csi: csi@20e8000 {
  561. compatible = "fsl,imx6sll-csi", "fsl,imx6s-csi";
  562. reg = <0x020e8000 0x4000>;
  563. interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
  564. clocks = <&clks IMX6SLL_CLK_DUMMY>,
  565. <&clks IMX6SLL_CLK_CSI>,
  566. <&clks IMX6SLL_CLK_DUMMY>;
  567. clock-names = "disp-axi", "csi_mclk", "disp_dcic";
  568. status = "disabled";
  569. };
  570. sdma: dma-controller@20ec000 {
  571. compatible = "fsl,imx6sll-sdma", "fsl,imx6ul-sdma";
  572. reg = <0x020ec000 0x4000>;
  573. interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
  574. clocks = <&clks IMX6SLL_CLK_IPG>,
  575. <&clks IMX6SLL_CLK_SDMA>;
  576. clock-names = "ipg", "ahb";
  577. #dma-cells = <3>;
  578. iram = <&ocram>;
  579. fsl,sdma-ram-script-name = "imx/sdma/sdma-imx6q.bin";
  580. };
  581. pxp: pxp@20f0000 {
  582. compatible = "fsl,imx6sll-pxp", "fsl,imx6ull-pxp";
  583. reg = <0x20f0000 0x4000>;
  584. interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
  585. <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
  586. clocks = <&clks IMX6SLL_CLK_PXP>;
  587. clock-names = "axi";
  588. };
  589. lcdif: lcd-controller@20f8000 {
  590. compatible = "fsl,imx6sll-lcdif", "fsl,imx28-lcdif";
  591. reg = <0x020f8000 0x4000>;
  592. interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
  593. clocks = <&clks IMX6SLL_CLK_LCDIF_PIX>,
  594. <&clks IMX6SLL_CLK_LCDIF_APB>,
  595. <&clks IMX6SLL_CLK_DUMMY>;
  596. clock-names = "pix", "axi", "disp_axi";
  597. status = "disabled";
  598. };
  599. dcp: crypto@20fc000 {
  600. compatible = "fsl,imx28-dcp";
  601. reg = <0x020fc000 0x4000>;
  602. interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
  603. <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
  604. <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
  605. clocks = <&clks IMX6SLL_CLK_DCP>;
  606. clock-names = "dcp";
  607. };
  608. };
  609. aips2: bus@2100000 {
  610. compatible = "fsl,aips-bus", "simple-bus";
  611. #address-cells = <1>;
  612. #size-cells = <1>;
  613. reg = <0x02100000 0x100000>;
  614. ranges;
  615. usbotg1: usb@2184000 {
  616. compatible = "fsl,imx6sll-usb", "fsl,imx6ul-usb",
  617. "fsl,imx27-usb";
  618. reg = <0x02184000 0x200>;
  619. interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
  620. clocks = <&clks IMX6SLL_CLK_USBOH3>;
  621. fsl,usbphy = <&usbphy1>;
  622. fsl,usbmisc = <&usbmisc 0>;
  623. fsl,anatop = <&anatop>;
  624. ahb-burst-config = <0x0>;
  625. tx-burst-size-dword = <0x10>;
  626. rx-burst-size-dword = <0x10>;
  627. status = "disabled";
  628. };
  629. usbotg2: usb@2184200 {
  630. compatible = "fsl,imx6sll-usb", "fsl,imx6ul-usb",
  631. "fsl,imx27-usb";
  632. reg = <0x02184200 0x200>;
  633. interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
  634. clocks = <&clks IMX6SLL_CLK_USBOH3>;
  635. fsl,usbphy = <&usbphy2>;
  636. fsl,usbmisc = <&usbmisc 1>;
  637. ahb-burst-config = <0x0>;
  638. tx-burst-size-dword = <0x10>;
  639. rx-burst-size-dword = <0x10>;
  640. status = "disabled";
  641. };
  642. usbmisc: usbmisc@2184800 {
  643. #index-cells = <1>;
  644. compatible = "fsl,imx6sll-usbmisc", "fsl,imx6ul-usbmisc",
  645. "fsl,imx6q-usbmisc";
  646. reg = <0x02184800 0x200>;
  647. };
  648. usdhc1: mmc@2190000 {
  649. compatible = "fsl,imx6sll-usdhc", "fsl,imx6sx-usdhc";
  650. reg = <0x02190000 0x4000>;
  651. interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
  652. clocks = <&clks IMX6SLL_CLK_USDHC1>,
  653. <&clks IMX6SLL_CLK_USDHC1>,
  654. <&clks IMX6SLL_CLK_USDHC1>;
  655. clock-names = "ipg", "ahb", "per";
  656. bus-width = <4>;
  657. fsl,tuning-step = <2>;
  658. fsl,tuning-start-tap = <20>;
  659. status = "disabled";
  660. };
  661. usdhc2: mmc@2194000 {
  662. compatible = "fsl,imx6sll-usdhc", "fsl,imx6sx-usdhc";
  663. reg = <0x02194000 0x4000>;
  664. interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
  665. clocks = <&clks IMX6SLL_CLK_USDHC2>,
  666. <&clks IMX6SLL_CLK_USDHC2>,
  667. <&clks IMX6SLL_CLK_USDHC2>;
  668. clock-names = "ipg", "ahb", "per";
  669. bus-width = <4>;
  670. fsl,tuning-step = <2>;
  671. fsl,tuning-start-tap = <20>;
  672. status = "disabled";
  673. };
  674. usdhc3: mmc@2198000 {
  675. compatible = "fsl,imx6sll-usdhc", "fsl,imx6sx-usdhc";
  676. reg = <0x02198000 0x4000>;
  677. interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
  678. clocks = <&clks IMX6SLL_CLK_USDHC3>,
  679. <&clks IMX6SLL_CLK_USDHC3>,
  680. <&clks IMX6SLL_CLK_USDHC3>;
  681. clock-names = "ipg", "ahb", "per";
  682. bus-width = <4>;
  683. fsl,tuning-step = <2>;
  684. fsl,tuning-start-tap = <20>;
  685. status = "disabled";
  686. };
  687. i2c1: i2c@21a0000 {
  688. #address-cells = <1>;
  689. #size-cells = <0>;
  690. compatible = "fsl,imx6sll-i2c", "fsl,imx21-i2c";
  691. reg = <0x021a0000 0x4000>;
  692. interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
  693. clocks = <&clks IMX6SLL_CLK_I2C1>;
  694. status = "disabled";
  695. };
  696. i2c2: i2c@21a4000 {
  697. #address-cells = <1>;
  698. #size-cells = <0>;
  699. compatible = "fsl,imx6sll-i2c", "fsl,imx21-i2c";
  700. reg = <0x021a4000 0x4000>;
  701. interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
  702. clocks = <&clks IMX6SLL_CLK_I2C2>;
  703. status = "disabled";
  704. };
  705. i2c3: i2c@21a8000 {
  706. #address-cells = <1>;
  707. #size-cells = <0>;
  708. compatible = "fsl,imx6sll-i2c", "fsl,imx21-i2c";
  709. reg = <0x021a8000 0x4000>;
  710. interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
  711. clocks = <&clks IMX6SLL_CLK_I2C3>;
  712. status = "disabled";
  713. };
  714. mmdc: memory-controller@21b0000 {
  715. compatible = "fsl,imx6sll-mmdc", "fsl,imx6q-mmdc";
  716. reg = <0x021b0000 0x4000>;
  717. clocks = <&clks IMX6SLL_CLK_MMDC_P0_IPG>;
  718. };
  719. rngb: rng@21b4000 {
  720. compatible = "fsl,imx6sll-rngb", "fsl,imx25-rngb";
  721. reg = <0x021b4000 0x4000>;
  722. interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
  723. clocks = <&clks IMX6SLL_CLK_DUMMY>;
  724. };
  725. ocotp: efuse@21bc000 {
  726. #address-cells = <1>;
  727. #size-cells = <1>;
  728. compatible = "fsl,imx6sll-ocotp", "syscon";
  729. reg = <0x021bc000 0x4000>;
  730. clocks = <&clks IMX6SLL_CLK_OCOTP>;
  731. cpu_speed_grade: speed-grade@10 {
  732. reg = <0x10 4>;
  733. };
  734. tempmon_calib: calib@38 {
  735. reg = <0x38 4>;
  736. };
  737. tempmon_temp_grade: temp-grade@20 {
  738. reg = <0x20 4>;
  739. };
  740. };
  741. audmux: audmux@21d8000 {
  742. compatible = "fsl,imx6sll-audmux", "fsl,imx31-audmux";
  743. reg = <0x021d8000 0x4000>;
  744. status = "disabled";
  745. };
  746. uart5: serial@21f4000 {
  747. compatible = "fsl,imx6sll-uart", "fsl,imx6q-uart",
  748. "fsl,imx21-uart";
  749. reg = <0x021f4000 0x4000>;
  750. interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
  751. dmas = <&sdma 33 4 0>, <&sdma 34 4 0>;
  752. dma-names = "rx", "tx";
  753. clocks = <&clks IMX6SLL_CLK_UART5_IPG>,
  754. <&clks IMX6SLL_CLK_UART5_SERIAL>;
  755. clock-names = "ipg", "per";
  756. status = "disabled";
  757. };
  758. };
  759. };
  760. };