xref: /freebsd-src/sys/contrib/device-tree/src/mips/ralink/mt7628a.dtsi (revision f126890ac5386406dadf7c4cfa9566cbb56537c5)
1c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0
2c66ec88fSEmmanuel Vadot
3c66ec88fSEmmanuel Vadot/ {
4c66ec88fSEmmanuel Vadot	#address-cells = <1>;
5c66ec88fSEmmanuel Vadot	#size-cells = <1>;
6c66ec88fSEmmanuel Vadot	compatible = "ralink,mt7628a-soc";
7c66ec88fSEmmanuel Vadot
8c66ec88fSEmmanuel Vadot	cpus {
9c66ec88fSEmmanuel Vadot		#address-cells = <1>;
10c66ec88fSEmmanuel Vadot		#size-cells = <0>;
11c66ec88fSEmmanuel Vadot
12c66ec88fSEmmanuel Vadot		cpu@0 {
13c66ec88fSEmmanuel Vadot			compatible = "mti,mips24KEc";
14c66ec88fSEmmanuel Vadot			device_type = "cpu";
15c66ec88fSEmmanuel Vadot			reg = <0>;
16c66ec88fSEmmanuel Vadot		};
17c66ec88fSEmmanuel Vadot	};
18c66ec88fSEmmanuel Vadot
19c66ec88fSEmmanuel Vadot	resetc: reset-controller {
20c66ec88fSEmmanuel Vadot		compatible = "ralink,rt2880-reset";
21c66ec88fSEmmanuel Vadot		#reset-cells = <1>;
22c66ec88fSEmmanuel Vadot	};
23c66ec88fSEmmanuel Vadot
24c66ec88fSEmmanuel Vadot	cpuintc: interrupt-controller {
25c66ec88fSEmmanuel Vadot		#address-cells = <0>;
26c66ec88fSEmmanuel Vadot		#interrupt-cells = <1>;
27c66ec88fSEmmanuel Vadot		interrupt-controller;
28c66ec88fSEmmanuel Vadot		compatible = "mti,cpu-interrupt-controller";
29c66ec88fSEmmanuel Vadot	};
30c66ec88fSEmmanuel Vadot
31c66ec88fSEmmanuel Vadot	palmbus@10000000 {
32c66ec88fSEmmanuel Vadot		compatible = "palmbus";
33c66ec88fSEmmanuel Vadot		reg = <0x10000000 0x200000>;
34c66ec88fSEmmanuel Vadot		ranges = <0x0 0x10000000 0x1FFFFF>;
35c66ec88fSEmmanuel Vadot
36c66ec88fSEmmanuel Vadot		#address-cells = <1>;
37c66ec88fSEmmanuel Vadot		#size-cells = <1>;
38c66ec88fSEmmanuel Vadot
39c66ec88fSEmmanuel Vadot		sysc: system-controller@0 {
40c66ec88fSEmmanuel Vadot			compatible = "ralink,mt7620a-sysc", "syscon";
41c66ec88fSEmmanuel Vadot			reg = <0x0 0x60>;
42c66ec88fSEmmanuel Vadot		};
43c66ec88fSEmmanuel Vadot
44c66ec88fSEmmanuel Vadot		pinmux: pinmux@60 {
45c66ec88fSEmmanuel Vadot			compatible = "pinctrl-single";
46c66ec88fSEmmanuel Vadot			reg = <0x60 0x8>;
47c66ec88fSEmmanuel Vadot			#address-cells = <1>;
48c66ec88fSEmmanuel Vadot			#size-cells = <0>;
49c66ec88fSEmmanuel Vadot			#pinctrl-cells = <2>;
50c66ec88fSEmmanuel Vadot			pinctrl-single,bit-per-mux;
51c66ec88fSEmmanuel Vadot			pinctrl-single,register-width = <32>;
52c66ec88fSEmmanuel Vadot			pinctrl-single,function-mask = <0x1>;
53c66ec88fSEmmanuel Vadot
54*f126890aSEmmanuel Vadot			pinmux_gpio_gpio: gpio-gpio-pins {
55c66ec88fSEmmanuel Vadot				pinctrl-single,bits = <0x0 0x0 0x3>;
56c66ec88fSEmmanuel Vadot			};
57c66ec88fSEmmanuel Vadot
58*f126890aSEmmanuel Vadot			pinmux_spi_cs1_cs: spi-cs1-cs-pins {
59c66ec88fSEmmanuel Vadot				pinctrl-single,bits = <0x0 0x0 0x30>;
60c66ec88fSEmmanuel Vadot			};
61c66ec88fSEmmanuel Vadot
62*f126890aSEmmanuel Vadot			pinmux_i2s_gpio: i2s-gpio-pins {
63c66ec88fSEmmanuel Vadot				pinctrl-single,bits = <0x0 0x40 0xc0>;
64c66ec88fSEmmanuel Vadot			};
65c66ec88fSEmmanuel Vadot
66*f126890aSEmmanuel Vadot			pinmux_uart0_uart: uart0-uart0-pins {
67c66ec88fSEmmanuel Vadot				pinctrl-single,bits = <0x0 0x0 0x300>;
68c66ec88fSEmmanuel Vadot			};
69c66ec88fSEmmanuel Vadot
70*f126890aSEmmanuel Vadot			pinmux_sdmode_sdxc: sdmode-sdxc-pins {
71c66ec88fSEmmanuel Vadot				pinctrl-single,bits = <0x0 0x0 0xc00>;
72c66ec88fSEmmanuel Vadot			};
73c66ec88fSEmmanuel Vadot
74*f126890aSEmmanuel Vadot			pinmux_sdmode_gpio: sdmode-gpio-pins {
75c66ec88fSEmmanuel Vadot				pinctrl-single,bits = <0x0 0x400 0xc00>;
76c66ec88fSEmmanuel Vadot			};
77c66ec88fSEmmanuel Vadot
78*f126890aSEmmanuel Vadot			pinmux_spi_spi: spi-spi-pins {
79c66ec88fSEmmanuel Vadot				pinctrl-single,bits = <0x0 0x0 0x1000>;
80c66ec88fSEmmanuel Vadot			};
81c66ec88fSEmmanuel Vadot
82*f126890aSEmmanuel Vadot			pinmux_refclk_gpio: refclk-gpio-pins {
83c66ec88fSEmmanuel Vadot				pinctrl-single,bits = <0x0 0x40000 0x40000>;
84c66ec88fSEmmanuel Vadot			};
85c66ec88fSEmmanuel Vadot
86*f126890aSEmmanuel Vadot			pinmux_i2c_i2c: i2c-i2c-pins {
87c66ec88fSEmmanuel Vadot				pinctrl-single,bits = <0x0 0x0 0x300000>;
88c66ec88fSEmmanuel Vadot			};
89c66ec88fSEmmanuel Vadot
90*f126890aSEmmanuel Vadot			pinmux_uart1_uart: uart1-uart1-pins {
91c66ec88fSEmmanuel Vadot				pinctrl-single,bits = <0x0 0x0 0x3000000>;
92c66ec88fSEmmanuel Vadot			};
93c66ec88fSEmmanuel Vadot
94*f126890aSEmmanuel Vadot			pinmux_uart2_uart: uart2-uart-pins {
95c66ec88fSEmmanuel Vadot				pinctrl-single,bits = <0x0 0x0 0xc000000>;
96c66ec88fSEmmanuel Vadot			};
97c66ec88fSEmmanuel Vadot
98*f126890aSEmmanuel Vadot			pinmux_pwm0_pwm: pwm0-pwm-pins {
99c66ec88fSEmmanuel Vadot				pinctrl-single,bits = <0x0 0x0 0x30000000>;
100c66ec88fSEmmanuel Vadot			};
101c66ec88fSEmmanuel Vadot
102*f126890aSEmmanuel Vadot			pinmux_pwm0_gpio: pwm0-gpio-pins {
103c66ec88fSEmmanuel Vadot				pinctrl-single,bits = <0x0 0x10000000
104c66ec88fSEmmanuel Vadot						       0x30000000>;
105c66ec88fSEmmanuel Vadot			};
106c66ec88fSEmmanuel Vadot
107*f126890aSEmmanuel Vadot			pinmux_pwm1_pwm: pwm1-pwm-pins {
108c66ec88fSEmmanuel Vadot				pinctrl-single,bits = <0x0 0x0 0xc0000000>;
109c66ec88fSEmmanuel Vadot			};
110c66ec88fSEmmanuel Vadot
111*f126890aSEmmanuel Vadot			pinmux_pwm1_gpio: pwm1-gpio-pins {
112c66ec88fSEmmanuel Vadot				pinctrl-single,bits = <0x0 0x40000000
113c66ec88fSEmmanuel Vadot						       0xc0000000>;
114c66ec88fSEmmanuel Vadot			};
115c66ec88fSEmmanuel Vadot
116*f126890aSEmmanuel Vadot			pinmux_p0led_an_gpio: p0led-an-gpio-pins {
117c66ec88fSEmmanuel Vadot				pinctrl-single,bits = <0x4 0x4 0xc>;
118c66ec88fSEmmanuel Vadot			};
119c66ec88fSEmmanuel Vadot
120*f126890aSEmmanuel Vadot			pinmux_p1led_an_gpio: p1led-an-gpio-pins {
121c66ec88fSEmmanuel Vadot				pinctrl-single,bits = <0x4 0x10 0x30>;
122c66ec88fSEmmanuel Vadot			};
123c66ec88fSEmmanuel Vadot
124*f126890aSEmmanuel Vadot			pinmux_p2led_an_gpio: p2led-an-gpio-pins {
125c66ec88fSEmmanuel Vadot				pinctrl-single,bits = <0x4 0x40 0xc0>;
126c66ec88fSEmmanuel Vadot			};
127c66ec88fSEmmanuel Vadot
128*f126890aSEmmanuel Vadot			pinmux_p3led_an_gpio: p3led-an-gpio-pins {
129c66ec88fSEmmanuel Vadot				pinctrl-single,bits = <0x4 0x100 0x300>;
130c66ec88fSEmmanuel Vadot			};
131c66ec88fSEmmanuel Vadot
132*f126890aSEmmanuel Vadot			pinmux_p4led_an_gpio: p4led-an-gpio-pins {
133c66ec88fSEmmanuel Vadot				pinctrl-single,bits = <0x4 0x400 0xc00>;
134c66ec88fSEmmanuel Vadot			};
135c66ec88fSEmmanuel Vadot		};
136c66ec88fSEmmanuel Vadot
137c66ec88fSEmmanuel Vadot		watchdog: watchdog@100 {
138c66ec88fSEmmanuel Vadot			compatible = "mediatek,mt7621-wdt";
139c66ec88fSEmmanuel Vadot			reg = <0x100 0x30>;
140c66ec88fSEmmanuel Vadot
141c66ec88fSEmmanuel Vadot			resets = <&resetc 8>;
142c66ec88fSEmmanuel Vadot			reset-names = "wdt";
143c66ec88fSEmmanuel Vadot
144c66ec88fSEmmanuel Vadot			interrupt-parent = <&intc>;
145c66ec88fSEmmanuel Vadot			interrupts = <24>;
146c66ec88fSEmmanuel Vadot
147c66ec88fSEmmanuel Vadot			status = "disabled";
148c66ec88fSEmmanuel Vadot		};
149c66ec88fSEmmanuel Vadot
150c66ec88fSEmmanuel Vadot		intc: interrupt-controller@200 {
151c66ec88fSEmmanuel Vadot			compatible = "ralink,rt2880-intc";
152c66ec88fSEmmanuel Vadot			reg = <0x200 0x100>;
153c66ec88fSEmmanuel Vadot
154c66ec88fSEmmanuel Vadot			interrupt-controller;
155c66ec88fSEmmanuel Vadot			#interrupt-cells = <1>;
156c66ec88fSEmmanuel Vadot
157c66ec88fSEmmanuel Vadot			resets = <&resetc 9>;
158c66ec88fSEmmanuel Vadot			reset-names = "intc";
159c66ec88fSEmmanuel Vadot
160c66ec88fSEmmanuel Vadot			interrupt-parent = <&cpuintc>;
161c66ec88fSEmmanuel Vadot			interrupts = <2>;
162c66ec88fSEmmanuel Vadot
163c66ec88fSEmmanuel Vadot			ralink,intc-registers = <0x9c 0xa0
164c66ec88fSEmmanuel Vadot						 0x6c 0xa4
165c66ec88fSEmmanuel Vadot						 0x80 0x78>;
166c66ec88fSEmmanuel Vadot		};
167c66ec88fSEmmanuel Vadot
168c66ec88fSEmmanuel Vadot		memory-controller@300 {
169c66ec88fSEmmanuel Vadot			compatible = "ralink,mt7620a-memc";
170c66ec88fSEmmanuel Vadot			reg = <0x300 0x100>;
171c66ec88fSEmmanuel Vadot		};
172c66ec88fSEmmanuel Vadot
173c66ec88fSEmmanuel Vadot		gpio: gpio@600 {
174c66ec88fSEmmanuel Vadot			compatible = "mediatek,mt7621-gpio";
175c66ec88fSEmmanuel Vadot			reg = <0x600 0x100>;
176c66ec88fSEmmanuel Vadot
177c66ec88fSEmmanuel Vadot			gpio-controller;
178c66ec88fSEmmanuel Vadot			interrupt-controller;
179c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
180c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
181c66ec88fSEmmanuel Vadot
182c66ec88fSEmmanuel Vadot			interrupt-parent = <&intc>;
183c66ec88fSEmmanuel Vadot			interrupts = <6>;
184c66ec88fSEmmanuel Vadot		};
185c66ec88fSEmmanuel Vadot
186c66ec88fSEmmanuel Vadot		spi: spi@b00 {
187c66ec88fSEmmanuel Vadot			compatible = "ralink,mt7621-spi";
188c66ec88fSEmmanuel Vadot			reg = <0xb00 0x100>;
189c66ec88fSEmmanuel Vadot
190c66ec88fSEmmanuel Vadot			pinctrl-names = "default";
191c66ec88fSEmmanuel Vadot			pinctrl-0 = <&pinmux_spi_spi>;
192c66ec88fSEmmanuel Vadot
193c66ec88fSEmmanuel Vadot			resets = <&resetc 18>;
194c66ec88fSEmmanuel Vadot			reset-names = "spi";
195c66ec88fSEmmanuel Vadot
196c66ec88fSEmmanuel Vadot			#address-cells = <1>;
197c66ec88fSEmmanuel Vadot			#size-cells = <0>;
198c66ec88fSEmmanuel Vadot
199c66ec88fSEmmanuel Vadot			status = "disabled";
200c66ec88fSEmmanuel Vadot		};
201c66ec88fSEmmanuel Vadot
202c66ec88fSEmmanuel Vadot		i2c: i2c@900 {
203c66ec88fSEmmanuel Vadot			compatible = "mediatek,mt7621-i2c";
204c66ec88fSEmmanuel Vadot			reg = <0x900 0x100>;
205c66ec88fSEmmanuel Vadot
206c66ec88fSEmmanuel Vadot			pinctrl-names = "default";
207c66ec88fSEmmanuel Vadot			pinctrl-0 = <&pinmux_i2c_i2c>;
208c66ec88fSEmmanuel Vadot
209c66ec88fSEmmanuel Vadot			resets = <&resetc 16>;
210c66ec88fSEmmanuel Vadot			reset-names = "i2c";
211c66ec88fSEmmanuel Vadot
212c66ec88fSEmmanuel Vadot			#address-cells = <1>;
213c66ec88fSEmmanuel Vadot			#size-cells = <0>;
214c66ec88fSEmmanuel Vadot
215c66ec88fSEmmanuel Vadot			status = "disabled";
216c66ec88fSEmmanuel Vadot		};
217c66ec88fSEmmanuel Vadot
218c66ec88fSEmmanuel Vadot		uart0: uartlite@c00 {
219c66ec88fSEmmanuel Vadot			compatible = "ns16550a";
220c66ec88fSEmmanuel Vadot			reg = <0xc00 0x100>;
221c66ec88fSEmmanuel Vadot
222c66ec88fSEmmanuel Vadot			pinctrl-names = "default";
223c66ec88fSEmmanuel Vadot			pinctrl-0 = <&pinmux_uart0_uart>;
224c66ec88fSEmmanuel Vadot
225c66ec88fSEmmanuel Vadot			resets = <&resetc 12>;
226c66ec88fSEmmanuel Vadot			reset-names = "uart0";
227c66ec88fSEmmanuel Vadot
228c66ec88fSEmmanuel Vadot			interrupt-parent = <&intc>;
229c66ec88fSEmmanuel Vadot			interrupts = <20>;
230c66ec88fSEmmanuel Vadot
231c66ec88fSEmmanuel Vadot			reg-shift = <2>;
232c66ec88fSEmmanuel Vadot		};
233c66ec88fSEmmanuel Vadot
234c66ec88fSEmmanuel Vadot		uart1: uart1@d00 {
235c66ec88fSEmmanuel Vadot			compatible = "ns16550a";
236c66ec88fSEmmanuel Vadot			reg = <0xd00 0x100>;
237c66ec88fSEmmanuel Vadot
238c66ec88fSEmmanuel Vadot			pinctrl-names = "default";
239c66ec88fSEmmanuel Vadot			pinctrl-0 = <&pinmux_uart1_uart>;
240c66ec88fSEmmanuel Vadot
241c66ec88fSEmmanuel Vadot			resets = <&resetc 19>;
242c66ec88fSEmmanuel Vadot			reset-names = "uart1";
243c66ec88fSEmmanuel Vadot
244c66ec88fSEmmanuel Vadot			interrupt-parent = <&intc>;
245c66ec88fSEmmanuel Vadot			interrupts = <21>;
246c66ec88fSEmmanuel Vadot
247c66ec88fSEmmanuel Vadot			reg-shift = <2>;
248c66ec88fSEmmanuel Vadot		};
249c66ec88fSEmmanuel Vadot
250c66ec88fSEmmanuel Vadot		uart2: uart2@e00 {
251c66ec88fSEmmanuel Vadot			compatible = "ns16550a";
252c66ec88fSEmmanuel Vadot			reg = <0xe00 0x100>;
253c66ec88fSEmmanuel Vadot
254c66ec88fSEmmanuel Vadot			pinctrl-names = "default";
255c66ec88fSEmmanuel Vadot			pinctrl-0 = <&pinmux_uart2_uart>;
256c66ec88fSEmmanuel Vadot
257c66ec88fSEmmanuel Vadot			resets = <&resetc 20>;
258c66ec88fSEmmanuel Vadot			reset-names = "uart2";
259c66ec88fSEmmanuel Vadot
260c66ec88fSEmmanuel Vadot			interrupt-parent = <&intc>;
261c66ec88fSEmmanuel Vadot			interrupts = <22>;
262c66ec88fSEmmanuel Vadot
263c66ec88fSEmmanuel Vadot			reg-shift = <2>;
264c66ec88fSEmmanuel Vadot		};
265c66ec88fSEmmanuel Vadot	};
266c66ec88fSEmmanuel Vadot
267c66ec88fSEmmanuel Vadot	usb_phy: usb-phy@10120000 {
268c66ec88fSEmmanuel Vadot		compatible = "mediatek,mt7628-usbphy";
269c66ec88fSEmmanuel Vadot		reg = <0x10120000 0x1000>;
270c66ec88fSEmmanuel Vadot
271c66ec88fSEmmanuel Vadot		#phy-cells = <0>;
272c66ec88fSEmmanuel Vadot
273c66ec88fSEmmanuel Vadot		ralink,sysctl = <&sysc>;
274c66ec88fSEmmanuel Vadot		resets = <&resetc 22 &resetc 25>;
275c66ec88fSEmmanuel Vadot		reset-names = "host", "device";
276c66ec88fSEmmanuel Vadot	};
277c66ec88fSEmmanuel Vadot
2785def4c47SEmmanuel Vadot	usb@101c0000 {
279c66ec88fSEmmanuel Vadot		compatible = "generic-ehci";
280c66ec88fSEmmanuel Vadot		reg = <0x101c0000 0x1000>;
281c66ec88fSEmmanuel Vadot
282c66ec88fSEmmanuel Vadot		phys = <&usb_phy>;
283c66ec88fSEmmanuel Vadot		phy-names = "usb";
284c66ec88fSEmmanuel Vadot
285c66ec88fSEmmanuel Vadot		interrupt-parent = <&intc>;
286c66ec88fSEmmanuel Vadot		interrupts = <18>;
287c66ec88fSEmmanuel Vadot	};
288c66ec88fSEmmanuel Vadot
289c66ec88fSEmmanuel Vadot	wmac: wmac@10300000 {
290c66ec88fSEmmanuel Vadot		compatible = "mediatek,mt7628-wmac";
291c66ec88fSEmmanuel Vadot		reg = <0x10300000 0x100000>;
292c66ec88fSEmmanuel Vadot
293c66ec88fSEmmanuel Vadot		interrupt-parent = <&cpuintc>;
294c66ec88fSEmmanuel Vadot		interrupts = <6>;
295c66ec88fSEmmanuel Vadot
296c66ec88fSEmmanuel Vadot		status = "disabled";
297c66ec88fSEmmanuel Vadot	};
298c66ec88fSEmmanuel Vadot};
299