hisi-x5hd2.dtsi 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  1. /*
  2. * Copyright (c) 2013-2014 Linaro Ltd.
  3. * Copyright (c) 2013-2014 Hisilicon Limited.
  4. *
  5. * This program is free software; you can redistribute it and/or modify
  6. * it under the terms of the GNU General Public License version 2 as
  7. * publishhed by the Free Software Foundation.
  8. */
  9. #include "skeleton.dtsi"
  10. #include <dt-bindings/clock/hix5hd2-clock.h>
  11. / {
  12. aliases {
  13. serial0 = &uart0;
  14. };
  15. gic: interrupt-controller@f8a01000 {
  16. compatible = "arm,cortex-a9-gic";
  17. #interrupt-cells = <3>;
  18. #address-cells = <0>;
  19. interrupt-controller;
  20. /* gic dist base, gic cpu base */
  21. reg = <0xf8a01000 0x1000>, <0xf8a00100 0x100>;
  22. };
  23. soc {
  24. #address-cells = <1>;
  25. #size-cells = <1>;
  26. compatible = "simple-bus";
  27. interrupt-parent = <&gic>;
  28. ranges = <0 0xf8000000 0x8000000>;
  29. amba {
  30. #address-cells = <1>;
  31. #size-cells = <1>;
  32. compatible = "arm,amba-bus";
  33. ranges;
  34. timer0: timer@00002000 {
  35. compatible = "arm,sp804", "arm,primecell";
  36. reg = <0x00002000 0x1000>;
  37. /* timer00 & timer01 */
  38. interrupts = <0 24 4>;
  39. clocks = <&clock HIX5HD2_FIXED_24M>;
  40. status = "disabled";
  41. };
  42. timer1: timer@00a29000 {
  43. /*
  44. * Only used in NORMAL state, not available ins
  45. * SLOW or DOZE state.
  46. * The rate is fixed in 24MHz.
  47. */
  48. compatible = "arm,sp804", "arm,primecell";
  49. reg = <0x00a29000 0x1000>;
  50. /* timer10 & timer11 */
  51. interrupts = <0 25 4>;
  52. clocks = <&clock HIX5HD2_FIXED_24M>;
  53. status = "disabled";
  54. };
  55. timer2: timer@00a2a000 {
  56. compatible = "arm,sp804", "arm,primecell";
  57. reg = <0x00a2a000 0x1000>;
  58. /* timer20 & timer21 */
  59. interrupts = <0 26 4>;
  60. clocks = <&clock HIX5HD2_FIXED_24M>;
  61. status = "disabled";
  62. };
  63. timer3: timer@00a2b000 {
  64. compatible = "arm,sp804", "arm,primecell";
  65. reg = <0x00a2b000 0x1000>;
  66. /* timer30 & timer31 */
  67. interrupts = <0 27 4>;
  68. clocks = <&clock HIX5HD2_FIXED_24M>;
  69. status = "disabled";
  70. };
  71. timer4: timer@00a81000 {
  72. compatible = "arm,sp804", "arm,primecell";
  73. reg = <0x00a81000 0x1000>;
  74. /* timer30 & timer31 */
  75. interrupts = <0 28 4>;
  76. clocks = <&clock HIX5HD2_FIXED_24M>;
  77. status = "disabled";
  78. };
  79. uart0: uart@00b00000 {
  80. compatible = "arm,pl011", "arm,primecell";
  81. reg = <0x00b00000 0x1000>;
  82. interrupts = <0 49 4>;
  83. clocks = <&clock HIX5HD2_FIXED_83M>;
  84. clock-names = "apb_pclk";
  85. status = "disabled";
  86. };
  87. uart1: uart@00006000 {
  88. compatible = "arm,pl011", "arm,primecell";
  89. reg = <0x00006000 0x1000>;
  90. interrupts = <0 50 4>;
  91. clocks = <&clock HIX5HD2_FIXED_83M>;
  92. clock-names = "apb_pclk";
  93. status = "disabled";
  94. };
  95. uart2: uart@00b02000 {
  96. compatible = "arm,pl011", "arm,primecell";
  97. reg = <0x00b02000 0x1000>;
  98. interrupts = <0 51 4>;
  99. clocks = <&clock HIX5HD2_FIXED_83M>;
  100. clock-names = "apb_pclk";
  101. status = "disabled";
  102. };
  103. uart3: uart@00b03000 {
  104. compatible = "arm,pl011", "arm,primecell";
  105. reg = <0x00b03000 0x1000>;
  106. interrupts = <0 52 4>;
  107. clocks = <&clock HIX5HD2_FIXED_83M>;
  108. clock-names = "apb_pclk";
  109. status = "disabled";
  110. };
  111. uart4: uart@00b04000 {
  112. compatible = "arm,pl011", "arm,primecell";
  113. reg = <0xb04000 0x1000>;
  114. interrupts = <0 53 4>;
  115. clocks = <&clock HIX5HD2_FIXED_83M>;
  116. clock-names = "apb_pclk";
  117. status = "disabled";
  118. };
  119. };
  120. local_timer@00a00600 {
  121. compatible = "arm,cortex-a9-twd-timer";
  122. reg = <0x00a00600 0x20>;
  123. interrupts = <1 13 0xf01>;
  124. };
  125. l2: l2-cache {
  126. compatible = "arm,pl310-cache";
  127. reg = <0x00a10000 0x100000>;
  128. interrupts = <0 15 4>;
  129. cache-unified;
  130. cache-level = <2>;
  131. };
  132. sysctrl: system-controller@00000000 {
  133. compatible = "hisilicon,sysctrl";
  134. reg = <0x00000000 0x1000>;
  135. reboot-offset = <0x4>;
  136. };
  137. cpuctrl@00a22000 {
  138. compatible = "hisilicon,cpuctrl";
  139. #address-cells = <1>;
  140. #size-cells = <1>;
  141. reg = <0x00a22000 0x2000>;
  142. ranges = <0 0x00a22000 0x2000>;
  143. clock: clock@0 {
  144. compatible = "hisilicon,hix5hd2-clock";
  145. reg = <0 0x2000>;
  146. #clock-cells = <1>;
  147. };
  148. };
  149. };
  150. };