1 // SPDX-License-Identifier: GPL-2.0
2 #include <dt-bindings/clock/mt7628-clk.h>
3 #include <dt-bindings/reset/mt7628-reset.h>
8 compatible = "ralink,mt7628a-soc";
15 compatible = "mti,mips24KEc";
21 cpuintc: interrupt-controller {
23 #interrupt-cells = <1>;
25 compatible = "mti,cpu-interrupt-controller";
29 compatible = "palmbus", "simple-bus";
30 reg = <0x10000000 0x200000>;
31 ranges = <0x0 0x10000000 0x1FFFFF>;
36 sysc: system-controller@0 {
37 compatible = "ralink,mt7620a-sysc", "syscon";
42 compatible = "syscon-reboot";
48 clkctrl: clkctrl@0x2c {
49 reg = <0x2c 0x8>, <0x10 0x4>;
50 reg-names = "syscfg0", "clkcfg";
51 compatible = "mediatek,mt7628-clk";
56 rstctrl: rstctrl@0x34 {
58 compatible = "mediatek,mtmips-reset";
63 compatible = "mediatek,mt7628-pinctrl";
64 reg = <0x3c 0x2c>, <0x1300 0x100>;
65 reg-names = "gpiomode", "padconf";
67 pinctrl-names = "default";
68 pinctrl-0 = <&state_default>;
70 state_default: pin_state {
73 spi_single_pins: spi_single_pins {
78 spi_dual_pins: spi_dual_pins {
90 uart0_pins: uart0_pins {
95 uart1_pins: uart1_pins {
100 uart2_pins: uart2_pins {
110 ephy_iot_mode: ephy_iot_mode {
112 groups = "ephy4_1_pad";
113 function = "digital";
122 ephy_router_mode: ephy_router_mode {
124 groups = "ephy4_1_pad";
134 sd_iot_mode: sd_iot_mode {
136 groups = "ephy4_1_pad";
137 function = "digital";
146 groups = "sd router";
152 drive-strength-4g = <8>;
156 sd_router_mode: sd_router_mode {
158 groups = "sd router";
163 groups = "gpio0", "i2s", "sdmode", \
170 drive-strength-28 = <8>;
174 emmc_iot_8bit_mode: emmc_iot_8bit_mode {
176 groups = "ephy4_1_pad";
177 function = "digital";
186 groups = "sd router";
192 function = "sdxc d5 d4";
197 function = "sdxc d6";
202 function = "sdxc d7";
207 drive-strength-4g = <8>;
212 watchdog: watchdog@100 {
213 compatible = "ralink,mt7628a-wdt", "mediatek,mt7621-wdt";
216 resets = <&rstctrl MT7628_TIMER_RST>;
219 interrupt-parent = <&intc>;
223 intc: interrupt-controller@200 {
224 compatible = "ralink,rt2880-intc";
227 interrupt-controller;
228 #interrupt-cells = <1>;
230 resets = <&rstctrl MT7628_INT_RST>;
231 reset-names = "intc";
233 interrupt-parent = <&cpuintc>;
236 ralink,intc-registers = <0x9c 0xa0
241 memory-controller@300 {
242 compatible = "ralink,mt7620a-memc";
247 #address-cells = <1>;
250 compatible = "mtk,mt7628-gpio", "mtk,mt7621-gpio";
253 resets = <&rstctrl MT7628_PIO_RST>;
256 interrupt-parent = <&intc>;
261 compatible = "mtk,mt7621-gpio-bank";
268 compatible = "mtk,mt7621-gpio-bank";
275 compatible = "mtk,mt7621-gpio-bank";
282 compatible = "ralink,mt7621-spi";
285 resets = <&rstctrl MT7628_SPI_RST>;
288 #address-cells = <1>;
291 clocks = <&clkctrl CLK_SPI>;
294 uart0: uartlite@c00 {
295 compatible = "mediatek,hsuart", "ns16550a";
298 pinctrl-names = "default";
299 pinctrl-0 = <&uart0_pins>;
301 clocks = <&clkctrl CLK_UART0>;
303 resets = <&rstctrl MT7628_UART0_RST>;
304 reset-names = "uart0";
306 interrupt-parent = <&intc>;
313 compatible = "mediatek,hsuart", "ns16550a";
316 pinctrl-names = "default";
317 pinctrl-0 = <&uart1_pins>;
319 clocks = <&clkctrl CLK_UART1>;
321 resets = <&rstctrl MT7628_UART1_RST>;
322 reset-names = "uart1";
324 interrupt-parent = <&intc>;
331 compatible = "mediatek,hsuart", "ns16550a";
334 pinctrl-names = "default";
335 pinctrl-0 = <&uart2_pins>;
337 clocks = <&clkctrl CLK_UART2>;
339 resets = <&rstctrl MT7628_UART2_RST>;
340 reset-names = "uart2";
342 interrupt-parent = <&intc>;
350 compatible = "mediatek,mt7628-eth";
351 reg = <0x10100000 0x10000
354 resets = <&rstctrl MT7628_EPHY_RST>;
355 reset-names = "ephy";
360 usb_phy: usb-phy@10120000 {
361 compatible = "mediatek,mt7628-usbphy";
362 reg = <0x10120000 0x1000>;
366 ralink,sysctl = <&sysc>;
368 resets = <&rstctrl MT7628_UPHY_RST>;
371 clocks = <&clkctrl CLK_UPHY>;
376 compatible = "generic-ehci";
377 reg = <0x101c0000 0x1000>;
382 interrupt-parent = <&intc>;