meson-a1.dtsi 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2. /*
  3. * Copyright (c) 2019 Amlogic, Inc. All rights reserved.
  4. */
  5. #include <dt-bindings/interrupt-controller/irq.h>
  6. #include <dt-bindings/interrupt-controller/arm-gic.h>
  7. #include <dt-bindings/gpio/meson-a1-gpio.h>
  8. / {
  9. compatible = "amlogic,a1";
  10. interrupt-parent = <&gic>;
  11. #address-cells = <2>;
  12. #size-cells = <2>;
  13. cpus {
  14. #address-cells = <2>;
  15. #size-cells = <0>;
  16. cpu0: cpu@0 {
  17. device_type = "cpu";
  18. compatible = "arm,cortex-a35";
  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-a35";
  26. reg = <0x0 0x1>;
  27. enable-method = "psci";
  28. next-level-cache = <&l2>;
  29. };
  30. l2: l2-cache0 {
  31. compatible = "cache";
  32. };
  33. };
  34. psci {
  35. compatible = "arm,psci-1.0";
  36. method = "smc";
  37. };
  38. reserved-memory {
  39. #address-cells = <2>;
  40. #size-cells = <2>;
  41. ranges;
  42. linux,cma {
  43. compatible = "shared-dma-pool";
  44. reusable;
  45. size = <0x0 0x800000>;
  46. alignment = <0x0 0x400000>;
  47. linux,cma-default;
  48. };
  49. };
  50. sm: secure-monitor {
  51. compatible = "amlogic,meson-gxbb-sm";
  52. pwrc: power-controller {
  53. compatible = "amlogic,meson-a1-pwrc";
  54. #power-domain-cells = <1>;
  55. status = "okay";
  56. };
  57. };
  58. soc {
  59. compatible = "simple-bus";
  60. #address-cells = <2>;
  61. #size-cells = <2>;
  62. ranges;
  63. apb: bus@fe000000 {
  64. compatible = "simple-bus";
  65. reg = <0x0 0xfe000000 0x0 0x1000000>;
  66. #address-cells = <2>;
  67. #size-cells = <2>;
  68. ranges = <0x0 0x0 0x0 0xfe000000 0x0 0x1000000>;
  69. reset: reset-controller@0 {
  70. compatible = "amlogic,meson-a1-reset";
  71. reg = <0x0 0x0 0x0 0x8c>;
  72. #reset-cells = <1>;
  73. };
  74. periphs_pinctrl: pinctrl@400 {
  75. compatible = "amlogic,meson-a1-periphs-pinctrl";
  76. #address-cells = <2>;
  77. #size-cells = <2>;
  78. ranges;
  79. gpio: bank@400 {
  80. reg = <0x0 0x0400 0x0 0x003c>,
  81. <0x0 0x0480 0x0 0x0118>;
  82. reg-names = "mux", "gpio";
  83. gpio-controller;
  84. #gpio-cells = <2>;
  85. gpio-ranges = <&periphs_pinctrl 0 0 62>;
  86. };
  87. };
  88. uart_AO: serial@1c00 {
  89. compatible = "amlogic,meson-gx-uart",
  90. "amlogic,meson-ao-uart";
  91. reg = <0x0 0x1c00 0x0 0x18>;
  92. interrupts = <GIC_SPI 25 IRQ_TYPE_EDGE_RISING>;
  93. clocks = <&xtal>, <&xtal>, <&xtal>;
  94. clock-names = "xtal", "pclk", "baud";
  95. status = "disabled";
  96. };
  97. uart_AO_B: serial@2000 {
  98. compatible = "amlogic,meson-gx-uart",
  99. "amlogic,meson-ao-uart";
  100. reg = <0x0 0x2000 0x0 0x18>;
  101. interrupts = <GIC_SPI 26 IRQ_TYPE_EDGE_RISING>;
  102. clocks = <&xtal>, <&xtal>, <&xtal>;
  103. clock-names = "xtal", "pclk", "baud";
  104. status = "disabled";
  105. };
  106. };
  107. gic: interrupt-controller@ff901000 {
  108. compatible = "arm,gic-400";
  109. reg = <0x0 0xff901000 0x0 0x1000>,
  110. <0x0 0xff902000 0x0 0x2000>,
  111. <0x0 0xff904000 0x0 0x2000>,
  112. <0x0 0xff906000 0x0 0x2000>;
  113. interrupt-controller;
  114. interrupts = <GIC_PPI 9
  115. (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>;
  116. #interrupt-cells = <3>;
  117. #address-cells = <0>;
  118. };
  119. };
  120. timer {
  121. compatible = "arm,armv8-timer";
  122. interrupts = <GIC_PPI 13
  123. (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>,
  124. <GIC_PPI 14
  125. (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>,
  126. <GIC_PPI 11
  127. (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>,
  128. <GIC_PPI 10
  129. (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>;
  130. };
  131. xtal: xtal-clk {
  132. compatible = "fixed-clock";
  133. clock-frequency = <24000000>;
  134. clock-output-names = "xtal";
  135. #clock-cells = <0>;
  136. };
  137. };