fvp-base-gicv2-psci-aarch32.dts 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220
  1. /*
  2. * Copyright (c) 2013-2021, ARM Limited and Contributors. All rights reserved.
  3. *
  4. * SPDX-License-Identifier: BSD-3-Clause
  5. */
  6. /* Configuration: max 4 clusters with up to 4 CPUs */
  7. /dts-v1/;
  8. #define AFF
  9. #define REG_32
  10. #include "fvp-defs.dtsi"
  11. #include <dt-bindings/interrupt-controller/arm-gic.h>
  12. /memreserve/ 0x80000000 0x00010000;
  13. / {
  14. };
  15. / {
  16. model = "FVP Base";
  17. compatible = "arm,vfp-base", "arm,vexpress";
  18. interrupt-parent = <&gic>;
  19. #address-cells = <2>;
  20. #size-cells = <2>;
  21. chosen { };
  22. aliases {
  23. serial0 = &v2m_serial0;
  24. serial1 = &v2m_serial1;
  25. serial2 = &v2m_serial2;
  26. serial3 = &v2m_serial3;
  27. };
  28. psci {
  29. compatible = "arm,psci-1.0", "arm,psci-0.2", "arm,psci";
  30. method = "smc";
  31. cpu_suspend = <0x84000001>;
  32. cpu_off = <0x84000002>;
  33. cpu_on = <0x84000003>;
  34. sys_poweroff = <0x84000008>;
  35. sys_reset = <0x84000009>;
  36. max-pwr-lvl = <2>;
  37. };
  38. cpus {
  39. #address-cells = <1>;
  40. #size-cells = <0>;
  41. CPU_MAP
  42. idle-states {
  43. entry-method = "arm,psci";
  44. CPU_SLEEP_0: cpu-sleep-0 {
  45. compatible = "arm,idle-state";
  46. local-timer-stop;
  47. arm,psci-suspend-param = <0x0010000>;
  48. entry-latency-us = <40>;
  49. exit-latency-us = <100>;
  50. min-residency-us = <150>;
  51. };
  52. CLUSTER_SLEEP_0: cluster-sleep-0 {
  53. compatible = "arm,idle-state";
  54. local-timer-stop;
  55. arm,psci-suspend-param = <0x1010000>;
  56. entry-latency-us = <500>;
  57. exit-latency-us = <1000>;
  58. min-residency-us = <2500>;
  59. };
  60. };
  61. CPUS
  62. L2_0: l2-cache0 {
  63. compatible = "cache";
  64. };
  65. };
  66. memory@80000000 {
  67. device_type = "memory";
  68. reg = <0x00000000 0x80000000 0 0x7F000000>,
  69. <0x00000008 0x80000000 0 0x80000000>;
  70. };
  71. gic: interrupt-controller@2f000000 {
  72. compatible = "arm,cortex-a15-gic", "arm,cortex-a9-gic";
  73. #interrupt-cells = <3>;
  74. #address-cells = <0>;
  75. interrupt-controller;
  76. reg = <0x0 0x2f000000 0 0x10000>,
  77. <0x0 0x2c000000 0 0x2000>,
  78. <0x0 0x2c010000 0 0x2000>,
  79. <0x0 0x2c02F000 0 0x2000>;
  80. interrupts = <1 9 0xf04>;
  81. };
  82. timer {
  83. compatible = "arm,armv8-timer";
  84. interrupts = <GIC_PPI 13
  85. (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>,
  86. <GIC_PPI 14
  87. (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>,
  88. <GIC_PPI 11
  89. (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>,
  90. <GIC_PPI 10
  91. (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>;
  92. clock-frequency = <100000000>;
  93. };
  94. timer@2a810000 {
  95. compatible = "arm,armv7-timer-mem";
  96. reg = <0x0 0x2a810000 0x0 0x10000>;
  97. clock-frequency = <100000000>;
  98. #address-cells = <2>;
  99. #size-cells = <2>;
  100. ranges;
  101. frame@2a830000 {
  102. frame-number = <1>;
  103. interrupts = <0 26 4>;
  104. reg = <0x0 0x2a830000 0x0 0x10000>;
  105. };
  106. };
  107. pmu {
  108. compatible = "arm,armv8-pmuv3";
  109. interrupts = <0 60 4>,
  110. <0 61 4>,
  111. <0 62 4>,
  112. <0 63 4>;
  113. };
  114. smb {
  115. compatible = "simple-bus";
  116. #address-cells = <2>;
  117. #size-cells = <1>;
  118. ranges = <0 0 0 0x08000000 0x04000000>,
  119. <1 0 0 0x14000000 0x04000000>,
  120. <2 0 0 0x18000000 0x04000000>,
  121. <3 0 0 0x1c000000 0x04000000>,
  122. <4 0 0 0x0c000000 0x04000000>,
  123. <5 0 0 0x10000000 0x04000000>;
  124. #interrupt-cells = <1>;
  125. interrupt-map-mask = <0 0 63>;
  126. interrupt-map = <0 0 0 &gic 0 0 4>,
  127. <0 0 1 &gic 0 1 4>,
  128. <0 0 2 &gic 0 2 4>,
  129. <0 0 3 &gic 0 3 4>,
  130. <0 0 4 &gic 0 4 4>,
  131. <0 0 5 &gic 0 5 4>,
  132. <0 0 6 &gic 0 6 4>,
  133. <0 0 7 &gic 0 7 4>,
  134. <0 0 8 &gic 0 8 4>,
  135. <0 0 9 &gic 0 9 4>,
  136. <0 0 10 &gic 0 10 4>,
  137. <0 0 11 &gic 0 11 4>,
  138. <0 0 12 &gic 0 12 4>,
  139. <0 0 13 &gic 0 13 4>,
  140. <0 0 14 &gic 0 14 4>,
  141. <0 0 15 &gic 0 15 4>,
  142. <0 0 16 &gic 0 16 4>,
  143. <0 0 17 &gic 0 17 4>,
  144. <0 0 18 &gic 0 18 4>,
  145. <0 0 19 &gic 0 19 4>,
  146. <0 0 20 &gic 0 20 4>,
  147. <0 0 21 &gic 0 21 4>,
  148. <0 0 22 &gic 0 22 4>,
  149. <0 0 23 &gic 0 23 4>,
  150. <0 0 24 &gic 0 24 4>,
  151. <0 0 25 &gic 0 25 4>,
  152. <0 0 26 &gic 0 26 4>,
  153. <0 0 27 &gic 0 27 4>,
  154. <0 0 28 &gic 0 28 4>,
  155. <0 0 29 &gic 0 29 4>,
  156. <0 0 30 &gic 0 30 4>,
  157. <0 0 31 &gic 0 31 4>,
  158. <0 0 32 &gic 0 32 4>,
  159. <0 0 33 &gic 0 33 4>,
  160. <0 0 34 &gic 0 34 4>,
  161. <0 0 35 &gic 0 35 4>,
  162. <0 0 36 &gic 0 36 4>,
  163. <0 0 37 &gic 0 37 4>,
  164. <0 0 38 &gic 0 38 4>,
  165. <0 0 39 &gic 0 39 4>,
  166. <0 0 40 &gic 0 40 4>,
  167. <0 0 41 &gic 0 41 4>,
  168. <0 0 42 &gic 0 42 4>;
  169. #include "rtsm_ve-motherboard-aarch32.dtsi"
  170. };
  171. panels {
  172. panel@0 {
  173. compatible = "panel";
  174. mode = "XVGA";
  175. refresh = <60>;
  176. xres = <1024>;
  177. yres = <768>;
  178. pixclock = <15748>;
  179. left_margin = <152>;
  180. right_margin = <48>;
  181. upper_margin = <23>;
  182. lower_margin = <3>;
  183. hsync_len = <104>;
  184. vsync_len = <4>;
  185. sync = <0>;
  186. vmode = "FB_VMODE_NONINTERLACED";
  187. tim2 = "TIM2_BCD", "TIM2_IPC";
  188. cntl = "CNTL_LCDTFT", "CNTL_BGR", "CNTL_LCDVCOMP(1)";
  189. caps = "CLCD_CAP_5551", "CLCD_CAP_565", "CLCD_CAP_888";
  190. bpp = <16>;
  191. };
  192. };
  193. };