2 * Copyright (c) 2017 MediaTek Inc.
3 * Author: John Crispin <john@phrozen.org>
4 * Sean Wang <sean.wang@mediatek.com>
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
16 #include <dt-bindings/interrupt-controller/irq.h>
17 #include <dt-bindings/interrupt-controller/arm-gic.h>
18 #include <dt-bindings/clock/mt2701-clk.h>
19 #include <dt-bindings/pinctrl/mt7623-pinfunc.h>
20 #include <dt-bindings/power/mt2701-power.h>
21 #include <dt-bindings/gpio/gpio.h>
22 #include <dt-bindings/phy/phy.h>
23 #include <dt-bindings/reset/mt2701-resets.h>
24 #include <dt-bindings/thermal/thermal.h>
25 #include "skeleton64.dtsi"
28 compatible = "mediatek,mt7623";
29 interrupt-parent = <&sysirq>;
31 cpu_opp_table: opp_table {
32 compatible = "operating-points-v2";
36 opp-hz = /bits/ 64 <98000000>;
37 opp-microvolt = <1050000>;
41 opp-hz = /bits/ 64 <198000000>;
42 opp-microvolt = <1050000>;
46 opp-hz = /bits/ 64 <398000000>;
47 opp-microvolt = <1050000>;
51 opp-hz = /bits/ 64 <598000000>;
52 opp-microvolt = <1050000>;
56 opp-hz = /bits/ 64 <747500000>;
57 opp-microvolt = <1050000>;
61 opp-hz = /bits/ 64 <1040000000>;
62 opp-microvolt = <1150000>;
66 opp-hz = /bits/ 64 <1196000000>;
67 opp-microvolt = <1200000>;
71 opp-hz = /bits/ 64 <1300000000>;
72 opp-microvolt = <1300000>;
79 enable-method = "mediatek,mt6589-smp";
83 compatible = "arm,cortex-a7";
85 clocks = <&infracfg CLK_INFRA_CPUSEL>,
86 <&apmixedsys CLK_APMIXED_MAINPLL>;
87 clock-names = "cpu", "intermediate";
88 operating-points-v2 = <&cpu_opp_table>;
90 cooling-min-level = <0>;
91 cooling-max-level = <7>;
92 clock-frequency = <1300000000>;
97 compatible = "arm,cortex-a7";
99 clocks = <&infracfg CLK_INFRA_CPUSEL>,
100 <&apmixedsys CLK_APMIXED_MAINPLL>;
101 clock-names = "cpu", "intermediate";
102 operating-points-v2 = <&cpu_opp_table>;
103 clock-frequency = <1300000000>;
108 compatible = "arm,cortex-a7";
110 clocks = <&infracfg CLK_INFRA_CPUSEL>,
111 <&apmixedsys CLK_APMIXED_MAINPLL>;
112 clock-names = "cpu", "intermediate";
113 operating-points-v2 = <&cpu_opp_table>;
114 clock-frequency = <1300000000>;
119 compatible = "arm,cortex-a7";
121 clocks = <&infracfg CLK_INFRA_CPUSEL>,
122 <&apmixedsys CLK_APMIXED_MAINPLL>;
123 clock-names = "cpu", "intermediate";
124 operating-points-v2 = <&cpu_opp_table>;
125 clock-frequency = <1300000000>;
129 system_clk: dummy13m {
130 compatible = "fixed-clock";
131 clock-frequency = <13000000>;
135 rtc32k: oscillator@1 {
136 compatible = "fixed-clock";
138 clock-frequency = <32000>;
139 clock-output-names = "rtc32k";
142 clk26m: oscillator@0 {
143 compatible = "fixed-clock";
145 clock-frequency = <26000000>;
146 clock-output-names = "clk26m";
150 cpu_thermal: cpu_thermal {
151 polling-delay-passive = <1000>;
152 polling-delay = <1000>;
154 thermal-sensors = <&thermal 0>;
157 cpu_passive: cpu_passive {
158 temperature = <47000>;
163 cpu_active: cpu_active {
164 temperature = <67000>;
170 temperature = <87000>;
176 temperature = <107000>;
184 trip = <&cpu_passive>;
185 cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
189 trip = <&cpu_active>;
190 cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
195 cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
202 compatible = "arm,armv7-timer";
203 interrupt-parent = <&gic>;
204 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
205 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
206 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
207 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
208 clock-frequency = <13000000>;
209 arm,cpu-registers-not-fw-configured;
212 topckgen: syscon@10000000 {
213 compatible = "mediatek,mt7623-topckgen",
214 "mediatek,mt2701-topckgen",
216 reg = <0 0x10000000 0 0x1000>;
220 infracfg: syscon@10001000 {
221 compatible = "mediatek,mt7623-infracfg",
222 "mediatek,mt2701-infracfg",
224 reg = <0 0x10001000 0 0x1000>;
229 pericfg: syscon@10003000 {
230 compatible = "mediatek,mt7623-pericfg",
231 "mediatek,mt2701-pericfg",
233 reg = <0 0x10003000 0 0x1000>;
238 pio: pinctrl@10005000 {
239 compatible = "mediatek,mt7623-pinctrl";
240 reg = <0 0x1000b000 0 0x1000>;
241 mediatek,pctl-regmap = <&syscfg_pctl_a>;
245 interrupt-controller;
246 interrupt-parent = <&gic>;
247 #interrupt-cells = <2>;
248 interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
249 <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
252 syscfg_pctl_a: syscfg@10005000 {
253 compatible = "mediatek,mt7623-pctl-a-syscfg", "syscon";
254 reg = <0 0x10005000 0 0x1000>;
257 scpsys: scpsys@10006000 {
258 compatible = "mediatek,mt7623-scpsys",
259 "mediatek,mt2701-scpsys",
261 #power-domain-cells = <1>;
262 reg = <0 0x10006000 0 0x1000>;
263 infracfg = <&infracfg>;
264 clocks = <&topckgen CLK_TOP_MM_SEL>,
265 <&topckgen CLK_TOP_MFG_SEL>,
266 <&topckgen CLK_TOP_ETHIF_SEL>;
267 clock-names = "mm", "mfg", "ethif";
270 watchdog: watchdog@10007000 {
271 compatible = "mediatek,mt7623-wdt",
272 "mediatek,mt6589-wdt";
273 reg = <0 0x10007000 0 0x100>;
276 timer: timer@10008000 {
277 compatible = "mediatek,mt7623-timer",
278 "mediatek,mt6577-timer";
279 reg = <0 0x10008000 0 0x80>;
280 interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_LOW>;
281 clocks = <&system_clk>, <&rtc32k>;
282 clock-names = "system-clk", "rtc-clk";
285 pwrap: pwrap@1000d000 {
286 compatible = "mediatek,mt7623-pwrap",
287 "mediatek,mt2701-pwrap";
288 reg = <0 0x1000d000 0 0x1000>;
290 interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
291 resets = <&infracfg MT2701_INFRA_PMIC_WRAP_RST>;
292 reset-names = "pwrap";
293 clocks = <&infracfg CLK_INFRA_PMICSPI>,
294 <&infracfg CLK_INFRA_PMICWRAP>;
295 clock-names = "spi", "wrap";
299 compatible = "mediatek,mt7623-cir";
300 reg = <0 0x10013000 0 0x1000>;
301 interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_LOW>;
302 clocks = <&infracfg CLK_INFRA_IRRX>;
307 sysirq: interrupt-controller@10200100 {
308 compatible = "mediatek,mt7623-sysirq",
309 "mediatek,mt6577-sysirq";
310 interrupt-controller;
311 #interrupt-cells = <3>;
312 interrupt-parent = <&gic>;
313 reg = <0 0x10200100 0 0x1c>;
316 efuse: efuse@10206000 {
317 compatible = "mediatek,mt7623-efuse",
318 "mediatek,mt8173-efuse";
319 reg = <0 0x10206000 0 0x1000>;
320 #address-cells = <1>;
322 thermal_calibration_data: calib@424 {
327 apmixedsys: syscon@10209000 {
328 compatible = "mediatek,mt7623-apmixedsys",
329 "mediatek,mt2701-apmixedsys",
331 reg = <0 0x10209000 0 0x1000>;
336 compatible = "mediatek,mt7623-rng";
337 reg = <0 0x1020f000 0 0x1000>;
338 clocks = <&infracfg CLK_INFRA_TRNG>;
342 gic: interrupt-controller@10211000 {
343 compatible = "arm,cortex-a7-gic";
344 interrupt-controller;
345 #interrupt-cells = <3>;
346 interrupt-parent = <&gic>;
347 reg = <0 0x10211000 0 0x1000>,
348 <0 0x10212000 0 0x2000>,
349 <0 0x10214000 0 0x2000>,
350 <0 0x10216000 0 0x2000>;
353 auxadc: adc@11001000 {
354 compatible = "mediatek,mt7623-auxadc",
355 "mediatek,mt2701-auxadc";
356 reg = <0 0x11001000 0 0x1000>;
357 clocks = <&pericfg CLK_PERI_AUXADC>;
358 clock-names = "main";
359 #io-channel-cells = <1>;
362 uart0: serial@11002000 {
363 compatible = "mediatek,mt7623-uart",
364 "mediatek,mt6577-uart";
365 reg = <0 0x11002000 0 0x400>;
366 interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_LOW>;
367 clocks = <&pericfg CLK_PERI_UART0_SEL>,
368 <&pericfg CLK_PERI_UART0>;
369 clock-names = "baud", "bus";
373 uart1: serial@11003000 {
374 compatible = "mediatek,mt7623-uart",
375 "mediatek,mt6577-uart";
376 reg = <0 0x11003000 0 0x400>;
377 interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_LOW>;
378 clocks = <&pericfg CLK_PERI_UART1_SEL>,
379 <&pericfg CLK_PERI_UART1>;
380 clock-names = "baud", "bus";
384 uart2: serial@11004000 {
385 compatible = "mediatek,mt7623-uart",
386 "mediatek,mt6577-uart";
387 reg = <0 0x11004000 0 0x400>;
388 interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_LOW>;
389 clocks = <&pericfg CLK_PERI_UART2_SEL>,
390 <&pericfg CLK_PERI_UART2>;
391 clock-names = "baud", "bus";
395 uart3: serial@11005000 {
396 compatible = "mediatek,mt7623-uart",
397 "mediatek,mt6577-uart";
398 reg = <0 0x11005000 0 0x400>;
399 interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_LOW>;
400 clocks = <&pericfg CLK_PERI_UART3_SEL>,
401 <&pericfg CLK_PERI_UART3>;
402 clock-names = "baud", "bus";
407 compatible = "mediatek,mt7623-pwm";
408 reg = <0 0x11006000 0 0x1000>;
410 clocks = <&topckgen CLK_TOP_PWM_SEL>,
411 <&pericfg CLK_PERI_PWM>,
412 <&pericfg CLK_PERI_PWM1>,
413 <&pericfg CLK_PERI_PWM2>,
414 <&pericfg CLK_PERI_PWM3>,
415 <&pericfg CLK_PERI_PWM4>,
416 <&pericfg CLK_PERI_PWM5>;
417 clock-names = "top", "main", "pwm1", "pwm2",
418 "pwm3", "pwm4", "pwm5";
423 compatible = "mediatek,mt7623-i2c",
424 "mediatek,mt6577-i2c";
425 reg = <0 0x11007000 0 0x70>,
426 <0 0x11000200 0 0x80>;
427 interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_LOW>;
429 clocks = <&pericfg CLK_PERI_I2C0>,
430 <&pericfg CLK_PERI_AP_DMA>;
431 clock-names = "main", "dma";
432 #address-cells = <1>;
438 compatible = "mediatek,mt7623-i2c",
439 "mediatek,mt6577-i2c";
440 reg = <0 0x11008000 0 0x70>,
441 <0 0x11000280 0 0x80>;
442 interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_LOW>;
444 clocks = <&pericfg CLK_PERI_I2C1>,
445 <&pericfg CLK_PERI_AP_DMA>;
446 clock-names = "main", "dma";
447 #address-cells = <1>;
453 compatible = "mediatek,mt7623-i2c",
454 "mediatek,mt6577-i2c";
455 reg = <0 0x11009000 0 0x70>,
456 <0 0x11000300 0 0x80>;
457 interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_LOW>;
459 clocks = <&pericfg CLK_PERI_I2C2>,
460 <&pericfg CLK_PERI_AP_DMA>;
461 clock-names = "main", "dma";
462 #address-cells = <1>;
468 compatible = "mediatek,mt7623-spi",
469 "mediatek,mt2701-spi";
470 #address-cells = <1>;
472 reg = <0 0x1100a000 0 0x100>;
473 interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_LOW>;
474 clocks = <&topckgen CLK_TOP_SYSPLL3_D2>,
475 <&topckgen CLK_TOP_SPI0_SEL>,
476 <&pericfg CLK_PERI_SPI0>;
477 clock-names = "parent-clk", "sel-clk", "spi-clk";
481 thermal: thermal@1100b000 {
482 #thermal-sensor-cells = <1>;
483 compatible = "mediatek,mt7623-thermal",
484 "mediatek,mt2701-thermal";
485 reg = <0 0x1100b000 0 0x1000>;
486 interrupts = <0 70 IRQ_TYPE_LEVEL_LOW>;
487 clocks = <&pericfg CLK_PERI_THERM>, <&pericfg CLK_PERI_AUXADC>;
488 clock-names = "therm", "auxadc";
489 resets = <&pericfg MT2701_PERI_THERM_SW_RST>;
490 reset-names = "therm";
491 mediatek,auxadc = <&auxadc>;
492 mediatek,apmixedsys = <&apmixedsys>;
493 nvmem-cells = <&thermal_calibration_data>;
494 nvmem-cell-names = "calibration-data";
497 nandc: nfi@1100d000 {
498 compatible = "mediatek,mt7623-nfc",
499 "mediatek,mt2701-nfc";
500 reg = <0 0x1100d000 0 0x1000>;
501 interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_LOW>;
502 power-domains = <&scpsys MT2701_POWER_DOMAIN_IFR_MSC>;
503 clocks = <&pericfg CLK_PERI_NFI>,
504 <&pericfg CLK_PERI_NFI_PAD>;
505 clock-names = "nfi_clk", "pad_clk";
508 #address-cells = <1>;
513 compatible = "mediatek,mt7623-ecc",
514 "mediatek,mt2701-ecc";
515 reg = <0 0x1100e000 0 0x1000>;
516 interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_LOW>;
517 clocks = <&pericfg CLK_PERI_NFI_ECC>;
518 clock-names = "nfiecc_clk";
523 compatible = "mediatek,mt7623-spi",
524 "mediatek,mt2701-spi";
525 #address-cells = <1>;
527 reg = <0 0x11016000 0 0x100>;
528 interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_LOW>;
529 clocks = <&topckgen CLK_TOP_SYSPLL3_D2>,
530 <&topckgen CLK_TOP_SPI1_SEL>,
531 <&pericfg CLK_PERI_SPI1>;
532 clock-names = "parent-clk", "sel-clk", "spi-clk";
537 compatible = "mediatek,mt7623-spi",
538 "mediatek,mt2701-spi";
539 #address-cells = <1>;
541 reg = <0 0x11017000 0 0x1000>;
542 interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_LOW>;
543 clocks = <&topckgen CLK_TOP_SYSPLL3_D2>,
544 <&topckgen CLK_TOP_SPI2_SEL>,
545 <&pericfg CLK_PERI_SPI2>;
546 clock-names = "parent-clk", "sel-clk", "spi-clk";
550 afe: audio-controller@11220000 {
551 compatible = "mediatek,mt7623-audio",
552 "mediatek,mt2701-audio";
553 reg = <0 0x11220000 0 0x2000>,
554 <0 0x112a0000 0 0x20000>;
555 interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_LOW>,
556 <GIC_SPI 132 IRQ_TYPE_LEVEL_LOW>;
557 interrupt-names = "afe", "asys";
558 power-domains = <&scpsys MT2701_POWER_DOMAIN_IFR_MSC>;
560 clocks = <&infracfg CLK_INFRA_AUDIO>,
561 <&topckgen CLK_TOP_AUD_MUX1_SEL>,
562 <&topckgen CLK_TOP_AUD_MUX2_SEL>,
563 <&topckgen CLK_TOP_AUD_MUX1_DIV>,
564 <&topckgen CLK_TOP_AUD_MUX2_DIV>,
565 <&topckgen CLK_TOP_AUD_48K_TIMING>,
566 <&topckgen CLK_TOP_AUD_44K_TIMING>,
567 <&topckgen CLK_TOP_AUDPLL_MUX_SEL>,
568 <&topckgen CLK_TOP_APLL_SEL>,
569 <&topckgen CLK_TOP_AUD1PLL_98M>,
570 <&topckgen CLK_TOP_AUD2PLL_90M>,
571 <&topckgen CLK_TOP_HADDS2PLL_98M>,
572 <&topckgen CLK_TOP_HADDS2PLL_294M>,
573 <&topckgen CLK_TOP_AUDPLL>,
574 <&topckgen CLK_TOP_AUDPLL_D4>,
575 <&topckgen CLK_TOP_AUDPLL_D8>,
576 <&topckgen CLK_TOP_AUDPLL_D16>,
577 <&topckgen CLK_TOP_AUDPLL_D24>,
578 <&topckgen CLK_TOP_AUDINTBUS_SEL>,
580 <&topckgen CLK_TOP_SYSPLL1_D4>,
581 <&topckgen CLK_TOP_AUD_K1_SRC_SEL>,
582 <&topckgen CLK_TOP_AUD_K2_SRC_SEL>,
583 <&topckgen CLK_TOP_AUD_K3_SRC_SEL>,
584 <&topckgen CLK_TOP_AUD_K4_SRC_SEL>,
585 <&topckgen CLK_TOP_AUD_K5_SRC_SEL>,
586 <&topckgen CLK_TOP_AUD_K6_SRC_SEL>,
587 <&topckgen CLK_TOP_AUD_K1_SRC_DIV>,
588 <&topckgen CLK_TOP_AUD_K2_SRC_DIV>,
589 <&topckgen CLK_TOP_AUD_K3_SRC_DIV>,
590 <&topckgen CLK_TOP_AUD_K4_SRC_DIV>,
591 <&topckgen CLK_TOP_AUD_K5_SRC_DIV>,
592 <&topckgen CLK_TOP_AUD_K6_SRC_DIV>,
593 <&topckgen CLK_TOP_AUD_I2S1_MCLK>,
594 <&topckgen CLK_TOP_AUD_I2S2_MCLK>,
595 <&topckgen CLK_TOP_AUD_I2S3_MCLK>,
596 <&topckgen CLK_TOP_AUD_I2S4_MCLK>,
597 <&topckgen CLK_TOP_AUD_I2S5_MCLK>,
598 <&topckgen CLK_TOP_AUD_I2S6_MCLK>,
599 <&topckgen CLK_TOP_ASM_M_SEL>,
600 <&topckgen CLK_TOP_ASM_H_SEL>,
601 <&topckgen CLK_TOP_UNIVPLL2_D4>,
602 <&topckgen CLK_TOP_UNIVPLL2_D2>,
603 <&topckgen CLK_TOP_SYSPLL_D5>;
605 clock-names = "infra_sys_audio_clk",
606 "top_audio_mux1_sel",
607 "top_audio_mux2_sel",
608 "top_audio_mux1_div",
609 "top_audio_mux2_div",
610 "top_audio_48k_timing",
611 "top_audio_44k_timing",
612 "top_audpll_mux_sel",
616 "top_hadds2_pll_98M",
617 "top_hadds2_pll_294M",
626 "top_aud_k1_src_sel",
627 "top_aud_k2_src_sel",
628 "top_aud_k3_src_sel",
629 "top_aud_k4_src_sel",
630 "top_aud_k5_src_sel",
631 "top_aud_k6_src_sel",
632 "top_aud_k1_src_div",
633 "top_aud_k2_src_div",
634 "top_aud_k3_src_div",
635 "top_aud_k4_src_div",
636 "top_aud_k5_src_div",
637 "top_aud_k6_src_div",
652 compatible = "mediatek,mt7623-mmc",
653 "mediatek,mt2701-mmc";
654 reg = <0 0x11230000 0 0x1000>;
655 interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_LOW>;
656 clocks = <&pericfg CLK_PERI_MSDC30_0>,
657 <&topckgen CLK_TOP_MSDC30_0_SEL>;
658 clock-names = "source", "hclk";
663 compatible = "mediatek,mt7623-mmc",
664 "mediatek,mt2701-mmc";
665 reg = <0 0x11240000 0 0x1000>;
666 interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_LOW>;
667 clocks = <&pericfg CLK_PERI_MSDC30_1>,
668 <&topckgen CLK_TOP_MSDC30_1_SEL>;
669 clock-names = "source", "hclk";
673 hifsys: syscon@1a000000 {
674 compatible = "mediatek,mt7623-hifsys",
675 "mediatek,mt2701-hifsys",
677 reg = <0 0x1a000000 0 0x1000>;
683 compatible = "mediatek,mt7623-xhci",
684 "mediatek,mt8173-xhci";
685 reg = <0 0x1a1c0000 0 0x1000>,
686 <0 0x1a1c4700 0 0x0100>;
687 reg-names = "mac", "ippc";
688 interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_LOW>;
689 clocks = <&hifsys CLK_HIFSYS_USB0PHY>,
690 <&topckgen CLK_TOP_ETHIF_SEL>;
691 clock-names = "sys_ck", "ref_ck";
692 power-domains = <&scpsys MT2701_POWER_DOMAIN_HIF>;
693 phys = <&u2port0 PHY_TYPE_USB2>, <&u3port0 PHY_TYPE_USB3>;
697 u3phy1: usb-phy@1a1c4000 {
698 compatible = "mediatek,mt7623-u3phy",
699 "mediatek,mt2701-u3phy";
700 reg = <0 0x1a1c4000 0 0x0700>;
701 #address-cells = <2>;
706 u2port0: usb-phy@1a1c4800 {
707 reg = <0 0x1a1c4800 0 0x0100>;
708 clocks = <&topckgen CLK_TOP_USB_PHY48M>;
714 u3port0: usb-phy@1a1c4900 {
715 reg = <0 0x1a1c4900 0 0x0700>;
724 compatible = "mediatek,mt7623-xhci",
725 "mediatek,mt8173-xhci";
726 reg = <0 0x1a240000 0 0x1000>,
727 <0 0x1a244700 0 0x0100>;
728 reg-names = "mac", "ippc";
729 interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_LOW>;
730 clocks = <&hifsys CLK_HIFSYS_USB1PHY>,
731 <&topckgen CLK_TOP_ETHIF_SEL>;
732 clock-names = "sys_ck", "ref_ck";
733 power-domains = <&scpsys MT2701_POWER_DOMAIN_HIF>;
734 phys = <&u2port1 PHY_TYPE_USB2>, <&u3port1 PHY_TYPE_USB3>;
738 u3phy2: usb-phy@1a244000 {
739 compatible = "mediatek,mt7623-u3phy",
740 "mediatek,mt2701-u3phy";
741 reg = <0 0x1a244000 0 0x0700>;
742 #address-cells = <2>;
747 u2port1: usb-phy@1a244800 {
748 reg = <0 0x1a244800 0 0x0100>;
749 clocks = <&topckgen CLK_TOP_USB_PHY48M>;
755 u3port1: usb-phy@1a244900 {
756 reg = <0 0x1a244900 0 0x0700>;
764 ethsys: syscon@1b000000 {
765 compatible = "mediatek,mt7623-ethsys",
766 "mediatek,mt2701-ethsys",
768 reg = <0 0x1b000000 0 0x1000>;
773 eth: ethernet@1b100000 {
774 compatible = "mediatek,mt7623-eth",
775 "mediatek,mt2701-eth",
777 reg = <0 0x1b100000 0 0x20000>;
778 interrupts = <GIC_SPI 200 IRQ_TYPE_LEVEL_LOW>,
779 <GIC_SPI 199 IRQ_TYPE_LEVEL_LOW>,
780 <GIC_SPI 198 IRQ_TYPE_LEVEL_LOW>;
781 clocks = <&topckgen CLK_TOP_ETHIF_SEL>,
782 <ðsys CLK_ETHSYS_ESW>,
783 <ðsys CLK_ETHSYS_GP1>,
784 <ðsys CLK_ETHSYS_GP2>,
785 <&apmixedsys CLK_APMIXED_TRGPLL>;
786 clock-names = "ethif", "esw", "gp1", "gp2", "trgpll";
787 resets = <ðsys MT2701_ETHSYS_FE_RST>,
788 <ðsys MT2701_ETHSYS_GMAC_RST>,
789 <ðsys MT2701_ETHSYS_PPE_RST>;
790 reset-names = "fe", "gmac", "ppe";
791 power-domains = <&scpsys MT2701_POWER_DOMAIN_ETH>;
792 mediatek,ethsys = <ðsys>;
793 mediatek,pctl = <&syscfg_pctl_a>;
794 #address-cells = <1>;
799 crypto: crypto@1b240000 {
800 compatible = "mediatek,eip97-crypto";
801 reg = <0 0x1b240000 0 0x20000>;
802 interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_LOW>,
803 <GIC_SPI 83 IRQ_TYPE_LEVEL_LOW>,
804 <GIC_SPI 84 IRQ_TYPE_LEVEL_LOW>,
805 <GIC_SPI 91 IRQ_TYPE_LEVEL_LOW>,
806 <GIC_SPI 97 IRQ_TYPE_LEVEL_LOW>;
807 clocks = <ðsys CLK_ETHSYS_CRYPTO>;
808 clock-names = "cryp";
809 power-domains = <&scpsys MT2701_POWER_DOMAIN_ETH>;