imx53.dtsi 20 KB

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