imx28.dtsi 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963
  1. /*
  2. * Copyright 2012 Freescale Semiconductor, Inc.
  3. *
  4. * The code contained herein is licensed under the GNU General Public
  5. * License. You may obtain a copy of the GNU General Public License
  6. * Version 2 or later at the following locations:
  7. *
  8. * http://www.opensource.org/licenses/gpl-license.html
  9. * http://www.gnu.org/copyleft/gpl.html
  10. */
  11. /include/ "skeleton.dtsi"
  12. / {
  13. interrupt-parent = <&icoll>;
  14. aliases {
  15. gpio0 = &gpio0;
  16. gpio1 = &gpio1;
  17. gpio2 = &gpio2;
  18. gpio3 = &gpio3;
  19. gpio4 = &gpio4;
  20. saif0 = &saif0;
  21. saif1 = &saif1;
  22. serial0 = &auart0;
  23. serial1 = &auart1;
  24. serial2 = &auart2;
  25. serial3 = &auart3;
  26. serial4 = &auart4;
  27. ethernet0 = &mac0;
  28. ethernet1 = &mac1;
  29. };
  30. cpus {
  31. cpu@0 {
  32. compatible = "arm,arm926ejs";
  33. };
  34. };
  35. apb@80000000 {
  36. compatible = "simple-bus";
  37. #address-cells = <1>;
  38. #size-cells = <1>;
  39. reg = <0x80000000 0x80000>;
  40. ranges;
  41. apbh@80000000 {
  42. compatible = "simple-bus";
  43. #address-cells = <1>;
  44. #size-cells = <1>;
  45. reg = <0x80000000 0x3c900>;
  46. ranges;
  47. icoll: interrupt-controller@80000000 {
  48. compatible = "fsl,imx28-icoll", "fsl,icoll";
  49. interrupt-controller;
  50. #interrupt-cells = <1>;
  51. reg = <0x80000000 0x2000>;
  52. };
  53. hsadc@80002000 {
  54. reg = <0x80002000 0x2000>;
  55. interrupts = <13 87>;
  56. status = "disabled";
  57. };
  58. dma-apbh@80004000 {
  59. compatible = "fsl,imx28-dma-apbh";
  60. reg = <0x80004000 0x2000>;
  61. clocks = <&clks 25>;
  62. };
  63. perfmon@80006000 {
  64. reg = <0x80006000 0x800>;
  65. interrupts = <27>;
  66. status = "disabled";
  67. };
  68. gpmi-nand@8000c000 {
  69. compatible = "fsl,imx28-gpmi-nand";
  70. #address-cells = <1>;
  71. #size-cells = <1>;
  72. reg = <0x8000c000 0x2000>, <0x8000a000 0x2000>;
  73. reg-names = "gpmi-nand", "bch";
  74. interrupts = <88>, <41>;
  75. interrupt-names = "gpmi-dma", "bch";
  76. clocks = <&clks 50>;
  77. clock-names = "gpmi_io";
  78. fsl,gpmi-dma-channel = <4>;
  79. status = "disabled";
  80. };
  81. ssp0: ssp@80010000 {
  82. #address-cells = <1>;
  83. #size-cells = <0>;
  84. reg = <0x80010000 0x2000>;
  85. interrupts = <96 82>;
  86. clocks = <&clks 46>;
  87. fsl,ssp-dma-channel = <0>;
  88. status = "disabled";
  89. };
  90. ssp1: ssp@80012000 {
  91. #address-cells = <1>;
  92. #size-cells = <0>;
  93. reg = <0x80012000 0x2000>;
  94. interrupts = <97 83>;
  95. clocks = <&clks 47>;
  96. fsl,ssp-dma-channel = <1>;
  97. status = "disabled";
  98. };
  99. ssp2: ssp@80014000 {
  100. #address-cells = <1>;
  101. #size-cells = <0>;
  102. reg = <0x80014000 0x2000>;
  103. interrupts = <98 84>;
  104. clocks = <&clks 48>;
  105. fsl,ssp-dma-channel = <2>;
  106. status = "disabled";
  107. };
  108. ssp3: ssp@80016000 {
  109. #address-cells = <1>;
  110. #size-cells = <0>;
  111. reg = <0x80016000 0x2000>;
  112. interrupts = <99 85>;
  113. clocks = <&clks 49>;
  114. fsl,ssp-dma-channel = <3>;
  115. status = "disabled";
  116. };
  117. pinctrl@80018000 {
  118. #address-cells = <1>;
  119. #size-cells = <0>;
  120. compatible = "fsl,imx28-pinctrl", "simple-bus";
  121. reg = <0x80018000 0x2000>;
  122. gpio0: gpio@0 {
  123. compatible = "fsl,imx28-gpio", "fsl,mxs-gpio";
  124. interrupts = <127>;
  125. gpio-controller;
  126. #gpio-cells = <2>;
  127. interrupt-controller;
  128. #interrupt-cells = <2>;
  129. };
  130. gpio1: gpio@1 {
  131. compatible = "fsl,imx28-gpio", "fsl,mxs-gpio";
  132. interrupts = <126>;
  133. gpio-controller;
  134. #gpio-cells = <2>;
  135. interrupt-controller;
  136. #interrupt-cells = <2>;
  137. };
  138. gpio2: gpio@2 {
  139. compatible = "fsl,imx28-gpio", "fsl,mxs-gpio";
  140. interrupts = <125>;
  141. gpio-controller;
  142. #gpio-cells = <2>;
  143. interrupt-controller;
  144. #interrupt-cells = <2>;
  145. };
  146. gpio3: gpio@3 {
  147. compatible = "fsl,imx28-gpio", "fsl,mxs-gpio";
  148. interrupts = <124>;
  149. gpio-controller;
  150. #gpio-cells = <2>;
  151. interrupt-controller;
  152. #interrupt-cells = <2>;
  153. };
  154. gpio4: gpio@4 {
  155. compatible = "fsl,imx28-gpio", "fsl,mxs-gpio";
  156. interrupts = <123>;
  157. gpio-controller;
  158. #gpio-cells = <2>;
  159. interrupt-controller;
  160. #interrupt-cells = <2>;
  161. };
  162. duart_pins_a: duart@0 {
  163. reg = <0>;
  164. fsl,pinmux-ids = <
  165. 0x3102 /* MX28_PAD_PWM0__DUART_RX */
  166. 0x3112 /* MX28_PAD_PWM1__DUART_TX */
  167. >;
  168. fsl,drive-strength = <0>;
  169. fsl,voltage = <1>;
  170. fsl,pull-up = <0>;
  171. };
  172. duart_pins_b: duart@1 {
  173. reg = <1>;
  174. fsl,pinmux-ids = <
  175. 0x3022 /* MX28_PAD_AUART0_CTS__DUART_RX */
  176. 0x3032 /* MX28_PAD_AUART0_RTS__DUART_TX */
  177. >;
  178. fsl,drive-strength = <0>;
  179. fsl,voltage = <1>;
  180. fsl,pull-up = <0>;
  181. };
  182. duart_4pins_a: duart-4pins@0 {
  183. reg = <0>;
  184. fsl,pinmux-ids = <
  185. 0x3022 /* MX28_PAD_AUART0_CTS__DUART_RX */
  186. 0x3032 /* MX28_PAD_AUART0_RTS__DUART_TX */
  187. 0x3002 /* MX28_PAD_AUART0_RX__DUART_CTS */
  188. 0x3012 /* MX28_PAD_AUART0_TX__DUART_RTS */
  189. >;
  190. fsl,drive-strength = <0>;
  191. fsl,voltage = <1>;
  192. fsl,pull-up = <0>;
  193. };
  194. gpmi_pins_a: gpmi-nand@0 {
  195. reg = <0>;
  196. fsl,pinmux-ids = <
  197. 0x0000 /* MX28_PAD_GPMI_D00__GPMI_D0 */
  198. 0x0010 /* MX28_PAD_GPMI_D01__GPMI_D1 */
  199. 0x0020 /* MX28_PAD_GPMI_D02__GPMI_D2 */
  200. 0x0030 /* MX28_PAD_GPMI_D03__GPMI_D3 */
  201. 0x0040 /* MX28_PAD_GPMI_D04__GPMI_D4 */
  202. 0x0050 /* MX28_PAD_GPMI_D05__GPMI_D5 */
  203. 0x0060 /* MX28_PAD_GPMI_D06__GPMI_D6 */
  204. 0x0070 /* MX28_PAD_GPMI_D07__GPMI_D7 */
  205. 0x0100 /* MX28_PAD_GPMI_CE0N__GPMI_CE0N */
  206. 0x0140 /* MX28_PAD_GPMI_RDY0__GPMI_READY0 */
  207. 0x0180 /* MX28_PAD_GPMI_RDN__GPMI_RDN */
  208. 0x0190 /* MX28_PAD_GPMI_WRN__GPMI_WRN */
  209. 0x01a0 /* MX28_PAD_GPMI_ALE__GPMI_ALE */
  210. 0x01b0 /* MX28_PAD_GPMI_CLE__GPMI_CLE */
  211. 0x01c0 /* MX28_PAD_GPMI_RESETN__GPMI_RESETN */
  212. >;
  213. fsl,drive-strength = <0>;
  214. fsl,voltage = <1>;
  215. fsl,pull-up = <0>;
  216. };
  217. gpmi_status_cfg: gpmi-status-cfg {
  218. fsl,pinmux-ids = <
  219. 0x0180 /* MX28_PAD_GPMI_RDN__GPMI_RDN */
  220. 0x0190 /* MX28_PAD_GPMI_WRN__GPMI_WRN */
  221. 0x01c0 /* MX28_PAD_GPMI_RESETN__GPMI_RESETN */
  222. >;
  223. fsl,drive-strength = <2>;
  224. };
  225. auart0_pins_a: auart0@0 {
  226. reg = <0>;
  227. fsl,pinmux-ids = <
  228. 0x3000 /* MX28_PAD_AUART0_RX__AUART0_RX */
  229. 0x3010 /* MX28_PAD_AUART0_TX__AUART0_TX */
  230. 0x3020 /* MX28_PAD_AUART0_CTS__AUART0_CTS */
  231. 0x3030 /* MX28_PAD_AUART0_RTS__AUART0_RTS */
  232. >;
  233. fsl,drive-strength = <0>;
  234. fsl,voltage = <1>;
  235. fsl,pull-up = <0>;
  236. };
  237. auart0_2pins_a: auart0-2pins@0 {
  238. reg = <0>;
  239. fsl,pinmux-ids = <
  240. 0x3000 /* MX28_PAD_AUART0_RX__AUART0_RX */
  241. 0x3010 /* MX28_PAD_AUART0_TX__AUART0_TX */
  242. >;
  243. fsl,drive-strength = <0>;
  244. fsl,voltage = <1>;
  245. fsl,pull-up = <0>;
  246. };
  247. auart1_pins_a: auart1@0 {
  248. reg = <0>;
  249. fsl,pinmux-ids = <
  250. 0x3040 /* MX28_PAD_AUART1_RX__AUART1_RX */
  251. 0x3050 /* MX28_PAD_AUART1_TX__AUART1_TX */
  252. 0x3060 /* MX28_PAD_AUART1_CTS__AUART1_CTS */
  253. 0x3070 /* MX28_PAD_AUART1_RTS__AUART1_RTS */
  254. >;
  255. fsl,drive-strength = <0>;
  256. fsl,voltage = <1>;
  257. fsl,pull-up = <0>;
  258. };
  259. auart1_2pins_a: auart1-2pins@0 {
  260. reg = <0>;
  261. fsl,pinmux-ids = <
  262. 0x3040 /* MX28_PAD_AUART1_RX__AUART1_RX */
  263. 0x3050 /* MX28_PAD_AUART1_TX__AUART1_TX */
  264. >;
  265. fsl,drive-strength = <0>;
  266. fsl,voltage = <1>;
  267. fsl,pull-up = <0>;
  268. };
  269. auart2_2pins_a: auart2-2pins@0 {
  270. reg = <0>;
  271. fsl,pinmux-ids = <
  272. 0x2101 /* MX28_PAD_SSP2_SCK__AUART2_RX */
  273. 0x2111 /* MX28_PAD_SSP2_MOSI__AUART2_TX */
  274. >;
  275. fsl,drive-strength = <0>;
  276. fsl,voltage = <1>;
  277. fsl,pull-up = <0>;
  278. };
  279. auart3_pins_a: auart3@0 {
  280. reg = <0>;
  281. fsl,pinmux-ids = <
  282. 0x30c0 /* MX28_PAD_AUART3_RX__AUART3_RX */
  283. 0x30d0 /* MX28_PAD_AUART3_TX__AUART3_TX */
  284. 0x30e0 /* MX28_PAD_AUART3_CTS__AUART3_CTS */
  285. 0x30f0 /* MX28_PAD_AUART3_RTS__AUART3_RTS */
  286. >;
  287. fsl,drive-strength = <0>;
  288. fsl,voltage = <1>;
  289. fsl,pull-up = <0>;
  290. };
  291. auart3_2pins_a: auart3-2pins@0 {
  292. reg = <0>;
  293. fsl,pinmux-ids = <
  294. 0x2121 /* MX28_PAD_SSP2_MISO__AUART3_RX */
  295. 0x2131 /* MX28_PAD_SSP2_SS0__AUART3_TX */
  296. >;
  297. fsl,drive-strength = <0>;
  298. fsl,voltage = <1>;
  299. fsl,pull-up = <0>;
  300. };
  301. mac0_pins_a: mac0@0 {
  302. reg = <0>;
  303. fsl,pinmux-ids = <
  304. 0x4000 /* MX28_PAD_ENET0_MDC__ENET0_MDC */
  305. 0x4010 /* MX28_PAD_ENET0_MDIO__ENET0_MDIO */
  306. 0x4020 /* MX28_PAD_ENET0_RX_EN__ENET0_RX_EN */
  307. 0x4030 /* MX28_PAD_ENET0_RXD0__ENET0_RXD0 */
  308. 0x4040 /* MX28_PAD_ENET0_RXD1__ENET0_RXD1 */
  309. 0x4060 /* MX28_PAD_ENET0_TX_EN__ENET0_TX_EN */
  310. 0x4070 /* MX28_PAD_ENET0_TXD0__ENET0_TXD0 */
  311. 0x4080 /* MX28_PAD_ENET0_TXD1__ENET0_TXD1 */
  312. 0x4100 /* MX28_PAD_ENET_CLK__CLKCTRL_ENET */
  313. >;
  314. fsl,drive-strength = <1>;
  315. fsl,voltage = <1>;
  316. fsl,pull-up = <1>;
  317. };
  318. mac1_pins_a: mac1@0 {
  319. reg = <0>;
  320. fsl,pinmux-ids = <
  321. 0x40f1 /* MX28_PAD_ENET0_CRS__ENET1_RX_EN */
  322. 0x4091 /* MX28_PAD_ENET0_RXD2__ENET1_RXD0 */
  323. 0x40a1 /* MX28_PAD_ENET0_RXD3__ENET1_RXD1 */
  324. 0x40e1 /* MX28_PAD_ENET0_COL__ENET1_TX_EN */
  325. 0x40b1 /* MX28_PAD_ENET0_TXD2__ENET1_TXD0 */
  326. 0x40c1 /* MX28_PAD_ENET0_TXD3__ENET1_TXD1 */
  327. >;
  328. fsl,drive-strength = <1>;
  329. fsl,voltage = <1>;
  330. fsl,pull-up = <1>;
  331. };
  332. mmc0_8bit_pins_a: mmc0-8bit@0 {
  333. reg = <0>;
  334. fsl,pinmux-ids = <
  335. 0x2000 /* MX28_PAD_SSP0_DATA0__SSP0_D0 */
  336. 0x2010 /* MX28_PAD_SSP0_DATA1__SSP0_D1 */
  337. 0x2020 /* MX28_PAD_SSP0_DATA2__SSP0_D2 */
  338. 0x2030 /* MX28_PAD_SSP0_DATA3__SSP0_D3 */
  339. 0x2040 /* MX28_PAD_SSP0_DATA4__SSP0_D4 */
  340. 0x2050 /* MX28_PAD_SSP0_DATA5__SSP0_D5 */
  341. 0x2060 /* MX28_PAD_SSP0_DATA6__SSP0_D6 */
  342. 0x2070 /* MX28_PAD_SSP0_DATA7__SSP0_D7 */
  343. 0x2080 /* MX28_PAD_SSP0_CMD__SSP0_CMD */
  344. 0x2090 /* MX28_PAD_SSP0_DETECT__SSP0_CARD_DETECT */
  345. 0x20a0 /* MX28_PAD_SSP0_SCK__SSP0_SCK */
  346. >;
  347. fsl,drive-strength = <1>;
  348. fsl,voltage = <1>;
  349. fsl,pull-up = <1>;
  350. };
  351. mmc0_4bit_pins_a: mmc0-4bit@0 {
  352. reg = <0>;
  353. fsl,pinmux-ids = <
  354. 0x2000 /* MX28_PAD_SSP0_DATA0__SSP0_D0 */
  355. 0x2010 /* MX28_PAD_SSP0_DATA1__SSP0_D1 */
  356. 0x2020 /* MX28_PAD_SSP0_DATA2__SSP0_D2 */
  357. 0x2030 /* MX28_PAD_SSP0_DATA3__SSP0_D3 */
  358. 0x2080 /* MX28_PAD_SSP0_CMD__SSP0_CMD */
  359. 0x2090 /* MX28_PAD_SSP0_DETECT__SSP0_CARD_DETECT */
  360. 0x20a0 /* MX28_PAD_SSP0_SCK__SSP0_SCK */
  361. >;
  362. fsl,drive-strength = <1>;
  363. fsl,voltage = <1>;
  364. fsl,pull-up = <1>;
  365. };
  366. mmc0_cd_cfg: mmc0-cd-cfg {
  367. fsl,pinmux-ids = <
  368. 0x2090 /* MX28_PAD_SSP0_DETECT__SSP0_CARD_DETECT */
  369. >;
  370. fsl,pull-up = <0>;
  371. };
  372. mmc0_sck_cfg: mmc0-sck-cfg {
  373. fsl,pinmux-ids = <
  374. 0x20a0 /* MX28_PAD_SSP0_SCK__SSP0_SCK */
  375. >;
  376. fsl,drive-strength = <2>;
  377. fsl,pull-up = <0>;
  378. };
  379. i2c0_pins_a: i2c0@0 {
  380. reg = <0>;
  381. fsl,pinmux-ids = <
  382. 0x3180 /* MX28_PAD_I2C0_SCL__I2C0_SCL */
  383. 0x3190 /* MX28_PAD_I2C0_SDA__I2C0_SDA */
  384. >;
  385. fsl,drive-strength = <1>;
  386. fsl,voltage = <1>;
  387. fsl,pull-up = <1>;
  388. };
  389. i2c0_pins_b: i2c0@1 {
  390. reg = <1>;
  391. fsl,pinmux-ids = <
  392. 0x3001 /* MX28_PAD_AUART0_RX__I2C0_SCL */
  393. 0x3011 /* MX28_PAD_AUART0_TX__I2C0_SDA */
  394. >;
  395. fsl,drive-strength = <1>;
  396. fsl,voltage = <1>;
  397. fsl,pull-up = <1>;
  398. };
  399. i2c1_pins_a: i2c1@0 {
  400. reg = <0>;
  401. fsl,pinmux-ids = <
  402. 0x3101 /* MX28_PAD_PWM0__I2C1_SCL */
  403. 0x3111 /* MX28_PAD_PWM1__I2C1_SDA */
  404. >;
  405. fsl,drive-strength = <1>;
  406. fsl,voltage = <1>;
  407. fsl,pull-up = <1>;
  408. };
  409. saif0_pins_a: saif0@0 {
  410. reg = <0>;
  411. fsl,pinmux-ids = <
  412. 0x3140 /* MX28_PAD_SAIF0_MCLK__SAIF0_MCLK */
  413. 0x3150 /* MX28_PAD_SAIF0_LRCLK__SAIF0_LRCLK */
  414. 0x3160 /* MX28_PAD_SAIF0_BITCLK__SAIF0_BITCLK */
  415. 0x3170 /* MX28_PAD_SAIF0_SDATA0__SAIF0_SDATA0 */
  416. >;
  417. fsl,drive-strength = <2>;
  418. fsl,voltage = <1>;
  419. fsl,pull-up = <1>;
  420. };
  421. saif1_pins_a: saif1@0 {
  422. reg = <0>;
  423. fsl,pinmux-ids = <
  424. 0x31a0 /* MX28_PAD_SAIF1_SDATA0__SAIF1_SDATA0 */
  425. >;
  426. fsl,drive-strength = <2>;
  427. fsl,voltage = <1>;
  428. fsl,pull-up = <1>;
  429. };
  430. pwm0_pins_a: pwm0@0 {
  431. reg = <0>;
  432. fsl,pinmux-ids = <
  433. 0x3100 /* MX28_PAD_PWM0__PWM_0 */
  434. >;
  435. fsl,drive-strength = <0>;
  436. fsl,voltage = <1>;
  437. fsl,pull-up = <0>;
  438. };
  439. pwm2_pins_a: pwm2@0 {
  440. reg = <0>;
  441. fsl,pinmux-ids = <
  442. 0x3120 /* MX28_PAD_PWM2__PWM_2 */
  443. >;
  444. fsl,drive-strength = <0>;
  445. fsl,voltage = <1>;
  446. fsl,pull-up = <0>;
  447. };
  448. pwm3_pins_a: pwm3@0 {
  449. reg = <0>;
  450. fsl,pinmux-ids = <
  451. 0x31c0 /* MX28_PAD_PWM3__PWM_3 */
  452. >;
  453. fsl,drive-strength = <0>;
  454. fsl,voltage = <1>;
  455. fsl,pull-up = <0>;
  456. };
  457. pwm3_pins_b: pwm3@1 {
  458. reg = <1>;
  459. fsl,pinmux-ids = <
  460. 0x3141 /* MX28_PAD_SAIF0_MCLK__PWM3 */
  461. >;
  462. fsl,drive-strength = <0>;
  463. fsl,voltage = <1>;
  464. fsl,pull-up = <0>;
  465. };
  466. pwm4_pins_a: pwm4@0 {
  467. reg = <0>;
  468. fsl,pinmux-ids = <
  469. 0x31d0 /* MX28_PAD_PWM4__PWM_4 */
  470. >;
  471. fsl,drive-strength = <0>;
  472. fsl,voltage = <1>;
  473. fsl,pull-up = <0>;
  474. };
  475. lcdif_24bit_pins_a: lcdif-24bit@0 {
  476. reg = <0>;
  477. fsl,pinmux-ids = <
  478. 0x1000 /* MX28_PAD_LCD_D00__LCD_D0 */
  479. 0x1010 /* MX28_PAD_LCD_D01__LCD_D1 */
  480. 0x1020 /* MX28_PAD_LCD_D02__LCD_D2 */
  481. 0x1030 /* MX28_PAD_LCD_D03__LCD_D3 */
  482. 0x1040 /* MX28_PAD_LCD_D04__LCD_D4 */
  483. 0x1050 /* MX28_PAD_LCD_D05__LCD_D5 */
  484. 0x1060 /* MX28_PAD_LCD_D06__LCD_D6 */
  485. 0x1070 /* MX28_PAD_LCD_D07__LCD_D7 */
  486. 0x1080 /* MX28_PAD_LCD_D08__LCD_D8 */
  487. 0x1090 /* MX28_PAD_LCD_D09__LCD_D9 */
  488. 0x10a0 /* MX28_PAD_LCD_D10__LCD_D10 */
  489. 0x10b0 /* MX28_PAD_LCD_D11__LCD_D11 */
  490. 0x10c0 /* MX28_PAD_LCD_D12__LCD_D12 */
  491. 0x10d0 /* MX28_PAD_LCD_D13__LCD_D13 */
  492. 0x10e0 /* MX28_PAD_LCD_D14__LCD_D14 */
  493. 0x10f0 /* MX28_PAD_LCD_D15__LCD_D15 */
  494. 0x1100 /* MX28_PAD_LCD_D16__LCD_D16 */
  495. 0x1110 /* MX28_PAD_LCD_D17__LCD_D17 */
  496. 0x1120 /* MX28_PAD_LCD_D18__LCD_D18 */
  497. 0x1130 /* MX28_PAD_LCD_D19__LCD_D19 */
  498. 0x1140 /* MX28_PAD_LCD_D20__LCD_D20 */
  499. 0x1150 /* MX28_PAD_LCD_D21__LCD_D21 */
  500. 0x1160 /* MX28_PAD_LCD_D22__LCD_D22 */
  501. 0x1170 /* MX28_PAD_LCD_D23__LCD_D23 */
  502. >;
  503. fsl,drive-strength = <0>;
  504. fsl,voltage = <1>;
  505. fsl,pull-up = <0>;
  506. };
  507. lcdif_16bit_pins_a: lcdif-16bit@0 {
  508. reg = <0>;
  509. fsl,pinmux-ids = <
  510. 0x1000 /* MX28_PAD_LCD_D00__LCD_D0 */
  511. 0x1010 /* MX28_PAD_LCD_D01__LCD_D1 */
  512. 0x1020 /* MX28_PAD_LCD_D02__LCD_D2 */
  513. 0x1030 /* MX28_PAD_LCD_D03__LCD_D3 */
  514. 0x1040 /* MX28_PAD_LCD_D04__LCD_D4 */
  515. 0x1050 /* MX28_PAD_LCD_D05__LCD_D5 */
  516. 0x1060 /* MX28_PAD_LCD_D06__LCD_D6 */
  517. 0x1070 /* MX28_PAD_LCD_D07__LCD_D7 */
  518. 0x1080 /* MX28_PAD_LCD_D08__LCD_D8 */
  519. 0x1090 /* MX28_PAD_LCD_D09__LCD_D9 */
  520. 0x10a0 /* MX28_PAD_LCD_D10__LCD_D10 */
  521. 0x10b0 /* MX28_PAD_LCD_D11__LCD_D11 */
  522. 0x10c0 /* MX28_PAD_LCD_D12__LCD_D12 */
  523. 0x10d0 /* MX28_PAD_LCD_D13__LCD_D13 */
  524. 0x10e0 /* MX28_PAD_LCD_D14__LCD_D14 */
  525. 0x10f0 /* MX28_PAD_LCD_D15__LCD_D15 */
  526. >;
  527. fsl,drive-strength = <0>;
  528. fsl,voltage = <1>;
  529. fsl,pull-up = <0>;
  530. };
  531. can0_pins_a: can0@0 {
  532. reg = <0>;
  533. fsl,pinmux-ids = <
  534. 0x0161 /* MX28_PAD_GPMI_RDY2__CAN0_TX */
  535. 0x0171 /* MX28_PAD_GPMI_RDY3__CAN0_RX */
  536. >;
  537. fsl,drive-strength = <0>;
  538. fsl,voltage = <1>;
  539. fsl,pull-up = <0>;
  540. };
  541. can1_pins_a: can1@0 {
  542. reg = <0>;
  543. fsl,pinmux-ids = <
  544. 0x0121 /* MX28_PAD_GPMI_CE2N__CAN1_TX */
  545. 0x0131 /* MX28_PAD_GPMI_CE3N__CAN1_RX */
  546. >;
  547. fsl,drive-strength = <0>;
  548. fsl,voltage = <1>;
  549. fsl,pull-up = <0>;
  550. };
  551. spi2_pins_a: spi2@0 {
  552. reg = <0>;
  553. fsl,pinmux-ids = <
  554. 0x2100 /* MX28_PAD_SSP2_SCK__SSP2_SCK */
  555. 0x2110 /* MX28_PAD_SSP2_MOSI__SSP2_CMD */
  556. 0x2120 /* MX28_PAD_SSP2_MISO__SSP2_D0 */
  557. 0x2130 /* MX28_PAD_SSP2_SS0__SSP2_D3 */
  558. >;
  559. fsl,drive-strength = <1>;
  560. fsl,voltage = <1>;
  561. fsl,pull-up = <1>;
  562. };
  563. usbphy0_pins_a: usbphy0@0 {
  564. reg = <0>;
  565. fsl,pinmux-ids = <
  566. 0x2152 /* MX28_PAD_SSP2_SS2__USB0_OVERCURRENT */
  567. >;
  568. fsl,drive-strength = <2>;
  569. fsl,voltage = <1>;
  570. fsl,pull-up = <0>;
  571. };
  572. usbphy0_pins_b: usbphy0@1 {
  573. reg = <1>;
  574. fsl,pinmux-ids = <
  575. 0x3061 /* MX28_PAD_AUART1_CTS__USB0_OVERCURRENT */
  576. >;
  577. fsl,drive-strength = <2>;
  578. fsl,voltage = <1>;
  579. fsl,pull-up = <0>;
  580. };
  581. usbphy1_pins_a: usbphy1@0 {
  582. reg = <0>;
  583. fsl,pinmux-ids = <
  584. 0x2142 /* MX28_PAD_SSP2_SS1__USB1_OVERCURRENT */
  585. >;
  586. fsl,drive-strength = <2>;
  587. fsl,voltage = <1>;
  588. fsl,pull-up = <0>;
  589. };
  590. };
  591. digctl@8001c000 {
  592. reg = <0x8001c000 0x2000>;
  593. interrupts = <89>;
  594. status = "disabled";
  595. };
  596. etm@80022000 {
  597. reg = <0x80022000 0x2000>;
  598. status = "disabled";
  599. };
  600. dma-apbx@80024000 {
  601. compatible = "fsl,imx28-dma-apbx";
  602. reg = <0x80024000 0x2000>;
  603. clocks = <&clks 26>;
  604. };
  605. dcp@80028000 {
  606. reg = <0x80028000 0x2000>;
  607. interrupts = <52 53 54>;
  608. status = "disabled";
  609. };
  610. pxp@8002a000 {
  611. reg = <0x8002a000 0x2000>;
  612. interrupts = <39>;
  613. status = "disabled";
  614. };
  615. ocotp@8002c000 {
  616. reg = <0x8002c000 0x2000>;
  617. status = "disabled";
  618. };
  619. axi-ahb@8002e000 {
  620. reg = <0x8002e000 0x2000>;
  621. status = "disabled";
  622. };
  623. lcdif@80030000 {
  624. compatible = "fsl,imx28-lcdif";
  625. reg = <0x80030000 0x2000>;
  626. interrupts = <38 86>;
  627. clocks = <&clks 55>;
  628. status = "disabled";
  629. };
  630. can0: can@80032000 {
  631. compatible = "fsl,imx28-flexcan", "fsl,p1010-flexcan";
  632. reg = <0x80032000 0x2000>;
  633. interrupts = <8>;
  634. clocks = <&clks 58>, <&clks 58>;
  635. clock-names = "ipg", "per";
  636. status = "disabled";
  637. };
  638. can1: can@80034000 {
  639. compatible = "fsl,imx28-flexcan", "fsl,p1010-flexcan";
  640. reg = <0x80034000 0x2000>;
  641. interrupts = <9>;
  642. clocks = <&clks 59>, <&clks 59>;
  643. clock-names = "ipg", "per";
  644. status = "disabled";
  645. };
  646. simdbg@8003c000 {
  647. reg = <0x8003c000 0x200>;
  648. status = "disabled";
  649. };
  650. simgpmisel@8003c200 {
  651. reg = <0x8003c200 0x100>;
  652. status = "disabled";
  653. };
  654. simsspsel@8003c300 {
  655. reg = <0x8003c300 0x100>;
  656. status = "disabled";
  657. };
  658. simmemsel@8003c400 {
  659. reg = <0x8003c400 0x100>;
  660. status = "disabled";
  661. };
  662. gpiomon@8003c500 {
  663. reg = <0x8003c500 0x100>;
  664. status = "disabled";
  665. };
  666. simenet@8003c700 {
  667. reg = <0x8003c700 0x100>;
  668. status = "disabled";
  669. };
  670. armjtag@8003c800 {
  671. reg = <0x8003c800 0x100>;
  672. status = "disabled";
  673. };
  674. };
  675. apbx@80040000 {
  676. compatible = "simple-bus";
  677. #address-cells = <1>;
  678. #size-cells = <1>;
  679. reg = <0x80040000 0x40000>;
  680. ranges;
  681. clks: clkctrl@80040000 {
  682. compatible = "fsl,imx28-clkctrl";
  683. reg = <0x80040000 0x2000>;
  684. #clock-cells = <1>;
  685. };
  686. saif0: saif@80042000 {
  687. compatible = "fsl,imx28-saif";
  688. reg = <0x80042000 0x2000>;
  689. interrupts = <59 80>;
  690. clocks = <&clks 53>;
  691. fsl,saif-dma-channel = <4>;
  692. status = "disabled";
  693. };
  694. power@80044000 {
  695. reg = <0x80044000 0x2000>;
  696. status = "disabled";
  697. };
  698. saif1: saif@80046000 {
  699. compatible = "fsl,imx28-saif";
  700. reg = <0x80046000 0x2000>;
  701. interrupts = <58 81>;
  702. clocks = <&clks 54>;
  703. fsl,saif-dma-channel = <5>;
  704. status = "disabled";
  705. };
  706. lradc@80050000 {
  707. compatible = "fsl,imx28-lradc";
  708. reg = <0x80050000 0x2000>;
  709. interrupts = <10 14 15 16 17 18 19
  710. 20 21 22 23 24 25>;
  711. status = "disabled";
  712. };
  713. spdif@80054000 {
  714. reg = <0x80054000 0x2000>;
  715. interrupts = <45 66>;
  716. status = "disabled";
  717. };
  718. rtc@80056000 {
  719. compatible = "fsl,imx28-rtc", "fsl,stmp3xxx-rtc";
  720. reg = <0x80056000 0x2000>;
  721. interrupts = <29>;
  722. };
  723. i2c0: i2c@80058000 {
  724. #address-cells = <1>;
  725. #size-cells = <0>;
  726. compatible = "fsl,imx28-i2c";
  727. reg = <0x80058000 0x2000>;
  728. interrupts = <111 68>;
  729. clock-frequency = <100000>;
  730. fsl,i2c-dma-channel = <6>;
  731. status = "disabled";
  732. };
  733. i2c1: i2c@8005a000 {
  734. #address-cells = <1>;
  735. #size-cells = <0>;
  736. compatible = "fsl,imx28-i2c";
  737. reg = <0x8005a000 0x2000>;
  738. interrupts = <110 69>;
  739. clock-frequency = <100000>;
  740. fsl,i2c-dma-channel = <7>;
  741. status = "disabled";
  742. };
  743. pwm: pwm@80064000 {
  744. compatible = "fsl,imx28-pwm", "fsl,imx23-pwm";
  745. reg = <0x80064000 0x2000>;
  746. clocks = <&clks 44>;
  747. #pwm-cells = <2>;
  748. fsl,pwm-number = <8>;
  749. status = "disabled";
  750. };
  751. timrot@80068000 {
  752. compatible = "fsl,imx28-timrot", "fsl,timrot";
  753. reg = <0x80068000 0x2000>;
  754. interrupts = <48 49 50 51>;
  755. };
  756. auart0: serial@8006a000 {
  757. compatible = "fsl,imx28-auart", "fsl,imx23-auart";
  758. reg = <0x8006a000 0x2000>;
  759. interrupts = <112 70 71>;
  760. fsl,auart-dma-channel = <8 9>;
  761. clocks = <&clks 45>;
  762. status = "disabled";
  763. };
  764. auart1: serial@8006c000 {
  765. compatible = "fsl,imx28-auart", "fsl,imx23-auart";
  766. reg = <0x8006c000 0x2000>;
  767. interrupts = <113 72 73>;
  768. clocks = <&clks 45>;
  769. status = "disabled";
  770. };
  771. auart2: serial@8006e000 {
  772. compatible = "fsl,imx28-auart", "fsl,imx23-auart";
  773. reg = <0x8006e000 0x2000>;
  774. interrupts = <114 74 75>;
  775. clocks = <&clks 45>;
  776. status = "disabled";
  777. };
  778. auart3: serial@80070000 {
  779. compatible = "fsl,imx28-auart", "fsl,imx23-auart";
  780. reg = <0x80070000 0x2000>;
  781. interrupts = <115 76 77>;
  782. clocks = <&clks 45>;
  783. status = "disabled";
  784. };
  785. auart4: serial@80072000 {
  786. compatible = "fsl,imx28-auart", "fsl,imx23-auart";
  787. reg = <0x80072000 0x2000>;
  788. interrupts = <116 78 79>;
  789. clocks = <&clks 45>;
  790. status = "disabled";
  791. };
  792. duart: serial@80074000 {
  793. compatible = "arm,pl011", "arm,primecell";
  794. reg = <0x80074000 0x1000>;
  795. interrupts = <47>;
  796. clocks = <&clks 45>, <&clks 26>;
  797. clock-names = "uart", "apb_pclk";
  798. status = "disabled";
  799. };
  800. usbphy0: usbphy@8007c000 {
  801. compatible = "fsl,imx28-usbphy", "fsl,imx23-usbphy";
  802. reg = <0x8007c000 0x2000>;
  803. clocks = <&clks 62>;
  804. status = "disabled";
  805. };
  806. usbphy1: usbphy@8007e000 {
  807. compatible = "fsl,imx28-usbphy", "fsl,imx23-usbphy";
  808. reg = <0x8007e000 0x2000>;
  809. clocks = <&clks 63>;
  810. status = "disabled";
  811. };
  812. };
  813. };
  814. ahb@80080000 {
  815. compatible = "simple-bus";
  816. #address-cells = <1>;
  817. #size-cells = <1>;
  818. reg = <0x80080000 0x80000>;
  819. ranges;
  820. usb0: usb@80080000 {
  821. compatible = "fsl,imx28-usb", "fsl,imx27-usb";
  822. reg = <0x80080000 0x10000>;
  823. interrupts = <93>;
  824. clocks = <&clks 60>;
  825. fsl,usbphy = <&usbphy0>;
  826. status = "disabled";
  827. };
  828. usb1: usb@80090000 {
  829. compatible = "fsl,imx28-usb", "fsl,imx27-usb";
  830. reg = <0x80090000 0x10000>;
  831. interrupts = <92>;
  832. clocks = <&clks 61>;
  833. fsl,usbphy = <&usbphy1>;
  834. status = "disabled";
  835. };
  836. dflpt@800c0000 {
  837. reg = <0x800c0000 0x10000>;
  838. status = "disabled";
  839. };
  840. mac0: ethernet@800f0000 {
  841. compatible = "fsl,imx28-fec";
  842. reg = <0x800f0000 0x4000>;
  843. interrupts = <101>;
  844. clocks = <&clks 57>, <&clks 57>;
  845. clock-names = "ipg", "ahb";
  846. status = "disabled";
  847. };
  848. mac1: ethernet@800f4000 {
  849. compatible = "fsl,imx28-fec";
  850. reg = <0x800f4000 0x4000>;
  851. interrupts = <102>;
  852. clocks = <&clks 57>, <&clks 57>;
  853. clock-names = "ipg", "ahb";
  854. status = "disabled";
  855. };
  856. switch@800f8000 {
  857. reg = <0x800f8000 0x8000>;
  858. status = "disabled";
  859. };
  860. };
  861. };