ep7209.dtsi 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201
  1. // SPDX-License-Identifier: GPL-2.0-or-later
  2. /dts-v1/;
  3. #include <dt-bindings/clock/clps711x-clock.h>
  4. / {
  5. #address-cells = <1>;
  6. #size-cells = <1>;
  7. model = "Cirrus Logic EP7209";
  8. compatible = "cirrus,ep7209";
  9. chosen { };
  10. aliases {
  11. gpio0 = &porta;
  12. gpio1 = &portb;
  13. gpio3 = &portd;
  14. gpio4 = &porte;
  15. serial0 = &uart1;
  16. serial1 = &uart2;
  17. spi0 = &spi;
  18. timer0 = &timer1;
  19. timer1 = &timer2;
  20. };
  21. cpus {
  22. #address-cells = <0>;
  23. #size-cells = <0>;
  24. cpu {
  25. device_type = "cpu";
  26. compatible = "arm,arm720t";
  27. };
  28. };
  29. soc {
  30. #address-cells = <1>;
  31. #size-cells = <1>;
  32. compatible = "simple-bus";
  33. interrupt-parent = <&intc>;
  34. ranges;
  35. clks: clks@80000000 {
  36. #clock-cells = <1>;
  37. compatible = "cirrus,ep7209-clk";
  38. reg = <0x80000000 0xc000>;
  39. startup-frequency = <73728000>;
  40. };
  41. intc: intc@80000000 {
  42. compatible = "cirrus,ep7209-intc";
  43. reg = <0x80000000 0x4000>;
  44. interrupt-controller;
  45. #interrupt-cells = <1>;
  46. };
  47. porta: gpio@80000000 {
  48. compatible = "cirrus,ep7209-gpio";
  49. reg = <0x80000000 0x1 0x80000040 0x1>;
  50. gpio-controller;
  51. #gpio-cells = <2>;
  52. };
  53. portb: gpio@80000001 {
  54. compatible = "cirrus,ep7209-gpio";
  55. reg = <0x80000001 0x1 0x80000041 0x1>;
  56. gpio-controller;
  57. #gpio-cells = <2>;
  58. };
  59. portd: gpio@80000003 {
  60. compatible = "cirrus,ep7209-gpio";
  61. reg = <0x80000003 0x1 0x80000043 0x1>;
  62. gpio-controller;
  63. #gpio-cells = <2>;
  64. };
  65. porte: gpio@80000083 {
  66. compatible = "cirrus,ep7209-gpio";
  67. reg = <0x80000083 0x1 0x800000c3 0x1>;
  68. gpio-controller;
  69. #gpio-cells = <2>;
  70. };
  71. syscon1: syscon@80000100 {
  72. compatible = "cirrus,ep7209-syscon1", "syscon";
  73. reg = <0x80000100 0x80>;
  74. };
  75. bus: bus@80000180 {
  76. #address-cells = <2>;
  77. #size-cells = <1>;
  78. compatible = "cirrus,ep7209-bus", "simple-bus";
  79. clocks = <&clks CLPS711X_CLK_BUS>;
  80. reg = <0x80000180 0x80>;
  81. ranges = <
  82. 0 0 0x00000000 0x10000000
  83. 1 0 0x10000000 0x10000000
  84. 2 0 0x20000000 0x10000000
  85. 3 0 0x30000000 0x10000000
  86. 4 0 0x40000000 0x10000000
  87. 5 0 0x50000000 0x10000000
  88. 6 0 0x60000000 0x0000c000
  89. 7 0 0x70000000 0x00000080
  90. >;
  91. };
  92. fb: fb@800002c0 {
  93. compatible = "cirrus,ep7209-fb";
  94. reg = <0x800002c0 0xd44>, <0x60000000 0xc000>;
  95. clocks = <&clks CLPS711X_CLK_BUS>;
  96. syscon = <&syscon1>;
  97. status = "disabled";
  98. };
  99. timer1: timer@80000300 {
  100. compatible = "cirrus,ep7209-timer";
  101. reg = <0x80000300 0x4>;
  102. clocks = <&clks CLPS711X_CLK_TIMER1>;
  103. interrupts = <8>;
  104. };
  105. timer2: timer@80000340 {
  106. compatible = "cirrus,ep7209-timer";
  107. reg = <0x80000340 0x4>;
  108. clocks = <&clks CLPS711X_CLK_TIMER2>;
  109. interrupts = <9>;
  110. };
  111. pwm: pwm@80000400 {
  112. compatible = "cirrus,ep7209-pwm";
  113. reg = <0x80000400 0x4>;
  114. clocks = <&clks CLPS711X_CLK_PWM>;
  115. #pwm-cells = <1>;
  116. };
  117. uart1: serial@80000480 {
  118. compatible = "cirrus,ep7209-uart";
  119. reg = <0x80000480 0x80>;
  120. interrupts = <12 13>;
  121. clocks = <&clks CLPS711X_CLK_UART>;
  122. syscon = <&syscon1>;
  123. };
  124. spi: spi@80000500 {
  125. #address-cells = <1>;
  126. #size-cells = <0>;
  127. compatible = "cirrus,ep7209-spi";
  128. reg = <0x80000500 0x4>;
  129. interrupts = <15>;
  130. clocks = <&clks CLPS711X_CLK_SPI>;
  131. syscon = <&syscon3>;
  132. status = "disabled";
  133. };
  134. syscon2: syscon@80001100 {
  135. compatible = "cirrus,ep7209-syscon2", "syscon";
  136. reg = <0x80001100 0x80>;
  137. };
  138. uart2: serial@80001480 {
  139. compatible = "cirrus,ep7209-uart";
  140. reg = <0x80001480 0x80>;
  141. interrupts = <28 29>;
  142. clocks = <&clks CLPS711X_CLK_UART>;
  143. syscon = <&syscon2>;
  144. };
  145. dai: dai@80002000 {
  146. #sound-dai-cells = <0>;
  147. compatible = "cirrus,ep7209-dai";
  148. reg = <0x80002000 0x604>;
  149. clocks = <&clks CLPS711X_CLK_PLL>;
  150. clock-names = "pll";
  151. interrupts = <32>;
  152. syscon = <&syscon3>;
  153. status = "disabled";
  154. };
  155. syscon3: syscon@80002200 {
  156. compatible = "cirrus,ep7209-syscon3", "syscon";
  157. reg = <0x80002200 0x40>;
  158. };
  159. };
  160. keypad: keypad {
  161. compatible = "cirrus,ep7209-keypad";
  162. interrupt-parent = <&intc>;
  163. interrupts = <16>;
  164. syscon = <&syscon1>;
  165. status = "disabled";
  166. };
  167. mctrl: mctrl {
  168. compatible = "cirrus,ep7209-mctrl-gpio";
  169. gpio,syscon-dev = <&syscon1 0 0>;
  170. gpio-controller;
  171. #gpio-cells = <2>;
  172. };
  173. };