imx6sx.dtsi 34 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215
  1. /*
  2. * Copyright 2014 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/imx6sx-clock.h>
  9. #include <dt-bindings/gpio/gpio.h>
  10. #include <dt-bindings/interrupt-controller/arm-gic.h>
  11. #include "imx6sx-pinfunc.h"
  12. #include "skeleton.dtsi"
  13. / {
  14. aliases {
  15. can0 = &flexcan1;
  16. can1 = &flexcan2;
  17. ethernet0 = &fec1;
  18. ethernet1 = &fec2;
  19. gpio0 = &gpio1;
  20. gpio1 = &gpio2;
  21. gpio2 = &gpio3;
  22. gpio3 = &gpio4;
  23. gpio4 = &gpio5;
  24. gpio5 = &gpio6;
  25. gpio6 = &gpio7;
  26. i2c0 = &i2c1;
  27. i2c1 = &i2c2;
  28. i2c2 = &i2c3;
  29. i2c3 = &i2c4;
  30. mmc0 = &usdhc1;
  31. mmc1 = &usdhc2;
  32. mmc2 = &usdhc3;
  33. mmc3 = &usdhc4;
  34. serial0 = &uart1;
  35. serial1 = &uart2;
  36. serial2 = &uart3;
  37. serial3 = &uart4;
  38. serial4 = &uart5;
  39. serial5 = &uart6;
  40. spi0 = &ecspi1;
  41. spi1 = &ecspi2;
  42. spi2 = &ecspi3;
  43. spi3 = &ecspi4;
  44. spi4 = &ecspi5;
  45. usbphy0 = &usbphy1;
  46. usbphy1 = &usbphy2;
  47. };
  48. cpus {
  49. #address-cells = <1>;
  50. #size-cells = <0>;
  51. cpu0: cpu@0 {
  52. compatible = "arm,cortex-a9";
  53. device_type = "cpu";
  54. reg = <0>;
  55. next-level-cache = <&L2>;
  56. operating-points = <
  57. /* kHz uV */
  58. 996000 1250000
  59. 792000 1175000
  60. 396000 1075000
  61. >;
  62. fsl,soc-operating-points = <
  63. /* ARM kHz SOC uV */
  64. 996000 1175000
  65. 792000 1175000
  66. 396000 1175000
  67. >;
  68. clock-latency = <61036>; /* two CLK32 periods */
  69. clocks = <&clks IMX6SX_CLK_ARM>,
  70. <&clks IMX6SX_CLK_PLL2_PFD2>,
  71. <&clks IMX6SX_CLK_STEP>,
  72. <&clks IMX6SX_CLK_PLL1_SW>,
  73. <&clks IMX6SX_CLK_PLL1_SYS>;
  74. clock-names = "arm", "pll2_pfd2_396m", "step",
  75. "pll1_sw", "pll1_sys";
  76. arm-supply = <&reg_arm>;
  77. soc-supply = <&reg_soc>;
  78. };
  79. };
  80. intc: interrupt-controller@00a01000 {
  81. compatible = "arm,cortex-a9-gic";
  82. #interrupt-cells = <3>;
  83. interrupt-controller;
  84. reg = <0x00a01000 0x1000>,
  85. <0x00a00100 0x100>;
  86. };
  87. clocks {
  88. #address-cells = <1>;
  89. #size-cells = <0>;
  90. ckil: clock@0 {
  91. compatible = "fixed-clock";
  92. reg = <0>;
  93. #clock-cells = <0>;
  94. clock-frequency = <32768>;
  95. clock-output-names = "ckil";
  96. };
  97. osc: clock@1 {
  98. compatible = "fixed-clock";
  99. reg = <1>;
  100. #clock-cells = <0>;
  101. clock-frequency = <24000000>;
  102. clock-output-names = "osc";
  103. };
  104. ipp_di0: clock@2 {
  105. compatible = "fixed-clock";
  106. reg = <2>;
  107. #clock-cells = <0>;
  108. clock-frequency = <0>;
  109. clock-output-names = "ipp_di0";
  110. };
  111. ipp_di1: clock@3 {
  112. compatible = "fixed-clock";
  113. reg = <3>;
  114. #clock-cells = <0>;
  115. clock-frequency = <0>;
  116. clock-output-names = "ipp_di1";
  117. };
  118. };
  119. soc {
  120. #address-cells = <1>;
  121. #size-cells = <1>;
  122. compatible = "simple-bus";
  123. interrupt-parent = <&intc>;
  124. ranges;
  125. pmu {
  126. compatible = "arm,cortex-a9-pmu";
  127. interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
  128. };
  129. ocram: sram@00900000 {
  130. compatible = "mmio-sram";
  131. reg = <0x00900000 0x20000>;
  132. clocks = <&clks IMX6SX_CLK_OCRAM>;
  133. };
  134. L2: l2-cache@00a02000 {
  135. compatible = "arm,pl310-cache";
  136. reg = <0x00a02000 0x1000>;
  137. interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
  138. cache-unified;
  139. cache-level = <2>;
  140. arm,tag-latency = <4 2 3>;
  141. arm,data-latency = <4 2 3>;
  142. };
  143. dma_apbh: dma-apbh@01804000 {
  144. compatible = "fsl,imx6sx-dma-apbh", "fsl,imx28-dma-apbh";
  145. reg = <0x01804000 0x2000>;
  146. interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
  147. <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
  148. <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
  149. <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
  150. interrupt-names = "gpmi0", "gpmi1", "gpmi2", "gpmi3";
  151. #dma-cells = <1>;
  152. dma-channels = <4>;
  153. clocks = <&clks IMX6SX_CLK_APBH_DMA>;
  154. };
  155. gpmi: gpmi-nand@01806000{
  156. compatible = "fsl,imx6sx-gpmi-nand";
  157. #address-cells = <1>;
  158. #size-cells = <1>;
  159. reg = <0x01806000 0x2000>, <0x01808000 0x4000>;
  160. reg-names = "gpmi-nand", "bch";
  161. interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
  162. interrupt-names = "bch";
  163. clocks = <&clks IMX6SX_CLK_GPMI_IO>,
  164. <&clks IMX6SX_CLK_GPMI_APB>,
  165. <&clks IMX6SX_CLK_GPMI_BCH>,
  166. <&clks IMX6SX_CLK_GPMI_BCH_APB>,
  167. <&clks IMX6SX_CLK_PER1_BCH>;
  168. clock-names = "gpmi_io", "gpmi_apb", "gpmi_bch",
  169. "gpmi_bch_apb", "per1_bch";
  170. dmas = <&dma_apbh 0>;
  171. dma-names = "rx-tx";
  172. status = "disabled";
  173. };
  174. aips1: aips-bus@02000000 {
  175. compatible = "fsl,aips-bus", "simple-bus";
  176. #address-cells = <1>;
  177. #size-cells = <1>;
  178. reg = <0x02000000 0x100000>;
  179. ranges;
  180. spba-bus@02000000 {
  181. compatible = "fsl,spba-bus", "simple-bus";
  182. #address-cells = <1>;
  183. #size-cells = <1>;
  184. reg = <0x02000000 0x40000>;
  185. ranges;
  186. spdif: spdif@02004000 {
  187. compatible = "fsl,imx6sx-spdif", "fsl,imx35-spdif";
  188. reg = <0x02004000 0x4000>;
  189. interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
  190. dmas = <&sdma 14 18 0>,
  191. <&sdma 15 18 0>;
  192. dma-names = "rx", "tx";
  193. clocks = <&clks IMX6SX_CLK_SPDIF>,
  194. <&clks IMX6SX_CLK_OSC>,
  195. <&clks IMX6SX_CLK_SPDIF>,
  196. <&clks 0>, <&clks 0>, <&clks 0>,
  197. <&clks IMX6SX_CLK_IPG>,
  198. <&clks 0>, <&clks 0>,
  199. <&clks IMX6SX_CLK_SPBA>;
  200. clock-names = "core", "rxtx0",
  201. "rxtx1", "rxtx2",
  202. "rxtx3", "rxtx4",
  203. "rxtx5", "rxtx6",
  204. "rxtx7", "dma";
  205. status = "disabled";
  206. };
  207. ecspi1: ecspi@02008000 {
  208. #address-cells = <1>;
  209. #size-cells = <0>;
  210. compatible = "fsl,imx6sx-ecspi", "fsl,imx51-ecspi";
  211. reg = <0x02008000 0x4000>;
  212. interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
  213. clocks = <&clks IMX6SX_CLK_ECSPI1>,
  214. <&clks IMX6SX_CLK_ECSPI1>;
  215. clock-names = "ipg", "per";
  216. status = "disabled";
  217. };
  218. ecspi2: ecspi@0200c000 {
  219. #address-cells = <1>;
  220. #size-cells = <0>;
  221. compatible = "fsl,imx6sx-ecspi", "fsl,imx51-ecspi";
  222. reg = <0x0200c000 0x4000>;
  223. interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
  224. clocks = <&clks IMX6SX_CLK_ECSPI2>,
  225. <&clks IMX6SX_CLK_ECSPI2>;
  226. clock-names = "ipg", "per";
  227. status = "disabled";
  228. };
  229. ecspi3: ecspi@02010000 {
  230. #address-cells = <1>;
  231. #size-cells = <0>;
  232. compatible = "fsl,imx6sx-ecspi", "fsl,imx51-ecspi";
  233. reg = <0x02010000 0x4000>;
  234. interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
  235. clocks = <&clks IMX6SX_CLK_ECSPI3>,
  236. <&clks IMX6SX_CLK_ECSPI3>;
  237. clock-names = "ipg", "per";
  238. status = "disabled";
  239. };
  240. ecspi4: ecspi@02014000 {
  241. #address-cells = <1>;
  242. #size-cells = <0>;
  243. compatible = "fsl,imx6sx-ecspi", "fsl,imx51-ecspi";
  244. reg = <0x02014000 0x4000>;
  245. interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
  246. clocks = <&clks IMX6SX_CLK_ECSPI4>,
  247. <&clks IMX6SX_CLK_ECSPI4>;
  248. clock-names = "ipg", "per";
  249. status = "disabled";
  250. };
  251. uart1: serial@02020000 {
  252. compatible = "fsl,imx6sx-uart", "fsl,imx21-uart";
  253. reg = <0x02020000 0x4000>;
  254. interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
  255. clocks = <&clks IMX6SX_CLK_UART_IPG>,
  256. <&clks IMX6SX_CLK_UART_SERIAL>;
  257. clock-names = "ipg", "per";
  258. dmas = <&sdma 25 4 0>, <&sdma 26 4 0>;
  259. dma-names = "rx", "tx";
  260. status = "disabled";
  261. };
  262. esai: esai@02024000 {
  263. reg = <0x02024000 0x4000>;
  264. interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
  265. clocks = <&clks IMX6SX_CLK_ESAI_IPG>,
  266. <&clks IMX6SX_CLK_ESAI_MEM>,
  267. <&clks IMX6SX_CLK_ESAI_EXTAL>,
  268. <&clks IMX6SX_CLK_ESAI_IPG>,
  269. <&clks IMX6SX_CLK_SPBA>;
  270. clock-names = "core", "mem", "extal",
  271. "fsys", "dma";
  272. status = "disabled";
  273. };
  274. ssi1: ssi@02028000 {
  275. #sound-dai-cells = <0>;
  276. compatible = "fsl,imx6sx-ssi", "fsl,imx51-ssi";
  277. reg = <0x02028000 0x4000>;
  278. interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
  279. clocks = <&clks IMX6SX_CLK_SSI1_IPG>,
  280. <&clks IMX6SX_CLK_SSI1>;
  281. clock-names = "ipg", "baud";
  282. dmas = <&sdma 37 1 0>, <&sdma 38 1 0>;
  283. dma-names = "rx", "tx";
  284. fsl,fifo-depth = <15>;
  285. status = "disabled";
  286. };
  287. ssi2: ssi@0202c000 {
  288. #sound-dai-cells = <0>;
  289. compatible = "fsl,imx6sx-ssi", "fsl,imx51-ssi";
  290. reg = <0x0202c000 0x4000>;
  291. interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
  292. clocks = <&clks IMX6SX_CLK_SSI2_IPG>,
  293. <&clks IMX6SX_CLK_SSI2>;
  294. clock-names = "ipg", "baud";
  295. dmas = <&sdma 41 1 0>, <&sdma 42 1 0>;
  296. dma-names = "rx", "tx";
  297. fsl,fifo-depth = <15>;
  298. status = "disabled";
  299. };
  300. ssi3: ssi@02030000 {
  301. #sound-dai-cells = <0>;
  302. compatible = "fsl,imx6sx-ssi", "fsl,imx51-ssi";
  303. reg = <0x02030000 0x4000>;
  304. interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
  305. clocks = <&clks IMX6SX_CLK_SSI3_IPG>,
  306. <&clks IMX6SX_CLK_SSI3>;
  307. clock-names = "ipg", "baud";
  308. dmas = <&sdma 45 1 0>, <&sdma 46 1 0>;
  309. dma-names = "rx", "tx";
  310. fsl,fifo-depth = <15>;
  311. status = "disabled";
  312. };
  313. asrc: asrc@02034000 {
  314. reg = <0x02034000 0x4000>;
  315. interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
  316. clocks = <&clks IMX6SX_CLK_ASRC_MEM>,
  317. <&clks IMX6SX_CLK_ASRC_IPG>,
  318. <&clks IMX6SX_CLK_SPDIF>,
  319. <&clks IMX6SX_CLK_SPBA>;
  320. clock-names = "mem", "ipg", "asrck", "dma";
  321. dmas = <&sdma 17 20 1>, <&sdma 18 20 1>,
  322. <&sdma 19 20 1>, <&sdma 20 20 1>,
  323. <&sdma 21 20 1>, <&sdma 22 20 1>;
  324. dma-names = "rxa", "rxb", "rxc",
  325. "txa", "txb", "txc";
  326. status = "okay";
  327. };
  328. };
  329. pwm1: pwm@02080000 {
  330. compatible = "fsl,imx6sx-pwm", "fsl,imx27-pwm";
  331. reg = <0x02080000 0x4000>;
  332. interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
  333. clocks = <&clks IMX6SX_CLK_PWM1>,
  334. <&clks IMX6SX_CLK_PWM1>;
  335. clock-names = "ipg", "per";
  336. #pwm-cells = <2>;
  337. };
  338. pwm2: pwm@02084000 {
  339. compatible = "fsl,imx6sx-pwm", "fsl,imx27-pwm";
  340. reg = <0x02084000 0x4000>;
  341. interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
  342. clocks = <&clks IMX6SX_CLK_PWM2>,
  343. <&clks IMX6SX_CLK_PWM2>;
  344. clock-names = "ipg", "per";
  345. #pwm-cells = <2>;
  346. };
  347. pwm3: pwm@02088000 {
  348. compatible = "fsl,imx6sx-pwm", "fsl,imx27-pwm";
  349. reg = <0x02088000 0x4000>;
  350. interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
  351. clocks = <&clks IMX6SX_CLK_PWM3>,
  352. <&clks IMX6SX_CLK_PWM3>;
  353. clock-names = "ipg", "per";
  354. #pwm-cells = <2>;
  355. };
  356. pwm4: pwm@0208c000 {
  357. compatible = "fsl,imx6sx-pwm", "fsl,imx27-pwm";
  358. reg = <0x0208c000 0x4000>;
  359. interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
  360. clocks = <&clks IMX6SX_CLK_PWM4>,
  361. <&clks IMX6SX_CLK_PWM4>;
  362. clock-names = "ipg", "per";
  363. #pwm-cells = <2>;
  364. };
  365. flexcan1: can@02090000 {
  366. compatible = "fsl,imx6sx-flexcan", "fsl,imx6q-flexcan";
  367. reg = <0x02090000 0x4000>;
  368. interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
  369. clocks = <&clks IMX6SX_CLK_CAN1_IPG>,
  370. <&clks IMX6SX_CLK_CAN1_SERIAL>;
  371. clock-names = "ipg", "per";
  372. status = "disabled";
  373. };
  374. flexcan2: can@02094000 {
  375. compatible = "fsl,imx6sx-flexcan", "fsl,imx6q-flexcan";
  376. reg = <0x02094000 0x4000>;
  377. interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
  378. clocks = <&clks IMX6SX_CLK_CAN2_IPG>,
  379. <&clks IMX6SX_CLK_CAN2_SERIAL>;
  380. clock-names = "ipg", "per";
  381. status = "disabled";
  382. };
  383. gpt: gpt@02098000 {
  384. compatible = "fsl,imx6sx-gpt", "fsl,imx31-gpt";
  385. reg = <0x02098000 0x4000>;
  386. interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
  387. clocks = <&clks IMX6SX_CLK_GPT_BUS>,
  388. <&clks IMX6SX_CLK_GPT_3M>;
  389. clock-names = "ipg", "per";
  390. };
  391. gpio1: gpio@0209c000 {
  392. compatible = "fsl,imx6sx-gpio", "fsl,imx35-gpio";
  393. reg = <0x0209c000 0x4000>;
  394. interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>,
  395. <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
  396. gpio-controller;
  397. #gpio-cells = <2>;
  398. interrupt-controller;
  399. #interrupt-cells = <2>;
  400. };
  401. gpio2: gpio@020a0000 {
  402. compatible = "fsl,imx6sx-gpio", "fsl,imx35-gpio";
  403. reg = <0x020a0000 0x4000>;
  404. interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>,
  405. <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
  406. gpio-controller;
  407. #gpio-cells = <2>;
  408. interrupt-controller;
  409. #interrupt-cells = <2>;
  410. };
  411. gpio3: gpio@020a4000 {
  412. compatible = "fsl,imx6sx-gpio", "fsl,imx35-gpio";
  413. reg = <0x020a4000 0x4000>;
  414. interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>,
  415. <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
  416. gpio-controller;
  417. #gpio-cells = <2>;
  418. interrupt-controller;
  419. #interrupt-cells = <2>;
  420. };
  421. gpio4: gpio@020a8000 {
  422. compatible = "fsl,imx6sx-gpio", "fsl,imx35-gpio";
  423. reg = <0x020a8000 0x4000>;
  424. interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>,
  425. <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
  426. gpio-controller;
  427. #gpio-cells = <2>;
  428. interrupt-controller;
  429. #interrupt-cells = <2>;
  430. };
  431. gpio5: gpio@020ac000 {
  432. compatible = "fsl,imx6sx-gpio", "fsl,imx35-gpio";
  433. reg = <0x020ac000 0x4000>;
  434. interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>,
  435. <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
  436. gpio-controller;
  437. #gpio-cells = <2>;
  438. interrupt-controller;
  439. #interrupt-cells = <2>;
  440. };
  441. gpio6: gpio@020b0000 {
  442. compatible = "fsl,imx6sx-gpio", "fsl,imx35-gpio";
  443. reg = <0x020b0000 0x4000>;
  444. interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>,
  445. <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
  446. gpio-controller;
  447. #gpio-cells = <2>;
  448. interrupt-controller;
  449. #interrupt-cells = <2>;
  450. };
  451. gpio7: gpio@020b4000 {
  452. compatible = "fsl,imx6sx-gpio", "fsl,imx35-gpio";
  453. reg = <0x020b4000 0x4000>;
  454. interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>,
  455. <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
  456. gpio-controller;
  457. #gpio-cells = <2>;
  458. interrupt-controller;
  459. #interrupt-cells = <2>;
  460. };
  461. kpp: kpp@020b8000 {
  462. compatible = "fsl,imx6sx-kpp", "fsl,imx21-kpp";
  463. reg = <0x020b8000 0x4000>;
  464. interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
  465. clocks = <&clks IMX6SX_CLK_DUMMY>;
  466. status = "disabled";
  467. };
  468. wdog1: wdog@020bc000 {
  469. compatible = "fsl,imx6sx-wdt", "fsl,imx21-wdt";
  470. reg = <0x020bc000 0x4000>;
  471. interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
  472. clocks = <&clks IMX6SX_CLK_DUMMY>;
  473. };
  474. wdog2: wdog@020c0000 {
  475. compatible = "fsl,imx6sx-wdt", "fsl,imx21-wdt";
  476. reg = <0x020c0000 0x4000>;
  477. interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
  478. clocks = <&clks IMX6SX_CLK_DUMMY>;
  479. status = "disabled";
  480. };
  481. clks: ccm@020c4000 {
  482. compatible = "fsl,imx6sx-ccm";
  483. reg = <0x020c4000 0x4000>;
  484. interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>,
  485. <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;
  486. #clock-cells = <1>;
  487. clocks = <&ckil>, <&osc>, <&ipp_di0>, <&ipp_di1>;
  488. clock-names = "ckil", "osc", "ipp_di0", "ipp_di1";
  489. };
  490. anatop: anatop@020c8000 {
  491. compatible = "fsl,imx6sx-anatop", "fsl,imx6q-anatop",
  492. "syscon", "simple-bus";
  493. reg = <0x020c8000 0x1000>;
  494. interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>,
  495. <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>,
  496. <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
  497. regulator-1p1@110 {
  498. compatible = "fsl,anatop-regulator";
  499. regulator-name = "vdd1p1";
  500. regulator-min-microvolt = <800000>;
  501. regulator-max-microvolt = <1375000>;
  502. regulator-always-on;
  503. anatop-reg-offset = <0x110>;
  504. anatop-vol-bit-shift = <8>;
  505. anatop-vol-bit-width = <5>;
  506. anatop-min-bit-val = <4>;
  507. anatop-min-voltage = <800000>;
  508. anatop-max-voltage = <1375000>;
  509. };
  510. regulator-3p0@120 {
  511. compatible = "fsl,anatop-regulator";
  512. regulator-name = "vdd3p0";
  513. regulator-min-microvolt = <2800000>;
  514. regulator-max-microvolt = <3150000>;
  515. regulator-always-on;
  516. anatop-reg-offset = <0x120>;
  517. anatop-vol-bit-shift = <8>;
  518. anatop-vol-bit-width = <5>;
  519. anatop-min-bit-val = <0>;
  520. anatop-min-voltage = <2625000>;
  521. anatop-max-voltage = <3400000>;
  522. };
  523. regulator-2p5@130 {
  524. compatible = "fsl,anatop-regulator";
  525. regulator-name = "vdd2p5";
  526. regulator-min-microvolt = <2100000>;
  527. regulator-max-microvolt = <2875000>;
  528. regulator-always-on;
  529. anatop-reg-offset = <0x130>;
  530. anatop-vol-bit-shift = <8>;
  531. anatop-vol-bit-width = <5>;
  532. anatop-min-bit-val = <0>;
  533. anatop-min-voltage = <2100000>;
  534. anatop-max-voltage = <2875000>;
  535. };
  536. reg_arm: regulator-vddcore@140 {
  537. compatible = "fsl,anatop-regulator";
  538. regulator-name = "vddarm";
  539. regulator-min-microvolt = <725000>;
  540. regulator-max-microvolt = <1450000>;
  541. regulator-always-on;
  542. anatop-reg-offset = <0x140>;
  543. anatop-vol-bit-shift = <0>;
  544. anatop-vol-bit-width = <5>;
  545. anatop-delay-reg-offset = <0x170>;
  546. anatop-delay-bit-shift = <24>;
  547. anatop-delay-bit-width = <2>;
  548. anatop-min-bit-val = <1>;
  549. anatop-min-voltage = <725000>;
  550. anatop-max-voltage = <1450000>;
  551. };
  552. reg_pcie: regulator-vddpcie@140 {
  553. compatible = "fsl,anatop-regulator";
  554. regulator-name = "vddpcie";
  555. regulator-min-microvolt = <725000>;
  556. regulator-max-microvolt = <1450000>;
  557. anatop-reg-offset = <0x140>;
  558. anatop-vol-bit-shift = <9>;
  559. anatop-vol-bit-width = <5>;
  560. anatop-delay-reg-offset = <0x170>;
  561. anatop-delay-bit-shift = <26>;
  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@140 {
  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. };
  584. tempmon: tempmon {
  585. compatible = "fsl,imx6sx-tempmon", "fsl,imx6q-tempmon";
  586. interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
  587. fsl,tempmon = <&anatop>;
  588. fsl,tempmon-data = <&ocotp>;
  589. clocks = <&clks IMX6SX_CLK_PLL3_USB_OTG>;
  590. };
  591. usbphy1: usbphy@020c9000 {
  592. compatible = "fsl,imx6sx-usbphy", "fsl,imx23-usbphy";
  593. reg = <0x020c9000 0x1000>;
  594. interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
  595. clocks = <&clks IMX6SX_CLK_USBPHY1>;
  596. fsl,anatop = <&anatop>;
  597. };
  598. usbphy2: usbphy@020ca000 {
  599. compatible = "fsl,imx6sx-usbphy", "fsl,imx23-usbphy";
  600. reg = <0x020ca000 0x1000>;
  601. interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
  602. clocks = <&clks IMX6SX_CLK_USBPHY2>;
  603. fsl,anatop = <&anatop>;
  604. };
  605. snvs: snvs@020cc000 {
  606. compatible = "fsl,sec-v4.0-mon", "simple-bus";
  607. #address-cells = <1>;
  608. #size-cells = <1>;
  609. ranges = <0 0x020cc000 0x4000>;
  610. snvs-rtc-lp@34 {
  611. compatible = "fsl,sec-v4.0-mon-rtc-lp";
  612. reg = <0x34 0x58>;
  613. interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
  614. };
  615. };
  616. epit1: epit@020d0000 {
  617. reg = <0x020d0000 0x4000>;
  618. interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
  619. };
  620. epit2: epit@020d4000 {
  621. reg = <0x020d4000 0x4000>;
  622. interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
  623. };
  624. src: src@020d8000 {
  625. compatible = "fsl,imx6sx-src", "fsl,imx51-src";
  626. reg = <0x020d8000 0x4000>;
  627. interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>,
  628. <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
  629. #reset-cells = <1>;
  630. };
  631. gpc: gpc@020dc000 {
  632. compatible = "fsl,imx6sx-gpc", "fsl,imx6q-gpc";
  633. reg = <0x020dc000 0x4000>;
  634. interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
  635. };
  636. iomuxc: iomuxc@020e0000 {
  637. compatible = "fsl,imx6sx-iomuxc";
  638. reg = <0x020e0000 0x4000>;
  639. };
  640. gpr: iomuxc-gpr@020e4000 {
  641. compatible = "fsl,imx6sx-iomuxc-gpr",
  642. "fsl,imx6q-iomuxc-gpr", "syscon";
  643. reg = <0x020e4000 0x4000>;
  644. };
  645. sdma: sdma@020ec000 {
  646. compatible = "fsl,imx6sx-sdma", "fsl,imx6q-sdma";
  647. reg = <0x020ec000 0x4000>;
  648. interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
  649. clocks = <&clks IMX6SX_CLK_SDMA>,
  650. <&clks IMX6SX_CLK_SDMA>;
  651. clock-names = "ipg", "ahb";
  652. #dma-cells = <3>;
  653. /* imx6sx reuses imx6q sdma firmware */
  654. fsl,sdma-ram-script-name = "imx/sdma/sdma-imx6q.bin";
  655. };
  656. };
  657. aips2: aips-bus@02100000 {
  658. compatible = "fsl,aips-bus", "simple-bus";
  659. #address-cells = <1>;
  660. #size-cells = <1>;
  661. reg = <0x02100000 0x100000>;
  662. ranges;
  663. usbotg1: usb@02184000 {
  664. compatible = "fsl,imx6sx-usb", "fsl,imx27-usb";
  665. reg = <0x02184000 0x200>;
  666. interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
  667. clocks = <&clks IMX6SX_CLK_USBOH3>;
  668. fsl,usbphy = <&usbphy1>;
  669. fsl,usbmisc = <&usbmisc 0>;
  670. fsl,anatop = <&anatop>;
  671. status = "disabled";
  672. };
  673. usbotg2: usb@02184200 {
  674. compatible = "fsl,imx6sx-usb", "fsl,imx27-usb";
  675. reg = <0x02184200 0x200>;
  676. interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
  677. clocks = <&clks IMX6SX_CLK_USBOH3>;
  678. fsl,usbphy = <&usbphy2>;
  679. fsl,usbmisc = <&usbmisc 1>;
  680. status = "disabled";
  681. };
  682. usbh: usb@02184400 {
  683. compatible = "fsl,imx6sx-usb", "fsl,imx27-usb";
  684. reg = <0x02184400 0x200>;
  685. interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
  686. clocks = <&clks IMX6SX_CLK_USBOH3>;
  687. fsl,usbmisc = <&usbmisc 2>;
  688. phy_type = "hsic";
  689. fsl,anatop = <&anatop>;
  690. status = "disabled";
  691. };
  692. usbmisc: usbmisc@02184800 {
  693. #index-cells = <1>;
  694. compatible = "fsl,imx6sx-usbmisc", "fsl,imx6q-usbmisc";
  695. reg = <0x02184800 0x200>;
  696. clocks = <&clks IMX6SX_CLK_USBOH3>;
  697. };
  698. fec1: ethernet@02188000 {
  699. compatible = "fsl,imx6sx-fec", "fsl,imx6q-fec";
  700. reg = <0x02188000 0x4000>;
  701. interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
  702. <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
  703. clocks = <&clks IMX6SX_CLK_ENET>,
  704. <&clks IMX6SX_CLK_ENET_AHB>,
  705. <&clks IMX6SX_CLK_ENET_PTP>,
  706. <&clks IMX6SX_CLK_ENET_REF>,
  707. <&clks IMX6SX_CLK_ENET_PTP>;
  708. clock-names = "ipg", "ahb", "ptp",
  709. "enet_clk_ref", "enet_out";
  710. fsl,num-tx-queues=<3>;
  711. fsl,num-rx-queues=<3>;
  712. status = "disabled";
  713. };
  714. mlb: mlb@0218c000 {
  715. reg = <0x0218c000 0x4000>;
  716. interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>,
  717. <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
  718. <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>;
  719. clocks = <&clks IMX6SX_CLK_MLB>;
  720. status = "disabled";
  721. };
  722. usdhc1: usdhc@02190000 {
  723. compatible = "fsl,imx6sx-usdhc", "fsl,imx6sl-usdhc";
  724. reg = <0x02190000 0x4000>;
  725. interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
  726. clocks = <&clks IMX6SX_CLK_USDHC1>,
  727. <&clks IMX6SX_CLK_USDHC1>,
  728. <&clks IMX6SX_CLK_USDHC1>;
  729. clock-names = "ipg", "ahb", "per";
  730. bus-width = <4>;
  731. status = "disabled";
  732. };
  733. usdhc2: usdhc@02194000 {
  734. compatible = "fsl,imx6sx-usdhc", "fsl,imx6sl-usdhc";
  735. reg = <0x02194000 0x4000>;
  736. interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
  737. clocks = <&clks IMX6SX_CLK_USDHC2>,
  738. <&clks IMX6SX_CLK_USDHC2>,
  739. <&clks IMX6SX_CLK_USDHC2>;
  740. clock-names = "ipg", "ahb", "per";
  741. bus-width = <4>;
  742. status = "disabled";
  743. };
  744. usdhc3: usdhc@02198000 {
  745. compatible = "fsl,imx6sx-usdhc", "fsl,imx6sl-usdhc";
  746. reg = <0x02198000 0x4000>;
  747. interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
  748. clocks = <&clks IMX6SX_CLK_USDHC3>,
  749. <&clks IMX6SX_CLK_USDHC3>,
  750. <&clks IMX6SX_CLK_USDHC3>;
  751. clock-names = "ipg", "ahb", "per";
  752. bus-width = <4>;
  753. status = "disabled";
  754. };
  755. usdhc4: usdhc@0219c000 {
  756. compatible = "fsl,imx6sx-usdhc", "fsl,imx6sl-usdhc";
  757. reg = <0x0219c000 0x4000>;
  758. interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
  759. clocks = <&clks IMX6SX_CLK_USDHC4>,
  760. <&clks IMX6SX_CLK_USDHC4>,
  761. <&clks IMX6SX_CLK_USDHC4>;
  762. clock-names = "ipg", "ahb", "per";
  763. bus-width = <4>;
  764. status = "disabled";
  765. };
  766. i2c1: i2c@021a0000 {
  767. #address-cells = <1>;
  768. #size-cells = <0>;
  769. compatible = "fsl,imx6sx-i2c", "fsl,imx21-i2c";
  770. reg = <0x021a0000 0x4000>;
  771. interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
  772. clocks = <&clks IMX6SX_CLK_I2C1>;
  773. status = "disabled";
  774. };
  775. i2c2: i2c@021a4000 {
  776. #address-cells = <1>;
  777. #size-cells = <0>;
  778. compatible = "fsl,imx6sx-i2c", "fsl,imx21-i2c";
  779. reg = <0x021a4000 0x4000>;
  780. interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
  781. clocks = <&clks IMX6SX_CLK_I2C2>;
  782. status = "disabled";
  783. };
  784. i2c3: i2c@021a8000 {
  785. #address-cells = <1>;
  786. #size-cells = <0>;
  787. compatible = "fsl,imx6sx-i2c", "fsl,imx21-i2c";
  788. reg = <0x021a8000 0x4000>;
  789. interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
  790. clocks = <&clks IMX6SX_CLK_I2C3>;
  791. status = "disabled";
  792. };
  793. mmdc: mmdc@021b0000 {
  794. compatible = "fsl,imx6sx-mmdc", "fsl,imx6q-mmdc";
  795. reg = <0x021b0000 0x4000>;
  796. };
  797. fec2: ethernet@021b4000 {
  798. compatible = "fsl,imx6sx-fec";
  799. reg = <0x021b4000 0x4000>;
  800. interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
  801. <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
  802. clocks = <&clks IMX6SX_CLK_ENET>,
  803. <&clks IMX6SX_CLK_ENET_AHB>,
  804. <&clks IMX6SX_CLK_ENET_PTP>,
  805. <&clks IMX6SX_CLK_ENET2_REF_125M>,
  806. <&clks IMX6SX_CLK_ENET_PTP>;
  807. clock-names = "ipg", "ahb", "ptp",
  808. "enet_clk_ref", "enet_out";
  809. status = "disabled";
  810. };
  811. weim: weim@021b8000 {
  812. compatible = "fsl,imx6sx-weim", "fsl,imx6q-weim";
  813. reg = <0x021b8000 0x4000>;
  814. interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
  815. clocks = <&clks IMX6SX_CLK_EIM_SLOW>;
  816. };
  817. ocotp: ocotp@021bc000 {
  818. compatible = "fsl,imx6sx-ocotp", "syscon";
  819. reg = <0x021bc000 0x4000>;
  820. clocks = <&clks IMX6SX_CLK_OCOTP>;
  821. };
  822. sai1: sai@021d4000 {
  823. compatible = "fsl,imx6sx-sai";
  824. reg = <0x021d4000 0x4000>;
  825. interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
  826. clocks = <&clks IMX6SX_CLK_SAI1_IPG>,
  827. <&clks IMX6SX_CLK_SAI1>,
  828. <&clks 0>, <&clks 0>;
  829. clock-names = "bus", "mclk1", "mclk2", "mclk3";
  830. dma-names = "rx", "tx";
  831. dmas = <&sdma 31 23 0>, <&sdma 32 23 0>;
  832. dma-source = <&gpr 0 15 0 16>;
  833. status = "disabled";
  834. };
  835. audmux: audmux@021d8000 {
  836. compatible = "fsl,imx6sx-audmux", "fsl,imx31-audmux";
  837. reg = <0x021d8000 0x4000>;
  838. status = "disabled";
  839. };
  840. sai2: sai@021dc000 {
  841. compatible = "fsl,imx6sx-sai";
  842. reg = <0x021dc000 0x4000>;
  843. interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
  844. clocks = <&clks IMX6SX_CLK_SAI2_IPG>,
  845. <&clks IMX6SX_CLK_SAI2>,
  846. <&clks 0>, <&clks 0>;
  847. clock-names = "bus", "mclk1", "mclk2", "mclk3";
  848. dma-names = "rx", "tx";
  849. dmas = <&sdma 33 23 0>, <&sdma 34 23 0>;
  850. dma-source = <&gpr 0 17 0 18>;
  851. status = "disabled";
  852. };
  853. qspi1: qspi@021e0000 {
  854. #address-cells = <1>;
  855. #size-cells = <0>;
  856. compatible = "fsl,imx6sx-qspi";
  857. reg = <0x021e0000 0x4000>, <0x60000000 0x10000000>;
  858. reg-names = "QuadSPI", "QuadSPI-memory";
  859. interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
  860. clocks = <&clks IMX6SX_CLK_QSPI1>,
  861. <&clks IMX6SX_CLK_QSPI1>;
  862. clock-names = "qspi_en", "qspi";
  863. status = "disabled";
  864. };
  865. qspi2: qspi@021e4000 {
  866. #address-cells = <1>;
  867. #size-cells = <0>;
  868. compatible = "fsl,imx6sx-qspi";
  869. reg = <0x021e4000 0x4000>, <0x70000000 0x10000000>;
  870. reg-names = "QuadSPI", "QuadSPI-memory";
  871. interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>;
  872. clocks = <&clks IMX6SX_CLK_QSPI2>,
  873. <&clks IMX6SX_CLK_QSPI2>;
  874. clock-names = "qspi_en", "qspi";
  875. status = "disabled";
  876. };
  877. uart2: serial@021e8000 {
  878. compatible = "fsl,imx6sx-uart", "fsl,imx21-uart";
  879. reg = <0x021e8000 0x4000>;
  880. interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
  881. clocks = <&clks IMX6SX_CLK_UART_IPG>,
  882. <&clks IMX6SX_CLK_UART_SERIAL>;
  883. clock-names = "ipg", "per";
  884. dmas = <&sdma 27 4 0>, <&sdma 28 4 0>;
  885. dma-names = "rx", "tx";
  886. status = "disabled";
  887. };
  888. uart3: serial@021ec000 {
  889. compatible = "fsl,imx6sx-uart", "fsl,imx21-uart";
  890. reg = <0x021ec000 0x4000>;
  891. interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
  892. clocks = <&clks IMX6SX_CLK_UART_IPG>,
  893. <&clks IMX6SX_CLK_UART_SERIAL>;
  894. clock-names = "ipg", "per";
  895. dmas = <&sdma 29 4 0>, <&sdma 30 4 0>;
  896. dma-names = "rx", "tx";
  897. status = "disabled";
  898. };
  899. uart4: serial@021f0000 {
  900. compatible = "fsl,imx6sx-uart", "fsl,imx21-uart";
  901. reg = <0x021f0000 0x4000>;
  902. interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
  903. clocks = <&clks IMX6SX_CLK_UART_IPG>,
  904. <&clks IMX6SX_CLK_UART_SERIAL>;
  905. clock-names = "ipg", "per";
  906. dmas = <&sdma 31 4 0>, <&sdma 32 4 0>;
  907. dma-names = "rx", "tx";
  908. status = "disabled";
  909. };
  910. uart5: serial@021f4000 {
  911. compatible = "fsl,imx6sx-uart", "fsl,imx21-uart";
  912. reg = <0x021f4000 0x4000>;
  913. interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
  914. clocks = <&clks IMX6SX_CLK_UART_IPG>,
  915. <&clks IMX6SX_CLK_UART_SERIAL>;
  916. clock-names = "ipg", "per";
  917. dmas = <&sdma 33 4 0>, <&sdma 34 4 0>;
  918. dma-names = "rx", "tx";
  919. status = "disabled";
  920. };
  921. i2c4: i2c@021f8000 {
  922. #address-cells = <1>;
  923. #size-cells = <0>;
  924. compatible = "fsl,imx6sx-i2c", "fsl,imx21-i2c";
  925. reg = <0x021f8000 0x4000>;
  926. interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
  927. clocks = <&clks IMX6SX_CLK_I2C4>;
  928. status = "disabled";
  929. };
  930. };
  931. aips3: aips-bus@02200000 {
  932. compatible = "fsl,aips-bus", "simple-bus";
  933. #address-cells = <1>;
  934. #size-cells = <1>;
  935. reg = <0x02200000 0x100000>;
  936. ranges;
  937. spba-bus@02200000 {
  938. compatible = "fsl,spba-bus", "simple-bus";
  939. #address-cells = <1>;
  940. #size-cells = <1>;
  941. reg = <0x02240000 0x40000>;
  942. ranges;
  943. csi1: csi@02214000 {
  944. reg = <0x02214000 0x4000>;
  945. interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
  946. clocks = <&clks IMX6SX_CLK_DISPLAY_AXI>,
  947. <&clks IMX6SX_CLK_CSI>,
  948. <&clks IMX6SX_CLK_DCIC1>;
  949. clock-names = "disp-axi", "csi_mclk", "dcic";
  950. status = "disabled";
  951. };
  952. pxp: pxp@02218000 {
  953. reg = <0x02218000 0x4000>;
  954. interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
  955. clocks = <&clks IMX6SX_CLK_PXP_AXI>,
  956. <&clks IMX6SX_CLK_DISPLAY_AXI>;
  957. clock-names = "pxp-axi", "disp-axi";
  958. status = "disabled";
  959. };
  960. csi2: csi@0221c000 {
  961. reg = <0x0221c000 0x4000>;
  962. interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
  963. clocks = <&clks IMX6SX_CLK_DISPLAY_AXI>,
  964. <&clks IMX6SX_CLK_CSI>,
  965. <&clks IMX6SX_CLK_DCIC2>;
  966. clock-names = "disp-axi", "csi_mclk", "dcic";
  967. status = "disabled";
  968. };
  969. lcdif1: lcdif@02220000 {
  970. compatible = "fsl,imx6sx-lcdif", "fsl,imx28-lcdif";
  971. reg = <0x02220000 0x4000>;
  972. interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
  973. clocks = <&clks IMX6SX_CLK_LCDIF1_PIX>,
  974. <&clks IMX6SX_CLK_LCDIF_APB>,
  975. <&clks IMX6SX_CLK_DISPLAY_AXI>;
  976. clock-names = "pix", "axi", "disp_axi";
  977. status = "disabled";
  978. };
  979. lcdif2: lcdif@02224000 {
  980. compatible = "fsl,imx6sx-lcdif", "fsl,imx28-lcdif";
  981. reg = <0x02224000 0x4000>;
  982. interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
  983. clocks = <&clks IMX6SX_CLK_LCDIF2_PIX>,
  984. <&clks IMX6SX_CLK_LCDIF_APB>,
  985. <&clks IMX6SX_CLK_DISPLAY_AXI>;
  986. clock-names = "pix", "axi", "disp_axi";
  987. status = "disabled";
  988. };
  989. vadc: vadc@02228000 {
  990. reg = <0x02228000 0x4000>, <0x0222c000 0x4000>;
  991. reg-names = "vadc-vafe", "vadc-vdec";
  992. clocks = <&clks IMX6SX_CLK_VADC>,
  993. <&clks IMX6SX_CLK_CSI>;
  994. clock-names = "vadc", "csi";
  995. status = "disabled";
  996. };
  997. };
  998. adc1: adc@02280000 {
  999. compatible = "fsl,imx6sx-adc", "fsl,vf610-adc";
  1000. reg = <0x02280000 0x4000>;
  1001. interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
  1002. clocks = <&clks IMX6SX_CLK_IPG>;
  1003. clock-names = "adc";
  1004. status = "disabled";
  1005. };
  1006. adc2: adc@02284000 {
  1007. compatible = "fsl,imx6sx-adc", "fsl,vf610-adc";
  1008. reg = <0x02284000 0x4000>;
  1009. interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
  1010. clocks = <&clks IMX6SX_CLK_IPG>;
  1011. clock-names = "adc";
  1012. status = "disabled";
  1013. };
  1014. wdog3: wdog@02288000 {
  1015. compatible = "fsl,imx6sx-wdt", "fsl,imx21-wdt";
  1016. reg = <0x02288000 0x4000>;
  1017. interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
  1018. clocks = <&clks IMX6SX_CLK_DUMMY>;
  1019. status = "disabled";
  1020. };
  1021. ecspi5: ecspi@0228c000 {
  1022. #address-cells = <1>;
  1023. #size-cells = <0>;
  1024. compatible = "fsl,imx6sx-ecspi", "fsl,imx51-ecspi";
  1025. reg = <0x0228c000 0x4000>;
  1026. interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
  1027. clocks = <&clks IMX6SX_CLK_ECSPI5>,
  1028. <&clks IMX6SX_CLK_ECSPI5>;
  1029. clock-names = "ipg", "per";
  1030. status = "disabled";
  1031. };
  1032. uart6: serial@022a0000 {
  1033. compatible = "fsl,imx6sx-uart", "fsl,imx21-uart";
  1034. reg = <0x022a0000 0x4000>;
  1035. interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
  1036. clocks = <&clks IMX6SX_CLK_UART_IPG>,
  1037. <&clks IMX6SX_CLK_UART_SERIAL>;
  1038. clock-names = "ipg", "per";
  1039. dmas = <&sdma 0 4 0>, <&sdma 47 4 0>;
  1040. dma-names = "rx", "tx";
  1041. status = "disabled";
  1042. };
  1043. pwm5: pwm@022a4000 {
  1044. compatible = "fsl,imx6sx-pwm", "fsl,imx27-pwm";
  1045. reg = <0x022a4000 0x4000>;
  1046. interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
  1047. clocks = <&clks IMX6SX_CLK_PWM5>,
  1048. <&clks IMX6SX_CLK_PWM5>;
  1049. clock-names = "ipg", "per";
  1050. #pwm-cells = <2>;
  1051. };
  1052. pwm6: pwm@022a8000 {
  1053. compatible = "fsl,imx6sx-pwm", "fsl,imx27-pwm";
  1054. reg = <0x022a8000 0x4000>;
  1055. interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
  1056. clocks = <&clks IMX6SX_CLK_PWM6>,
  1057. <&clks IMX6SX_CLK_PWM6>;
  1058. clock-names = "ipg", "per";
  1059. #pwm-cells = <2>;
  1060. };
  1061. pwm7: pwm@022ac000 {
  1062. compatible = "fsl,imx6sx-pwm", "fsl,imx27-pwm";
  1063. reg = <0x022ac000 0x4000>;
  1064. interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
  1065. clocks = <&clks IMX6SX_CLK_PWM7>,
  1066. <&clks IMX6SX_CLK_PWM7>;
  1067. clock-names = "ipg", "per";
  1068. #pwm-cells = <2>;
  1069. };
  1070. pwm8: pwm@0022b0000 {
  1071. compatible = "fsl,imx6sx-pwm", "fsl,imx27-pwm";
  1072. reg = <0x0022b0000 0x4000>;
  1073. interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
  1074. clocks = <&clks IMX6SX_CLK_PWM8>,
  1075. <&clks IMX6SX_CLK_PWM8>;
  1076. clock-names = "ipg", "per";
  1077. #pwm-cells = <2>;
  1078. };
  1079. };
  1080. pcie: pcie@0x08000000 {
  1081. compatible = "fsl,imx6sx-pcie", "snps,dw-pcie";
  1082. reg = <0x08ffc000 0x4000>; /* DBI */
  1083. #address-cells = <3>;
  1084. #size-cells = <2>;
  1085. device_type = "pci";
  1086. /* configuration space */
  1087. ranges = <0x00000800 0 0x08f00000 0x08f00000 0 0x00080000
  1088. /* downstream I/O */
  1089. 0x81000000 0 0 0x08f80000 0 0x00010000
  1090. /* non-prefetchable memory */
  1091. 0x82000000 0 0x08000000 0x08000000 0 0x00f00000>;
  1092. num-lanes = <1>;
  1093. interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>;
  1094. clocks = <&clks IMX6SX_CLK_PCIE_REF_125M>,
  1095. <&clks IMX6SX_CLK_PCIE_AXI>,
  1096. <&clks IMX6SX_CLK_LVDS1_OUT>,
  1097. <&clks IMX6SX_CLK_DISPLAY_AXI>;
  1098. clock-names = "pcie_ref_125m", "pcie_axi",
  1099. "lvds_gate", "display_axi";
  1100. status = "disabled";
  1101. };
  1102. };
  1103. };