meson-g12a.dtsi 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2. /*
  3. * Copyright (c) 2018 Amlogic, Inc. All rights reserved.
  4. */
  5. #include <dt-bindings/gpio/gpio.h>
  6. #include <dt-bindings/interrupt-controller/irq.h>
  7. #include <dt-bindings/interrupt-controller/arm-gic.h>
  8. / {
  9. compatible = "amlogic,g12a";
  10. interrupt-parent = <&gic>;
  11. #address-cells = <2>;
  12. #size-cells = <2>;
  13. cpus {
  14. #address-cells = <0x2>;
  15. #size-cells = <0x0>;
  16. cpu0: cpu@0 {
  17. device_type = "cpu";
  18. compatible = "arm,cortex-a53", "arm,armv8";
  19. reg = <0x0 0x0>;
  20. enable-method = "psci";
  21. next-level-cache = <&l2>;
  22. };
  23. cpu1: cpu@1 {
  24. device_type = "cpu";
  25. compatible = "arm,cortex-a53", "arm,armv8";
  26. reg = <0x0 0x1>;
  27. enable-method = "psci";
  28. next-level-cache = <&l2>;
  29. };
  30. cpu2: cpu@2 {
  31. device_type = "cpu";
  32. compatible = "arm,cortex-a53", "arm,armv8";
  33. reg = <0x0 0x2>;
  34. enable-method = "psci";
  35. next-level-cache = <&l2>;
  36. };
  37. cpu3: cpu@3 {
  38. device_type = "cpu";
  39. compatible = "arm,cortex-a53", "arm,armv8";
  40. reg = <0x0 0x3>;
  41. enable-method = "psci";
  42. next-level-cache = <&l2>;
  43. };
  44. l2: l2-cache0 {
  45. compatible = "cache";
  46. };
  47. };
  48. psci {
  49. compatible = "arm,psci-1.0";
  50. method = "smc";
  51. };
  52. reserved-memory {
  53. #address-cells = <2>;
  54. #size-cells = <2>;
  55. ranges;
  56. /* 3 MiB reserved for ARM Trusted Firmware (BL31) */
  57. secmon_reserved: secmon@5000000 {
  58. reg = <0x0 0x05000000 0x0 0x300000>;
  59. no-map;
  60. };
  61. };
  62. soc {
  63. compatible = "simple-bus";
  64. #address-cells = <2>;
  65. #size-cells = <2>;
  66. ranges;
  67. periphs: periphs@ff634000 {
  68. compatible = "simple-bus";
  69. reg = <0x0 0xff634000 0x0 0x2000>;
  70. #address-cells = <2>;
  71. #size-cells = <2>;
  72. ranges = <0x0 0x0 0x0 0xff634000 0x0 0x2000>;
  73. };
  74. hiubus: bus@ff63c000 {
  75. compatible = "simple-bus";
  76. reg = <0x0 0xff63c000 0x0 0x1c00>;
  77. #address-cells = <2>;
  78. #size-cells = <2>;
  79. ranges = <0x0 0x0 0x0 0xff63c000 0x0 0x1c00>;
  80. };
  81. aobus: bus@ff800000 {
  82. compatible = "simple-bus";
  83. reg = <0x0 0xff800000 0x0 0x100000>;
  84. #address-cells = <2>;
  85. #size-cells = <2>;
  86. ranges = <0x0 0x0 0x0 0xff800000 0x0 0x100000>;
  87. uart_AO: serial@3000 {
  88. compatible = "amlogic,meson-gx-uart", "amlogic,meson-ao-uart";
  89. reg = <0x0 0x3000 0x0 0x18>;
  90. interrupts = <GIC_SPI 193 IRQ_TYPE_EDGE_RISING>;
  91. clocks = <&xtal>, <&xtal>, <&xtal>;
  92. clock-names = "xtal", "pclk", "baud";
  93. status = "disabled";
  94. };
  95. uart_AO_B: serial@4000 {
  96. compatible = "amlogic,meson-gx-uart", "amlogic,meson-ao-uart";
  97. reg = <0x0 0x4000 0x0 0x18>;
  98. interrupts = <GIC_SPI 197 IRQ_TYPE_EDGE_RISING>;
  99. clocks = <&xtal>, <&xtal>, <&xtal>;
  100. clock-names = "xtal", "pclk", "baud";
  101. status = "disabled";
  102. };
  103. };
  104. gic: interrupt-controller@ffc01000 {
  105. compatible = "arm,gic-400";
  106. reg = <0x0 0xffc01000 0 0x1000>,
  107. <0x0 0xffc02000 0 0x2000>,
  108. <0x0 0xffc04000 0 0x2000>,
  109. <0x0 0xffc06000 0 0x2000>;
  110. interrupt-controller;
  111. interrupts = <GIC_PPI 9
  112. (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>;
  113. #interrupt-cells = <3>;
  114. #address-cells = <0>;
  115. };
  116. cbus: bus@ffd00000 {
  117. compatible = "simple-bus";
  118. reg = <0x0 0xffd00000 0x0 0x25000>;
  119. #address-cells = <2>;
  120. #size-cells = <2>;
  121. ranges = <0x0 0x0 0x0 0xffd00000 0x0 0x25000>;
  122. };
  123. apb: apb@ffe00000 {
  124. compatible = "simple-bus";
  125. reg = <0x0 0xffe00000 0x0 0x200000>;
  126. #address-cells = <2>;
  127. #size-cells = <2>;
  128. ranges = <0x0 0x0 0x0 0xffe00000 0x0 0x200000>;
  129. };
  130. };
  131. timer {
  132. compatible = "arm,armv8-timer";
  133. interrupts = <GIC_PPI 13
  134. (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>,
  135. <GIC_PPI 14
  136. (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>,
  137. <GIC_PPI 11
  138. (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>,
  139. <GIC_PPI 10
  140. (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>;
  141. };
  142. xtal: xtal-clk {
  143. compatible = "fixed-clock";
  144. clock-frequency = <24000000>;
  145. clock-output-names = "xtal";
  146. #clock-cells = <0>;
  147. };
  148. };