imx6sll.dtsi 24 KB

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