lpc32xx.dtsi 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255
  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 = "disable";
  34. };
  35. mlc: flash@200B0000 {
  36. compatible = "nxp,lpc3220-mlc";
  37. reg = <0x200B0000 0x1000>;
  38. status = "disable";
  39. };
  40. dma@31000000 {
  41. compatible = "arm,pl080", "arm,primecell";
  42. reg = <0x31000000 0x1000>;
  43. interrupts = <0x1c 0>;
  44. };
  45. /*
  46. * Enable either ohci or usbd (gadget)!
  47. */
  48. ohci@31020000 {
  49. compatible = "nxp,ohci-nxp", "usb-ohci";
  50. reg = <0x31020000 0x300>;
  51. interrupts = <0x3b 0>;
  52. status = "disable";
  53. };
  54. usbd@31020000 {
  55. compatible = "nxp,lpc3220-udc";
  56. reg = <0x31020000 0x300>;
  57. interrupts = <0x3d 0>, <0x3e 0>, <0x3c 0>, <0x3a 0>;
  58. status = "disable";
  59. };
  60. clcd@31040000 {
  61. compatible = "arm,pl110", "arm,primecell";
  62. reg = <0x31040000 0x1000>;
  63. interrupts = <0x0e 0>;
  64. status = "disable";
  65. };
  66. mac: ethernet@31060000 {
  67. compatible = "nxp,lpc-eth";
  68. reg = <0x31060000 0x1000>;
  69. interrupts = <0x1d 0>;
  70. };
  71. apb {
  72. #address-cells = <1>;
  73. #size-cells = <1>;
  74. compatible = "simple-bus";
  75. ranges = <0x20000000 0x20000000 0x30000000>;
  76. ssp0: ssp@20084000 {
  77. compatible = "arm,pl022", "arm,primecell";
  78. reg = <0x20084000 0x1000>;
  79. interrupts = <0x14 0>;
  80. };
  81. spi1: spi@20088000 {
  82. compatible = "nxp,lpc3220-spi";
  83. reg = <0x20088000 0x1000>;
  84. };
  85. ssp1: ssp@2008c000 {
  86. compatible = "arm,pl022", "arm,primecell";
  87. reg = <0x2008c000 0x1000>;
  88. interrupts = <0x15 0>;
  89. };
  90. spi2: spi@20090000 {
  91. compatible = "nxp,lpc3220-spi";
  92. reg = <0x20090000 0x1000>;
  93. };
  94. i2s0: i2s@20094000 {
  95. compatible = "nxp,lpc3220-i2s";
  96. reg = <0x20094000 0x1000>;
  97. };
  98. sd@20098000 {
  99. compatible = "arm,pl180", "arm,primecell";
  100. reg = <0x20098000 0x1000>;
  101. interrupts = <0x0f 0>, <0x0d 0>;
  102. };
  103. i2s1: i2s@2009C000 {
  104. compatible = "nxp,lpc3220-i2s";
  105. reg = <0x2009C000 0x1000>;
  106. };
  107. uart3: serial@40080000 {
  108. compatible = "nxp,serial";
  109. reg = <0x40080000 0x1000>;
  110. };
  111. uart4: serial@40088000 {
  112. compatible = "nxp,serial";
  113. reg = <0x40088000 0x1000>;
  114. };
  115. uart5: serial@40090000 {
  116. compatible = "nxp,serial";
  117. reg = <0x40090000 0x1000>;
  118. };
  119. uart6: serial@40098000 {
  120. compatible = "nxp,serial";
  121. reg = <0x40098000 0x1000>;
  122. };
  123. i2c1: i2c@400A0000 {
  124. compatible = "nxp,pnx-i2c";
  125. reg = <0x400A0000 0x100>;
  126. interrupts = <0x33 0>;
  127. #address-cells = <1>;
  128. #size-cells = <0>;
  129. pnx,timeout = <0x64>;
  130. };
  131. i2c2: i2c@400A8000 {
  132. compatible = "nxp,pnx-i2c";
  133. reg = <0x400A8000 0x100>;
  134. interrupts = <0x32 0>;
  135. #address-cells = <1>;
  136. #size-cells = <0>;
  137. pnx,timeout = <0x64>;
  138. };
  139. i2cusb: i2c@31020300 {
  140. compatible = "nxp,pnx-i2c";
  141. reg = <0x31020300 0x100>;
  142. interrupts = <0x3f 0>;
  143. #address-cells = <1>;
  144. #size-cells = <0>;
  145. pnx,timeout = <0x64>;
  146. };
  147. };
  148. fab {
  149. #address-cells = <1>;
  150. #size-cells = <1>;
  151. compatible = "simple-bus";
  152. ranges = <0x20000000 0x20000000 0x30000000>;
  153. /*
  154. * MIC Interrupt controller includes:
  155. * MIC @40008000
  156. * SIC1 @4000C000
  157. * SIC2 @40010000
  158. */
  159. mic: interrupt-controller@40008000 {
  160. compatible = "nxp,lpc3220-mic";
  161. interrupt-controller;
  162. reg = <0x40008000 0xC000>;
  163. #interrupt-cells = <2>;
  164. };
  165. uart1: serial@40014000 {
  166. compatible = "nxp,serial";
  167. reg = <0x40014000 0x1000>;
  168. };
  169. uart2: serial@40018000 {
  170. compatible = "nxp,serial";
  171. reg = <0x40018000 0x1000>;
  172. };
  173. uart7: serial@4001C000 {
  174. compatible = "nxp,serial";
  175. reg = <0x4001C000 0x1000>;
  176. };
  177. rtc@40024000 {
  178. compatible = "nxp,lpc3220-rtc";
  179. reg = <0x40024000 0x1000>;
  180. interrupts = <0x34 0>;
  181. };
  182. gpio: gpio@40028000 {
  183. compatible = "nxp,lpc3220-gpio";
  184. reg = <0x40028000 0x1000>;
  185. gpio-controller;
  186. #gpio-cells = <3>; /* bank, pin, flags */
  187. };
  188. watchdog@4003C000 {
  189. compatible = "nxp,pnx4008-wdt";
  190. reg = <0x4003C000 0x1000>;
  191. };
  192. /*
  193. * TSC vs. ADC: Since those two share the same
  194. * hardware, you need to choose from one of the
  195. * following two and do 'status = "okay";' for one of
  196. * them
  197. */
  198. adc@40048000 {
  199. compatible = "nxp,lpc3220-adc";
  200. reg = <0x40048000 0x1000>;
  201. interrupts = <0x27 0>;
  202. status = "disable";
  203. };
  204. tsc@40048000 {
  205. compatible = "nxp,lpc3220-tsc";
  206. reg = <0x40048000 0x1000>;
  207. interrupts = <0x27 0>;
  208. status = "disable";
  209. };
  210. key@40050000 {
  211. compatible = "nxp,lpc3220-key";
  212. reg = <0x40050000 0x1000>;
  213. };
  214. };
  215. };
  216. };