imx53.dtsi 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856
  1. // SPDX-License-Identifier: GPL-2.0+
  2. //
  3. // Copyright 2011 Freescale Semiconductor, Inc.
  4. // Copyright 2011 Linaro Ltd.
  5. #include "imx53-pinfunc.h"
  6. #include <dt-bindings/clock/imx5-clock.h>
  7. #include <dt-bindings/gpio/gpio.h>
  8. #include <dt-bindings/input/input.h>
  9. #include <dt-bindings/interrupt-controller/irq.h>
  10. / {
  11. #address-cells = <1>;
  12. #size-cells = <1>;
  13. /*
  14. * The decompressor and also some bootloaders rely on a
  15. * pre-existing /chosen node to be available to insert the
  16. * command line and merge other ATAGS info.
  17. */
  18. chosen {};
  19. aliases {
  20. ethernet0 = &fec;
  21. gpio0 = &gpio1;
  22. gpio1 = &gpio2;
  23. gpio2 = &gpio3;
  24. gpio3 = &gpio4;
  25. gpio4 = &gpio5;
  26. gpio5 = &gpio6;
  27. gpio6 = &gpio7;
  28. i2c0 = &i2c1;
  29. i2c1 = &i2c2;
  30. i2c2 = &i2c3;
  31. ipu0 = &ipu;
  32. mmc0 = &esdhc1;
  33. mmc1 = &esdhc2;
  34. mmc2 = &esdhc3;
  35. mmc3 = &esdhc4;
  36. serial0 = &uart1;
  37. serial1 = &uart2;
  38. serial2 = &uart3;
  39. serial3 = &uart4;
  40. serial4 = &uart5;
  41. spi0 = &ecspi1;
  42. spi1 = &ecspi2;
  43. spi2 = &cspi;
  44. };
  45. cpus {
  46. #address-cells = <1>;
  47. #size-cells = <0>;
  48. cpu0: cpu@0 {
  49. device_type = "cpu";
  50. compatible = "arm,cortex-a8";
  51. reg = <0x0>;
  52. clocks = <&clks IMX5_CLK_ARM>;
  53. clock-latency = <61036>;
  54. voltage-tolerance = <5>;
  55. operating-points = <
  56. /* kHz */
  57. 166666 850000
  58. 400000 900000
  59. 800000 1050000
  60. 1000000 1200000
  61. 1200000 1300000
  62. >;
  63. };
  64. };
  65. display-subsystem {
  66. compatible = "fsl,imx-display-subsystem";
  67. ports = <&ipu_di0>, <&ipu_di1>;
  68. };
  69. capture_subsystem {
  70. compatible = "fsl,imx-capture-subsystem";
  71. ports = <&ipu_csi0>, <&ipu_csi1>;
  72. };
  73. tzic: tz-interrupt-controller@fffc000 {
  74. compatible = "fsl,imx53-tzic", "fsl,tzic";
  75. interrupt-controller;
  76. #interrupt-cells = <1>;
  77. reg = <0x0fffc000 0x4000>;
  78. };
  79. clocks {
  80. ckil {
  81. compatible = "fixed-clock";
  82. #clock-cells = <0>;
  83. clock-frequency = <32768>;
  84. };
  85. ckih1 {
  86. compatible = "fixed-clock";
  87. #clock-cells = <0>;
  88. clock-frequency = <22579200>;
  89. };
  90. ckih2 {
  91. compatible = "fixed-clock";
  92. #clock-cells = <0>;
  93. clock-frequency = <0>;
  94. };
  95. osc {
  96. compatible = "fixed-clock";
  97. #clock-cells = <0>;
  98. clock-frequency = <24000000>;
  99. };
  100. };
  101. pmu: pmu {
  102. compatible = "arm,cortex-a8-pmu";
  103. interrupt-parent = <&tzic>;
  104. interrupts = <77>;
  105. };
  106. usbphy0: usbphy-0 {
  107. compatible = "usb-nop-xceiv";
  108. clocks = <&clks IMX5_CLK_USB_PHY1_GATE>;
  109. clock-names = "main_clk";
  110. #phy-cells = <0>;
  111. status = "okay";
  112. };
  113. usbphy1: usbphy-1 {
  114. compatible = "usb-nop-xceiv";
  115. clocks = <&clks IMX5_CLK_USB_PHY2_GATE>;
  116. clock-names = "main_clk";
  117. #phy-cells = <0>;
  118. status = "okay";
  119. };
  120. soc: soc {
  121. #address-cells = <1>;
  122. #size-cells = <1>;
  123. compatible = "simple-bus";
  124. interrupt-parent = <&tzic>;
  125. ranges;
  126. sata: sata@10000000 {
  127. compatible = "fsl,imx53-ahci";
  128. reg = <0x10000000 0x1000>;
  129. interrupts = <28>;
  130. clocks = <&clks IMX5_CLK_SATA_GATE>,
  131. <&clks IMX5_CLK_SATA_REF>,
  132. <&clks IMX5_CLK_AHB>;
  133. clock-names = "sata", "sata_ref", "ahb";
  134. status = "disabled";
  135. };
  136. ipu: ipu@18000000 {
  137. #address-cells = <1>;
  138. #size-cells = <0>;
  139. compatible = "fsl,imx53-ipu";
  140. reg = <0x18000000 0x08000000>;
  141. interrupts = <11 10>;
  142. clocks = <&clks IMX5_CLK_IPU_GATE>,
  143. <&clks IMX5_CLK_IPU_DI0_GATE>,
  144. <&clks IMX5_CLK_IPU_DI1_GATE>;
  145. clock-names = "bus", "di0", "di1";
  146. resets = <&src 2>;
  147. ipu_csi0: port@0 {
  148. reg = <0>;
  149. ipu_csi0_from_parallel_sensor: endpoint {
  150. };
  151. };
  152. ipu_csi1: port@1 {
  153. reg = <1>;
  154. ipu_csi1_from_parallel_sensor: endpoint {
  155. };
  156. };
  157. ipu_di0: port@2 {
  158. #address-cells = <1>;
  159. #size-cells = <0>;
  160. reg = <2>;
  161. ipu_di0_disp0: endpoint@0 {
  162. reg = <0>;
  163. };
  164. ipu_di0_lvds0: endpoint@1 {
  165. reg = <1>;
  166. remote-endpoint = <&lvds0_in>;
  167. };
  168. };
  169. ipu_di1: port@3 {
  170. #address-cells = <1>;
  171. #size-cells = <0>;
  172. reg = <3>;
  173. ipu_di1_disp1: endpoint@0 {
  174. reg = <0>;
  175. };
  176. ipu_di1_lvds1: endpoint@1 {
  177. reg = <1>;
  178. remote-endpoint = <&lvds1_in>;
  179. };
  180. ipu_di1_tve: endpoint@2 {
  181. reg = <2>;
  182. remote-endpoint = <&tve_in>;
  183. };
  184. };
  185. };
  186. gpu: gpu@30000000 {
  187. compatible = "amd,imageon-200.0", "amd,imageon";
  188. reg = <0x30000000 0x20000>;
  189. reg-names = "kgsl_3d0_reg_memory";
  190. interrupts = <12>;
  191. interrupt-names = "kgsl_3d0_irq";
  192. clocks = <&clks IMX5_CLK_GPU3D_GATE>, <&clks IMX5_CLK_GARB_GATE>;
  193. clock-names = "core_clk", "mem_iface_clk";
  194. };
  195. aips1: bus@50000000 { /* AIPS1 */
  196. compatible = "fsl,aips-bus", "simple-bus";
  197. #address-cells = <1>;
  198. #size-cells = <1>;
  199. reg = <0x50000000 0x10000000>;
  200. ranges;
  201. spba-bus@50000000 {
  202. compatible = "fsl,spba-bus", "simple-bus";
  203. #address-cells = <1>;
  204. #size-cells = <1>;
  205. reg = <0x50000000 0x40000>;
  206. ranges;
  207. esdhc1: mmc@50004000 {
  208. compatible = "fsl,imx53-esdhc";
  209. reg = <0x50004000 0x4000>;
  210. interrupts = <1>;
  211. clocks = <&clks IMX5_CLK_ESDHC1_IPG_GATE>,
  212. <&clks IMX5_CLK_DUMMY>,
  213. <&clks IMX5_CLK_ESDHC1_PER_GATE>;
  214. clock-names = "ipg", "ahb", "per";
  215. bus-width = <4>;
  216. status = "disabled";
  217. };
  218. esdhc2: mmc@50008000 {
  219. compatible = "fsl,imx53-esdhc";
  220. reg = <0x50008000 0x4000>;
  221. interrupts = <2>;
  222. clocks = <&clks IMX5_CLK_ESDHC2_IPG_GATE>,
  223. <&clks IMX5_CLK_DUMMY>,
  224. <&clks IMX5_CLK_ESDHC2_PER_GATE>;
  225. clock-names = "ipg", "ahb", "per";
  226. bus-width = <4>;
  227. status = "disabled";
  228. };
  229. uart3: serial@5000c000 {
  230. compatible = "fsl,imx53-uart", "fsl,imx21-uart";
  231. reg = <0x5000c000 0x4000>;
  232. interrupts = <33>;
  233. clocks = <&clks IMX5_CLK_UART3_IPG_GATE>,
  234. <&clks IMX5_CLK_UART3_PER_GATE>;
  235. clock-names = "ipg", "per";
  236. dmas = <&sdma 42 4 0>, <&sdma 43 4 0>;
  237. dma-names = "rx", "tx";
  238. status = "disabled";
  239. };
  240. ecspi1: spi@50010000 {
  241. #address-cells = <1>;
  242. #size-cells = <0>;
  243. compatible = "fsl,imx53-ecspi", "fsl,imx51-ecspi";
  244. reg = <0x50010000 0x4000>;
  245. interrupts = <36>;
  246. clocks = <&clks IMX5_CLK_ECSPI1_IPG_GATE>,
  247. <&clks IMX5_CLK_ECSPI1_PER_GATE>;
  248. clock-names = "ipg", "per";
  249. status = "disabled";
  250. };
  251. ssi2: ssi@50014000 {
  252. #sound-dai-cells = <0>;
  253. compatible = "fsl,imx53-ssi",
  254. "fsl,imx51-ssi",
  255. "fsl,imx21-ssi";
  256. reg = <0x50014000 0x4000>;
  257. interrupts = <30>;
  258. clocks = <&clks IMX5_CLK_SSI2_IPG_GATE>,
  259. <&clks IMX5_CLK_SSI2_ROOT_GATE>;
  260. clock-names = "ipg", "baud";
  261. dmas = <&sdma 24 1 0>,
  262. <&sdma 25 1 0>;
  263. dma-names = "rx", "tx";
  264. fsl,fifo-depth = <15>;
  265. status = "disabled";
  266. };
  267. esdhc3: mmc@50020000 {
  268. compatible = "fsl,imx53-esdhc";
  269. reg = <0x50020000 0x4000>;
  270. interrupts = <3>;
  271. clocks = <&clks IMX5_CLK_ESDHC3_IPG_GATE>,
  272. <&clks IMX5_CLK_DUMMY>,
  273. <&clks IMX5_CLK_ESDHC3_PER_GATE>;
  274. clock-names = "ipg", "ahb", "per";
  275. bus-width = <4>;
  276. status = "disabled";
  277. };
  278. esdhc4: mmc@50024000 {
  279. compatible = "fsl,imx53-esdhc";
  280. reg = <0x50024000 0x4000>;
  281. interrupts = <4>;
  282. clocks = <&clks IMX5_CLK_ESDHC4_IPG_GATE>,
  283. <&clks IMX5_CLK_DUMMY>,
  284. <&clks IMX5_CLK_ESDHC4_PER_GATE>;
  285. clock-names = "ipg", "ahb", "per";
  286. bus-width = <4>;
  287. status = "disabled";
  288. };
  289. };
  290. aipstz1: bridge@53f00000 {
  291. compatible = "fsl,imx53-aipstz";
  292. reg = <0x53f00000 0x60>;
  293. };
  294. usbotg: usb@53f80000 {
  295. compatible = "fsl,imx53-usb", "fsl,imx27-usb";
  296. reg = <0x53f80000 0x0200>;
  297. interrupts = <18>;
  298. clocks = <&clks IMX5_CLK_USBOH3_GATE>;
  299. fsl,usbmisc = <&usbmisc 0>;
  300. fsl,usbphy = <&usbphy0>;
  301. status = "disabled";
  302. };
  303. usbh1: usb@53f80200 {
  304. compatible = "fsl,imx53-usb", "fsl,imx27-usb";
  305. reg = <0x53f80200 0x0200>;
  306. interrupts = <14>;
  307. clocks = <&clks IMX5_CLK_USBOH3_GATE>;
  308. fsl,usbmisc = <&usbmisc 1>;
  309. fsl,usbphy = <&usbphy1>;
  310. dr_mode = "host";
  311. status = "disabled";
  312. };
  313. usbh2: usb@53f80400 {
  314. compatible = "fsl,imx53-usb", "fsl,imx27-usb";
  315. reg = <0x53f80400 0x0200>;
  316. interrupts = <16>;
  317. clocks = <&clks IMX5_CLK_USBOH3_GATE>;
  318. fsl,usbmisc = <&usbmisc 2>;
  319. dr_mode = "host";
  320. status = "disabled";
  321. };
  322. usbh3: usb@53f80600 {
  323. compatible = "fsl,imx53-usb", "fsl,imx27-usb";
  324. reg = <0x53f80600 0x0200>;
  325. interrupts = <17>;
  326. clocks = <&clks IMX5_CLK_USBOH3_GATE>;
  327. fsl,usbmisc = <&usbmisc 3>;
  328. dr_mode = "host";
  329. status = "disabled";
  330. };
  331. usbmisc: usbmisc@53f80800 {
  332. #index-cells = <1>;
  333. compatible = "fsl,imx53-usbmisc";
  334. reg = <0x53f80800 0x200>;
  335. clocks = <&clks IMX5_CLK_USBOH3_GATE>;
  336. };
  337. gpio1: gpio@53f84000 {
  338. compatible = "fsl,imx53-gpio", "fsl,imx35-gpio";
  339. reg = <0x53f84000 0x4000>;
  340. interrupts = <50 51>;
  341. gpio-controller;
  342. #gpio-cells = <2>;
  343. interrupt-controller;
  344. #interrupt-cells = <2>;
  345. };
  346. gpio2: gpio@53f88000 {
  347. compatible = "fsl,imx53-gpio", "fsl,imx35-gpio";
  348. reg = <0x53f88000 0x4000>;
  349. interrupts = <52 53>;
  350. gpio-controller;
  351. #gpio-cells = <2>;
  352. interrupt-controller;
  353. #interrupt-cells = <2>;
  354. };
  355. gpio3: gpio@53f8c000 {
  356. compatible = "fsl,imx53-gpio", "fsl,imx35-gpio";
  357. reg = <0x53f8c000 0x4000>;
  358. interrupts = <54 55>;
  359. gpio-controller;
  360. #gpio-cells = <2>;
  361. interrupt-controller;
  362. #interrupt-cells = <2>;
  363. };
  364. gpio4: gpio@53f90000 {
  365. compatible = "fsl,imx53-gpio", "fsl,imx35-gpio";
  366. reg = <0x53f90000 0x4000>;
  367. interrupts = <56 57>;
  368. gpio-controller;
  369. #gpio-cells = <2>;
  370. interrupt-controller;
  371. #interrupt-cells = <2>;
  372. };
  373. kpp: kpp@53f94000 {
  374. compatible = "fsl,imx53-kpp", "fsl,imx21-kpp";
  375. reg = <0x53f94000 0x4000>;
  376. interrupts = <60>;
  377. clocks = <&clks IMX5_CLK_DUMMY>;
  378. status = "disabled";
  379. };
  380. wdog1: watchdog@53f98000 {
  381. compatible = "fsl,imx53-wdt", "fsl,imx21-wdt";
  382. reg = <0x53f98000 0x4000>;
  383. interrupts = <58>;
  384. clocks = <&clks IMX5_CLK_DUMMY>;
  385. };
  386. wdog2: watchdog@53f9c000 {
  387. compatible = "fsl,imx53-wdt", "fsl,imx21-wdt";
  388. reg = <0x53f9c000 0x4000>;
  389. interrupts = <59>;
  390. clocks = <&clks IMX5_CLK_DUMMY>;
  391. status = "disabled";
  392. };
  393. gpt: timer@53fa0000 {
  394. compatible = "fsl,imx53-gpt", "fsl,imx31-gpt";
  395. reg = <0x53fa0000 0x4000>;
  396. interrupts = <39>;
  397. clocks = <&clks IMX5_CLK_GPT_IPG_GATE>,
  398. <&clks IMX5_CLK_GPT_HF_GATE>;
  399. clock-names = "ipg", "per";
  400. };
  401. srtc: rtc@53fa4000 {
  402. compatible = "fsl,imx53-rtc";
  403. reg = <0x53fa4000 0x4000>;
  404. interrupts = <24>;
  405. clocks = <&clks IMX5_CLK_SRTC_GATE>;
  406. };
  407. iomuxc: iomuxc@53fa8000 {
  408. compatible = "fsl,imx53-iomuxc";
  409. reg = <0x53fa8000 0x4000>;
  410. };
  411. gpr: iomuxc-gpr@53fa8000 {
  412. compatible = "fsl,imx53-iomuxc-gpr", "syscon";
  413. reg = <0x53fa8000 0xc>;
  414. };
  415. ldb: ldb@53fa8008 {
  416. #address-cells = <1>;
  417. #size-cells = <0>;
  418. compatible = "fsl,imx53-ldb";
  419. reg = <0x53fa8008 0x4>;
  420. gpr = <&gpr>;
  421. clocks = <&clks IMX5_CLK_LDB_DI0_SEL>,
  422. <&clks IMX5_CLK_LDB_DI1_SEL>,
  423. <&clks IMX5_CLK_IPU_DI0_SEL>,
  424. <&clks IMX5_CLK_IPU_DI1_SEL>,
  425. <&clks IMX5_CLK_LDB_DI0_GATE>,
  426. <&clks IMX5_CLK_LDB_DI1_GATE>;
  427. clock-names = "di0_pll", "di1_pll",
  428. "di0_sel", "di1_sel",
  429. "di0", "di1";
  430. status = "disabled";
  431. lvds-channel@0 {
  432. #address-cells = <1>;
  433. #size-cells = <0>;
  434. reg = <0>;
  435. status = "disabled";
  436. port@0 {
  437. reg = <0>;
  438. lvds0_in: endpoint {
  439. remote-endpoint = <&ipu_di0_lvds0>;
  440. };
  441. };
  442. port@2 {
  443. reg = <2>;
  444. };
  445. };
  446. lvds-channel@1 {
  447. #address-cells = <1>;
  448. #size-cells = <0>;
  449. reg = <1>;
  450. status = "disabled";
  451. port@1 {
  452. reg = <1>;
  453. lvds1_in: endpoint {
  454. remote-endpoint = <&ipu_di1_lvds1>;
  455. };
  456. };
  457. port@2 {
  458. reg = <2>;
  459. };
  460. };
  461. };
  462. pwm1: pwm@53fb4000 {
  463. #pwm-cells = <3>;
  464. compatible = "fsl,imx53-pwm", "fsl,imx27-pwm";
  465. reg = <0x53fb4000 0x4000>;
  466. clocks = <&clks IMX5_CLK_PWM1_IPG_GATE>,
  467. <&clks IMX5_CLK_PWM1_HF_GATE>;
  468. clock-names = "ipg", "per";
  469. interrupts = <61>;
  470. };
  471. pwm2: pwm@53fb8000 {
  472. #pwm-cells = <3>;
  473. compatible = "fsl,imx53-pwm", "fsl,imx27-pwm";
  474. reg = <0x53fb8000 0x4000>;
  475. clocks = <&clks IMX5_CLK_PWM2_IPG_GATE>,
  476. <&clks IMX5_CLK_PWM2_HF_GATE>;
  477. clock-names = "ipg", "per";
  478. interrupts = <94>;
  479. };
  480. uart1: serial@53fbc000 {
  481. compatible = "fsl,imx53-uart", "fsl,imx21-uart";
  482. reg = <0x53fbc000 0x4000>;
  483. interrupts = <31>;
  484. clocks = <&clks IMX5_CLK_UART1_IPG_GATE>,
  485. <&clks IMX5_CLK_UART1_PER_GATE>;
  486. clock-names = "ipg", "per";
  487. dmas = <&sdma 18 4 0>, <&sdma 19 4 0>;
  488. dma-names = "rx", "tx";
  489. status = "disabled";
  490. };
  491. uart2: serial@53fc0000 {
  492. compatible = "fsl,imx53-uart", "fsl,imx21-uart";
  493. reg = <0x53fc0000 0x4000>;
  494. interrupts = <32>;
  495. clocks = <&clks IMX5_CLK_UART2_IPG_GATE>,
  496. <&clks IMX5_CLK_UART2_PER_GATE>;
  497. clock-names = "ipg", "per";
  498. dmas = <&sdma 12 4 0>, <&sdma 13 4 0>;
  499. dma-names = "rx", "tx";
  500. status = "disabled";
  501. };
  502. can1: can@53fc8000 {
  503. compatible = "fsl,imx53-flexcan", "fsl,imx25-flexcan";
  504. reg = <0x53fc8000 0x4000>;
  505. interrupts = <82>;
  506. clocks = <&clks IMX5_CLK_CAN1_IPG_GATE>,
  507. <&clks IMX5_CLK_CAN1_SERIAL_GATE>;
  508. clock-names = "ipg", "per";
  509. status = "disabled";
  510. };
  511. can2: can@53fcc000 {
  512. compatible = "fsl,imx53-flexcan", "fsl,imx25-flexcan";
  513. reg = <0x53fcc000 0x4000>;
  514. interrupts = <83>;
  515. clocks = <&clks IMX5_CLK_CAN2_IPG_GATE>,
  516. <&clks IMX5_CLK_CAN2_SERIAL_GATE>;
  517. clock-names = "ipg", "per";
  518. status = "disabled";
  519. };
  520. src: reset-controller@53fd0000 {
  521. compatible = "fsl,imx53-src", "fsl,imx51-src";
  522. reg = <0x53fd0000 0x4000>;
  523. interrupts = <75>;
  524. #reset-cells = <1>;
  525. };
  526. clks: ccm@53fd4000{
  527. compatible = "fsl,imx53-ccm";
  528. reg = <0x53fd4000 0x4000>;
  529. interrupts = <0 71 0x04 0 72 0x04>;
  530. #clock-cells = <1>;
  531. };
  532. gpio5: gpio@53fdc000 {
  533. compatible = "fsl,imx53-gpio", "fsl,imx35-gpio";
  534. reg = <0x53fdc000 0x4000>;
  535. interrupts = <103 104>;
  536. gpio-controller;
  537. #gpio-cells = <2>;
  538. interrupt-controller;
  539. #interrupt-cells = <2>;
  540. };
  541. gpio6: gpio@53fe0000 {
  542. compatible = "fsl,imx53-gpio", "fsl,imx35-gpio";
  543. reg = <0x53fe0000 0x4000>;
  544. interrupts = <105 106>;
  545. gpio-controller;
  546. #gpio-cells = <2>;
  547. interrupt-controller;
  548. #interrupt-cells = <2>;
  549. };
  550. gpio7: gpio@53fe4000 {
  551. compatible = "fsl,imx53-gpio", "fsl,imx35-gpio";
  552. reg = <0x53fe4000 0x4000>;
  553. interrupts = <107 108>;
  554. gpio-controller;
  555. #gpio-cells = <2>;
  556. interrupt-controller;
  557. #interrupt-cells = <2>;
  558. };
  559. i2c3: i2c@53fec000 {
  560. #address-cells = <1>;
  561. #size-cells = <0>;
  562. compatible = "fsl,imx53-i2c", "fsl,imx21-i2c";
  563. reg = <0x53fec000 0x4000>;
  564. interrupts = <64>;
  565. clocks = <&clks IMX5_CLK_I2C3_GATE>;
  566. status = "disabled";
  567. };
  568. uart4: serial@53ff0000 {
  569. compatible = "fsl,imx53-uart", "fsl,imx21-uart";
  570. reg = <0x53ff0000 0x4000>;
  571. interrupts = <13>;
  572. clocks = <&clks IMX5_CLK_UART4_IPG_GATE>,
  573. <&clks IMX5_CLK_UART4_PER_GATE>;
  574. clock-names = "ipg", "per";
  575. dmas = <&sdma 2 4 0>, <&sdma 3 4 0>;
  576. dma-names = "rx", "tx";
  577. status = "disabled";
  578. };
  579. };
  580. aips2: bus@60000000 { /* AIPS2 */
  581. compatible = "fsl,aips-bus", "simple-bus";
  582. #address-cells = <1>;
  583. #size-cells = <1>;
  584. reg = <0x60000000 0x10000000>;
  585. ranges;
  586. aipstz2: bridge@63f00000 {
  587. compatible = "fsl,imx53-aipstz";
  588. reg = <0x63f00000 0x60>;
  589. };
  590. iim: efuse@63f98000 {
  591. compatible = "fsl,imx53-iim", "fsl,imx27-iim", "syscon";
  592. reg = <0x63f98000 0x4000>;
  593. interrupts = <69>;
  594. clocks = <&clks IMX5_CLK_IIM_GATE>;
  595. };
  596. uart5: serial@63f90000 {
  597. compatible = "fsl,imx53-uart", "fsl,imx21-uart";
  598. reg = <0x63f90000 0x4000>;
  599. interrupts = <86>;
  600. clocks = <&clks IMX5_CLK_UART5_IPG_GATE>,
  601. <&clks IMX5_CLK_UART5_PER_GATE>;
  602. clock-names = "ipg", "per";
  603. dmas = <&sdma 16 4 0>, <&sdma 17 4 0>;
  604. dma-names = "rx", "tx";
  605. status = "disabled";
  606. };
  607. tigerp: tigerp@63fa0000 {
  608. compatible = "fsl,imx53-tigerp", "fsl,imx51-tigerp";
  609. reg = <0x63fa0000 0x28>;
  610. };
  611. owire: owire@63fa4000 {
  612. compatible = "fsl,imx53-owire", "fsl,imx21-owire";
  613. reg = <0x63fa4000 0x4000>;
  614. clocks = <&clks IMX5_CLK_OWIRE_GATE>;
  615. status = "disabled";
  616. };
  617. ecspi2: spi@63fac000 {
  618. #address-cells = <1>;
  619. #size-cells = <0>;
  620. compatible = "fsl,imx53-ecspi", "fsl,imx51-ecspi";
  621. reg = <0x63fac000 0x4000>;
  622. interrupts = <37>;
  623. clocks = <&clks IMX5_CLK_ECSPI2_IPG_GATE>,
  624. <&clks IMX5_CLK_ECSPI2_PER_GATE>;
  625. clock-names = "ipg", "per";
  626. status = "disabled";
  627. };
  628. sdma: dma-controller@63fb0000 {
  629. compatible = "fsl,imx53-sdma", "fsl,imx35-sdma";
  630. reg = <0x63fb0000 0x4000>;
  631. interrupts = <6>;
  632. clocks = <&clks IMX5_CLK_SDMA_GATE>,
  633. <&clks IMX5_CLK_AHB>;
  634. clock-names = "ipg", "ahb";
  635. #dma-cells = <3>;
  636. fsl,sdma-ram-script-name = "imx/sdma/sdma-imx53.bin";
  637. };
  638. cspi: spi@63fc0000 {
  639. #address-cells = <1>;
  640. #size-cells = <0>;
  641. compatible = "fsl,imx53-cspi", "fsl,imx35-cspi";
  642. reg = <0x63fc0000 0x4000>;
  643. interrupts = <38>;
  644. clocks = <&clks IMX5_CLK_CSPI_IPG_GATE>,
  645. <&clks IMX5_CLK_CSPI_IPG_GATE>;
  646. clock-names = "ipg", "per";
  647. status = "disabled";
  648. };
  649. i2c2: i2c@63fc4000 {
  650. #address-cells = <1>;
  651. #size-cells = <0>;
  652. compatible = "fsl,imx53-i2c", "fsl,imx21-i2c";
  653. reg = <0x63fc4000 0x4000>;
  654. interrupts = <63>;
  655. clocks = <&clks IMX5_CLK_I2C2_GATE>;
  656. status = "disabled";
  657. };
  658. i2c1: i2c@63fc8000 {
  659. #address-cells = <1>;
  660. #size-cells = <0>;
  661. compatible = "fsl,imx53-i2c", "fsl,imx21-i2c";
  662. reg = <0x63fc8000 0x4000>;
  663. interrupts = <62>;
  664. clocks = <&clks IMX5_CLK_I2C1_GATE>;
  665. status = "disabled";
  666. };
  667. ssi1: ssi@63fcc000 {
  668. #sound-dai-cells = <0>;
  669. compatible = "fsl,imx53-ssi", "fsl,imx51-ssi",
  670. "fsl,imx21-ssi";
  671. reg = <0x63fcc000 0x4000>;
  672. interrupts = <29>;
  673. clocks = <&clks IMX5_CLK_SSI1_IPG_GATE>,
  674. <&clks IMX5_CLK_SSI1_ROOT_GATE>;
  675. clock-names = "ipg", "baud";
  676. dmas = <&sdma 28 0 0>,
  677. <&sdma 29 0 0>;
  678. dma-names = "rx", "tx";
  679. fsl,fifo-depth = <15>;
  680. status = "disabled";
  681. };
  682. audmux: audmux@63fd0000 {
  683. compatible = "fsl,imx53-audmux", "fsl,imx31-audmux";
  684. reg = <0x63fd0000 0x4000>;
  685. status = "disabled";
  686. };
  687. nfc: nand@63fdb000 {
  688. compatible = "fsl,imx53-nand";
  689. reg = <0x63fdb000 0x1000 0xf7ff0000 0x10000>;
  690. interrupts = <8>;
  691. clocks = <&clks IMX5_CLK_NFC_GATE>;
  692. status = "disabled";
  693. };
  694. ssi3: ssi@63fe8000 {
  695. #sound-dai-cells = <0>;
  696. compatible = "fsl,imx53-ssi", "fsl,imx51-ssi",
  697. "fsl,imx21-ssi";
  698. reg = <0x63fe8000 0x4000>;
  699. interrupts = <96>;
  700. clocks = <&clks IMX5_CLK_SSI3_IPG_GATE>,
  701. <&clks IMX5_CLK_SSI3_ROOT_GATE>;
  702. clock-names = "ipg", "baud";
  703. dmas = <&sdma 46 0 0>,
  704. <&sdma 47 0 0>;
  705. dma-names = "rx", "tx";
  706. fsl,fifo-depth = <15>;
  707. status = "disabled";
  708. };
  709. fec: ethernet@63fec000 {
  710. compatible = "fsl,imx53-fec", "fsl,imx25-fec";
  711. reg = <0x63fec000 0x4000>;
  712. interrupts = <87>;
  713. clocks = <&clks IMX5_CLK_FEC_GATE>,
  714. <&clks IMX5_CLK_FEC_GATE>,
  715. <&clks IMX5_CLK_FEC_GATE>;
  716. clock-names = "ipg", "ahb", "ptp";
  717. status = "disabled";
  718. };
  719. tve: tve@63ff0000 {
  720. compatible = "fsl,imx53-tve";
  721. reg = <0x63ff0000 0x1000>;
  722. interrupts = <92>;
  723. clocks = <&clks IMX5_CLK_TVE_GATE>,
  724. <&clks IMX5_CLK_IPU_DI1_SEL>;
  725. clock-names = "tve", "di_sel";
  726. status = "disabled";
  727. port {
  728. tve_in: endpoint {
  729. remote-endpoint = <&ipu_di1_tve>;
  730. };
  731. };
  732. };
  733. vpu: vpu@63ff4000 {
  734. compatible = "fsl,imx53-vpu", "cnm,coda7541";
  735. reg = <0x63ff4000 0x1000>;
  736. interrupts = <9>;
  737. clocks = <&clks IMX5_CLK_VPU_REFERENCE_GATE>,
  738. <&clks IMX5_CLK_VPU_GATE>;
  739. clock-names = "per", "ahb";
  740. resets = <&src 1>;
  741. iram = <&ocram>;
  742. };
  743. sahara: crypto@63ff8000 {
  744. compatible = "fsl,imx53-sahara";
  745. reg = <0x63ff8000 0x4000>;
  746. interrupts = <19 20>;
  747. clocks = <&clks IMX5_CLK_SAHARA_IPG_GATE>,
  748. <&clks IMX5_CLK_SAHARA_IPG_GATE>;
  749. clock-names = "ipg", "ahb";
  750. };
  751. };
  752. ocram: sram@f8000000 {
  753. compatible = "mmio-sram";
  754. reg = <0xf8000000 0x20000>;
  755. clocks = <&clks IMX5_CLK_OCRAM>;
  756. };
  757. };
  758. };