hi3519.dtsi 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  1. // SPDX-License-Identifier: GPL-2.0-or-later
  2. /*
  3. * Copyright (c) 2015 HiSilicon Technologies Co., Ltd.
  4. */
  5. #include <dt-bindings/clock/hi3519-clock.h>
  6. #include <dt-bindings/interrupt-controller/arm-gic.h>
  7. / {
  8. #address-cells = <1>;
  9. #size-cells = <1>;
  10. chosen { };
  11. cpus {
  12. #address-cells = <1>;
  13. #size-cells = <0>;
  14. cpu@0 {
  15. device_type = "cpu";
  16. compatible = "arm,cortex-a7";
  17. reg = <0>;
  18. };
  19. };
  20. gic: interrupt-controller@10300000 {
  21. compatible = "arm,cortex-a7-gic";
  22. #interrupt-cells = <3>;
  23. interrupt-controller;
  24. reg = <0x10301000 0x1000>, <0x10302000 0x1000>;
  25. };
  26. clk_3m: clk_3m {
  27. compatible = "fixed-clock";
  28. #clock-cells = <0>;
  29. clock-frequency = <3000000>;
  30. };
  31. crg: clock-reset-controller@12010000 {
  32. compatible = "hisilicon,hi3519-crg";
  33. #clock-cells = <1>;
  34. #reset-cells = <2>;
  35. reg = <0x12010000 0x10000>;
  36. };
  37. soc {
  38. #address-cells = <1>;
  39. #size-cells = <1>;
  40. compatible = "simple-bus";
  41. interrupt-parent = <&gic>;
  42. ranges;
  43. uart0: serial@12100000 {
  44. compatible = "arm,pl011", "arm,primecell";
  45. reg = <0x12100000 0x1000>;
  46. interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
  47. clocks = <&crg HI3519_UART0_CLK>, <&crg HI3519_UART0_CLK>;
  48. clock-names = "uartclk", "apb_pclk";
  49. status = "disable";
  50. };
  51. uart1: serial@12101000 {
  52. compatible = "arm,pl011", "arm,primecell";
  53. reg = <0x12101000 0x1000>;
  54. interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
  55. clocks = <&crg HI3519_UART1_CLK>, <&crg HI3519_UART1_CLK>;
  56. clock-names = "uartclk", "apb_pclk";
  57. status = "disable";
  58. };
  59. uart2: serial@12102000 {
  60. compatible = "arm,pl011", "arm,primecell";
  61. reg = <0x12102000 0x1000>;
  62. interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
  63. clocks = <&crg HI3519_UART2_CLK>, <&crg HI3519_UART2_CLK>;
  64. clock-names = "uartclk", "apb_pclk";
  65. status = "disable";
  66. };
  67. uart3: serial@12103000 {
  68. compatible = "arm,pl011", "arm,primecell";
  69. reg = <0x12103000 0x1000>;
  70. interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
  71. clocks = <&crg HI3519_UART3_CLK>, <&crg HI3519_UART3_CLK>;
  72. clock-names = "uartclk", "apb_pclk";
  73. status = "disable";
  74. };
  75. uart4: serial@12104000 {
  76. compatible = "arm,pl011", "arm,primecell";
  77. reg = <0x12104000 0x1000>;
  78. interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
  79. clocks = <&crg HI3519_UART4_CLK>, <&crg HI3519_UART4_CLK>;
  80. clock-names = "uartclk", "apb_pclk";
  81. status = "disable";
  82. };
  83. dual_timer0: timer@12000000 {
  84. compatible = "arm,sp804", "arm,primecell";
  85. interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>,
  86. <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
  87. reg = <0x12000000 0x1000>;
  88. clocks = <&clk_3m>;
  89. clock-names = "apb_pclk";
  90. status = "disable";
  91. };
  92. dual_timer1: timer@12001000 {
  93. compatible = "arm,sp804", "arm,primecell";
  94. interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>,
  95. <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
  96. reg = <0x12001000 0x1000>;
  97. clocks = <&clk_3m>;
  98. clock-names = "apb_pclk";
  99. status = "disable";
  100. };
  101. dual_timer2: timer@12002000 {
  102. compatible = "arm,sp804", "arm,primecell";
  103. interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>,
  104. <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
  105. reg = <0x12002000 0x1000>;
  106. clocks = <&clk_3m>;
  107. clock-names = "apb_pclk";
  108. status = "disable";
  109. };
  110. spi_bus0: spi@12120000 {
  111. compatible = "arm,pl022", "arm,primecell";
  112. reg = <0x12120000 0x1000>;
  113. interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
  114. clocks = <&crg HI3519_SPI0_CLK>, <&crg HI3519_SPI0_CLK>;
  115. clock-names = "sspclk", "apb_pclk";
  116. num-cs = <1>;
  117. #address-cells = <1>;
  118. #size-cells = <0>;
  119. status = "disable";
  120. };
  121. spi_bus1: spi@12121000 {
  122. compatible = "arm,pl022", "arm,primecell";
  123. reg = <0x12121000 0x1000>;
  124. interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
  125. clocks = <&crg HI3519_SPI1_CLK>, <&crg HI3519_SPI1_CLK>;
  126. clock-names = "sspclk", "apb_pclk";
  127. num-cs = <1>;
  128. #address-cells = <1>;
  129. #size-cells = <0>;
  130. status = "disable";
  131. };
  132. spi_bus2: spi@12122000 {
  133. compatible = "arm,pl022", "arm,primecell";
  134. reg = <0x12122000 0x1000>;
  135. interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
  136. clocks = <&crg HI3519_SPI2_CLK>, <&crg HI3519_SPI2_CLK>;
  137. clock-names = "sspclk", "apb_pclk";
  138. num-cs = <1>;
  139. #address-cells = <1>;
  140. #size-cells = <0>;
  141. status = "disable";
  142. };
  143. sysctrl: system-controller@12020000 {
  144. compatible = "hisilicon,hi3519-sysctrl", "syscon";
  145. reg = <0x12020000 0x1000>;
  146. };
  147. reboot {
  148. compatible = "syscon-reboot";
  149. regmap = <&sysctrl>;
  150. offset = <0x4>;
  151. mask = <0xdeadbeef>;
  152. };
  153. };
  154. };