imx6sx.dtsi 36 KB

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