162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci
362306a36Sopenharmony_ci/ {
462306a36Sopenharmony_ci	#address-cells = <1>;
562306a36Sopenharmony_ci	#size-cells = <1>;
662306a36Sopenharmony_ci	compatible = "ralink,mt7628a-soc";
762306a36Sopenharmony_ci
862306a36Sopenharmony_ci	cpus {
962306a36Sopenharmony_ci		#address-cells = <1>;
1062306a36Sopenharmony_ci		#size-cells = <0>;
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ci		cpu@0 {
1362306a36Sopenharmony_ci			compatible = "mti,mips24KEc";
1462306a36Sopenharmony_ci			device_type = "cpu";
1562306a36Sopenharmony_ci			reg = <0>;
1662306a36Sopenharmony_ci		};
1762306a36Sopenharmony_ci	};
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ci	resetc: reset-controller {
2062306a36Sopenharmony_ci		compatible = "ralink,rt2880-reset";
2162306a36Sopenharmony_ci		#reset-cells = <1>;
2262306a36Sopenharmony_ci	};
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ci	cpuintc: interrupt-controller {
2562306a36Sopenharmony_ci		#address-cells = <0>;
2662306a36Sopenharmony_ci		#interrupt-cells = <1>;
2762306a36Sopenharmony_ci		interrupt-controller;
2862306a36Sopenharmony_ci		compatible = "mti,cpu-interrupt-controller";
2962306a36Sopenharmony_ci	};
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ci	palmbus@10000000 {
3262306a36Sopenharmony_ci		compatible = "palmbus";
3362306a36Sopenharmony_ci		reg = <0x10000000 0x200000>;
3462306a36Sopenharmony_ci		ranges = <0x0 0x10000000 0x1FFFFF>;
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ci		#address-cells = <1>;
3762306a36Sopenharmony_ci		#size-cells = <1>;
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_ci		sysc: system-controller@0 {
4062306a36Sopenharmony_ci			compatible = "ralink,mt7620a-sysc", "syscon";
4162306a36Sopenharmony_ci			reg = <0x0 0x60>;
4262306a36Sopenharmony_ci		};
4362306a36Sopenharmony_ci
4462306a36Sopenharmony_ci		pinmux: pinmux@60 {
4562306a36Sopenharmony_ci			compatible = "pinctrl-single";
4662306a36Sopenharmony_ci			reg = <0x60 0x8>;
4762306a36Sopenharmony_ci			#address-cells = <1>;
4862306a36Sopenharmony_ci			#size-cells = <0>;
4962306a36Sopenharmony_ci			#pinctrl-cells = <2>;
5062306a36Sopenharmony_ci			pinctrl-single,bit-per-mux;
5162306a36Sopenharmony_ci			pinctrl-single,register-width = <32>;
5262306a36Sopenharmony_ci			pinctrl-single,function-mask = <0x1>;
5362306a36Sopenharmony_ci
5462306a36Sopenharmony_ci			pinmux_gpio_gpio: gpio-gpio-pins {
5562306a36Sopenharmony_ci				pinctrl-single,bits = <0x0 0x0 0x3>;
5662306a36Sopenharmony_ci			};
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_ci			pinmux_spi_cs1_cs: spi-cs1-cs-pins {
5962306a36Sopenharmony_ci				pinctrl-single,bits = <0x0 0x0 0x30>;
6062306a36Sopenharmony_ci			};
6162306a36Sopenharmony_ci
6262306a36Sopenharmony_ci			pinmux_i2s_gpio: i2s-gpio-pins {
6362306a36Sopenharmony_ci				pinctrl-single,bits = <0x0 0x40 0xc0>;
6462306a36Sopenharmony_ci			};
6562306a36Sopenharmony_ci
6662306a36Sopenharmony_ci			pinmux_uart0_uart: uart0-uart0-pins {
6762306a36Sopenharmony_ci				pinctrl-single,bits = <0x0 0x0 0x300>;
6862306a36Sopenharmony_ci			};
6962306a36Sopenharmony_ci
7062306a36Sopenharmony_ci			pinmux_sdmode_sdxc: sdmode-sdxc-pins {
7162306a36Sopenharmony_ci				pinctrl-single,bits = <0x0 0x0 0xc00>;
7262306a36Sopenharmony_ci			};
7362306a36Sopenharmony_ci
7462306a36Sopenharmony_ci			pinmux_sdmode_gpio: sdmode-gpio-pins {
7562306a36Sopenharmony_ci				pinctrl-single,bits = <0x0 0x400 0xc00>;
7662306a36Sopenharmony_ci			};
7762306a36Sopenharmony_ci
7862306a36Sopenharmony_ci			pinmux_spi_spi: spi-spi-pins {
7962306a36Sopenharmony_ci				pinctrl-single,bits = <0x0 0x0 0x1000>;
8062306a36Sopenharmony_ci			};
8162306a36Sopenharmony_ci
8262306a36Sopenharmony_ci			pinmux_refclk_gpio: refclk-gpio-pins {
8362306a36Sopenharmony_ci				pinctrl-single,bits = <0x0 0x40000 0x40000>;
8462306a36Sopenharmony_ci			};
8562306a36Sopenharmony_ci
8662306a36Sopenharmony_ci			pinmux_i2c_i2c: i2c-i2c-pins {
8762306a36Sopenharmony_ci				pinctrl-single,bits = <0x0 0x0 0x300000>;
8862306a36Sopenharmony_ci			};
8962306a36Sopenharmony_ci
9062306a36Sopenharmony_ci			pinmux_uart1_uart: uart1-uart1-pins {
9162306a36Sopenharmony_ci				pinctrl-single,bits = <0x0 0x0 0x3000000>;
9262306a36Sopenharmony_ci			};
9362306a36Sopenharmony_ci
9462306a36Sopenharmony_ci			pinmux_uart2_uart: uart2-uart-pins {
9562306a36Sopenharmony_ci				pinctrl-single,bits = <0x0 0x0 0xc000000>;
9662306a36Sopenharmony_ci			};
9762306a36Sopenharmony_ci
9862306a36Sopenharmony_ci			pinmux_pwm0_pwm: pwm0-pwm-pins {
9962306a36Sopenharmony_ci				pinctrl-single,bits = <0x0 0x0 0x30000000>;
10062306a36Sopenharmony_ci			};
10162306a36Sopenharmony_ci
10262306a36Sopenharmony_ci			pinmux_pwm0_gpio: pwm0-gpio-pins {
10362306a36Sopenharmony_ci				pinctrl-single,bits = <0x0 0x10000000
10462306a36Sopenharmony_ci						       0x30000000>;
10562306a36Sopenharmony_ci			};
10662306a36Sopenharmony_ci
10762306a36Sopenharmony_ci			pinmux_pwm1_pwm: pwm1-pwm-pins {
10862306a36Sopenharmony_ci				pinctrl-single,bits = <0x0 0x0 0xc0000000>;
10962306a36Sopenharmony_ci			};
11062306a36Sopenharmony_ci
11162306a36Sopenharmony_ci			pinmux_pwm1_gpio: pwm1-gpio-pins {
11262306a36Sopenharmony_ci				pinctrl-single,bits = <0x0 0x40000000
11362306a36Sopenharmony_ci						       0xc0000000>;
11462306a36Sopenharmony_ci			};
11562306a36Sopenharmony_ci
11662306a36Sopenharmony_ci			pinmux_p0led_an_gpio: p0led-an-gpio-pins {
11762306a36Sopenharmony_ci				pinctrl-single,bits = <0x4 0x4 0xc>;
11862306a36Sopenharmony_ci			};
11962306a36Sopenharmony_ci
12062306a36Sopenharmony_ci			pinmux_p1led_an_gpio: p1led-an-gpio-pins {
12162306a36Sopenharmony_ci				pinctrl-single,bits = <0x4 0x10 0x30>;
12262306a36Sopenharmony_ci			};
12362306a36Sopenharmony_ci
12462306a36Sopenharmony_ci			pinmux_p2led_an_gpio: p2led-an-gpio-pins {
12562306a36Sopenharmony_ci				pinctrl-single,bits = <0x4 0x40 0xc0>;
12662306a36Sopenharmony_ci			};
12762306a36Sopenharmony_ci
12862306a36Sopenharmony_ci			pinmux_p3led_an_gpio: p3led-an-gpio-pins {
12962306a36Sopenharmony_ci				pinctrl-single,bits = <0x4 0x100 0x300>;
13062306a36Sopenharmony_ci			};
13162306a36Sopenharmony_ci
13262306a36Sopenharmony_ci			pinmux_p4led_an_gpio: p4led-an-gpio-pins {
13362306a36Sopenharmony_ci				pinctrl-single,bits = <0x4 0x400 0xc00>;
13462306a36Sopenharmony_ci			};
13562306a36Sopenharmony_ci		};
13662306a36Sopenharmony_ci
13762306a36Sopenharmony_ci		watchdog: watchdog@100 {
13862306a36Sopenharmony_ci			compatible = "mediatek,mt7621-wdt";
13962306a36Sopenharmony_ci			reg = <0x100 0x30>;
14062306a36Sopenharmony_ci
14162306a36Sopenharmony_ci			resets = <&resetc 8>;
14262306a36Sopenharmony_ci			reset-names = "wdt";
14362306a36Sopenharmony_ci
14462306a36Sopenharmony_ci			interrupt-parent = <&intc>;
14562306a36Sopenharmony_ci			interrupts = <24>;
14662306a36Sopenharmony_ci
14762306a36Sopenharmony_ci			status = "disabled";
14862306a36Sopenharmony_ci		};
14962306a36Sopenharmony_ci
15062306a36Sopenharmony_ci		intc: interrupt-controller@200 {
15162306a36Sopenharmony_ci			compatible = "ralink,rt2880-intc";
15262306a36Sopenharmony_ci			reg = <0x200 0x100>;
15362306a36Sopenharmony_ci
15462306a36Sopenharmony_ci			interrupt-controller;
15562306a36Sopenharmony_ci			#interrupt-cells = <1>;
15662306a36Sopenharmony_ci
15762306a36Sopenharmony_ci			resets = <&resetc 9>;
15862306a36Sopenharmony_ci			reset-names = "intc";
15962306a36Sopenharmony_ci
16062306a36Sopenharmony_ci			interrupt-parent = <&cpuintc>;
16162306a36Sopenharmony_ci			interrupts = <2>;
16262306a36Sopenharmony_ci
16362306a36Sopenharmony_ci			ralink,intc-registers = <0x9c 0xa0
16462306a36Sopenharmony_ci						 0x6c 0xa4
16562306a36Sopenharmony_ci						 0x80 0x78>;
16662306a36Sopenharmony_ci		};
16762306a36Sopenharmony_ci
16862306a36Sopenharmony_ci		memory-controller@300 {
16962306a36Sopenharmony_ci			compatible = "ralink,mt7620a-memc";
17062306a36Sopenharmony_ci			reg = <0x300 0x100>;
17162306a36Sopenharmony_ci		};
17262306a36Sopenharmony_ci
17362306a36Sopenharmony_ci		gpio: gpio@600 {
17462306a36Sopenharmony_ci			compatible = "mediatek,mt7621-gpio";
17562306a36Sopenharmony_ci			reg = <0x600 0x100>;
17662306a36Sopenharmony_ci
17762306a36Sopenharmony_ci			gpio-controller;
17862306a36Sopenharmony_ci			interrupt-controller;
17962306a36Sopenharmony_ci			#gpio-cells = <2>;
18062306a36Sopenharmony_ci			#interrupt-cells = <2>;
18162306a36Sopenharmony_ci
18262306a36Sopenharmony_ci			interrupt-parent = <&intc>;
18362306a36Sopenharmony_ci			interrupts = <6>;
18462306a36Sopenharmony_ci		};
18562306a36Sopenharmony_ci
18662306a36Sopenharmony_ci		spi: spi@b00 {
18762306a36Sopenharmony_ci			compatible = "ralink,mt7621-spi";
18862306a36Sopenharmony_ci			reg = <0xb00 0x100>;
18962306a36Sopenharmony_ci
19062306a36Sopenharmony_ci			pinctrl-names = "default";
19162306a36Sopenharmony_ci			pinctrl-0 = <&pinmux_spi_spi>;
19262306a36Sopenharmony_ci
19362306a36Sopenharmony_ci			resets = <&resetc 18>;
19462306a36Sopenharmony_ci			reset-names = "spi";
19562306a36Sopenharmony_ci
19662306a36Sopenharmony_ci			#address-cells = <1>;
19762306a36Sopenharmony_ci			#size-cells = <0>;
19862306a36Sopenharmony_ci
19962306a36Sopenharmony_ci			status = "disabled";
20062306a36Sopenharmony_ci		};
20162306a36Sopenharmony_ci
20262306a36Sopenharmony_ci		i2c: i2c@900 {
20362306a36Sopenharmony_ci			compatible = "mediatek,mt7621-i2c";
20462306a36Sopenharmony_ci			reg = <0x900 0x100>;
20562306a36Sopenharmony_ci
20662306a36Sopenharmony_ci			pinctrl-names = "default";
20762306a36Sopenharmony_ci			pinctrl-0 = <&pinmux_i2c_i2c>;
20862306a36Sopenharmony_ci
20962306a36Sopenharmony_ci			resets = <&resetc 16>;
21062306a36Sopenharmony_ci			reset-names = "i2c";
21162306a36Sopenharmony_ci
21262306a36Sopenharmony_ci			#address-cells = <1>;
21362306a36Sopenharmony_ci			#size-cells = <0>;
21462306a36Sopenharmony_ci
21562306a36Sopenharmony_ci			status = "disabled";
21662306a36Sopenharmony_ci		};
21762306a36Sopenharmony_ci
21862306a36Sopenharmony_ci		uart0: uartlite@c00 {
21962306a36Sopenharmony_ci			compatible = "ns16550a";
22062306a36Sopenharmony_ci			reg = <0xc00 0x100>;
22162306a36Sopenharmony_ci
22262306a36Sopenharmony_ci			pinctrl-names = "default";
22362306a36Sopenharmony_ci			pinctrl-0 = <&pinmux_uart0_uart>;
22462306a36Sopenharmony_ci
22562306a36Sopenharmony_ci			resets = <&resetc 12>;
22662306a36Sopenharmony_ci			reset-names = "uart0";
22762306a36Sopenharmony_ci
22862306a36Sopenharmony_ci			interrupt-parent = <&intc>;
22962306a36Sopenharmony_ci			interrupts = <20>;
23062306a36Sopenharmony_ci
23162306a36Sopenharmony_ci			reg-shift = <2>;
23262306a36Sopenharmony_ci		};
23362306a36Sopenharmony_ci
23462306a36Sopenharmony_ci		uart1: uart1@d00 {
23562306a36Sopenharmony_ci			compatible = "ns16550a";
23662306a36Sopenharmony_ci			reg = <0xd00 0x100>;
23762306a36Sopenharmony_ci
23862306a36Sopenharmony_ci			pinctrl-names = "default";
23962306a36Sopenharmony_ci			pinctrl-0 = <&pinmux_uart1_uart>;
24062306a36Sopenharmony_ci
24162306a36Sopenharmony_ci			resets = <&resetc 19>;
24262306a36Sopenharmony_ci			reset-names = "uart1";
24362306a36Sopenharmony_ci
24462306a36Sopenharmony_ci			interrupt-parent = <&intc>;
24562306a36Sopenharmony_ci			interrupts = <21>;
24662306a36Sopenharmony_ci
24762306a36Sopenharmony_ci			reg-shift = <2>;
24862306a36Sopenharmony_ci		};
24962306a36Sopenharmony_ci
25062306a36Sopenharmony_ci		uart2: uart2@e00 {
25162306a36Sopenharmony_ci			compatible = "ns16550a";
25262306a36Sopenharmony_ci			reg = <0xe00 0x100>;
25362306a36Sopenharmony_ci
25462306a36Sopenharmony_ci			pinctrl-names = "default";
25562306a36Sopenharmony_ci			pinctrl-0 = <&pinmux_uart2_uart>;
25662306a36Sopenharmony_ci
25762306a36Sopenharmony_ci			resets = <&resetc 20>;
25862306a36Sopenharmony_ci			reset-names = "uart2";
25962306a36Sopenharmony_ci
26062306a36Sopenharmony_ci			interrupt-parent = <&intc>;
26162306a36Sopenharmony_ci			interrupts = <22>;
26262306a36Sopenharmony_ci
26362306a36Sopenharmony_ci			reg-shift = <2>;
26462306a36Sopenharmony_ci		};
26562306a36Sopenharmony_ci	};
26662306a36Sopenharmony_ci
26762306a36Sopenharmony_ci	usb_phy: usb-phy@10120000 {
26862306a36Sopenharmony_ci		compatible = "mediatek,mt7628-usbphy";
26962306a36Sopenharmony_ci		reg = <0x10120000 0x1000>;
27062306a36Sopenharmony_ci
27162306a36Sopenharmony_ci		#phy-cells = <0>;
27262306a36Sopenharmony_ci
27362306a36Sopenharmony_ci		ralink,sysctl = <&sysc>;
27462306a36Sopenharmony_ci		resets = <&resetc 22 &resetc 25>;
27562306a36Sopenharmony_ci		reset-names = "host", "device";
27662306a36Sopenharmony_ci	};
27762306a36Sopenharmony_ci
27862306a36Sopenharmony_ci	usb@101c0000 {
27962306a36Sopenharmony_ci		compatible = "generic-ehci";
28062306a36Sopenharmony_ci		reg = <0x101c0000 0x1000>;
28162306a36Sopenharmony_ci
28262306a36Sopenharmony_ci		phys = <&usb_phy>;
28362306a36Sopenharmony_ci		phy-names = "usb";
28462306a36Sopenharmony_ci
28562306a36Sopenharmony_ci		interrupt-parent = <&intc>;
28662306a36Sopenharmony_ci		interrupts = <18>;
28762306a36Sopenharmony_ci	};
28862306a36Sopenharmony_ci
28962306a36Sopenharmony_ci	wmac: wmac@10300000 {
29062306a36Sopenharmony_ci		compatible = "mediatek,mt7628-wmac";
29162306a36Sopenharmony_ci		reg = <0x10300000 0x100000>;
29262306a36Sopenharmony_ci
29362306a36Sopenharmony_ci		interrupt-parent = <&cpuintc>;
29462306a36Sopenharmony_ci		interrupts = <6>;
29562306a36Sopenharmony_ci
29662306a36Sopenharmony_ci		status = "disabled";
29762306a36Sopenharmony_ci	};
29862306a36Sopenharmony_ci};
299