lpc32xx.dtsi 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288
  1. /*
  2. * NXP LPC32xx SoC
  3. *
  4. * Copyright 2012 Roland Stigge <stigge@antcom.de>
  5. *
  6. * The code contained herein is licensed under the GNU General Public
  7. * License. You may obtain a copy of the GNU General Public License
  8. * Version 2 or later at the following locations:
  9. *
  10. * http://www.opensource.org/licenses/gpl-license.html
  11. * http://www.gnu.org/copyleft/gpl.html
  12. */
  13. /include/ "skeleton.dtsi"
  14. / {
  15. compatible = "nxp,lpc3220";
  16. interrupt-parent = <&mic>;
  17. cpus {
  18. cpu@0 {
  19. compatible = "arm,arm926ejs";
  20. };
  21. };
  22. ahb {
  23. #address-cells = <1>;
  24. #size-cells = <1>;
  25. compatible = "simple-bus";
  26. ranges = <0x20000000 0x20000000 0x30000000>;
  27. /*
  28. * Enable either SLC or MLC
  29. */
  30. slc: flash@20020000 {
  31. compatible = "nxp,lpc3220-slc";
  32. reg = <0x20020000 0x1000>;
  33. status = "disabled";
  34. };
  35. mlc: flash@200a8000 {
  36. compatible = "nxp,lpc3220-mlc";
  37. reg = <0x200a8000 0x11000>;
  38. interrupts = <11 0>;
  39. status = "disabled";
  40. };
  41. dma@31000000 {
  42. compatible = "arm,pl080", "arm,primecell";
  43. reg = <0x31000000 0x1000>;
  44. interrupts = <0x1c 0>;
  45. };
  46. /*
  47. * Enable either ohci or usbd (gadget)!
  48. */
  49. ohci@31020000 {
  50. compatible = "nxp,ohci-nxp", "usb-ohci";
  51. reg = <0x31020000 0x300>;
  52. interrupts = <0x3b 0>;
  53. status = "disabled";
  54. };
  55. usbd@31020000 {
  56. compatible = "nxp,lpc3220-udc";
  57. reg = <0x31020000 0x300>;
  58. interrupts = <0x3d 0>, <0x3e 0>, <0x3c 0>, <0x3a 0>;
  59. status = "disabled";
  60. };
  61. clcd@31040000 {
  62. compatible = "arm,pl110", "arm,primecell";
  63. reg = <0x31040000 0x1000>;
  64. interrupts = <0x0e 0>;
  65. status = "disabled";
  66. };
  67. mac: ethernet@31060000 {
  68. compatible = "nxp,lpc-eth";
  69. reg = <0x31060000 0x1000>;
  70. interrupts = <0x1d 0>;
  71. };
  72. apb {
  73. #address-cells = <1>;
  74. #size-cells = <1>;
  75. compatible = "simple-bus";
  76. ranges = <0x20000000 0x20000000 0x30000000>;
  77. ssp0: ssp@20084000 {
  78. compatible = "arm,pl022", "arm,primecell";
  79. reg = <0x20084000 0x1000>;
  80. interrupts = <0x14 0>;
  81. };
  82. spi1: spi@20088000 {
  83. compatible = "nxp,lpc3220-spi";
  84. reg = <0x20088000 0x1000>;
  85. };
  86. ssp1: ssp@2008c000 {
  87. compatible = "arm,pl022", "arm,primecell";
  88. reg = <0x2008c000 0x1000>;
  89. interrupts = <0x15 0>;
  90. };
  91. spi2: spi@20090000 {
  92. compatible = "nxp,lpc3220-spi";
  93. reg = <0x20090000 0x1000>;
  94. };
  95. i2s0: i2s@20094000 {
  96. compatible = "nxp,lpc3220-i2s";
  97. reg = <0x20094000 0x1000>;
  98. };
  99. sd@20098000 {
  100. compatible = "arm,pl18x", "arm,primecell";
  101. reg = <0x20098000 0x1000>;
  102. interrupts = <0x0f 0>, <0x0d 0>;
  103. status = "disabled";
  104. };
  105. i2s1: i2s@2009C000 {
  106. compatible = "nxp,lpc3220-i2s";
  107. reg = <0x2009C000 0x1000>;
  108. };
  109. /* UART5 first since it is the default console, ttyS0 */
  110. uart5: serial@40090000 {
  111. /* actually, ns16550a w/ 64 byte fifos! */
  112. compatible = "nxp,lpc3220-uart";
  113. reg = <0x40090000 0x1000>;
  114. interrupts = <9 0>;
  115. clock-frequency = <13000000>;
  116. reg-shift = <2>;
  117. status = "disabled";
  118. };
  119. uart3: serial@40080000 {
  120. compatible = "nxp,lpc3220-uart";
  121. reg = <0x40080000 0x1000>;
  122. interrupts = <7 0>;
  123. clock-frequency = <13000000>;
  124. reg-shift = <2>;
  125. status = "disabled";
  126. };
  127. uart4: serial@40088000 {
  128. compatible = "nxp,lpc3220-uart";
  129. reg = <0x40088000 0x1000>;
  130. interrupts = <8 0>;
  131. clock-frequency = <13000000>;
  132. reg-shift = <2>;
  133. status = "disabled";
  134. };
  135. uart6: serial@40098000 {
  136. compatible = "nxp,lpc3220-uart";
  137. reg = <0x40098000 0x1000>;
  138. interrupts = <10 0>;
  139. clock-frequency = <13000000>;
  140. reg-shift = <2>;
  141. status = "disabled";
  142. };
  143. i2c1: i2c@400A0000 {
  144. compatible = "nxp,pnx-i2c";
  145. reg = <0x400A0000 0x100>;
  146. interrupts = <0x33 0>;
  147. #address-cells = <1>;
  148. #size-cells = <0>;
  149. pnx,timeout = <0x64>;
  150. };
  151. i2c2: i2c@400A8000 {
  152. compatible = "nxp,pnx-i2c";
  153. reg = <0x400A8000 0x100>;
  154. interrupts = <0x32 0>;
  155. #address-cells = <1>;
  156. #size-cells = <0>;
  157. pnx,timeout = <0x64>;
  158. };
  159. i2cusb: i2c@31020300 {
  160. compatible = "nxp,pnx-i2c";
  161. reg = <0x31020300 0x100>;
  162. interrupts = <0x3f 0>;
  163. #address-cells = <1>;
  164. #size-cells = <0>;
  165. pnx,timeout = <0x64>;
  166. };
  167. };
  168. fab {
  169. #address-cells = <1>;
  170. #size-cells = <1>;
  171. compatible = "simple-bus";
  172. ranges = <0x20000000 0x20000000 0x30000000>;
  173. /*
  174. * MIC Interrupt controller includes:
  175. * MIC @40008000
  176. * SIC1 @4000C000
  177. * SIC2 @40010000
  178. */
  179. mic: interrupt-controller@40008000 {
  180. compatible = "nxp,lpc3220-mic";
  181. interrupt-controller;
  182. reg = <0x40008000 0xC000>;
  183. #interrupt-cells = <2>;
  184. };
  185. uart1: serial@40014000 {
  186. compatible = "nxp,lpc3220-hsuart";
  187. reg = <0x40014000 0x1000>;
  188. interrupts = <26 0>;
  189. status = "disabled";
  190. };
  191. uart2: serial@40018000 {
  192. compatible = "nxp,lpc3220-hsuart";
  193. reg = <0x40018000 0x1000>;
  194. interrupts = <25 0>;
  195. status = "disabled";
  196. };
  197. uart7: serial@4001c000 {
  198. compatible = "nxp,lpc3220-hsuart";
  199. reg = <0x4001c000 0x1000>;
  200. interrupts = <24 0>;
  201. status = "disabled";
  202. };
  203. rtc@40024000 {
  204. compatible = "nxp,lpc3220-rtc";
  205. reg = <0x40024000 0x1000>;
  206. interrupts = <0x34 0>;
  207. };
  208. gpio: gpio@40028000 {
  209. compatible = "nxp,lpc3220-gpio";
  210. reg = <0x40028000 0x1000>;
  211. gpio-controller;
  212. #gpio-cells = <3>; /* bank, pin, flags */
  213. };
  214. watchdog@4003C000 {
  215. compatible = "nxp,pnx4008-wdt";
  216. reg = <0x4003C000 0x1000>;
  217. };
  218. /*
  219. * TSC vs. ADC: Since those two share the same
  220. * hardware, you need to choose from one of the
  221. * following two and do 'status = "okay";' for one of
  222. * them
  223. */
  224. adc@40048000 {
  225. compatible = "nxp,lpc3220-adc";
  226. reg = <0x40048000 0x1000>;
  227. interrupts = <0x27 0>;
  228. status = "disabled";
  229. };
  230. tsc@40048000 {
  231. compatible = "nxp,lpc3220-tsc";
  232. reg = <0x40048000 0x1000>;
  233. interrupts = <0x27 0>;
  234. status = "disabled";
  235. };
  236. key@40050000 {
  237. compatible = "nxp,lpc3220-key";
  238. reg = <0x40050000 0x1000>;
  239. interrupts = <54 0>;
  240. status = "disabled";
  241. };
  242. pwm: pwm@4005C000 {
  243. compatible = "nxp,lpc3220-pwm";
  244. reg = <0x4005C000 0x8>;
  245. status = "disabled";
  246. };
  247. };
  248. };
  249. };