1 #include <dt-bindings/interrupt-controller/mips-gic.h>
2 #include <dt-bindings/clock/mt7621-clk.h>
7 compatible = "mediatek,mt7621-soc";
15 compatible = "mips,mips1004Kc";
21 compatible = "mips,mips1004Kc";
28 #interrupt-cells = <1>;
30 compatible = "mti,cpu-interrupt-controller";
38 compatible = "mediatek,mt7621-pll", "syscon";
41 clock-output-names = "cpu", "bus";
46 compatible = "fixed-clock";
48 /* FIXME: there should be way to detect this */
49 clock-frequency = <880000000>;
54 compatible = "fixed-clock";
56 /* FIXME: there should be way to detect this */
57 clock-frequency = <50000000>;
62 palmbus: palmbus@1E000000 {
63 compatible = "palmbus";
64 reg = <0x1E000000 0x100000>;
65 ranges = <0x0 0x1E000000 0x0FFFFF>;
71 compatible = "mtk,mt7621-sysc";
76 compatible = "mediatek,mt7621-wdt";
84 compatible = "mtk,mt7621-gpio";
89 compatible = "mtk,mt7621-gpio-bank";
96 compatible = "mtk,mt7621-gpio-bank";
103 compatible = "mtk,mt7621-gpio-bank";
110 compatible = "mediatek,mt7621-i2c";
113 clocks = <&sysclock>;
115 resets = <&rstctrl 16>;
118 #address-cells = <1>;
123 pinctrl-names = "default";
124 pinctrl-0 = <&i2c_pins>;
128 compatible = "mediatek,mt7621-i2s";
131 clocks = <&sysclock>;
133 resets = <&rstctrl 17>;
136 interrupt-parent = <&gic>;
137 interrupts = <GIC_SHARED 16 IRQ_TYPE_LEVEL_HIGH>;
144 dma-names = "tx", "rx";
149 systick: systick@d00 {
150 compatible = "ralink,mt7621-systick", "ralink,cevt-systick";
153 resets = <&rstctrl 28>;
154 reset-names = "intc";
156 interrupt-parent = <&gic>;
157 interrupts = <GIC_SHARED 5 IRQ_TYPE_LEVEL_HIGH>;
161 compatible = "mtk,mt7621-memc";
162 reg = <0x5000 0x1000>;
166 compatible = "mtk,mt7621-cpc";
167 reg = <0x1fbf0000 0x8000>;
171 compatible = "mtk,mt7621-mc";
172 reg = <0x1fbf8000 0x8000>;
175 uartlite: uartlite@c00 {
176 compatible = "ns16550a";
179 clocks = <&sysclock>;
180 clock-frequency = <50000000>;
182 interrupt-parent = <&gic>;
183 interrupts = <GIC_SHARED 26 IRQ_TYPE_LEVEL_HIGH>;
193 compatible = "ralink,mt7621-spi";
196 clocks = <&sysclock>;
198 resets = <&rstctrl 18>;
201 #address-cells = <1>;
204 pinctrl-names = "default";
205 pinctrl-0 = <&spi_pins>;
209 compatible = "ralink,rt3883-gdma";
210 reg = <0x2800 0x800>;
212 resets = <&rstctrl 14>;
215 interrupt-parent = <&gic>;
216 interrupts = <0 13 4>;
219 #dma-channels = <16>;
220 #dma-requests = <16>;
226 compatible = "mediatek,mt7621-hsdma";
227 reg = <0x7000 0x1000>;
229 resets = <&rstctrl 5>;
230 reset-names = "hsdma";
232 interrupt-parent = <&gic>;
233 interrupts = <0 11 4>;
244 compatible = "ralink,rt2880-pinmux";
245 pinctrl-names = "default";
246 pinctrl-0 = <&state_default>;
248 state_default: pinctrl0 {
253 ralink,group = "i2c";
254 ralink,function = "i2c";
260 ralink,group = "spi";
261 ralink,function = "spi";
267 ralink,group = "uart1";
268 ralink,function = "uart1";
274 ralink,group = "uart2";
275 ralink,function = "uart2";
281 ralink,group = "uart3";
282 ralink,function = "uart3";
286 rgmii1_pins: rgmii1 {
288 ralink,group = "rgmii1";
289 ralink,function = "rgmii1";
293 rgmii2_pins: rgmii2 {
295 ralink,group = "rgmii2";
296 ralink,function = "rgmii2";
302 ralink,group = "mdio";
303 ralink,function = "mdio";
309 ralink,group = "pcie";
310 ralink,function = "pcie rst";
316 ralink,group = "spi";
317 ralink,function = "nand1";
321 ralink,group = "sdhci";
322 ralink,function = "nand2";
328 ralink,group = "sdhci";
329 ralink,function = "sdhci";
335 compatible = "ralink,rt2880-reset";
340 compatible = "ralink,rt2880-clock";
344 sdhci: sdhci@1E130000 {
347 compatible = "ralink,mt7620-sdhci";
348 reg = <0x1E130000 0x4000>;
350 interrupt-parent = <&gic>;
351 interrupts = <GIC_SHARED 20 IRQ_TYPE_LEVEL_HIGH>;
353 pinctrl-names = "default";
354 pinctrl-0 = <&sdhci_pins>;
357 xhci: xhci@1E1C0000 {
358 #address-cells = <1>;
362 compatible = "mediatek,mt8173-xhci";
363 reg = <0x1e1c0000 0x1000
365 reg-names = "mac", "ippc";
367 clocks = <&sysclock>;
368 clock-names = "sys_ck";
370 interrupt-parent = <&gic>;
371 interrupts = <GIC_SHARED 22 IRQ_TYPE_LEVEL_HIGH>;
374 * Port 1 of both hubs is one usb slot and referenced here.
375 * The binding doesn't allow to address individual hubs.
376 * hub 1 - port 1 is ehci and ohci, hub 2 - port 1 is xhci.
378 xhci_ehci_port1: port@1 {
380 #trigger-source-cells = <0>;
384 * Only the second usb hub has a second port. That port serves
389 #trigger-source-cells = <0>;
393 gic: interrupt-controller@1fbc0000 {
394 compatible = "mti,gic";
395 reg = <0x1fbc0000 0x2000>;
397 interrupt-controller;
398 #interrupt-cells = <3>;
400 mti,reserved-cpu-vectors = <7>;
403 compatible = "mti,gic-timer";
404 interrupts = <GIC_LOCAL 1 IRQ_TYPE_NONE>;
405 clocks = <&cpuclock>;
409 nand: nand@1e003000 {
412 compatible = "mtk,mt7621-nand";
414 reg = <0x1e003000 0x800
418 ethernet: ethernet@1e100000 {
419 compatible = "mediatek,mt7621-eth";
420 reg = <0x1e100000 0x10000>;
422 #address-cells = <1>;
425 resets = <&rstctrl 6 &rstctrl 23>;
426 reset-names = "fe", "eth";
428 interrupt-parent = <&gic>;
429 interrupts = <GIC_SHARED 3 IRQ_TYPE_LEVEL_HIGH>;
431 mediatek,switch = <&gsw>;
434 #address-cells = <1>;
437 phy1f: ethernet-phy@1f {
444 compatible = "mediatek,mt7623-hnat";
449 resets = <&rstctrl 0>;
450 reset-names = "mtketh";
455 compatible = "mediatek,mt7621-gsw";
456 reg = <0x1e110000 0x8000>;
457 interrupt-parent = <&gic>;
458 interrupts = <GIC_SHARED 23 IRQ_TYPE_LEVEL_HIGH>;
461 pcie: pcie@1e140000 {
462 compatible = "mediatek,mt7621-pci";
463 reg = <0x1e140000 0x100
466 #address-cells = <3>;
469 pinctrl-names = "default";
470 pinctrl-0 = <&pcie_pins>;
476 0x02000000 0 0x00000000 0x60000000 0 0x10000000 /* pci memory */
477 0x01000000 0 0x00000000 0x1e160000 0 0x00010000 /* io space */
480 interrupt-parent = <&gic>;
481 interrupts = <GIC_SHARED 4 IRQ_TYPE_LEVEL_HIGH
482 GIC_SHARED 24 IRQ_TYPE_LEVEL_HIGH
483 GIC_SHARED 25 IRQ_TYPE_LEVEL_HIGH>;
487 resets = <&rstctrl 24 &rstctrl 25 &rstctrl 26>;
488 reset-names = "pcie0", "pcie1", "pcie2";
489 clocks = <&clkctrl 24 &clkctrl 25 &clkctrl 26>;
490 clock-names = "pcie0", "pcie1", "pcie2";
493 reg = <0x0000 0 0 0 0>;
495 #address-cells = <3>;
502 reg = <0x0800 0 0 0 0>;
504 #address-cells = <3>;
511 reg = <0x1000 0 0 0 0>;
513 #address-cells = <3>;