rtd16xx.dtsi 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229
  1. // SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause)
  2. /*
  3. * Realtek RTD16xx SoC family
  4. *
  5. * Copyright (c) 2019 Realtek Semiconductor Corp.
  6. * Copyright (c) 2019 Andreas Färber
  7. */
  8. #include <dt-bindings/interrupt-controller/arm-gic.h>
  9. #include <dt-bindings/interrupt-controller/irq.h>
  10. / {
  11. interrupt-parent = <&gic>;
  12. #address-cells = <1>;
  13. #size-cells = <1>;
  14. reserved-memory {
  15. #address-cells = <1>;
  16. #size-cells = <1>;
  17. ranges;
  18. rpc_comm: rpc@2f000 {
  19. reg = <0x2f000 0x1000>;
  20. };
  21. rpc_ringbuf: rpc@1ffe000 {
  22. reg = <0x1ffe000 0x4000>;
  23. };
  24. tee: tee@10100000 {
  25. reg = <0x10100000 0xf00000>;
  26. no-map;
  27. };
  28. };
  29. cpus {
  30. #address-cells = <1>;
  31. #size-cells = <0>;
  32. cpu0: cpu@0 {
  33. device_type = "cpu";
  34. compatible = "arm,cortex-a55";
  35. reg = <0x0>;
  36. enable-method = "psci";
  37. next-level-cache = <&l2>;
  38. };
  39. cpu1: cpu@100 {
  40. device_type = "cpu";
  41. compatible = "arm,cortex-a55";
  42. reg = <0x100>;
  43. enable-method = "psci";
  44. next-level-cache = <&l3>;
  45. };
  46. cpu2: cpu@200 {
  47. device_type = "cpu";
  48. compatible = "arm,cortex-a55";
  49. reg = <0x200>;
  50. enable-method = "psci";
  51. next-level-cache = <&l3>;
  52. };
  53. cpu3: cpu@300 {
  54. device_type = "cpu";
  55. compatible = "arm,cortex-a55";
  56. reg = <0x300>;
  57. enable-method = "psci";
  58. next-level-cache = <&l3>;
  59. };
  60. cpu4: cpu@400 {
  61. device_type = "cpu";
  62. compatible = "arm,cortex-a55";
  63. reg = <0x400>;
  64. enable-method = "psci";
  65. next-level-cache = <&l3>;
  66. };
  67. cpu5: cpu@500 {
  68. device_type = "cpu";
  69. compatible = "arm,cortex-a55";
  70. reg = <0x500>;
  71. enable-method = "psci";
  72. next-level-cache = <&l3>;
  73. };
  74. l2: l2-cache {
  75. compatible = "cache";
  76. next-level-cache = <&l3>;
  77. };
  78. l3: l3-cache {
  79. compatible = "cache";
  80. };
  81. };
  82. timer {
  83. compatible = "arm,armv8-timer";
  84. interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>,
  85. <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>,
  86. <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>,
  87. <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>;
  88. };
  89. arm_pmu: pmu {
  90. compatible = "arm,armv8-pmuv3";
  91. interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_LOW>;
  92. interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>,
  93. <&cpu3>, <&cpu4>, <&cpu5>;
  94. };
  95. psci {
  96. compatible = "arm,psci-1.0";
  97. method = "smc";
  98. };
  99. osc27M: osc {
  100. compatible = "fixed-clock";
  101. clock-frequency = <27000000>;
  102. clock-output-names = "osc27M";
  103. #clock-cells = <0>;
  104. };
  105. soc {
  106. compatible = "simple-bus";
  107. #address-cells = <1>;
  108. #size-cells = <1>;
  109. ranges = <0x00000000 0x00000000 0x0002e000>, /* boot ROM */
  110. <0x98000000 0x98000000 0x68000000>;
  111. rbus: bus@98000000 {
  112. compatible = "simple-bus";
  113. reg = <0x98000000 0x200000>;
  114. #address-cells = <1>;
  115. #size-cells = <1>;
  116. ranges = <0x0 0x98000000 0x200000>;
  117. crt: syscon@0 {
  118. compatible = "syscon", "simple-mfd";
  119. reg = <0x0 0x1000>;
  120. reg-io-width = <4>;
  121. #address-cells = <1>;
  122. #size-cells = <1>;
  123. ranges = <0x0 0x0 0x1000>;
  124. };
  125. iso: syscon@7000 {
  126. compatible = "syscon", "simple-mfd";
  127. reg = <0x7000 0x1000>;
  128. reg-io-width = <4>;
  129. #address-cells = <1>;
  130. #size-cells = <1>;
  131. ranges = <0x0 0x7000 0x1000>;
  132. };
  133. sb2: syscon@1a000 {
  134. compatible = "syscon", "simple-mfd";
  135. reg = <0x1a000 0x1000>;
  136. reg-io-width = <4>;
  137. #address-cells = <1>;
  138. #size-cells = <1>;
  139. ranges = <0x0 0x1a000 0x1000>;
  140. };
  141. misc: syscon@1b000 {
  142. compatible = "syscon", "simple-mfd";
  143. reg = <0x1b000 0x1000>;
  144. reg-io-width = <4>;
  145. #address-cells = <1>;
  146. #size-cells = <1>;
  147. ranges = <0x0 0x1b000 0x1000>;
  148. };
  149. scpu_wrapper: syscon@1d000 {
  150. compatible = "syscon", "simple-mfd";
  151. reg = <0x1d000 0x1000>;
  152. reg-io-width = <4>;
  153. #address-cells = <1>;
  154. #size-cells = <1>;
  155. ranges = <0x0 0x1d000 0x1000>;
  156. };
  157. };
  158. gic: interrupt-controller@ff100000 {
  159. compatible = "arm,gic-v3";
  160. reg = <0xff100000 0x10000>,
  161. <0xff140000 0xc0000>;
  162. interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
  163. interrupt-controller;
  164. #interrupt-cells = <3>;
  165. };
  166. };
  167. };
  168. &iso {
  169. uart0: serial0@800 {
  170. compatible = "snps,dw-apb-uart";
  171. reg = <0x800 0x400>;
  172. reg-shift = <2>;
  173. reg-io-width = <4>;
  174. interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;
  175. clock-frequency = <27000000>;
  176. status = "disabled";
  177. };
  178. };
  179. &misc {
  180. uart1: serial1@200 {
  181. compatible = "snps,dw-apb-uart";
  182. reg = <0x200 0x400>;
  183. reg-shift = <2>;
  184. reg-io-width = <4>;
  185. interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
  186. clock-frequency = <432000000>;
  187. status = "disabled";
  188. };
  189. uart2: serial2@400 {
  190. compatible = "snps,dw-apb-uart";
  191. reg = <0x400 0x400>;
  192. reg-shift = <2>;
  193. reg-io-width = <4>;
  194. interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
  195. clock-frequency = <432000000>;
  196. status = "disabled";
  197. };
  198. };