mt7620.dtsi 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296
  1. // SPDX-License-Identifier: GPL-2.0
  2. #include <dt-bindings/clock/mt7620-clk.h>
  3. #include <dt-bindings/reset/mt7620-reset.h>
  4. / {
  5. #address-cells = <1>;
  6. #size-cells = <1>;
  7. compatible = "mediatek,mt7620-soc";
  8. cpus {
  9. #address-cells = <1>;
  10. #size-cells = <0>;
  11. cpu@0 {
  12. compatible = "mti,mips24KEc";
  13. device_type = "cpu";
  14. reg = <0>;
  15. };
  16. };
  17. clk48m: clk48m@0 {
  18. compatible = "fixed-clock";
  19. clock-frequency = <48000000>;
  20. #clock-cells = <0>;
  21. };
  22. sysc: sysc@10000000 {
  23. compatible = "mediatek,mt7620-sysc";
  24. reg = <0x10000000 0x100>;
  25. };
  26. clkctrl: clkctrl@10000030 {
  27. compatible = "mediatek,mt7620-clk";
  28. mediatek,sysc = <&sysc>;
  29. #clock-cells = <1>;
  30. };
  31. rstctrl: rstctrl@10000034 {
  32. compatible = "mediatek,mtmips-reset";
  33. reg = <0x10000034 0x4>;
  34. #reset-cells = <1>;
  35. };
  36. reboot: resetctl-reboot {
  37. compatible = "resetctl-reboot";
  38. resets = <&rstctrl SYS_RST>;
  39. reset-names = "sysreset";
  40. };
  41. uartfull: uartfull@10000500 {
  42. compatible = "mediatek,mt7620-uart";
  43. reg = <10000500 0x100>;
  44. pinctrl-names = "default";
  45. pinctrl-0 = <&uartf_gpio_pins>;
  46. clocks = <&clkctrl CLK_UARTF>;
  47. resets = <&rstctrl UARTF_RST>;
  48. reset-names = "uartf";
  49. clock-frequency = <40000000>;
  50. status = "disabled";
  51. };
  52. uartlite: uartlite@10000c00 {
  53. compatible = "mediatek,mt7620-uart";
  54. reg = <0x10000c00 0x100>;
  55. pinctrl-names = "default";
  56. pinctrl-0 = <&uartl_pins>;
  57. clocks = <&clkctrl CLK_UARTL>;
  58. resets = <&rstctrl UARTL_RST>;
  59. reset-names = "uartl";
  60. clock-frequency = <40000000>;
  61. };
  62. pinctrl: pinctrl@10000060 {
  63. compatible = "mediatek,mt7620-pinctrl";
  64. reg = <0x10000060 0x4>;
  65. pinctrl-names = "default";
  66. pinctrl-0 = <&state_default>;
  67. state_default: pin_state {
  68. sutif_pins {
  69. groups = "sutif";
  70. function = "none";
  71. };
  72. };
  73. nand_pins: nand_pins {
  74. groups = "nand";
  75. function = "nand";
  76. };
  77. sd_pins: sd_pins {
  78. groups = "nand";
  79. function = "sd";
  80. };
  81. spi_single_pins: spi_single_pins {
  82. groups = "spi";
  83. function = "spi";
  84. };
  85. spi_dual_pins: spi_dual_pins {
  86. spi_master_pins {
  87. groups = "spi";
  88. function = "spi";
  89. };
  90. spi_cs1_pin {
  91. groups = "spi cs1";
  92. function = "spi cs1";
  93. };
  94. };
  95. uartl_pins: uartl_pins {
  96. groups = "uartl";
  97. function = "uartl";
  98. };
  99. uartf_pins: uartf_pins {
  100. groups = "uartf";
  101. function = "uartf";
  102. };
  103. uartf_pcm_pins: uartf_pcm_pins {
  104. groups = "uartf";
  105. function = "uartf pcm";
  106. };
  107. uartf_i2s_pins: uartf_i2s_pins {
  108. groups = "uartf";
  109. function = "i2s uartf";
  110. };
  111. uartf_gpio_pins: uartf_gpio_pins {
  112. groups = "uartf";
  113. function = "uartf gpio";
  114. };
  115. };
  116. watchdog: watchdog@10000120 {
  117. compatible = "mediatek,mt7620-wdt";
  118. reg = <0x10000120 0x10>;
  119. resets = <&rstctrl TIMER_RST>;
  120. reset-names = "wdt";
  121. };
  122. gpio0: gpio0@10000600 {
  123. compatible = "mediatek,mt7620-gpio";
  124. reg = <0x10000600 0x34>;
  125. resets = <&rstctrl PIO_RST>;
  126. reset-names = "pio";
  127. mediatek,bank-name = "PIOA";
  128. mediatek,gpio-num = <24>;
  129. mediatek,register-map = <0x20 0x24 0x2c 0x30>;
  130. gpio-controller;
  131. #gpio-cells = <2>;
  132. };
  133. gpio1: gpio1@10000638 {
  134. compatible = "mediatek,mt7620-gpio";
  135. reg = <0x10000638 0x24>;
  136. resets = <&rstctrl PIO_RST>;
  137. reset-names = "pio";
  138. mediatek,bank-name = "PIOB";
  139. mediatek,gpio-num = <16>;
  140. mediatek,register-map = <0x10 0x14 0x1c 0x20>;
  141. gpio-controller;
  142. #gpio-cells = <2>;
  143. };
  144. gpio2: gpio2@10000660 {
  145. compatible = "mediatek,mt7620-gpio";
  146. reg = <0x10000660 0x24>;
  147. resets = <&rstctrl PIO_RST>;
  148. reset-names = "pio";
  149. mediatek,bank-name = "PIOC";
  150. mediatek,gpio-num = <32>;
  151. mediatek,register-map = <0x10 0x14 0x1c 0x20>;
  152. gpio-controller;
  153. #gpio-cells = <2>;
  154. };
  155. gpio3: gpio3@10000688 {
  156. compatible = "mediatek,mt7620-gpio";
  157. reg = <0x10000688 0x24>;
  158. resets = <&rstctrl PIO_RST>;
  159. reset-names = "pio";
  160. mediatek,bank-name = "PIOD";
  161. mediatek,gpio-num = <1>;
  162. mediatek,register-map = <0x10 0x14 0x1c 0x20>;
  163. gpio-controller;
  164. #gpio-cells = <2>;
  165. };
  166. spi0: spi@10000b00 {
  167. compatible = "mediatek,mt7620-spi";
  168. reg = <0x10000b00 0x100>;
  169. pinctrl-names = "default";
  170. pinctrl-0 = <&spi_single_pins>;
  171. resets = <&rstctrl SPI_RST>;
  172. reset-names = "spi";
  173. #address-cells = <1>;
  174. #size-cells = <0>;
  175. clocks = <&clkctrl CLK_SPI>;
  176. };
  177. eth: eth@10100000 {
  178. compatible = "mediatek,mt7620-eth";
  179. reg = <0x10100000 0x10000
  180. 0x10110000 0x8000>;
  181. reg-names = "fe", "esw";
  182. mediatek,sysc = <&sysc>;
  183. resets = <&rstctrl EPHY_RST>,
  184. <&rstctrl ESW_RST>,
  185. <&rstctrl FE_RST>;
  186. reset-names = "ephy", "esw", "fe";
  187. clocks = <&clkctrl CLK_EPHY>,
  188. <&clkctrl CLK_ESW>,
  189. <&clkctrl CLK_FE>;
  190. clock-names = "ephy", "esw", "fe";
  191. status = "disabled";
  192. };
  193. usb_phy: mt7620-usb-phy {
  194. compatible = "mediatek,mt7620-usbphy";
  195. #phy-cells = <0>;
  196. mediatek,sysc = <&sysc>;
  197. clocks = <&clkctrl CLK_UPHY_48M>, <&clkctrl CLK_UPHY_12M>;
  198. clock-names = "uphy48m", "uphy12m";
  199. resets = <&rstctrl UHST_RST>, <&rstctrl UDEV_RST>;
  200. reset-names = "uhst", "udev";
  201. };
  202. ehci@101c0000 {
  203. compatible = "generic-ehci";
  204. reg = <0x101c0000 0x1000>;
  205. phys = <&usb_phy>;
  206. phy-names = "usb";
  207. };
  208. mmc: mmc@10130000 {
  209. compatible = "mediatek,mt7620-mmc";
  210. reg = <0x10130000 0x4000>;
  211. builtin-cd = <1>;
  212. r_smpl = <1>;
  213. pinctrl-names = "default";
  214. pinctrl-0 = <&sd_pins>;
  215. clocks = <&clk48m>, <&clkctrl CLK_SDHC>;
  216. clock-names = "source", "hclk";
  217. resets = <&rstctrl SDHC_RST>;
  218. status = "disabled";
  219. };
  220. };