imx6sx.dtsi 37 KB

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