1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0 2*4882a593Smuzhiyun/* 3*4882a593Smuzhiyun * Copyright (c) 2017-2018 MediaTek Inc. 4*4882a593Smuzhiyun * Author: John Crispin <john@phrozen.org> 5*4882a593Smuzhiyun * Sean Wang <sean.wang@mediatek.com> 6*4882a593Smuzhiyun * Ryder Lee <ryder.lee@mediatek.com> 7*4882a593Smuzhiyun * 8*4882a593Smuzhiyun */ 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun#include <dt-bindings/interrupt-controller/irq.h> 11*4882a593Smuzhiyun#include <dt-bindings/interrupt-controller/arm-gic.h> 12*4882a593Smuzhiyun#include <dt-bindings/clock/mt2701-clk.h> 13*4882a593Smuzhiyun#include <dt-bindings/pinctrl/mt7623-pinfunc.h> 14*4882a593Smuzhiyun#include <dt-bindings/power/mt2701-power.h> 15*4882a593Smuzhiyun#include <dt-bindings/gpio/gpio.h> 16*4882a593Smuzhiyun#include <dt-bindings/phy/phy.h> 17*4882a593Smuzhiyun#include <dt-bindings/reset/mt2701-resets.h> 18*4882a593Smuzhiyun#include <dt-bindings/thermal/thermal.h> 19*4882a593Smuzhiyun 20*4882a593Smuzhiyun/ { 21*4882a593Smuzhiyun compatible = "mediatek,mt7623"; 22*4882a593Smuzhiyun interrupt-parent = <&sysirq>; 23*4882a593Smuzhiyun #address-cells = <2>; 24*4882a593Smuzhiyun #size-cells = <2>; 25*4882a593Smuzhiyun 26*4882a593Smuzhiyun cpu_opp_table: opp-table { 27*4882a593Smuzhiyun compatible = "operating-points-v2"; 28*4882a593Smuzhiyun opp-shared; 29*4882a593Smuzhiyun 30*4882a593Smuzhiyun opp-98000000 { 31*4882a593Smuzhiyun opp-hz = /bits/ 64 <98000000>; 32*4882a593Smuzhiyun opp-microvolt = <1050000>; 33*4882a593Smuzhiyun }; 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun opp-198000000 { 36*4882a593Smuzhiyun opp-hz = /bits/ 64 <198000000>; 37*4882a593Smuzhiyun opp-microvolt = <1050000>; 38*4882a593Smuzhiyun }; 39*4882a593Smuzhiyun 40*4882a593Smuzhiyun opp-398000000 { 41*4882a593Smuzhiyun opp-hz = /bits/ 64 <398000000>; 42*4882a593Smuzhiyun opp-microvolt = <1050000>; 43*4882a593Smuzhiyun }; 44*4882a593Smuzhiyun 45*4882a593Smuzhiyun opp-598000000 { 46*4882a593Smuzhiyun opp-hz = /bits/ 64 <598000000>; 47*4882a593Smuzhiyun opp-microvolt = <1050000>; 48*4882a593Smuzhiyun }; 49*4882a593Smuzhiyun 50*4882a593Smuzhiyun opp-747500000 { 51*4882a593Smuzhiyun opp-hz = /bits/ 64 <747500000>; 52*4882a593Smuzhiyun opp-microvolt = <1050000>; 53*4882a593Smuzhiyun }; 54*4882a593Smuzhiyun 55*4882a593Smuzhiyun opp-1040000000 { 56*4882a593Smuzhiyun opp-hz = /bits/ 64 <1040000000>; 57*4882a593Smuzhiyun opp-microvolt = <1150000>; 58*4882a593Smuzhiyun }; 59*4882a593Smuzhiyun 60*4882a593Smuzhiyun opp-1196000000 { 61*4882a593Smuzhiyun opp-hz = /bits/ 64 <1196000000>; 62*4882a593Smuzhiyun opp-microvolt = <1200000>; 63*4882a593Smuzhiyun }; 64*4882a593Smuzhiyun 65*4882a593Smuzhiyun opp-1300000000 { 66*4882a593Smuzhiyun opp-hz = /bits/ 64 <1300000000>; 67*4882a593Smuzhiyun opp-microvolt = <1300000>; 68*4882a593Smuzhiyun }; 69*4882a593Smuzhiyun }; 70*4882a593Smuzhiyun 71*4882a593Smuzhiyun cpus { 72*4882a593Smuzhiyun #address-cells = <1>; 73*4882a593Smuzhiyun #size-cells = <0>; 74*4882a593Smuzhiyun enable-method = "mediatek,mt6589-smp"; 75*4882a593Smuzhiyun 76*4882a593Smuzhiyun cpu0: cpu@0 { 77*4882a593Smuzhiyun device_type = "cpu"; 78*4882a593Smuzhiyun compatible = "arm,cortex-a7"; 79*4882a593Smuzhiyun reg = <0x0>; 80*4882a593Smuzhiyun clocks = <&infracfg CLK_INFRA_CPUSEL>, 81*4882a593Smuzhiyun <&apmixedsys CLK_APMIXED_MAINPLL>; 82*4882a593Smuzhiyun clock-names = "cpu", "intermediate"; 83*4882a593Smuzhiyun operating-points-v2 = <&cpu_opp_table>; 84*4882a593Smuzhiyun #cooling-cells = <2>; 85*4882a593Smuzhiyun clock-frequency = <1300000000>; 86*4882a593Smuzhiyun }; 87*4882a593Smuzhiyun 88*4882a593Smuzhiyun cpu1: cpu@1 { 89*4882a593Smuzhiyun device_type = "cpu"; 90*4882a593Smuzhiyun compatible = "arm,cortex-a7"; 91*4882a593Smuzhiyun reg = <0x1>; 92*4882a593Smuzhiyun clocks = <&infracfg CLK_INFRA_CPUSEL>, 93*4882a593Smuzhiyun <&apmixedsys CLK_APMIXED_MAINPLL>; 94*4882a593Smuzhiyun clock-names = "cpu", "intermediate"; 95*4882a593Smuzhiyun operating-points-v2 = <&cpu_opp_table>; 96*4882a593Smuzhiyun #cooling-cells = <2>; 97*4882a593Smuzhiyun clock-frequency = <1300000000>; 98*4882a593Smuzhiyun }; 99*4882a593Smuzhiyun 100*4882a593Smuzhiyun cpu2: cpu@2 { 101*4882a593Smuzhiyun device_type = "cpu"; 102*4882a593Smuzhiyun compatible = "arm,cortex-a7"; 103*4882a593Smuzhiyun reg = <0x2>; 104*4882a593Smuzhiyun clocks = <&infracfg CLK_INFRA_CPUSEL>, 105*4882a593Smuzhiyun <&apmixedsys CLK_APMIXED_MAINPLL>; 106*4882a593Smuzhiyun clock-names = "cpu", "intermediate"; 107*4882a593Smuzhiyun operating-points-v2 = <&cpu_opp_table>; 108*4882a593Smuzhiyun #cooling-cells = <2>; 109*4882a593Smuzhiyun clock-frequency = <1300000000>; 110*4882a593Smuzhiyun }; 111*4882a593Smuzhiyun 112*4882a593Smuzhiyun cpu3: cpu@3 { 113*4882a593Smuzhiyun device_type = "cpu"; 114*4882a593Smuzhiyun compatible = "arm,cortex-a7"; 115*4882a593Smuzhiyun reg = <0x3>; 116*4882a593Smuzhiyun clocks = <&infracfg CLK_INFRA_CPUSEL>, 117*4882a593Smuzhiyun <&apmixedsys CLK_APMIXED_MAINPLL>; 118*4882a593Smuzhiyun clock-names = "cpu", "intermediate"; 119*4882a593Smuzhiyun operating-points-v2 = <&cpu_opp_table>; 120*4882a593Smuzhiyun #cooling-cells = <2>; 121*4882a593Smuzhiyun clock-frequency = <1300000000>; 122*4882a593Smuzhiyun }; 123*4882a593Smuzhiyun }; 124*4882a593Smuzhiyun 125*4882a593Smuzhiyun pmu { 126*4882a593Smuzhiyun compatible = "arm,cortex-a7-pmu"; 127*4882a593Smuzhiyun interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_LOW>, 128*4882a593Smuzhiyun <GIC_SPI 5 IRQ_TYPE_LEVEL_LOW>, 129*4882a593Smuzhiyun <GIC_SPI 6 IRQ_TYPE_LEVEL_LOW>, 130*4882a593Smuzhiyun <GIC_SPI 7 IRQ_TYPE_LEVEL_LOW>; 131*4882a593Smuzhiyun interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>; 132*4882a593Smuzhiyun }; 133*4882a593Smuzhiyun 134*4882a593Smuzhiyun system_clk: dummy13m { 135*4882a593Smuzhiyun compatible = "fixed-clock"; 136*4882a593Smuzhiyun clock-frequency = <13000000>; 137*4882a593Smuzhiyun #clock-cells = <0>; 138*4882a593Smuzhiyun }; 139*4882a593Smuzhiyun 140*4882a593Smuzhiyun rtc32k: oscillator-1 { 141*4882a593Smuzhiyun compatible = "fixed-clock"; 142*4882a593Smuzhiyun #clock-cells = <0>; 143*4882a593Smuzhiyun clock-frequency = <32000>; 144*4882a593Smuzhiyun clock-output-names = "rtc32k"; 145*4882a593Smuzhiyun }; 146*4882a593Smuzhiyun 147*4882a593Smuzhiyun clk26m: oscillator-0 { 148*4882a593Smuzhiyun compatible = "fixed-clock"; 149*4882a593Smuzhiyun #clock-cells = <0>; 150*4882a593Smuzhiyun clock-frequency = <26000000>; 151*4882a593Smuzhiyun clock-output-names = "clk26m"; 152*4882a593Smuzhiyun }; 153*4882a593Smuzhiyun 154*4882a593Smuzhiyun thermal-zones { 155*4882a593Smuzhiyun cpu_thermal: cpu-thermal { 156*4882a593Smuzhiyun polling-delay-passive = <1000>; 157*4882a593Smuzhiyun polling-delay = <1000>; 158*4882a593Smuzhiyun 159*4882a593Smuzhiyun thermal-sensors = <&thermal 0>; 160*4882a593Smuzhiyun 161*4882a593Smuzhiyun trips { 162*4882a593Smuzhiyun cpu_passive: cpu-passive { 163*4882a593Smuzhiyun temperature = <47000>; 164*4882a593Smuzhiyun hysteresis = <2000>; 165*4882a593Smuzhiyun type = "passive"; 166*4882a593Smuzhiyun }; 167*4882a593Smuzhiyun 168*4882a593Smuzhiyun cpu_active: cpu-active { 169*4882a593Smuzhiyun temperature = <67000>; 170*4882a593Smuzhiyun hysteresis = <2000>; 171*4882a593Smuzhiyun type = "active"; 172*4882a593Smuzhiyun }; 173*4882a593Smuzhiyun 174*4882a593Smuzhiyun cpu_hot: cpu-hot { 175*4882a593Smuzhiyun temperature = <87000>; 176*4882a593Smuzhiyun hysteresis = <2000>; 177*4882a593Smuzhiyun type = "hot"; 178*4882a593Smuzhiyun }; 179*4882a593Smuzhiyun 180*4882a593Smuzhiyun cpu-crit { 181*4882a593Smuzhiyun temperature = <107000>; 182*4882a593Smuzhiyun hysteresis = <2000>; 183*4882a593Smuzhiyun type = "critical"; 184*4882a593Smuzhiyun }; 185*4882a593Smuzhiyun }; 186*4882a593Smuzhiyun 187*4882a593Smuzhiyun cooling-maps { 188*4882a593Smuzhiyun map0 { 189*4882a593Smuzhiyun trip = <&cpu_passive>; 190*4882a593Smuzhiyun cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 191*4882a593Smuzhiyun <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 192*4882a593Smuzhiyun <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 193*4882a593Smuzhiyun <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 194*4882a593Smuzhiyun }; 195*4882a593Smuzhiyun 196*4882a593Smuzhiyun map1 { 197*4882a593Smuzhiyun trip = <&cpu_active>; 198*4882a593Smuzhiyun cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 199*4882a593Smuzhiyun <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 200*4882a593Smuzhiyun <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 201*4882a593Smuzhiyun <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 202*4882a593Smuzhiyun }; 203*4882a593Smuzhiyun 204*4882a593Smuzhiyun map2 { 205*4882a593Smuzhiyun trip = <&cpu_hot>; 206*4882a593Smuzhiyun cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 207*4882a593Smuzhiyun <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 208*4882a593Smuzhiyun <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 209*4882a593Smuzhiyun <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 210*4882a593Smuzhiyun }; 211*4882a593Smuzhiyun }; 212*4882a593Smuzhiyun }; 213*4882a593Smuzhiyun }; 214*4882a593Smuzhiyun 215*4882a593Smuzhiyun timer { 216*4882a593Smuzhiyun compatible = "arm,armv7-timer"; 217*4882a593Smuzhiyun interrupt-parent = <&gic>; 218*4882a593Smuzhiyun interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, 219*4882a593Smuzhiyun <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, 220*4882a593Smuzhiyun <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, 221*4882a593Smuzhiyun <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 222*4882a593Smuzhiyun clock-frequency = <13000000>; 223*4882a593Smuzhiyun arm,cpu-registers-not-fw-configured; 224*4882a593Smuzhiyun }; 225*4882a593Smuzhiyun 226*4882a593Smuzhiyun topckgen: syscon@10000000 { 227*4882a593Smuzhiyun compatible = "mediatek,mt7623-topckgen", 228*4882a593Smuzhiyun "mediatek,mt2701-topckgen", 229*4882a593Smuzhiyun "syscon"; 230*4882a593Smuzhiyun reg = <0 0x10000000 0 0x1000>; 231*4882a593Smuzhiyun #clock-cells = <1>; 232*4882a593Smuzhiyun }; 233*4882a593Smuzhiyun 234*4882a593Smuzhiyun infracfg: syscon@10001000 { 235*4882a593Smuzhiyun compatible = "mediatek,mt7623-infracfg", 236*4882a593Smuzhiyun "mediatek,mt2701-infracfg", 237*4882a593Smuzhiyun "syscon"; 238*4882a593Smuzhiyun reg = <0 0x10001000 0 0x1000>; 239*4882a593Smuzhiyun #clock-cells = <1>; 240*4882a593Smuzhiyun #reset-cells = <1>; 241*4882a593Smuzhiyun }; 242*4882a593Smuzhiyun 243*4882a593Smuzhiyun pericfg: syscon@10003000 { 244*4882a593Smuzhiyun compatible = "mediatek,mt7623-pericfg", 245*4882a593Smuzhiyun "mediatek,mt2701-pericfg", 246*4882a593Smuzhiyun "syscon"; 247*4882a593Smuzhiyun reg = <0 0x10003000 0 0x1000>; 248*4882a593Smuzhiyun #clock-cells = <1>; 249*4882a593Smuzhiyun #reset-cells = <1>; 250*4882a593Smuzhiyun }; 251*4882a593Smuzhiyun 252*4882a593Smuzhiyun pio: pinctrl@10005000 { 253*4882a593Smuzhiyun compatible = "mediatek,mt7623-pinctrl"; 254*4882a593Smuzhiyun reg = <0 0x1000b000 0 0x1000>; 255*4882a593Smuzhiyun mediatek,pctl-regmap = <&syscfg_pctl_a>; 256*4882a593Smuzhiyun pins-are-numbered; 257*4882a593Smuzhiyun gpio-controller; 258*4882a593Smuzhiyun #gpio-cells = <2>; 259*4882a593Smuzhiyun interrupt-controller; 260*4882a593Smuzhiyun interrupt-parent = <&gic>; 261*4882a593Smuzhiyun #interrupt-cells = <2>; 262*4882a593Smuzhiyun interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>, 263*4882a593Smuzhiyun <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>; 264*4882a593Smuzhiyun }; 265*4882a593Smuzhiyun 266*4882a593Smuzhiyun syscfg_pctl_a: syscfg@10005000 { 267*4882a593Smuzhiyun compatible = "mediatek,mt7623-pctl-a-syscfg", "syscon"; 268*4882a593Smuzhiyun reg = <0 0x10005000 0 0x1000>; 269*4882a593Smuzhiyun }; 270*4882a593Smuzhiyun 271*4882a593Smuzhiyun scpsys: power-controller@10006000 { 272*4882a593Smuzhiyun compatible = "mediatek,mt7623-scpsys", 273*4882a593Smuzhiyun "mediatek,mt2701-scpsys", 274*4882a593Smuzhiyun "syscon"; 275*4882a593Smuzhiyun #power-domain-cells = <1>; 276*4882a593Smuzhiyun reg = <0 0x10006000 0 0x1000>; 277*4882a593Smuzhiyun infracfg = <&infracfg>; 278*4882a593Smuzhiyun clocks = <&topckgen CLK_TOP_MM_SEL>, 279*4882a593Smuzhiyun <&topckgen CLK_TOP_MFG_SEL>, 280*4882a593Smuzhiyun <&topckgen CLK_TOP_ETHIF_SEL>; 281*4882a593Smuzhiyun clock-names = "mm", "mfg", "ethif"; 282*4882a593Smuzhiyun }; 283*4882a593Smuzhiyun 284*4882a593Smuzhiyun watchdog: watchdog@10007000 { 285*4882a593Smuzhiyun compatible = "mediatek,mt7623-wdt", 286*4882a593Smuzhiyun "mediatek,mt6589-wdt"; 287*4882a593Smuzhiyun reg = <0 0x10007000 0 0x100>; 288*4882a593Smuzhiyun }; 289*4882a593Smuzhiyun 290*4882a593Smuzhiyun timer: timer@10008000 { 291*4882a593Smuzhiyun compatible = "mediatek,mt7623-timer", 292*4882a593Smuzhiyun "mediatek,mt6577-timer"; 293*4882a593Smuzhiyun reg = <0 0x10008000 0 0x80>; 294*4882a593Smuzhiyun interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_LOW>; 295*4882a593Smuzhiyun clocks = <&system_clk>, <&rtc32k>; 296*4882a593Smuzhiyun clock-names = "system-clk", "rtc-clk"; 297*4882a593Smuzhiyun }; 298*4882a593Smuzhiyun 299*4882a593Smuzhiyun pwrap: pwrap@1000d000 { 300*4882a593Smuzhiyun compatible = "mediatek,mt7623-pwrap", 301*4882a593Smuzhiyun "mediatek,mt2701-pwrap"; 302*4882a593Smuzhiyun reg = <0 0x1000d000 0 0x1000>; 303*4882a593Smuzhiyun reg-names = "pwrap"; 304*4882a593Smuzhiyun interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>; 305*4882a593Smuzhiyun resets = <&infracfg MT2701_INFRA_PMIC_WRAP_RST>; 306*4882a593Smuzhiyun reset-names = "pwrap"; 307*4882a593Smuzhiyun clocks = <&infracfg CLK_INFRA_PMICSPI>, 308*4882a593Smuzhiyun <&infracfg CLK_INFRA_PMICWRAP>; 309*4882a593Smuzhiyun clock-names = "spi", "wrap"; 310*4882a593Smuzhiyun }; 311*4882a593Smuzhiyun 312*4882a593Smuzhiyun cir: cir@10013000 { 313*4882a593Smuzhiyun compatible = "mediatek,mt7623-cir"; 314*4882a593Smuzhiyun reg = <0 0x10013000 0 0x1000>; 315*4882a593Smuzhiyun interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_LOW>; 316*4882a593Smuzhiyun clocks = <&infracfg CLK_INFRA_IRRX>; 317*4882a593Smuzhiyun clock-names = "clk"; 318*4882a593Smuzhiyun status = "disabled"; 319*4882a593Smuzhiyun }; 320*4882a593Smuzhiyun 321*4882a593Smuzhiyun sysirq: interrupt-controller@10200100 { 322*4882a593Smuzhiyun compatible = "mediatek,mt7623-sysirq", 323*4882a593Smuzhiyun "mediatek,mt6577-sysirq"; 324*4882a593Smuzhiyun interrupt-controller; 325*4882a593Smuzhiyun #interrupt-cells = <3>; 326*4882a593Smuzhiyun interrupt-parent = <&gic>; 327*4882a593Smuzhiyun reg = <0 0x10200100 0 0x1c>; 328*4882a593Smuzhiyun }; 329*4882a593Smuzhiyun 330*4882a593Smuzhiyun efuse: efuse@10206000 { 331*4882a593Smuzhiyun compatible = "mediatek,mt7623-efuse", 332*4882a593Smuzhiyun "mediatek,mt8173-efuse"; 333*4882a593Smuzhiyun reg = <0 0x10206000 0 0x1000>; 334*4882a593Smuzhiyun #address-cells = <1>; 335*4882a593Smuzhiyun #size-cells = <1>; 336*4882a593Smuzhiyun thermal_calibration_data: calib@424 { 337*4882a593Smuzhiyun reg = <0x424 0xc>; 338*4882a593Smuzhiyun }; 339*4882a593Smuzhiyun }; 340*4882a593Smuzhiyun 341*4882a593Smuzhiyun apmixedsys: syscon@10209000 { 342*4882a593Smuzhiyun compatible = "mediatek,mt7623-apmixedsys", 343*4882a593Smuzhiyun "mediatek,mt2701-apmixedsys", 344*4882a593Smuzhiyun "syscon"; 345*4882a593Smuzhiyun reg = <0 0x10209000 0 0x1000>; 346*4882a593Smuzhiyun #clock-cells = <1>; 347*4882a593Smuzhiyun }; 348*4882a593Smuzhiyun 349*4882a593Smuzhiyun rng: rng@1020f000 { 350*4882a593Smuzhiyun compatible = "mediatek,mt7623-rng"; 351*4882a593Smuzhiyun reg = <0 0x1020f000 0 0x1000>; 352*4882a593Smuzhiyun clocks = <&infracfg CLK_INFRA_TRNG>; 353*4882a593Smuzhiyun clock-names = "rng"; 354*4882a593Smuzhiyun }; 355*4882a593Smuzhiyun 356*4882a593Smuzhiyun gic: interrupt-controller@10211000 { 357*4882a593Smuzhiyun compatible = "arm,cortex-a7-gic"; 358*4882a593Smuzhiyun interrupt-controller; 359*4882a593Smuzhiyun #interrupt-cells = <3>; 360*4882a593Smuzhiyun interrupt-parent = <&gic>; 361*4882a593Smuzhiyun reg = <0 0x10211000 0 0x1000>, 362*4882a593Smuzhiyun <0 0x10212000 0 0x2000>, 363*4882a593Smuzhiyun <0 0x10214000 0 0x2000>, 364*4882a593Smuzhiyun <0 0x10216000 0 0x2000>; 365*4882a593Smuzhiyun }; 366*4882a593Smuzhiyun 367*4882a593Smuzhiyun auxadc: adc@11001000 { 368*4882a593Smuzhiyun compatible = "mediatek,mt7623-auxadc", 369*4882a593Smuzhiyun "mediatek,mt2701-auxadc"; 370*4882a593Smuzhiyun reg = <0 0x11001000 0 0x1000>; 371*4882a593Smuzhiyun clocks = <&pericfg CLK_PERI_AUXADC>; 372*4882a593Smuzhiyun clock-names = "main"; 373*4882a593Smuzhiyun #io-channel-cells = <1>; 374*4882a593Smuzhiyun }; 375*4882a593Smuzhiyun 376*4882a593Smuzhiyun uart0: serial@11002000 { 377*4882a593Smuzhiyun compatible = "mediatek,mt7623-uart", 378*4882a593Smuzhiyun "mediatek,mt6577-uart"; 379*4882a593Smuzhiyun reg = <0 0x11002000 0 0x400>; 380*4882a593Smuzhiyun interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_LOW>; 381*4882a593Smuzhiyun clocks = <&pericfg CLK_PERI_UART0_SEL>, 382*4882a593Smuzhiyun <&pericfg CLK_PERI_UART0>; 383*4882a593Smuzhiyun clock-names = "baud", "bus"; 384*4882a593Smuzhiyun status = "disabled"; 385*4882a593Smuzhiyun }; 386*4882a593Smuzhiyun 387*4882a593Smuzhiyun uart1: serial@11003000 { 388*4882a593Smuzhiyun compatible = "mediatek,mt7623-uart", 389*4882a593Smuzhiyun "mediatek,mt6577-uart"; 390*4882a593Smuzhiyun reg = <0 0x11003000 0 0x400>; 391*4882a593Smuzhiyun interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_LOW>; 392*4882a593Smuzhiyun clocks = <&pericfg CLK_PERI_UART1_SEL>, 393*4882a593Smuzhiyun <&pericfg CLK_PERI_UART1>; 394*4882a593Smuzhiyun clock-names = "baud", "bus"; 395*4882a593Smuzhiyun status = "disabled"; 396*4882a593Smuzhiyun }; 397*4882a593Smuzhiyun 398*4882a593Smuzhiyun uart2: serial@11004000 { 399*4882a593Smuzhiyun compatible = "mediatek,mt7623-uart", 400*4882a593Smuzhiyun "mediatek,mt6577-uart"; 401*4882a593Smuzhiyun reg = <0 0x11004000 0 0x400>; 402*4882a593Smuzhiyun interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_LOW>; 403*4882a593Smuzhiyun clocks = <&pericfg CLK_PERI_UART2_SEL>, 404*4882a593Smuzhiyun <&pericfg CLK_PERI_UART2>; 405*4882a593Smuzhiyun clock-names = "baud", "bus"; 406*4882a593Smuzhiyun status = "disabled"; 407*4882a593Smuzhiyun }; 408*4882a593Smuzhiyun 409*4882a593Smuzhiyun uart3: serial@11005000 { 410*4882a593Smuzhiyun compatible = "mediatek,mt7623-uart", 411*4882a593Smuzhiyun "mediatek,mt6577-uart"; 412*4882a593Smuzhiyun reg = <0 0x11005000 0 0x400>; 413*4882a593Smuzhiyun interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_LOW>; 414*4882a593Smuzhiyun clocks = <&pericfg CLK_PERI_UART3_SEL>, 415*4882a593Smuzhiyun <&pericfg CLK_PERI_UART3>; 416*4882a593Smuzhiyun clock-names = "baud", "bus"; 417*4882a593Smuzhiyun status = "disabled"; 418*4882a593Smuzhiyun }; 419*4882a593Smuzhiyun 420*4882a593Smuzhiyun pwm: pwm@11006000 { 421*4882a593Smuzhiyun compatible = "mediatek,mt7623-pwm"; 422*4882a593Smuzhiyun reg = <0 0x11006000 0 0x1000>; 423*4882a593Smuzhiyun #pwm-cells = <2>; 424*4882a593Smuzhiyun clocks = <&topckgen CLK_TOP_PWM_SEL>, 425*4882a593Smuzhiyun <&pericfg CLK_PERI_PWM>, 426*4882a593Smuzhiyun <&pericfg CLK_PERI_PWM1>, 427*4882a593Smuzhiyun <&pericfg CLK_PERI_PWM2>, 428*4882a593Smuzhiyun <&pericfg CLK_PERI_PWM3>, 429*4882a593Smuzhiyun <&pericfg CLK_PERI_PWM4>, 430*4882a593Smuzhiyun <&pericfg CLK_PERI_PWM5>; 431*4882a593Smuzhiyun clock-names = "top", "main", "pwm1", "pwm2", 432*4882a593Smuzhiyun "pwm3", "pwm4", "pwm5"; 433*4882a593Smuzhiyun status = "disabled"; 434*4882a593Smuzhiyun }; 435*4882a593Smuzhiyun 436*4882a593Smuzhiyun i2c0: i2c@11007000 { 437*4882a593Smuzhiyun compatible = "mediatek,mt7623-i2c", 438*4882a593Smuzhiyun "mediatek,mt6577-i2c"; 439*4882a593Smuzhiyun reg = <0 0x11007000 0 0x70>, 440*4882a593Smuzhiyun <0 0x11000200 0 0x80>; 441*4882a593Smuzhiyun interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_LOW>; 442*4882a593Smuzhiyun clock-div = <16>; 443*4882a593Smuzhiyun clocks = <&pericfg CLK_PERI_I2C0>, 444*4882a593Smuzhiyun <&pericfg CLK_PERI_AP_DMA>; 445*4882a593Smuzhiyun clock-names = "main", "dma"; 446*4882a593Smuzhiyun #address-cells = <1>; 447*4882a593Smuzhiyun #size-cells = <0>; 448*4882a593Smuzhiyun status = "disabled"; 449*4882a593Smuzhiyun }; 450*4882a593Smuzhiyun 451*4882a593Smuzhiyun i2c1: i2c@11008000 { 452*4882a593Smuzhiyun compatible = "mediatek,mt7623-i2c", 453*4882a593Smuzhiyun "mediatek,mt6577-i2c"; 454*4882a593Smuzhiyun reg = <0 0x11008000 0 0x70>, 455*4882a593Smuzhiyun <0 0x11000280 0 0x80>; 456*4882a593Smuzhiyun interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_LOW>; 457*4882a593Smuzhiyun clock-div = <16>; 458*4882a593Smuzhiyun clocks = <&pericfg CLK_PERI_I2C1>, 459*4882a593Smuzhiyun <&pericfg CLK_PERI_AP_DMA>; 460*4882a593Smuzhiyun clock-names = "main", "dma"; 461*4882a593Smuzhiyun #address-cells = <1>; 462*4882a593Smuzhiyun #size-cells = <0>; 463*4882a593Smuzhiyun status = "disabled"; 464*4882a593Smuzhiyun }; 465*4882a593Smuzhiyun 466*4882a593Smuzhiyun i2c2: i2c@11009000 { 467*4882a593Smuzhiyun compatible = "mediatek,mt7623-i2c", 468*4882a593Smuzhiyun "mediatek,mt6577-i2c"; 469*4882a593Smuzhiyun reg = <0 0x11009000 0 0x70>, 470*4882a593Smuzhiyun <0 0x11000300 0 0x80>; 471*4882a593Smuzhiyun interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_LOW>; 472*4882a593Smuzhiyun clock-div = <16>; 473*4882a593Smuzhiyun clocks = <&pericfg CLK_PERI_I2C2>, 474*4882a593Smuzhiyun <&pericfg CLK_PERI_AP_DMA>; 475*4882a593Smuzhiyun clock-names = "main", "dma"; 476*4882a593Smuzhiyun #address-cells = <1>; 477*4882a593Smuzhiyun #size-cells = <0>; 478*4882a593Smuzhiyun status = "disabled"; 479*4882a593Smuzhiyun }; 480*4882a593Smuzhiyun 481*4882a593Smuzhiyun spi0: spi@1100a000 { 482*4882a593Smuzhiyun compatible = "mediatek,mt7623-spi", 483*4882a593Smuzhiyun "mediatek,mt2701-spi"; 484*4882a593Smuzhiyun #address-cells = <1>; 485*4882a593Smuzhiyun #size-cells = <0>; 486*4882a593Smuzhiyun reg = <0 0x1100a000 0 0x100>; 487*4882a593Smuzhiyun interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_LOW>; 488*4882a593Smuzhiyun clocks = <&topckgen CLK_TOP_SYSPLL3_D2>, 489*4882a593Smuzhiyun <&topckgen CLK_TOP_SPI0_SEL>, 490*4882a593Smuzhiyun <&pericfg CLK_PERI_SPI0>; 491*4882a593Smuzhiyun clock-names = "parent-clk", "sel-clk", "spi-clk"; 492*4882a593Smuzhiyun status = "disabled"; 493*4882a593Smuzhiyun }; 494*4882a593Smuzhiyun 495*4882a593Smuzhiyun thermal: thermal@1100b000 { 496*4882a593Smuzhiyun #thermal-sensor-cells = <1>; 497*4882a593Smuzhiyun compatible = "mediatek,mt7623-thermal", 498*4882a593Smuzhiyun "mediatek,mt2701-thermal"; 499*4882a593Smuzhiyun reg = <0 0x1100b000 0 0x1000>; 500*4882a593Smuzhiyun interrupts = <0 70 IRQ_TYPE_LEVEL_LOW>; 501*4882a593Smuzhiyun clocks = <&pericfg CLK_PERI_THERM>, <&pericfg CLK_PERI_AUXADC>; 502*4882a593Smuzhiyun clock-names = "therm", "auxadc"; 503*4882a593Smuzhiyun resets = <&pericfg MT2701_PERI_THERM_SW_RST>; 504*4882a593Smuzhiyun reset-names = "therm"; 505*4882a593Smuzhiyun mediatek,auxadc = <&auxadc>; 506*4882a593Smuzhiyun mediatek,apmixedsys = <&apmixedsys>; 507*4882a593Smuzhiyun nvmem-cells = <&thermal_calibration_data>; 508*4882a593Smuzhiyun nvmem-cell-names = "calibration-data"; 509*4882a593Smuzhiyun }; 510*4882a593Smuzhiyun 511*4882a593Smuzhiyun btif: serial@1100c000 { 512*4882a593Smuzhiyun compatible = "mediatek,mt7623-btif", 513*4882a593Smuzhiyun "mediatek,mtk-btif"; 514*4882a593Smuzhiyun reg = <0 0x1100c000 0 0x1000>; 515*4882a593Smuzhiyun interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_LOW>; 516*4882a593Smuzhiyun clocks = <&pericfg CLK_PERI_BTIF>; 517*4882a593Smuzhiyun clock-names = "main"; 518*4882a593Smuzhiyun reg-shift = <2>; 519*4882a593Smuzhiyun reg-io-width = <4>; 520*4882a593Smuzhiyun status = "disabled"; 521*4882a593Smuzhiyun }; 522*4882a593Smuzhiyun 523*4882a593Smuzhiyun nandc: nfi@1100d000 { 524*4882a593Smuzhiyun compatible = "mediatek,mt7623-nfc", 525*4882a593Smuzhiyun "mediatek,mt2701-nfc"; 526*4882a593Smuzhiyun reg = <0 0x1100d000 0 0x1000>; 527*4882a593Smuzhiyun interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_LOW>; 528*4882a593Smuzhiyun power-domains = <&scpsys MT2701_POWER_DOMAIN_IFR_MSC>; 529*4882a593Smuzhiyun clocks = <&pericfg CLK_PERI_NFI>, 530*4882a593Smuzhiyun <&pericfg CLK_PERI_NFI_PAD>; 531*4882a593Smuzhiyun clock-names = "nfi_clk", "pad_clk"; 532*4882a593Smuzhiyun status = "disabled"; 533*4882a593Smuzhiyun ecc-engine = <&bch>; 534*4882a593Smuzhiyun #address-cells = <1>; 535*4882a593Smuzhiyun #size-cells = <0>; 536*4882a593Smuzhiyun }; 537*4882a593Smuzhiyun 538*4882a593Smuzhiyun bch: ecc@1100e000 { 539*4882a593Smuzhiyun compatible = "mediatek,mt7623-ecc", 540*4882a593Smuzhiyun "mediatek,mt2701-ecc"; 541*4882a593Smuzhiyun reg = <0 0x1100e000 0 0x1000>; 542*4882a593Smuzhiyun interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_LOW>; 543*4882a593Smuzhiyun clocks = <&pericfg CLK_PERI_NFI_ECC>; 544*4882a593Smuzhiyun clock-names = "nfiecc_clk"; 545*4882a593Smuzhiyun status = "disabled"; 546*4882a593Smuzhiyun }; 547*4882a593Smuzhiyun 548*4882a593Smuzhiyun nor_flash: spi@11014000 { 549*4882a593Smuzhiyun compatible = "mediatek,mt7623-nor", 550*4882a593Smuzhiyun "mediatek,mt8173-nor"; 551*4882a593Smuzhiyun reg = <0 0x11014000 0 0x1000>; 552*4882a593Smuzhiyun clocks = <&pericfg CLK_PERI_FLASH>, 553*4882a593Smuzhiyun <&topckgen CLK_TOP_FLASH_SEL>; 554*4882a593Smuzhiyun clock-names = "spi", "sf"; 555*4882a593Smuzhiyun #address-cells = <1>; 556*4882a593Smuzhiyun #size-cells = <0>; 557*4882a593Smuzhiyun status = "disabled"; 558*4882a593Smuzhiyun }; 559*4882a593Smuzhiyun 560*4882a593Smuzhiyun spi1: spi@11016000 { 561*4882a593Smuzhiyun compatible = "mediatek,mt7623-spi", 562*4882a593Smuzhiyun "mediatek,mt2701-spi"; 563*4882a593Smuzhiyun #address-cells = <1>; 564*4882a593Smuzhiyun #size-cells = <0>; 565*4882a593Smuzhiyun reg = <0 0x11016000 0 0x100>; 566*4882a593Smuzhiyun interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_LOW>; 567*4882a593Smuzhiyun clocks = <&topckgen CLK_TOP_SYSPLL3_D2>, 568*4882a593Smuzhiyun <&topckgen CLK_TOP_SPI1_SEL>, 569*4882a593Smuzhiyun <&pericfg CLK_PERI_SPI1>; 570*4882a593Smuzhiyun clock-names = "parent-clk", "sel-clk", "spi-clk"; 571*4882a593Smuzhiyun status = "disabled"; 572*4882a593Smuzhiyun }; 573*4882a593Smuzhiyun 574*4882a593Smuzhiyun spi2: spi@11017000 { 575*4882a593Smuzhiyun compatible = "mediatek,mt7623-spi", 576*4882a593Smuzhiyun "mediatek,mt2701-spi"; 577*4882a593Smuzhiyun #address-cells = <1>; 578*4882a593Smuzhiyun #size-cells = <0>; 579*4882a593Smuzhiyun reg = <0 0x11017000 0 0x1000>; 580*4882a593Smuzhiyun interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_LOW>; 581*4882a593Smuzhiyun clocks = <&topckgen CLK_TOP_SYSPLL3_D2>, 582*4882a593Smuzhiyun <&topckgen CLK_TOP_SPI2_SEL>, 583*4882a593Smuzhiyun <&pericfg CLK_PERI_SPI2>; 584*4882a593Smuzhiyun clock-names = "parent-clk", "sel-clk", "spi-clk"; 585*4882a593Smuzhiyun status = "disabled"; 586*4882a593Smuzhiyun }; 587*4882a593Smuzhiyun 588*4882a593Smuzhiyun audsys: clock-controller@11220000 { 589*4882a593Smuzhiyun compatible = "mediatek,mt7623-audsys", 590*4882a593Smuzhiyun "mediatek,mt2701-audsys", 591*4882a593Smuzhiyun "syscon"; 592*4882a593Smuzhiyun reg = <0 0x11220000 0 0x2000>; 593*4882a593Smuzhiyun #clock-cells = <1>; 594*4882a593Smuzhiyun 595*4882a593Smuzhiyun afe: audio-controller { 596*4882a593Smuzhiyun compatible = "mediatek,mt7623-audio", 597*4882a593Smuzhiyun "mediatek,mt2701-audio"; 598*4882a593Smuzhiyun interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_LOW>, 599*4882a593Smuzhiyun <GIC_SPI 132 IRQ_TYPE_LEVEL_LOW>; 600*4882a593Smuzhiyun interrupt-names = "afe", "asys"; 601*4882a593Smuzhiyun power-domains = <&scpsys MT2701_POWER_DOMAIN_IFR_MSC>; 602*4882a593Smuzhiyun 603*4882a593Smuzhiyun clocks = <&infracfg CLK_INFRA_AUDIO>, 604*4882a593Smuzhiyun <&topckgen CLK_TOP_AUD_MUX1_SEL>, 605*4882a593Smuzhiyun <&topckgen CLK_TOP_AUD_MUX2_SEL>, 606*4882a593Smuzhiyun <&topckgen CLK_TOP_AUD_48K_TIMING>, 607*4882a593Smuzhiyun <&topckgen CLK_TOP_AUD_44K_TIMING>, 608*4882a593Smuzhiyun <&topckgen CLK_TOP_AUD_K1_SRC_SEL>, 609*4882a593Smuzhiyun <&topckgen CLK_TOP_AUD_K2_SRC_SEL>, 610*4882a593Smuzhiyun <&topckgen CLK_TOP_AUD_K3_SRC_SEL>, 611*4882a593Smuzhiyun <&topckgen CLK_TOP_AUD_K4_SRC_SEL>, 612*4882a593Smuzhiyun <&topckgen CLK_TOP_AUD_K1_SRC_DIV>, 613*4882a593Smuzhiyun <&topckgen CLK_TOP_AUD_K2_SRC_DIV>, 614*4882a593Smuzhiyun <&topckgen CLK_TOP_AUD_K3_SRC_DIV>, 615*4882a593Smuzhiyun <&topckgen CLK_TOP_AUD_K4_SRC_DIV>, 616*4882a593Smuzhiyun <&topckgen CLK_TOP_AUD_I2S1_MCLK>, 617*4882a593Smuzhiyun <&topckgen CLK_TOP_AUD_I2S2_MCLK>, 618*4882a593Smuzhiyun <&topckgen CLK_TOP_AUD_I2S3_MCLK>, 619*4882a593Smuzhiyun <&topckgen CLK_TOP_AUD_I2S4_MCLK>, 620*4882a593Smuzhiyun <&audsys CLK_AUD_I2SO1>, 621*4882a593Smuzhiyun <&audsys CLK_AUD_I2SO2>, 622*4882a593Smuzhiyun <&audsys CLK_AUD_I2SO3>, 623*4882a593Smuzhiyun <&audsys CLK_AUD_I2SO4>, 624*4882a593Smuzhiyun <&audsys CLK_AUD_I2SIN1>, 625*4882a593Smuzhiyun <&audsys CLK_AUD_I2SIN2>, 626*4882a593Smuzhiyun <&audsys CLK_AUD_I2SIN3>, 627*4882a593Smuzhiyun <&audsys CLK_AUD_I2SIN4>, 628*4882a593Smuzhiyun <&audsys CLK_AUD_ASRCO1>, 629*4882a593Smuzhiyun <&audsys CLK_AUD_ASRCO2>, 630*4882a593Smuzhiyun <&audsys CLK_AUD_ASRCO3>, 631*4882a593Smuzhiyun <&audsys CLK_AUD_ASRCO4>, 632*4882a593Smuzhiyun <&audsys CLK_AUD_AFE>, 633*4882a593Smuzhiyun <&audsys CLK_AUD_AFE_CONN>, 634*4882a593Smuzhiyun <&audsys CLK_AUD_A1SYS>, 635*4882a593Smuzhiyun <&audsys CLK_AUD_A2SYS>, 636*4882a593Smuzhiyun <&audsys CLK_AUD_AFE_MRGIF>; 637*4882a593Smuzhiyun 638*4882a593Smuzhiyun clock-names = "infra_sys_audio_clk", 639*4882a593Smuzhiyun "top_audio_mux1_sel", 640*4882a593Smuzhiyun "top_audio_mux2_sel", 641*4882a593Smuzhiyun "top_audio_a1sys_hp", 642*4882a593Smuzhiyun "top_audio_a2sys_hp", 643*4882a593Smuzhiyun "i2s0_src_sel", 644*4882a593Smuzhiyun "i2s1_src_sel", 645*4882a593Smuzhiyun "i2s2_src_sel", 646*4882a593Smuzhiyun "i2s3_src_sel", 647*4882a593Smuzhiyun "i2s0_src_div", 648*4882a593Smuzhiyun "i2s1_src_div", 649*4882a593Smuzhiyun "i2s2_src_div", 650*4882a593Smuzhiyun "i2s3_src_div", 651*4882a593Smuzhiyun "i2s0_mclk_en", 652*4882a593Smuzhiyun "i2s1_mclk_en", 653*4882a593Smuzhiyun "i2s2_mclk_en", 654*4882a593Smuzhiyun "i2s3_mclk_en", 655*4882a593Smuzhiyun "i2so0_hop_ck", 656*4882a593Smuzhiyun "i2so1_hop_ck", 657*4882a593Smuzhiyun "i2so2_hop_ck", 658*4882a593Smuzhiyun "i2so3_hop_ck", 659*4882a593Smuzhiyun "i2si0_hop_ck", 660*4882a593Smuzhiyun "i2si1_hop_ck", 661*4882a593Smuzhiyun "i2si2_hop_ck", 662*4882a593Smuzhiyun "i2si3_hop_ck", 663*4882a593Smuzhiyun "asrc0_out_ck", 664*4882a593Smuzhiyun "asrc1_out_ck", 665*4882a593Smuzhiyun "asrc2_out_ck", 666*4882a593Smuzhiyun "asrc3_out_ck", 667*4882a593Smuzhiyun "audio_afe_pd", 668*4882a593Smuzhiyun "audio_afe_conn_pd", 669*4882a593Smuzhiyun "audio_a1sys_pd", 670*4882a593Smuzhiyun "audio_a2sys_pd", 671*4882a593Smuzhiyun "audio_mrgif_pd"; 672*4882a593Smuzhiyun 673*4882a593Smuzhiyun assigned-clocks = <&topckgen CLK_TOP_AUD_MUX1_SEL>, 674*4882a593Smuzhiyun <&topckgen CLK_TOP_AUD_MUX2_SEL>, 675*4882a593Smuzhiyun <&topckgen CLK_TOP_AUD_MUX1_DIV>, 676*4882a593Smuzhiyun <&topckgen CLK_TOP_AUD_MUX2_DIV>; 677*4882a593Smuzhiyun assigned-clock-parents = <&topckgen CLK_TOP_AUD1PLL_98M>, 678*4882a593Smuzhiyun <&topckgen CLK_TOP_AUD2PLL_90M>; 679*4882a593Smuzhiyun assigned-clock-rates = <0>, <0>, <49152000>, <45158400>; 680*4882a593Smuzhiyun }; 681*4882a593Smuzhiyun }; 682*4882a593Smuzhiyun 683*4882a593Smuzhiyun mmc0: mmc@11230000 { 684*4882a593Smuzhiyun compatible = "mediatek,mt7623-mmc", 685*4882a593Smuzhiyun "mediatek,mt2701-mmc"; 686*4882a593Smuzhiyun reg = <0 0x11230000 0 0x1000>; 687*4882a593Smuzhiyun interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_LOW>; 688*4882a593Smuzhiyun clocks = <&pericfg CLK_PERI_MSDC30_0>, 689*4882a593Smuzhiyun <&topckgen CLK_TOP_MSDC30_0_SEL>; 690*4882a593Smuzhiyun clock-names = "source", "hclk"; 691*4882a593Smuzhiyun status = "disabled"; 692*4882a593Smuzhiyun }; 693*4882a593Smuzhiyun 694*4882a593Smuzhiyun mmc1: mmc@11240000 { 695*4882a593Smuzhiyun compatible = "mediatek,mt7623-mmc", 696*4882a593Smuzhiyun "mediatek,mt2701-mmc"; 697*4882a593Smuzhiyun reg = <0 0x11240000 0 0x1000>; 698*4882a593Smuzhiyun interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_LOW>; 699*4882a593Smuzhiyun clocks = <&pericfg CLK_PERI_MSDC30_1>, 700*4882a593Smuzhiyun <&topckgen CLK_TOP_MSDC30_1_SEL>; 701*4882a593Smuzhiyun clock-names = "source", "hclk"; 702*4882a593Smuzhiyun status = "disabled"; 703*4882a593Smuzhiyun }; 704*4882a593Smuzhiyun 705*4882a593Smuzhiyun vdecsys: syscon@16000000 { 706*4882a593Smuzhiyun compatible = "mediatek,mt7623-vdecsys", 707*4882a593Smuzhiyun "mediatek,mt2701-vdecsys", 708*4882a593Smuzhiyun "syscon"; 709*4882a593Smuzhiyun reg = <0 0x16000000 0 0x1000>; 710*4882a593Smuzhiyun #clock-cells = <1>; 711*4882a593Smuzhiyun }; 712*4882a593Smuzhiyun 713*4882a593Smuzhiyun hifsys: syscon@1a000000 { 714*4882a593Smuzhiyun compatible = "mediatek,mt7623-hifsys", 715*4882a593Smuzhiyun "mediatek,mt2701-hifsys", 716*4882a593Smuzhiyun "syscon"; 717*4882a593Smuzhiyun reg = <0 0x1a000000 0 0x1000>; 718*4882a593Smuzhiyun #clock-cells = <1>; 719*4882a593Smuzhiyun #reset-cells = <1>; 720*4882a593Smuzhiyun }; 721*4882a593Smuzhiyun 722*4882a593Smuzhiyun pcie: pcie@1a140000 { 723*4882a593Smuzhiyun compatible = "mediatek,mt7623-pcie"; 724*4882a593Smuzhiyun device_type = "pci"; 725*4882a593Smuzhiyun reg = <0 0x1a140000 0 0x1000>, /* PCIe shared registers */ 726*4882a593Smuzhiyun <0 0x1a142000 0 0x1000>, /* Port0 registers */ 727*4882a593Smuzhiyun <0 0x1a143000 0 0x1000>, /* Port1 registers */ 728*4882a593Smuzhiyun <0 0x1a144000 0 0x1000>; /* Port2 registers */ 729*4882a593Smuzhiyun reg-names = "subsys", "port0", "port1", "port2"; 730*4882a593Smuzhiyun #address-cells = <3>; 731*4882a593Smuzhiyun #size-cells = <2>; 732*4882a593Smuzhiyun #interrupt-cells = <1>; 733*4882a593Smuzhiyun interrupt-map-mask = <0xf800 0 0 0>; 734*4882a593Smuzhiyun interrupt-map = <0x0000 0 0 0 &sysirq GIC_SPI 193 IRQ_TYPE_LEVEL_LOW>, 735*4882a593Smuzhiyun <0x0800 0 0 0 &sysirq GIC_SPI 194 IRQ_TYPE_LEVEL_LOW>, 736*4882a593Smuzhiyun <0x1000 0 0 0 &sysirq GIC_SPI 195 IRQ_TYPE_LEVEL_LOW>; 737*4882a593Smuzhiyun clocks = <&topckgen CLK_TOP_ETHIF_SEL>, 738*4882a593Smuzhiyun <&hifsys CLK_HIFSYS_PCIE0>, 739*4882a593Smuzhiyun <&hifsys CLK_HIFSYS_PCIE1>, 740*4882a593Smuzhiyun <&hifsys CLK_HIFSYS_PCIE2>; 741*4882a593Smuzhiyun clock-names = "free_ck", "sys_ck0", "sys_ck1", "sys_ck2"; 742*4882a593Smuzhiyun resets = <&hifsys MT2701_HIFSYS_PCIE0_RST>, 743*4882a593Smuzhiyun <&hifsys MT2701_HIFSYS_PCIE1_RST>, 744*4882a593Smuzhiyun <&hifsys MT2701_HIFSYS_PCIE2_RST>; 745*4882a593Smuzhiyun reset-names = "pcie-rst0", "pcie-rst1", "pcie-rst2"; 746*4882a593Smuzhiyun phys = <&pcie0_port PHY_TYPE_PCIE>, 747*4882a593Smuzhiyun <&pcie1_port PHY_TYPE_PCIE>, 748*4882a593Smuzhiyun <&u3port1 PHY_TYPE_PCIE>; 749*4882a593Smuzhiyun phy-names = "pcie-phy0", "pcie-phy1", "pcie-phy2"; 750*4882a593Smuzhiyun power-domains = <&scpsys MT2701_POWER_DOMAIN_HIF>; 751*4882a593Smuzhiyun bus-range = <0x00 0xff>; 752*4882a593Smuzhiyun status = "disabled"; 753*4882a593Smuzhiyun ranges = <0x81000000 0 0x1a160000 0 0x1a160000 0 0x00010000 754*4882a593Smuzhiyun 0x83000000 0 0x60000000 0 0x60000000 0 0x10000000>; 755*4882a593Smuzhiyun 756*4882a593Smuzhiyun pcie@0,0 { 757*4882a593Smuzhiyun reg = <0x0000 0 0 0 0>; 758*4882a593Smuzhiyun #address-cells = <3>; 759*4882a593Smuzhiyun #size-cells = <2>; 760*4882a593Smuzhiyun #interrupt-cells = <1>; 761*4882a593Smuzhiyun interrupt-map-mask = <0 0 0 0>; 762*4882a593Smuzhiyun interrupt-map = <0 0 0 0 &sysirq GIC_SPI 193 IRQ_TYPE_LEVEL_LOW>; 763*4882a593Smuzhiyun ranges; 764*4882a593Smuzhiyun status = "disabled"; 765*4882a593Smuzhiyun }; 766*4882a593Smuzhiyun 767*4882a593Smuzhiyun pcie@1,0 { 768*4882a593Smuzhiyun reg = <0x0800 0 0 0 0>; 769*4882a593Smuzhiyun #address-cells = <3>; 770*4882a593Smuzhiyun #size-cells = <2>; 771*4882a593Smuzhiyun #interrupt-cells = <1>; 772*4882a593Smuzhiyun interrupt-map-mask = <0 0 0 0>; 773*4882a593Smuzhiyun interrupt-map = <0 0 0 0 &sysirq GIC_SPI 194 IRQ_TYPE_LEVEL_LOW>; 774*4882a593Smuzhiyun ranges; 775*4882a593Smuzhiyun status = "disabled"; 776*4882a593Smuzhiyun }; 777*4882a593Smuzhiyun 778*4882a593Smuzhiyun pcie@2,0 { 779*4882a593Smuzhiyun reg = <0x1000 0 0 0 0>; 780*4882a593Smuzhiyun #address-cells = <3>; 781*4882a593Smuzhiyun #size-cells = <2>; 782*4882a593Smuzhiyun #interrupt-cells = <1>; 783*4882a593Smuzhiyun interrupt-map-mask = <0 0 0 0>; 784*4882a593Smuzhiyun interrupt-map = <0 0 0 0 &sysirq GIC_SPI 195 IRQ_TYPE_LEVEL_LOW>; 785*4882a593Smuzhiyun ranges; 786*4882a593Smuzhiyun status = "disabled"; 787*4882a593Smuzhiyun }; 788*4882a593Smuzhiyun }; 789*4882a593Smuzhiyun 790*4882a593Smuzhiyun pcie0_phy: pcie-phy@1a149000 { 791*4882a593Smuzhiyun compatible = "mediatek,generic-tphy-v1"; 792*4882a593Smuzhiyun reg = <0 0x1a149000 0 0x0700>; 793*4882a593Smuzhiyun #address-cells = <2>; 794*4882a593Smuzhiyun #size-cells = <2>; 795*4882a593Smuzhiyun ranges; 796*4882a593Smuzhiyun status = "disabled"; 797*4882a593Smuzhiyun 798*4882a593Smuzhiyun pcie0_port: pcie-phy@1a149900 { 799*4882a593Smuzhiyun reg = <0 0x1a149900 0 0x0700>; 800*4882a593Smuzhiyun clocks = <&clk26m>; 801*4882a593Smuzhiyun clock-names = "ref"; 802*4882a593Smuzhiyun #phy-cells = <1>; 803*4882a593Smuzhiyun status = "okay"; 804*4882a593Smuzhiyun }; 805*4882a593Smuzhiyun }; 806*4882a593Smuzhiyun 807*4882a593Smuzhiyun pcie1_phy: pcie-phy@1a14a000 { 808*4882a593Smuzhiyun compatible = "mediatek,generic-tphy-v1"; 809*4882a593Smuzhiyun reg = <0 0x1a14a000 0 0x0700>; 810*4882a593Smuzhiyun #address-cells = <2>; 811*4882a593Smuzhiyun #size-cells = <2>; 812*4882a593Smuzhiyun ranges; 813*4882a593Smuzhiyun status = "disabled"; 814*4882a593Smuzhiyun 815*4882a593Smuzhiyun pcie1_port: pcie-phy@1a14a900 { 816*4882a593Smuzhiyun reg = <0 0x1a14a900 0 0x0700>; 817*4882a593Smuzhiyun clocks = <&clk26m>; 818*4882a593Smuzhiyun clock-names = "ref"; 819*4882a593Smuzhiyun #phy-cells = <1>; 820*4882a593Smuzhiyun status = "okay"; 821*4882a593Smuzhiyun }; 822*4882a593Smuzhiyun }; 823*4882a593Smuzhiyun 824*4882a593Smuzhiyun usb1: usb@1a1c0000 { 825*4882a593Smuzhiyun compatible = "mediatek,mt7623-xhci", 826*4882a593Smuzhiyun "mediatek,mt8173-xhci"; 827*4882a593Smuzhiyun reg = <0 0x1a1c0000 0 0x1000>, 828*4882a593Smuzhiyun <0 0x1a1c4700 0 0x0100>; 829*4882a593Smuzhiyun reg-names = "mac", "ippc"; 830*4882a593Smuzhiyun interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_LOW>; 831*4882a593Smuzhiyun clocks = <&hifsys CLK_HIFSYS_USB0PHY>, 832*4882a593Smuzhiyun <&topckgen CLK_TOP_ETHIF_SEL>; 833*4882a593Smuzhiyun clock-names = "sys_ck", "ref_ck"; 834*4882a593Smuzhiyun power-domains = <&scpsys MT2701_POWER_DOMAIN_HIF>; 835*4882a593Smuzhiyun phys = <&u2port0 PHY_TYPE_USB2>, <&u3port0 PHY_TYPE_USB3>; 836*4882a593Smuzhiyun status = "disabled"; 837*4882a593Smuzhiyun }; 838*4882a593Smuzhiyun 839*4882a593Smuzhiyun u3phy1: usb-phy@1a1c4000 { 840*4882a593Smuzhiyun compatible = "mediatek,mt7623-u3phy", 841*4882a593Smuzhiyun "mediatek,mt2701-u3phy"; 842*4882a593Smuzhiyun reg = <0 0x1a1c4000 0 0x0700>; 843*4882a593Smuzhiyun #address-cells = <2>; 844*4882a593Smuzhiyun #size-cells = <2>; 845*4882a593Smuzhiyun ranges; 846*4882a593Smuzhiyun status = "disabled"; 847*4882a593Smuzhiyun 848*4882a593Smuzhiyun u2port0: usb-phy@1a1c4800 { 849*4882a593Smuzhiyun reg = <0 0x1a1c4800 0 0x0100>; 850*4882a593Smuzhiyun clocks = <&topckgen CLK_TOP_USB_PHY48M>; 851*4882a593Smuzhiyun clock-names = "ref"; 852*4882a593Smuzhiyun #phy-cells = <1>; 853*4882a593Smuzhiyun status = "okay"; 854*4882a593Smuzhiyun }; 855*4882a593Smuzhiyun 856*4882a593Smuzhiyun u3port0: usb-phy@1a1c4900 { 857*4882a593Smuzhiyun reg = <0 0x1a1c4900 0 0x0700>; 858*4882a593Smuzhiyun clocks = <&clk26m>; 859*4882a593Smuzhiyun clock-names = "ref"; 860*4882a593Smuzhiyun #phy-cells = <1>; 861*4882a593Smuzhiyun status = "okay"; 862*4882a593Smuzhiyun }; 863*4882a593Smuzhiyun }; 864*4882a593Smuzhiyun 865*4882a593Smuzhiyun usb2: usb@1a240000 { 866*4882a593Smuzhiyun compatible = "mediatek,mt7623-xhci", 867*4882a593Smuzhiyun "mediatek,mt8173-xhci"; 868*4882a593Smuzhiyun reg = <0 0x1a240000 0 0x1000>, 869*4882a593Smuzhiyun <0 0x1a244700 0 0x0100>; 870*4882a593Smuzhiyun reg-names = "mac", "ippc"; 871*4882a593Smuzhiyun interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_LOW>; 872*4882a593Smuzhiyun clocks = <&hifsys CLK_HIFSYS_USB1PHY>, 873*4882a593Smuzhiyun <&topckgen CLK_TOP_ETHIF_SEL>; 874*4882a593Smuzhiyun clock-names = "sys_ck", "ref_ck"; 875*4882a593Smuzhiyun power-domains = <&scpsys MT2701_POWER_DOMAIN_HIF>; 876*4882a593Smuzhiyun phys = <&u2port1 PHY_TYPE_USB2>, <&u3port1 PHY_TYPE_USB3>; 877*4882a593Smuzhiyun status = "disabled"; 878*4882a593Smuzhiyun }; 879*4882a593Smuzhiyun 880*4882a593Smuzhiyun u3phy2: usb-phy@1a244000 { 881*4882a593Smuzhiyun compatible = "mediatek,mt7623-u3phy", 882*4882a593Smuzhiyun "mediatek,mt2701-u3phy"; 883*4882a593Smuzhiyun reg = <0 0x1a244000 0 0x0700>; 884*4882a593Smuzhiyun #address-cells = <2>; 885*4882a593Smuzhiyun #size-cells = <2>; 886*4882a593Smuzhiyun ranges; 887*4882a593Smuzhiyun status = "disabled"; 888*4882a593Smuzhiyun 889*4882a593Smuzhiyun u2port1: usb-phy@1a244800 { 890*4882a593Smuzhiyun reg = <0 0x1a244800 0 0x0100>; 891*4882a593Smuzhiyun clocks = <&topckgen CLK_TOP_USB_PHY48M>; 892*4882a593Smuzhiyun clock-names = "ref"; 893*4882a593Smuzhiyun #phy-cells = <1>; 894*4882a593Smuzhiyun status = "okay"; 895*4882a593Smuzhiyun }; 896*4882a593Smuzhiyun 897*4882a593Smuzhiyun u3port1: usb-phy@1a244900 { 898*4882a593Smuzhiyun reg = <0 0x1a244900 0 0x0700>; 899*4882a593Smuzhiyun clocks = <&clk26m>; 900*4882a593Smuzhiyun clock-names = "ref"; 901*4882a593Smuzhiyun #phy-cells = <1>; 902*4882a593Smuzhiyun status = "okay"; 903*4882a593Smuzhiyun }; 904*4882a593Smuzhiyun }; 905*4882a593Smuzhiyun 906*4882a593Smuzhiyun ethsys: syscon@1b000000 { 907*4882a593Smuzhiyun compatible = "mediatek,mt7623-ethsys", 908*4882a593Smuzhiyun "mediatek,mt2701-ethsys", 909*4882a593Smuzhiyun "syscon"; 910*4882a593Smuzhiyun reg = <0 0x1b000000 0 0x1000>; 911*4882a593Smuzhiyun #clock-cells = <1>; 912*4882a593Smuzhiyun #reset-cells = <1>; 913*4882a593Smuzhiyun }; 914*4882a593Smuzhiyun 915*4882a593Smuzhiyun hsdma: dma-controller@1b007000 { 916*4882a593Smuzhiyun compatible = "mediatek,mt7623-hsdma"; 917*4882a593Smuzhiyun reg = <0 0x1b007000 0 0x1000>; 918*4882a593Smuzhiyun interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_LOW>; 919*4882a593Smuzhiyun clocks = <ðsys CLK_ETHSYS_HSDMA>; 920*4882a593Smuzhiyun clock-names = "hsdma"; 921*4882a593Smuzhiyun power-domains = <&scpsys MT2701_POWER_DOMAIN_ETH>; 922*4882a593Smuzhiyun #dma-cells = <1>; 923*4882a593Smuzhiyun }; 924*4882a593Smuzhiyun 925*4882a593Smuzhiyun eth: ethernet@1b100000 { 926*4882a593Smuzhiyun compatible = "mediatek,mt7623-eth", 927*4882a593Smuzhiyun "mediatek,mt2701-eth", 928*4882a593Smuzhiyun "syscon"; 929*4882a593Smuzhiyun reg = <0 0x1b100000 0 0x20000>; 930*4882a593Smuzhiyun interrupts = <GIC_SPI 200 IRQ_TYPE_LEVEL_LOW>, 931*4882a593Smuzhiyun <GIC_SPI 199 IRQ_TYPE_LEVEL_LOW>, 932*4882a593Smuzhiyun <GIC_SPI 198 IRQ_TYPE_LEVEL_LOW>; 933*4882a593Smuzhiyun clocks = <&topckgen CLK_TOP_ETHIF_SEL>, 934*4882a593Smuzhiyun <ðsys CLK_ETHSYS_ESW>, 935*4882a593Smuzhiyun <ðsys CLK_ETHSYS_GP1>, 936*4882a593Smuzhiyun <ðsys CLK_ETHSYS_GP2>, 937*4882a593Smuzhiyun <&apmixedsys CLK_APMIXED_TRGPLL>; 938*4882a593Smuzhiyun clock-names = "ethif", "esw", "gp1", "gp2", "trgpll"; 939*4882a593Smuzhiyun resets = <ðsys MT2701_ETHSYS_FE_RST>, 940*4882a593Smuzhiyun <ðsys MT2701_ETHSYS_GMAC_RST>, 941*4882a593Smuzhiyun <ðsys MT2701_ETHSYS_PPE_RST>; 942*4882a593Smuzhiyun reset-names = "fe", "gmac", "ppe"; 943*4882a593Smuzhiyun power-domains = <&scpsys MT2701_POWER_DOMAIN_ETH>; 944*4882a593Smuzhiyun mediatek,ethsys = <ðsys>; 945*4882a593Smuzhiyun mediatek,pctl = <&syscfg_pctl_a>; 946*4882a593Smuzhiyun #address-cells = <1>; 947*4882a593Smuzhiyun #size-cells = <0>; 948*4882a593Smuzhiyun status = "disabled"; 949*4882a593Smuzhiyun }; 950*4882a593Smuzhiyun 951*4882a593Smuzhiyun crypto: crypto@1b240000 { 952*4882a593Smuzhiyun compatible = "mediatek,eip97-crypto"; 953*4882a593Smuzhiyun reg = <0 0x1b240000 0 0x20000>; 954*4882a593Smuzhiyun interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_LOW>, 955*4882a593Smuzhiyun <GIC_SPI 83 IRQ_TYPE_LEVEL_LOW>, 956*4882a593Smuzhiyun <GIC_SPI 84 IRQ_TYPE_LEVEL_LOW>, 957*4882a593Smuzhiyun <GIC_SPI 91 IRQ_TYPE_LEVEL_LOW>, 958*4882a593Smuzhiyun <GIC_SPI 97 IRQ_TYPE_LEVEL_LOW>; 959*4882a593Smuzhiyun clocks = <ðsys CLK_ETHSYS_CRYPTO>; 960*4882a593Smuzhiyun clock-names = "cryp"; 961*4882a593Smuzhiyun power-domains = <&scpsys MT2701_POWER_DOMAIN_ETH>; 962*4882a593Smuzhiyun status = "disabled"; 963*4882a593Smuzhiyun }; 964*4882a593Smuzhiyun 965*4882a593Smuzhiyun bdpsys: syscon@1c000000 { 966*4882a593Smuzhiyun compatible = "mediatek,mt7623-bdpsys", 967*4882a593Smuzhiyun "mediatek,mt2701-bdpsys", 968*4882a593Smuzhiyun "syscon"; 969*4882a593Smuzhiyun reg = <0 0x1c000000 0 0x1000>; 970*4882a593Smuzhiyun #clock-cells = <1>; 971*4882a593Smuzhiyun }; 972*4882a593Smuzhiyun}; 973*4882a593Smuzhiyun 974*4882a593Smuzhiyun&pio { 975*4882a593Smuzhiyun cir_pins_a:cir-default { 976*4882a593Smuzhiyun pins-cir { 977*4882a593Smuzhiyun pinmux = <MT7623_PIN_46_IR_FUNC_IR>; 978*4882a593Smuzhiyun bias-disable; 979*4882a593Smuzhiyun }; 980*4882a593Smuzhiyun }; 981*4882a593Smuzhiyun 982*4882a593Smuzhiyun i2c0_pins_a: i2c0-default { 983*4882a593Smuzhiyun pins-i2c0 { 984*4882a593Smuzhiyun pinmux = <MT7623_PIN_75_SDA0_FUNC_SDA0>, 985*4882a593Smuzhiyun <MT7623_PIN_76_SCL0_FUNC_SCL0>; 986*4882a593Smuzhiyun bias-disable; 987*4882a593Smuzhiyun }; 988*4882a593Smuzhiyun }; 989*4882a593Smuzhiyun 990*4882a593Smuzhiyun i2c1_pins_a: i2c1-default { 991*4882a593Smuzhiyun pin-i2c1 { 992*4882a593Smuzhiyun pinmux = <MT7623_PIN_57_SDA1_FUNC_SDA1>, 993*4882a593Smuzhiyun <MT7623_PIN_58_SCL1_FUNC_SCL1>; 994*4882a593Smuzhiyun bias-disable; 995*4882a593Smuzhiyun }; 996*4882a593Smuzhiyun }; 997*4882a593Smuzhiyun 998*4882a593Smuzhiyun i2c1_pins_b: i2c1-alt { 999*4882a593Smuzhiyun pin-i2c1 { 1000*4882a593Smuzhiyun pinmux = <MT7623_PIN_242_URTS2_FUNC_SCL1>, 1001*4882a593Smuzhiyun <MT7623_PIN_243_UCTS2_FUNC_SDA1>; 1002*4882a593Smuzhiyun bias-disable; 1003*4882a593Smuzhiyun }; 1004*4882a593Smuzhiyun }; 1005*4882a593Smuzhiyun 1006*4882a593Smuzhiyun i2c2_pins_a: i2c2-default { 1007*4882a593Smuzhiyun pin-i2c2 { 1008*4882a593Smuzhiyun pinmux = <MT7623_PIN_77_SDA2_FUNC_SDA2>, 1009*4882a593Smuzhiyun <MT7623_PIN_78_SCL2_FUNC_SCL2>; 1010*4882a593Smuzhiyun bias-disable; 1011*4882a593Smuzhiyun }; 1012*4882a593Smuzhiyun }; 1013*4882a593Smuzhiyun 1014*4882a593Smuzhiyun i2c2_pins_b: i2c2-alt { 1015*4882a593Smuzhiyun pin-i2c2 { 1016*4882a593Smuzhiyun pinmux = <MT7623_PIN_122_GPIO122_FUNC_SDA2>, 1017*4882a593Smuzhiyun <MT7623_PIN_123_HTPLG_FUNC_SCL2>; 1018*4882a593Smuzhiyun bias-disable; 1019*4882a593Smuzhiyun }; 1020*4882a593Smuzhiyun }; 1021*4882a593Smuzhiyun 1022*4882a593Smuzhiyun i2s0_pins_a: i2s0-default { 1023*4882a593Smuzhiyun pin-i2s0 { 1024*4882a593Smuzhiyun pinmux = <MT7623_PIN_49_I2S0_DATA_FUNC_I2S0_DATA>, 1025*4882a593Smuzhiyun <MT7623_PIN_72_I2S0_DATA_IN_FUNC_I2S0_DATA_IN>, 1026*4882a593Smuzhiyun <MT7623_PIN_73_I2S0_LRCK_FUNC_I2S0_LRCK>, 1027*4882a593Smuzhiyun <MT7623_PIN_74_I2S0_BCK_FUNC_I2S0_BCK>, 1028*4882a593Smuzhiyun <MT7623_PIN_126_I2S0_MCLK_FUNC_I2S0_MCLK>; 1029*4882a593Smuzhiyun drive-strength = <MTK_DRIVE_12mA>; 1030*4882a593Smuzhiyun bias-pull-down; 1031*4882a593Smuzhiyun }; 1032*4882a593Smuzhiyun }; 1033*4882a593Smuzhiyun 1034*4882a593Smuzhiyun i2s1_pins_a: i2s1-default { 1035*4882a593Smuzhiyun pin-i2s1 { 1036*4882a593Smuzhiyun pinmux = <MT7623_PIN_33_I2S1_DATA_FUNC_I2S1_DATA>, 1037*4882a593Smuzhiyun <MT7623_PIN_34_I2S1_DATA_IN_FUNC_I2S1_DATA_IN>, 1038*4882a593Smuzhiyun <MT7623_PIN_35_I2S1_BCK_FUNC_I2S1_BCK>, 1039*4882a593Smuzhiyun <MT7623_PIN_36_I2S1_LRCK_FUNC_I2S1_LRCK>, 1040*4882a593Smuzhiyun <MT7623_PIN_37_I2S1_MCLK_FUNC_I2S1_MCLK>; 1041*4882a593Smuzhiyun drive-strength = <MTK_DRIVE_12mA>; 1042*4882a593Smuzhiyun bias-pull-down; 1043*4882a593Smuzhiyun }; 1044*4882a593Smuzhiyun }; 1045*4882a593Smuzhiyun 1046*4882a593Smuzhiyun key_pins_a: keys-alt { 1047*4882a593Smuzhiyun pins-keys { 1048*4882a593Smuzhiyun pinmux = <MT7623_PIN_256_GPIO256_FUNC_GPIO256>, 1049*4882a593Smuzhiyun <MT7623_PIN_257_GPIO257_FUNC_GPIO257> ; 1050*4882a593Smuzhiyun input-enable; 1051*4882a593Smuzhiyun }; 1052*4882a593Smuzhiyun }; 1053*4882a593Smuzhiyun 1054*4882a593Smuzhiyun led_pins_a: leds-alt { 1055*4882a593Smuzhiyun pins-leds { 1056*4882a593Smuzhiyun pinmux = <MT7623_PIN_239_EXT_SDIO0_FUNC_GPIO239>, 1057*4882a593Smuzhiyun <MT7623_PIN_240_EXT_XCS_FUNC_GPIO240>, 1058*4882a593Smuzhiyun <MT7623_PIN_241_EXT_SCK_FUNC_GPIO241>; 1059*4882a593Smuzhiyun }; 1060*4882a593Smuzhiyun }; 1061*4882a593Smuzhiyun 1062*4882a593Smuzhiyun mmc0_pins_default: mmc0default { 1063*4882a593Smuzhiyun pins-cmd-dat { 1064*4882a593Smuzhiyun pinmux = <MT7623_PIN_111_MSDC0_DAT7_FUNC_MSDC0_DAT7>, 1065*4882a593Smuzhiyun <MT7623_PIN_112_MSDC0_DAT6_FUNC_MSDC0_DAT6>, 1066*4882a593Smuzhiyun <MT7623_PIN_113_MSDC0_DAT5_FUNC_MSDC0_DAT5>, 1067*4882a593Smuzhiyun <MT7623_PIN_114_MSDC0_DAT4_FUNC_MSDC0_DAT4>, 1068*4882a593Smuzhiyun <MT7623_PIN_118_MSDC0_DAT3_FUNC_MSDC0_DAT3>, 1069*4882a593Smuzhiyun <MT7623_PIN_119_MSDC0_DAT2_FUNC_MSDC0_DAT2>, 1070*4882a593Smuzhiyun <MT7623_PIN_120_MSDC0_DAT1_FUNC_MSDC0_DAT1>, 1071*4882a593Smuzhiyun <MT7623_PIN_121_MSDC0_DAT0_FUNC_MSDC0_DAT0>, 1072*4882a593Smuzhiyun <MT7623_PIN_116_MSDC0_CMD_FUNC_MSDC0_CMD>; 1073*4882a593Smuzhiyun input-enable; 1074*4882a593Smuzhiyun bias-pull-up; 1075*4882a593Smuzhiyun }; 1076*4882a593Smuzhiyun 1077*4882a593Smuzhiyun pins-clk { 1078*4882a593Smuzhiyun pinmux = <MT7623_PIN_117_MSDC0_CLK_FUNC_MSDC0_CLK>; 1079*4882a593Smuzhiyun bias-pull-down; 1080*4882a593Smuzhiyun }; 1081*4882a593Smuzhiyun 1082*4882a593Smuzhiyun pins-rst { 1083*4882a593Smuzhiyun pinmux = <MT7623_PIN_115_MSDC0_RSTB_FUNC_MSDC0_RSTB>; 1084*4882a593Smuzhiyun bias-pull-up; 1085*4882a593Smuzhiyun }; 1086*4882a593Smuzhiyun }; 1087*4882a593Smuzhiyun 1088*4882a593Smuzhiyun mmc0_pins_uhs: mmc0 { 1089*4882a593Smuzhiyun pins-cmd-dat { 1090*4882a593Smuzhiyun pinmux = <MT7623_PIN_111_MSDC0_DAT7_FUNC_MSDC0_DAT7>, 1091*4882a593Smuzhiyun <MT7623_PIN_112_MSDC0_DAT6_FUNC_MSDC0_DAT6>, 1092*4882a593Smuzhiyun <MT7623_PIN_113_MSDC0_DAT5_FUNC_MSDC0_DAT5>, 1093*4882a593Smuzhiyun <MT7623_PIN_114_MSDC0_DAT4_FUNC_MSDC0_DAT4>, 1094*4882a593Smuzhiyun <MT7623_PIN_118_MSDC0_DAT3_FUNC_MSDC0_DAT3>, 1095*4882a593Smuzhiyun <MT7623_PIN_119_MSDC0_DAT2_FUNC_MSDC0_DAT2>, 1096*4882a593Smuzhiyun <MT7623_PIN_120_MSDC0_DAT1_FUNC_MSDC0_DAT1>, 1097*4882a593Smuzhiyun <MT7623_PIN_121_MSDC0_DAT0_FUNC_MSDC0_DAT0>, 1098*4882a593Smuzhiyun <MT7623_PIN_116_MSDC0_CMD_FUNC_MSDC0_CMD>; 1099*4882a593Smuzhiyun input-enable; 1100*4882a593Smuzhiyun drive-strength = <MTK_DRIVE_2mA>; 1101*4882a593Smuzhiyun bias-pull-up = <MTK_PUPD_SET_R1R0_01>; 1102*4882a593Smuzhiyun }; 1103*4882a593Smuzhiyun 1104*4882a593Smuzhiyun pins-clk { 1105*4882a593Smuzhiyun pinmux = <MT7623_PIN_117_MSDC0_CLK_FUNC_MSDC0_CLK>; 1106*4882a593Smuzhiyun drive-strength = <MTK_DRIVE_2mA>; 1107*4882a593Smuzhiyun bias-pull-down = <MTK_PUPD_SET_R1R0_01>; 1108*4882a593Smuzhiyun }; 1109*4882a593Smuzhiyun 1110*4882a593Smuzhiyun pins-rst { 1111*4882a593Smuzhiyun pinmux = <MT7623_PIN_115_MSDC0_RSTB_FUNC_MSDC0_RSTB>; 1112*4882a593Smuzhiyun bias-pull-up; 1113*4882a593Smuzhiyun }; 1114*4882a593Smuzhiyun }; 1115*4882a593Smuzhiyun 1116*4882a593Smuzhiyun mmc1_pins_default: mmc1default { 1117*4882a593Smuzhiyun pins-cmd-dat { 1118*4882a593Smuzhiyun pinmux = <MT7623_PIN_107_MSDC1_DAT0_FUNC_MSDC1_DAT0>, 1119*4882a593Smuzhiyun <MT7623_PIN_108_MSDC1_DAT1_FUNC_MSDC1_DAT1>, 1120*4882a593Smuzhiyun <MT7623_PIN_109_MSDC1_DAT2_FUNC_MSDC1_DAT2>, 1121*4882a593Smuzhiyun <MT7623_PIN_110_MSDC1_DAT3_FUNC_MSDC1_DAT3>, 1122*4882a593Smuzhiyun <MT7623_PIN_105_MSDC1_CMD_FUNC_MSDC1_CMD>; 1123*4882a593Smuzhiyun input-enable; 1124*4882a593Smuzhiyun drive-strength = <MTK_DRIVE_4mA>; 1125*4882a593Smuzhiyun bias-pull-up = <MTK_PUPD_SET_R1R0_10>; 1126*4882a593Smuzhiyun }; 1127*4882a593Smuzhiyun 1128*4882a593Smuzhiyun pins-clk { 1129*4882a593Smuzhiyun pinmux = <MT7623_PIN_106_MSDC1_CLK_FUNC_MSDC1_CLK>; 1130*4882a593Smuzhiyun bias-pull-down; 1131*4882a593Smuzhiyun drive-strength = <MTK_DRIVE_4mA>; 1132*4882a593Smuzhiyun }; 1133*4882a593Smuzhiyun 1134*4882a593Smuzhiyun pins-wp { 1135*4882a593Smuzhiyun pinmux = <MT7623_PIN_29_EINT7_FUNC_MSDC1_WP>; 1136*4882a593Smuzhiyun input-enable; 1137*4882a593Smuzhiyun bias-pull-up; 1138*4882a593Smuzhiyun }; 1139*4882a593Smuzhiyun 1140*4882a593Smuzhiyun pins-insert { 1141*4882a593Smuzhiyun pinmux = <MT7623_PIN_261_MSDC1_INS_FUNC_GPIO261>; 1142*4882a593Smuzhiyun bias-pull-up; 1143*4882a593Smuzhiyun }; 1144*4882a593Smuzhiyun }; 1145*4882a593Smuzhiyun 1146*4882a593Smuzhiyun mmc1_pins_uhs: mmc1 { 1147*4882a593Smuzhiyun pins-cmd-dat { 1148*4882a593Smuzhiyun pinmux = <MT7623_PIN_107_MSDC1_DAT0_FUNC_MSDC1_DAT0>, 1149*4882a593Smuzhiyun <MT7623_PIN_108_MSDC1_DAT1_FUNC_MSDC1_DAT1>, 1150*4882a593Smuzhiyun <MT7623_PIN_109_MSDC1_DAT2_FUNC_MSDC1_DAT2>, 1151*4882a593Smuzhiyun <MT7623_PIN_110_MSDC1_DAT3_FUNC_MSDC1_DAT3>, 1152*4882a593Smuzhiyun <MT7623_PIN_105_MSDC1_CMD_FUNC_MSDC1_CMD>; 1153*4882a593Smuzhiyun input-enable; 1154*4882a593Smuzhiyun drive-strength = <MTK_DRIVE_4mA>; 1155*4882a593Smuzhiyun bias-pull-up = <MTK_PUPD_SET_R1R0_10>; 1156*4882a593Smuzhiyun }; 1157*4882a593Smuzhiyun 1158*4882a593Smuzhiyun pins-clk { 1159*4882a593Smuzhiyun pinmux = <MT7623_PIN_106_MSDC1_CLK_FUNC_MSDC1_CLK>; 1160*4882a593Smuzhiyun drive-strength = <MTK_DRIVE_4mA>; 1161*4882a593Smuzhiyun bias-pull-down = <MTK_PUPD_SET_R1R0_10>; 1162*4882a593Smuzhiyun }; 1163*4882a593Smuzhiyun }; 1164*4882a593Smuzhiyun 1165*4882a593Smuzhiyun nand_pins_default: nanddefault { 1166*4882a593Smuzhiyun pins-ale { 1167*4882a593Smuzhiyun pinmux = <MT7623_PIN_116_MSDC0_CMD_FUNC_NALE>; 1168*4882a593Smuzhiyun drive-strength = <MTK_DRIVE_8mA>; 1169*4882a593Smuzhiyun bias-pull-down = <MTK_PUPD_SET_R1R0_10>; 1170*4882a593Smuzhiyun }; 1171*4882a593Smuzhiyun 1172*4882a593Smuzhiyun pins-dat { 1173*4882a593Smuzhiyun pinmux = <MT7623_PIN_111_MSDC0_DAT7_FUNC_NLD7>, 1174*4882a593Smuzhiyun <MT7623_PIN_112_MSDC0_DAT6_FUNC_NLD6>, 1175*4882a593Smuzhiyun <MT7623_PIN_114_MSDC0_DAT4_FUNC_NLD4>, 1176*4882a593Smuzhiyun <MT7623_PIN_118_MSDC0_DAT3_FUNC_NLD3>, 1177*4882a593Smuzhiyun <MT7623_PIN_121_MSDC0_DAT0_FUNC_NLD0>, 1178*4882a593Smuzhiyun <MT7623_PIN_120_MSDC0_DAT1_FUNC_NLD1>, 1179*4882a593Smuzhiyun <MT7623_PIN_113_MSDC0_DAT5_FUNC_NLD5>, 1180*4882a593Smuzhiyun <MT7623_PIN_115_MSDC0_RSTB_FUNC_NLD8>, 1181*4882a593Smuzhiyun <MT7623_PIN_119_MSDC0_DAT2_FUNC_NLD2>; 1182*4882a593Smuzhiyun input-enable; 1183*4882a593Smuzhiyun drive-strength = <MTK_DRIVE_8mA>; 1184*4882a593Smuzhiyun bias-pull-up; 1185*4882a593Smuzhiyun }; 1186*4882a593Smuzhiyun 1187*4882a593Smuzhiyun pins-we { 1188*4882a593Smuzhiyun pinmux = <MT7623_PIN_117_MSDC0_CLK_FUNC_NWEB>; 1189*4882a593Smuzhiyun drive-strength = <MTK_DRIVE_8mA>; 1190*4882a593Smuzhiyun bias-pull-up = <MTK_PUPD_SET_R1R0_10>; 1191*4882a593Smuzhiyun }; 1192*4882a593Smuzhiyun }; 1193*4882a593Smuzhiyun 1194*4882a593Smuzhiyun pcie_default: pcie_pin_default { 1195*4882a593Smuzhiyun pins_cmd_dat { 1196*4882a593Smuzhiyun pinmux = <MT7623_PIN_208_AUD_EXT_CK1_FUNC_PCIE0_PERST_N>, 1197*4882a593Smuzhiyun <MT7623_PIN_209_AUD_EXT_CK2_FUNC_PCIE1_PERST_N>; 1198*4882a593Smuzhiyun bias-disable; 1199*4882a593Smuzhiyun }; 1200*4882a593Smuzhiyun }; 1201*4882a593Smuzhiyun 1202*4882a593Smuzhiyun pwm_pins_a: pwm-default { 1203*4882a593Smuzhiyun pins-pwm { 1204*4882a593Smuzhiyun pinmux = <MT7623_PIN_203_PWM0_FUNC_PWM0>, 1205*4882a593Smuzhiyun <MT7623_PIN_204_PWM1_FUNC_PWM1>, 1206*4882a593Smuzhiyun <MT7623_PIN_205_PWM2_FUNC_PWM2>, 1207*4882a593Smuzhiyun <MT7623_PIN_206_PWM3_FUNC_PWM3>, 1208*4882a593Smuzhiyun <MT7623_PIN_207_PWM4_FUNC_PWM4>; 1209*4882a593Smuzhiyun }; 1210*4882a593Smuzhiyun }; 1211*4882a593Smuzhiyun 1212*4882a593Smuzhiyun spi0_pins_a: spi0-default { 1213*4882a593Smuzhiyun pins-spi { 1214*4882a593Smuzhiyun pinmux = <MT7623_PIN_53_SPI0_CSN_FUNC_SPI0_CS>, 1215*4882a593Smuzhiyun <MT7623_PIN_54_SPI0_CK_FUNC_SPI0_CK>, 1216*4882a593Smuzhiyun <MT7623_PIN_55_SPI0_MI_FUNC_SPI0_MI>, 1217*4882a593Smuzhiyun <MT7623_PIN_56_SPI0_MO_FUNC_SPI0_MO>; 1218*4882a593Smuzhiyun bias-disable; 1219*4882a593Smuzhiyun }; 1220*4882a593Smuzhiyun }; 1221*4882a593Smuzhiyun 1222*4882a593Smuzhiyun spi1_pins_a: spi1-default { 1223*4882a593Smuzhiyun pins-spi { 1224*4882a593Smuzhiyun pinmux = <MT7623_PIN_7_SPI1_CSN_FUNC_SPI1_CS>, 1225*4882a593Smuzhiyun <MT7623_PIN_199_SPI1_CK_FUNC_SPI1_CK>, 1226*4882a593Smuzhiyun <MT7623_PIN_8_SPI1_MI_FUNC_SPI1_MI>, 1227*4882a593Smuzhiyun <MT7623_PIN_9_SPI1_MO_FUNC_SPI1_MO>; 1228*4882a593Smuzhiyun }; 1229*4882a593Smuzhiyun }; 1230*4882a593Smuzhiyun 1231*4882a593Smuzhiyun spi2_pins_a: spi2-default { 1232*4882a593Smuzhiyun pins-spi { 1233*4882a593Smuzhiyun pinmux = <MT7623_PIN_101_SPI2_CSN_FUNC_SPI2_CS>, 1234*4882a593Smuzhiyun <MT7623_PIN_104_SPI2_CK_FUNC_SPI2_CK>, 1235*4882a593Smuzhiyun <MT7623_PIN_102_SPI2_MI_FUNC_SPI2_MI>, 1236*4882a593Smuzhiyun <MT7623_PIN_103_SPI2_MO_FUNC_SPI2_MO>; 1237*4882a593Smuzhiyun }; 1238*4882a593Smuzhiyun }; 1239*4882a593Smuzhiyun 1240*4882a593Smuzhiyun uart0_pins_a: uart0-default { 1241*4882a593Smuzhiyun pins-dat { 1242*4882a593Smuzhiyun pinmux = <MT7623_PIN_79_URXD0_FUNC_URXD0>, 1243*4882a593Smuzhiyun <MT7623_PIN_80_UTXD0_FUNC_UTXD0>; 1244*4882a593Smuzhiyun }; 1245*4882a593Smuzhiyun }; 1246*4882a593Smuzhiyun 1247*4882a593Smuzhiyun uart1_pins_a: uart1-default { 1248*4882a593Smuzhiyun pins-dat { 1249*4882a593Smuzhiyun pinmux = <MT7623_PIN_81_URXD1_FUNC_URXD1>, 1250*4882a593Smuzhiyun <MT7623_PIN_82_UTXD1_FUNC_UTXD1>; 1251*4882a593Smuzhiyun }; 1252*4882a593Smuzhiyun }; 1253*4882a593Smuzhiyun 1254*4882a593Smuzhiyun uart2_pins_a: uart2-default { 1255*4882a593Smuzhiyun pins-dat { 1256*4882a593Smuzhiyun pinmux = <MT7623_PIN_14_GPIO14_FUNC_URXD2>, 1257*4882a593Smuzhiyun <MT7623_PIN_15_GPIO15_FUNC_UTXD2>; 1258*4882a593Smuzhiyun }; 1259*4882a593Smuzhiyun }; 1260*4882a593Smuzhiyun 1261*4882a593Smuzhiyun uart2_pins_b: uart2-alt { 1262*4882a593Smuzhiyun pins-dat { 1263*4882a593Smuzhiyun pinmux = <MT7623_PIN_200_URXD2_FUNC_URXD2>, 1264*4882a593Smuzhiyun <MT7623_PIN_201_UTXD2_FUNC_UTXD2>; 1265*4882a593Smuzhiyun }; 1266*4882a593Smuzhiyun }; 1267*4882a593Smuzhiyun}; 1268