versatile-ab.dts 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192
  1. /dts-v1/;
  2. /include/ "skeleton.dtsi"
  3. / {
  4. model = "ARM Versatile AB";
  5. compatible = "arm,versatile-ab";
  6. #address-cells = <1>;
  7. #size-cells = <1>;
  8. interrupt-parent = <&vic>;
  9. aliases {
  10. serial0 = &uart0;
  11. serial1 = &uart1;
  12. serial2 = &uart2;
  13. i2c0 = &i2c0;
  14. };
  15. memory {
  16. reg = <0x0 0x08000000>;
  17. };
  18. flash@34000000 {
  19. compatible = "arm,versatile-flash";
  20. reg = <0x34000000 0x4000000>;
  21. bank-width = <4>;
  22. };
  23. i2c0: i2c@10002000 {
  24. #address-cells = <1>;
  25. #size-cells = <0>;
  26. compatible = "arm,versatile-i2c";
  27. reg = <0x10002000 0x1000>;
  28. rtc@68 {
  29. compatible = "dallas,ds1338";
  30. reg = <0x68>;
  31. };
  32. };
  33. net@10010000 {
  34. compatible = "smsc,lan91c111";
  35. reg = <0x10010000 0x10000>;
  36. interrupts = <25>;
  37. };
  38. lcd@10008000 {
  39. compatible = "arm,versatile-lcd";
  40. reg = <0x10008000 0x1000>;
  41. };
  42. amba {
  43. compatible = "arm,amba-bus";
  44. #address-cells = <1>;
  45. #size-cells = <1>;
  46. ranges;
  47. vic: intc@10140000 {
  48. compatible = "arm,versatile-vic";
  49. interrupt-controller;
  50. #interrupt-cells = <1>;
  51. reg = <0x10140000 0x1000>;
  52. };
  53. sic: intc@10003000 {
  54. compatible = "arm,versatile-sic";
  55. interrupt-controller;
  56. #interrupt-cells = <1>;
  57. reg = <0x10003000 0x1000>;
  58. interrupt-parent = <&vic>;
  59. interrupts = <31>; /* Cascaded to vic */
  60. };
  61. dma@10130000 {
  62. compatible = "arm,pl081", "arm,primecell";
  63. reg = <0x10130000 0x1000>;
  64. interrupts = <17>;
  65. };
  66. uart0: uart@101f1000 {
  67. compatible = "arm,pl011", "arm,primecell";
  68. reg = <0x101f1000 0x1000>;
  69. interrupts = <12>;
  70. };
  71. uart1: uart@101f2000 {
  72. compatible = "arm,pl011", "arm,primecell";
  73. reg = <0x101f2000 0x1000>;
  74. interrupts = <13>;
  75. };
  76. uart2: uart@101f3000 {
  77. compatible = "arm,pl011", "arm,primecell";
  78. reg = <0x101f3000 0x1000>;
  79. interrupts = <14>;
  80. };
  81. smc@10100000 {
  82. compatible = "arm,primecell";
  83. reg = <0x10100000 0x1000>;
  84. };
  85. mpmc@10110000 {
  86. compatible = "arm,primecell";
  87. reg = <0x10110000 0x1000>;
  88. };
  89. display@10120000 {
  90. compatible = "arm,pl110", "arm,primecell";
  91. reg = <0x10120000 0x1000>;
  92. interrupts = <16>;
  93. };
  94. sctl@101e0000 {
  95. compatible = "arm,primecell";
  96. reg = <0x101e0000 0x1000>;
  97. };
  98. watchdog@101e1000 {
  99. compatible = "arm,primecell";
  100. reg = <0x101e1000 0x1000>;
  101. interrupts = <0>;
  102. };
  103. gpio0: gpio@101e4000 {
  104. compatible = "arm,pl061", "arm,primecell";
  105. reg = <0x101e4000 0x1000>;
  106. gpio-controller;
  107. interrupts = <6>;
  108. #gpio-cells = <2>;
  109. interrupt-controller;
  110. #interrupt-cells = <2>;
  111. };
  112. gpio1: gpio@101e5000 {
  113. compatible = "arm,pl061", "arm,primecell";
  114. reg = <0x101e5000 0x1000>;
  115. interrupts = <7>;
  116. gpio-controller;
  117. #gpio-cells = <2>;
  118. interrupt-controller;
  119. #interrupt-cells = <2>;
  120. };
  121. rtc@101e8000 {
  122. compatible = "arm,pl030", "arm,primecell";
  123. reg = <0x101e8000 0x1000>;
  124. interrupts = <10>;
  125. };
  126. sci@101f0000 {
  127. compatible = "arm,primecell";
  128. reg = <0x101f0000 0x1000>;
  129. interrupts = <15>;
  130. };
  131. ssp@101f4000 {
  132. compatible = "arm,pl022", "arm,primecell";
  133. reg = <0x101f4000 0x1000>;
  134. interrupts = <11>;
  135. };
  136. fpga {
  137. compatible = "arm,versatile-fpga", "simple-bus";
  138. #address-cells = <1>;
  139. #size-cells = <1>;
  140. ranges = <0 0x10000000 0x10000>;
  141. aaci@4000 {
  142. compatible = "arm,primecell";
  143. reg = <0x4000 0x1000>;
  144. interrupts = <24>;
  145. };
  146. mmc@5000 {
  147. compatible = "arm,primecell";
  148. reg = < 0x5000 0x1000>;
  149. interrupts = <22 34>;
  150. };
  151. kmi@6000 {
  152. compatible = "arm,pl050", "arm,primecell";
  153. reg = <0x6000 0x1000>;
  154. interrupt-parent = <&sic>;
  155. interrupts = <3>;
  156. };
  157. kmi@7000 {
  158. compatible = "arm,pl050", "arm,primecell";
  159. reg = <0x7000 0x1000>;
  160. interrupt-parent = <&sic>;
  161. interrupts = <4>;
  162. };
  163. };
  164. };
  165. };