sun7i-a20.dtsi 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205
  1. /*
  2. * Copyright 2013 Maxime Ripard
  3. *
  4. * Maxime Ripard <maxime.ripard@free-electrons.com>
  5. *
  6. * The code contained herein is licensed under the GNU General Public
  7. * License. You may obtain a copy of the GNU General Public License
  8. * Version 2 or later at the following locations:
  9. *
  10. * http://www.opensource.org/licenses/gpl-license.html
  11. * http://www.gnu.org/copyleft/gpl.html
  12. */
  13. /include/ "skeleton.dtsi"
  14. / {
  15. interrupt-parent = <&gic>;
  16. cpus {
  17. #address-cells = <1>;
  18. #size-cells = <0>;
  19. cpu@0 {
  20. compatible = "arm,cortex-a7";
  21. device_type = "cpu";
  22. reg = <0>;
  23. };
  24. cpu@1 {
  25. compatible = "arm,cortex-a7";
  26. device_type = "cpu";
  27. reg = <1>;
  28. };
  29. };
  30. memory {
  31. reg = <0x40000000 0x80000000>;
  32. };
  33. clocks {
  34. #address-cells = <1>;
  35. #size-cells = <1>;
  36. ranges;
  37. osc24M: osc24M@01c20050 {
  38. #clock-cells = <0>;
  39. compatible = "fixed-clock";
  40. clock-frequency = <24000000>;
  41. };
  42. osc32k: osc32k {
  43. #clock-cells = <0>;
  44. compatible = "fixed-clock";
  45. clock-frequency = <32768>;
  46. };
  47. };
  48. soc@01c00000 {
  49. compatible = "simple-bus";
  50. #address-cells = <1>;
  51. #size-cells = <1>;
  52. ranges;
  53. pio: pinctrl@01c20800 {
  54. compatible = "allwinner,sun7i-a20-pinctrl";
  55. reg = <0x01c20800 0x400>;
  56. interrupts = <0 28 1>;
  57. clocks = <&osc24M>;
  58. gpio-controller;
  59. interrupt-controller;
  60. #address-cells = <1>;
  61. #size-cells = <0>;
  62. #gpio-cells = <3>;
  63. uart0_pins_a: uart0@0 {
  64. allwinner,pins = "PB22", "PB23";
  65. allwinner,function = "uart0";
  66. allwinner,drive = <0>;
  67. allwinner,pull = <0>;
  68. };
  69. uart6_pins_a: uart6@0 {
  70. allwinner,pins = "PI12", "PI13";
  71. allwinner,function = "uart6";
  72. allwinner,drive = <0>;
  73. allwinner,pull = <0>;
  74. };
  75. uart7_pins_a: uart7@0 {
  76. allwinner,pins = "PI20", "PI21";
  77. allwinner,function = "uart7";
  78. allwinner,drive = <0>;
  79. allwinner,pull = <0>;
  80. };
  81. };
  82. timer@01c20c00 {
  83. compatible = "allwinner,sun4i-timer";
  84. reg = <0x01c20c00 0x90>;
  85. interrupts = <0 22 1>,
  86. <0 23 1>,
  87. <0 24 1>,
  88. <0 25 1>,
  89. <0 67 1>,
  90. <0 68 1>;
  91. clocks = <&osc24M>;
  92. };
  93. wdt: watchdog@01c20c90 {
  94. compatible = "allwinner,sun4i-wdt";
  95. reg = <0x01c20c90 0x10>;
  96. };
  97. uart0: serial@01c28000 {
  98. compatible = "snps,dw-apb-uart";
  99. reg = <0x01c28000 0x400>;
  100. interrupts = <0 1 1>;
  101. reg-shift = <2>;
  102. reg-io-width = <4>;
  103. clocks = <&osc24M>;
  104. status = "disabled";
  105. };
  106. uart1: serial@01c28400 {
  107. compatible = "snps,dw-apb-uart";
  108. reg = <0x01c28400 0x400>;
  109. interrupts = <0 2 1>;
  110. reg-shift = <2>;
  111. reg-io-width = <4>;
  112. clocks = <&osc24M>;
  113. status = "disabled";
  114. };
  115. uart2: serial@01c28800 {
  116. compatible = "snps,dw-apb-uart";
  117. reg = <0x01c28800 0x400>;
  118. interrupts = <0 3 1>;
  119. reg-shift = <2>;
  120. reg-io-width = <4>;
  121. clocks = <&osc24M>;
  122. status = "disabled";
  123. };
  124. uart3: serial@01c28c00 {
  125. compatible = "snps,dw-apb-uart";
  126. reg = <0x01c28c00 0x400>;
  127. interrupts = <0 4 1>;
  128. reg-shift = <2>;
  129. reg-io-width = <4>;
  130. clocks = <&osc24M>;
  131. status = "disabled";
  132. };
  133. uart4: serial@01c29000 {
  134. compatible = "snps,dw-apb-uart";
  135. reg = <0x01c29000 0x400>;
  136. interrupts = <0 17 1>;
  137. reg-shift = <2>;
  138. reg-io-width = <4>;
  139. clocks = <&osc24M>;
  140. status = "disabled";
  141. };
  142. uart5: serial@01c29400 {
  143. compatible = "snps,dw-apb-uart";
  144. reg = <0x01c29400 0x400>;
  145. interrupts = <0 18 1>;
  146. reg-shift = <2>;
  147. reg-io-width = <4>;
  148. clocks = <&osc24M>;
  149. status = "disabled";
  150. };
  151. uart6: serial@01c29800 {
  152. compatible = "snps,dw-apb-uart";
  153. reg = <0x01c29800 0x400>;
  154. interrupts = <0 19 1>;
  155. reg-shift = <2>;
  156. reg-io-width = <4>;
  157. clocks = <&osc24M>;
  158. status = "disabled";
  159. };
  160. uart7: serial@01c29c00 {
  161. compatible = "snps,dw-apb-uart";
  162. reg = <0x01c29c00 0x400>;
  163. interrupts = <0 20 1>;
  164. reg-shift = <2>;
  165. reg-io-width = <4>;
  166. clocks = <&osc24M>;
  167. status = "disabled";
  168. };
  169. gic: interrupt-controller@01c81000 {
  170. compatible = "arm,cortex-a7-gic", "arm,cortex-a15-gic";
  171. reg = <0x01c81000 0x1000>,
  172. <0x01c82000 0x1000>,
  173. <0x01c84000 0x2000>,
  174. <0x01c86000 0x2000>;
  175. interrupt-controller;
  176. #interrupt-cells = <3>;
  177. interrupts = <1 9 0xf04>;
  178. };
  179. };
  180. };