rtsm_ve-motherboard.dtsi 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251
  1. /*
  2. * Copyright (c) 2013-2018, ARM Limited and Contributors. All rights reserved.
  3. *
  4. * SPDX-License-Identifier: BSD-3-Clause
  5. */
  6. motherboard {
  7. arm,v2m-memory-map = "rs1";
  8. compatible = "arm,vexpress,v2m-p1", "simple-bus";
  9. #address-cells = <2>; /* SMB chipselect number and offset */
  10. #size-cells = <1>;
  11. ranges;
  12. flash@0,00000000 {
  13. compatible = "arm,vexpress-flash", "cfi-flash";
  14. reg = <0 0x00000000 0x04000000>,
  15. <4 0x00000000 0x04000000>;
  16. bank-width = <4>;
  17. };
  18. vram@2,00000000 {
  19. compatible = "arm,vexpress-vram";
  20. reg = <2 0x00000000 0x00800000>;
  21. };
  22. ethernet@2,02000000 {
  23. compatible = "smsc,lan91c111";
  24. reg = <2 0x02000000 0x10000>;
  25. interrupts = <0 15 4>;
  26. };
  27. v2m_clk24mhz: clk24mhz {
  28. compatible = "fixed-clock";
  29. #clock-cells = <0>;
  30. clock-frequency = <24000000>;
  31. clock-output-names = "v2m:clk24mhz";
  32. };
  33. v2m_refclk1mhz: refclk1mhz {
  34. compatible = "fixed-clock";
  35. #clock-cells = <0>;
  36. clock-frequency = <1000000>;
  37. clock-output-names = "v2m:refclk1mhz";
  38. };
  39. v2m_refclk32khz: refclk32khz {
  40. compatible = "fixed-clock";
  41. #clock-cells = <0>;
  42. clock-frequency = <32768>;
  43. clock-output-names = "v2m:refclk32khz";
  44. };
  45. iofpga@3,00000000 {
  46. compatible = "arm,amba-bus", "simple-bus";
  47. #address-cells = <1>;
  48. #size-cells = <1>;
  49. ranges = <0 3 0 0x200000>;
  50. v2m_sysreg: sysreg@10000 {
  51. compatible = "arm,vexpress-sysreg";
  52. reg = <0x010000 0x1000>;
  53. gpio-controller;
  54. #gpio-cells = <2>;
  55. };
  56. v2m_sysctl: sysctl@20000 {
  57. compatible = "arm,sp810", "arm,primecell";
  58. reg = <0x020000 0x1000>;
  59. clocks = <&v2m_refclk32khz>, <&v2m_refclk1mhz>, <&v2m_clk24mhz>;
  60. clock-names = "refclk", "timclk", "apb_pclk";
  61. #clock-cells = <1>;
  62. clock-output-names = "timerclken0", "timerclken1", "timerclken2", "timerclken3";
  63. };
  64. aaci@40000 {
  65. compatible = "arm,pl041", "arm,primecell";
  66. reg = <0x040000 0x1000>;
  67. interrupts = <0 11 4>;
  68. clocks = <&v2m_clk24mhz>;
  69. clock-names = "apb_pclk";
  70. };
  71. mmci@50000 {
  72. compatible = "arm,pl180", "arm,primecell";
  73. reg = <0x050000 0x1000>;
  74. interrupts = <0 9 4 0 10 4>;
  75. cd-gpios = <&v2m_sysreg 0 0>;
  76. wp-gpios = <&v2m_sysreg 1 0>;
  77. max-frequency = <12000000>;
  78. vmmc-supply = <&v2m_fixed_3v3>;
  79. clocks = <&v2m_clk24mhz>, <&v2m_clk24mhz>;
  80. clock-names = "mclk", "apb_pclk";
  81. };
  82. kmi@60000 {
  83. compatible = "arm,pl050", "arm,primecell";
  84. reg = <0x060000 0x1000>;
  85. interrupts = <0 12 4>;
  86. clocks = <&v2m_clk24mhz>, <&v2m_clk24mhz>;
  87. clock-names = "KMIREFCLK", "apb_pclk";
  88. };
  89. kmi@70000 {
  90. compatible = "arm,pl050", "arm,primecell";
  91. reg = <0x070000 0x1000>;
  92. interrupts = <0 13 4>;
  93. clocks = <&v2m_clk24mhz>, <&v2m_clk24mhz>;
  94. clock-names = "KMIREFCLK", "apb_pclk";
  95. };
  96. v2m_serial0: uart@90000 {
  97. compatible = "arm,pl011", "arm,primecell";
  98. reg = <0x090000 0x1000>;
  99. interrupts = <0 5 4>;
  100. clocks = <&v2m_clk24mhz>, <&v2m_clk24mhz>;
  101. clock-names = "uartclk", "apb_pclk";
  102. };
  103. v2m_serial1: uart@a0000 {
  104. compatible = "arm,pl011", "arm,primecell";
  105. reg = <0x0a0000 0x1000>;
  106. interrupts = <0 6 4>;
  107. clocks = <&v2m_clk24mhz>, <&v2m_clk24mhz>;
  108. clock-names = "uartclk", "apb_pclk";
  109. };
  110. v2m_serial2: uart@b0000 {
  111. compatible = "arm,pl011", "arm,primecell";
  112. reg = <0x0b0000 0x1000>;
  113. interrupts = <0 7 4>;
  114. clocks = <&v2m_clk24mhz>, <&v2m_clk24mhz>;
  115. clock-names = "uartclk", "apb_pclk";
  116. };
  117. v2m_serial3: uart@c0000 {
  118. compatible = "arm,pl011", "arm,primecell";
  119. reg = <0x0c0000 0x1000>;
  120. interrupts = <0 8 4>;
  121. clocks = <&v2m_clk24mhz>, <&v2m_clk24mhz>;
  122. clock-names = "uartclk", "apb_pclk";
  123. };
  124. wdt@f0000 {
  125. compatible = "arm,sp805", "arm,primecell";
  126. reg = <0x0f0000 0x1000>;
  127. interrupts = <0 0 4>;
  128. clocks = <&v2m_refclk32khz>, <&v2m_clk24mhz>;
  129. clock-names = "wdogclk", "apb_pclk";
  130. };
  131. v2m_timer01: timer@110000 {
  132. compatible = "arm,sp804", "arm,primecell";
  133. reg = <0x110000 0x1000>;
  134. interrupts = <0 2 4>;
  135. clocks = <&v2m_sysctl 0>, <&v2m_sysctl 1>, <&v2m_clk24mhz>;
  136. clock-names = "timclken1", "timclken2", "apb_pclk";
  137. };
  138. v2m_timer23: timer@120000 {
  139. compatible = "arm,sp804", "arm,primecell";
  140. reg = <0x120000 0x1000>;
  141. interrupts = <0 3 4>;
  142. clocks = <&v2m_sysctl 2>, <&v2m_sysctl 3>, <&v2m_clk24mhz>;
  143. clock-names = "timclken1", "timclken2", "apb_pclk";
  144. };
  145. rtc@170000 {
  146. compatible = "arm,pl031", "arm,primecell";
  147. reg = <0x170000 0x1000>;
  148. interrupts = <0 4 4>;
  149. clocks = <&v2m_clk24mhz>;
  150. clock-names = "apb_pclk";
  151. };
  152. clcd@1f0000 {
  153. compatible = "arm,pl111", "arm,primecell";
  154. reg = <0x1f0000 0x1000>;
  155. interrupts = <0 14 4>;
  156. clocks = <&v2m_oscclk1>, <&v2m_clk24mhz>;
  157. clock-names = "clcdclk", "apb_pclk";
  158. mode = "XVGA";
  159. use_dma = <0>;
  160. framebuffer = <0x18000000 0x00180000>;
  161. };
  162. virtio_block@130000 {
  163. compatible = "virtio,mmio";
  164. reg = <0x130000 0x1000>;
  165. interrupts = <0 0x2a 4>;
  166. };
  167. };
  168. v2m_fixed_3v3: fixedregulator {
  169. compatible = "regulator-fixed";
  170. regulator-name = "3V3";
  171. regulator-min-microvolt = <3300000>;
  172. regulator-max-microvolt = <3300000>;
  173. regulator-always-on;
  174. };
  175. mcc {
  176. compatible = "arm,vexpress,config-bus", "simple-bus";
  177. arm,vexpress,config-bridge = <&v2m_sysreg>;
  178. v2m_oscclk1: osc {
  179. /* CLCD clock */
  180. compatible = "arm,vexpress-osc";
  181. arm,vexpress-sysreg,func = <1 1>;
  182. freq-range = <23750000 63500000>;
  183. #clock-cells = <0>;
  184. clock-output-names = "v2m:oscclk1";
  185. };
  186. /*
  187. * Not supported in FVP models
  188. *
  189. * reset@0 {
  190. * compatible = "arm,vexpress-reset";
  191. * arm,vexpress-sysreg,func = <5 0>;
  192. * };
  193. */
  194. muxfpga {
  195. compatible = "arm,vexpress-muxfpga";
  196. arm,vexpress-sysreg,func = <7 0>;
  197. };
  198. /*
  199. * Not used - Superseded by PSCI sys_poweroff
  200. *
  201. * shutdown@0 {
  202. * compatible = "arm,vexpress-shutdown";
  203. * arm,vexpress-sysreg,func = <8 0>;
  204. * };
  205. */
  206. /*
  207. * Not used - Superseded by PSCI sys_reset
  208. *
  209. * reboot@0 {
  210. * compatible = "arm,vexpress-reboot";
  211. * arm,vexpress-sysreg,func = <9 0>;
  212. * };
  213. */
  214. dvimode {
  215. compatible = "arm,vexpress-dvimode";
  216. arm,vexpress-sysreg,func = <11 0>;
  217. };
  218. };
  219. };