s900.dtsi 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  1. /*
  2. * Copyright (c) 2017 Andreas Färber
  3. *
  4. * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  5. */
  6. #include <dt-bindings/interrupt-controller/arm-gic.h>
  7. / {
  8. compatible = "actions,s900";
  9. interrupt-parent = <&gic>;
  10. #address-cells = <2>;
  11. #size-cells = <2>;
  12. cpus {
  13. #address-cells = <2>;
  14. #size-cells = <0>;
  15. cpu0: cpu@0 {
  16. device_type = "cpu";
  17. compatible = "arm,cortex-a53", "arm,armv8";
  18. reg = <0x0 0x0>;
  19. enable-method = "psci";
  20. };
  21. cpu1: cpu@1 {
  22. device_type = "cpu";
  23. compatible = "arm,cortex-a53", "arm,armv8";
  24. reg = <0x0 0x1>;
  25. enable-method = "psci";
  26. };
  27. cpu2: cpu@2 {
  28. device_type = "cpu";
  29. compatible = "arm,cortex-a53", "arm,armv8";
  30. reg = <0x0 0x2>;
  31. enable-method = "psci";
  32. };
  33. cpu3: cpu@3 {
  34. device_type = "cpu";
  35. compatible = "arm,cortex-a53", "arm,armv8";
  36. reg = <0x0 0x3>;
  37. enable-method = "psci";
  38. };
  39. };
  40. reserved-memory {
  41. #address-cells = <2>;
  42. #size-cells = <2>;
  43. ranges;
  44. secmon@1f000000 {
  45. reg = <0x0 0x1f000000 0x0 0x1000000>;
  46. no-map;
  47. };
  48. };
  49. psci {
  50. compatible = "arm,psci-0.2";
  51. method = "smc";
  52. };
  53. arm-pmu {
  54. compatible = "arm,cortex-a53-pmu";
  55. interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
  56. <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
  57. <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
  58. <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
  59. interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
  60. };
  61. timer {
  62. compatible = "arm,armv8-timer";
  63. interrupts = <GIC_PPI 13
  64. (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
  65. <GIC_PPI 14
  66. (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
  67. <GIC_PPI 11
  68. (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
  69. <GIC_PPI 10
  70. (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
  71. };
  72. hosc: hosc {
  73. compatible = "fixed-clock";
  74. clock-frequency = <24000000>;
  75. #clock-cells = <0>;
  76. };
  77. soc {
  78. compatible = "simple-bus";
  79. #address-cells = <2>;
  80. #size-cells = <2>;
  81. ranges;
  82. gic: interrupt-controller@e00f1000 {
  83. compatible = "arm,gic-400";
  84. reg = <0x0 0xe00f1000 0x0 0x1000>,
  85. <0x0 0xe00f2000 0x0 0x2000>,
  86. <0x0 0xe00f4000 0x0 0x2000>,
  87. <0x0 0xe00f6000 0x0 0x2000>;
  88. interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
  89. interrupt-controller;
  90. #interrupt-cells = <3>;
  91. };
  92. uart0: serial@e0120000 {
  93. compatible = "actions,s900-uart", "actions,owl-uart";
  94. reg = <0x0 0xe0120000 0x0 0x2000>;
  95. interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
  96. status = "disabled";
  97. };
  98. uart1: serial@e0122000 {
  99. compatible = "actions,s900-uart", "actions,owl-uart";
  100. reg = <0x0 0xe0122000 0x0 0x2000>;
  101. interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
  102. status = "disabled";
  103. };
  104. uart2: serial@e0124000 {
  105. compatible = "actions,s900-uart", "actions,owl-uart";
  106. reg = <0x0 0xe0124000 0x0 0x2000>;
  107. interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
  108. status = "disabled";
  109. };
  110. uart3: serial@e0126000 {
  111. compatible = "actions,s900-uart", "actions,owl-uart";
  112. reg = <0x0 0xe0126000 0x0 0x2000>;
  113. interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
  114. status = "disabled";
  115. };
  116. uart4: serial@e0128000 {
  117. compatible = "actions,s900-uart", "actions,owl-uart";
  118. reg = <0x0 0xe0128000 0x0 0x2000>;
  119. interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
  120. status = "disabled";
  121. };
  122. uart5: serial@e012a000 {
  123. compatible = "actions,s900-uart", "actions,owl-uart";
  124. reg = <0x0 0xe012a000 0x0 0x2000>;
  125. interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
  126. status = "disabled";
  127. };
  128. uart6: serial@e012c000 {
  129. compatible = "actions,s900-uart", "actions,owl-uart";
  130. reg = <0x0 0xe012c000 0x0 0x2000>;
  131. interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
  132. status = "disabled";
  133. };
  134. timer: timer@e0228000 {
  135. compatible = "actions,s900-timer";
  136. reg = <0x0 0xe0228000 0x0 0x8000>;
  137. interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
  138. interrupt-names = "timer1";
  139. };
  140. };
  141. };