mt8127.dtsi 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  1. /*
  2. * Copyright (c) 2014 MediaTek Inc.
  3. * Author: Joe.C <yingjoe.chen@mediatek.com>
  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. * published by the Free Software Foundation.
  8. *
  9. * This program is distributed in the hope that it will be useful,
  10. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. * GNU General Public License for more details.
  13. */
  14. #include <dt-bindings/interrupt-controller/irq.h>
  15. #include <dt-bindings/interrupt-controller/arm-gic.h>
  16. #include "skeleton64.dtsi"
  17. / {
  18. compatible = "mediatek,mt8127";
  19. interrupt-parent = <&sysirq>;
  20. cpus {
  21. #address-cells = <1>;
  22. #size-cells = <0>;
  23. enable-method = "mediatek,mt81xx-tz-smp";
  24. cpu@0 {
  25. device_type = "cpu";
  26. compatible = "arm,cortex-a7";
  27. reg = <0x0>;
  28. };
  29. cpu@1 {
  30. device_type = "cpu";
  31. compatible = "arm,cortex-a7";
  32. reg = <0x1>;
  33. };
  34. cpu@2 {
  35. device_type = "cpu";
  36. compatible = "arm,cortex-a7";
  37. reg = <0x2>;
  38. };
  39. cpu@3 {
  40. device_type = "cpu";
  41. compatible = "arm,cortex-a7";
  42. reg = <0x3>;
  43. };
  44. };
  45. reserved-memory {
  46. #address-cells = <2>;
  47. #size-cells = <2>;
  48. ranges;
  49. trustzone-bootinfo@80002000 {
  50. compatible = "mediatek,trustzone-bootinfo";
  51. reg = <0 0x80002000 0 0x1000>;
  52. };
  53. };
  54. clocks {
  55. #address-cells = <2>;
  56. #size-cells = <2>;
  57. compatible = "simple-bus";
  58. ranges;
  59. system_clk: dummy13m {
  60. compatible = "fixed-clock";
  61. clock-frequency = <13000000>;
  62. #clock-cells = <0>;
  63. };
  64. rtc_clk: dummy32k {
  65. compatible = "fixed-clock";
  66. clock-frequency = <32000>;
  67. #clock-cells = <0>;
  68. };
  69. uart_clk: dummy26m {
  70. compatible = "fixed-clock";
  71. clock-frequency = <26000000>;
  72. #clock-cells = <0>;
  73. };
  74. };
  75. timer {
  76. compatible = "arm,armv7-timer";
  77. interrupt-parent = <&gic>;
  78. interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) |
  79. IRQ_TYPE_LEVEL_LOW)>,
  80. <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) |
  81. IRQ_TYPE_LEVEL_LOW)>,
  82. <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) |
  83. IRQ_TYPE_LEVEL_LOW)>,
  84. <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) |
  85. IRQ_TYPE_LEVEL_LOW)>;
  86. clock-frequency = <13000000>;
  87. arm,cpu-registers-not-fw-configured;
  88. };
  89. soc {
  90. #address-cells = <2>;
  91. #size-cells = <2>;
  92. compatible = "simple-bus";
  93. ranges;
  94. timer: timer@10008000 {
  95. compatible = "mediatek,mt8127-timer",
  96. "mediatek,mt6577-timer";
  97. reg = <0 0x10008000 0 0x80>;
  98. interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_LOW>;
  99. clocks = <&system_clk>, <&rtc_clk>;
  100. clock-names = "system-clk", "rtc-clk";
  101. };
  102. sysirq: interrupt-controller@10200100 {
  103. compatible = "mediatek,mt8127-sysirq",
  104. "mediatek,mt6577-sysirq";
  105. interrupt-controller;
  106. #interrupt-cells = <3>;
  107. interrupt-parent = <&gic>;
  108. reg = <0 0x10200100 0 0x1c>;
  109. };
  110. gic: interrupt-controller@10211000 {
  111. compatible = "arm,cortex-a7-gic";
  112. interrupt-controller;
  113. #interrupt-cells = <3>;
  114. interrupt-parent = <&gic>;
  115. reg = <0 0x10211000 0 0x1000>,
  116. <0 0x10212000 0 0x1000>,
  117. <0 0x10214000 0 0x2000>,
  118. <0 0x10216000 0 0x2000>;
  119. };
  120. uart0: serial@11002000 {
  121. compatible = "mediatek,mt8127-uart","mediatek,mt6577-uart";
  122. reg = <0 0x11002000 0 0x400>;
  123. interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_LOW>;
  124. clocks = <&uart_clk>;
  125. status = "disabled";
  126. };
  127. uart1: serial@11003000 {
  128. compatible = "mediatek,mt8127-uart","mediatek,mt6577-uart";
  129. reg = <0 0x11003000 0 0x400>;
  130. interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_LOW>;
  131. clocks = <&uart_clk>;
  132. status = "disabled";
  133. };
  134. uart2: serial@11004000 {
  135. compatible = "mediatek,mt8127-uart","mediatek,mt6577-uart";
  136. reg = <0 0x11004000 0 0x400>;
  137. interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_LOW>;
  138. clocks = <&uart_clk>;
  139. status = "disabled";
  140. };
  141. uart3: serial@11005000 {
  142. compatible = "mediatek,mt8127-uart","mediatek,mt6577-uart";
  143. reg = <0 0x11005000 0 0x400>;
  144. interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_LOW>;
  145. clocks = <&uart_clk>;
  146. status = "disabled";
  147. };
  148. };
  149. };