1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0 2*f126890aSEmmanuel Vadot/* 3*f126890aSEmmanuel Vadot * Copyright (c) 2015 MediaTek Inc. 4*f126890aSEmmanuel Vadot * Author: Erin.Lo <erin.lo@mediatek.com> 5*f126890aSEmmanuel Vadot * 6*f126890aSEmmanuel Vadot */ 7*f126890aSEmmanuel Vadot 8*f126890aSEmmanuel Vadot#include <dt-bindings/clock/mt2701-clk.h> 9*f126890aSEmmanuel Vadot#include <dt-bindings/phy/phy.h> 10*f126890aSEmmanuel Vadot#include <dt-bindings/power/mt2701-power.h> 11*f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/irq.h> 12*f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h> 13*f126890aSEmmanuel Vadot#include <dt-bindings/memory/mt2701-larb-port.h> 14*f126890aSEmmanuel Vadot#include <dt-bindings/reset/mt2701-resets.h> 15*f126890aSEmmanuel Vadot#include "mt2701-pinfunc.h" 16*f126890aSEmmanuel Vadot 17*f126890aSEmmanuel Vadot/ { 18*f126890aSEmmanuel Vadot #address-cells = <2>; 19*f126890aSEmmanuel Vadot #size-cells = <2>; 20*f126890aSEmmanuel Vadot compatible = "mediatek,mt2701"; 21*f126890aSEmmanuel Vadot interrupt-parent = <&cirq>; 22*f126890aSEmmanuel Vadot 23*f126890aSEmmanuel Vadot cpus { 24*f126890aSEmmanuel Vadot #address-cells = <1>; 25*f126890aSEmmanuel Vadot #size-cells = <0>; 26*f126890aSEmmanuel Vadot enable-method = "mediatek,mt81xx-tz-smp"; 27*f126890aSEmmanuel Vadot 28*f126890aSEmmanuel Vadot cpu@0 { 29*f126890aSEmmanuel Vadot device_type = "cpu"; 30*f126890aSEmmanuel Vadot compatible = "arm,cortex-a7"; 31*f126890aSEmmanuel Vadot reg = <0x0>; 32*f126890aSEmmanuel Vadot }; 33*f126890aSEmmanuel Vadot cpu@1 { 34*f126890aSEmmanuel Vadot device_type = "cpu"; 35*f126890aSEmmanuel Vadot compatible = "arm,cortex-a7"; 36*f126890aSEmmanuel Vadot reg = <0x1>; 37*f126890aSEmmanuel Vadot }; 38*f126890aSEmmanuel Vadot cpu@2 { 39*f126890aSEmmanuel Vadot device_type = "cpu"; 40*f126890aSEmmanuel Vadot compatible = "arm,cortex-a7"; 41*f126890aSEmmanuel Vadot reg = <0x2>; 42*f126890aSEmmanuel Vadot }; 43*f126890aSEmmanuel Vadot cpu@3 { 44*f126890aSEmmanuel Vadot device_type = "cpu"; 45*f126890aSEmmanuel Vadot compatible = "arm,cortex-a7"; 46*f126890aSEmmanuel Vadot reg = <0x3>; 47*f126890aSEmmanuel Vadot }; 48*f126890aSEmmanuel Vadot }; 49*f126890aSEmmanuel Vadot 50*f126890aSEmmanuel Vadot reserved-memory { 51*f126890aSEmmanuel Vadot #address-cells = <2>; 52*f126890aSEmmanuel Vadot #size-cells = <2>; 53*f126890aSEmmanuel Vadot ranges; 54*f126890aSEmmanuel Vadot 55*f126890aSEmmanuel Vadot trustzone-bootinfo@80002000 { 56*f126890aSEmmanuel Vadot compatible = "mediatek,trustzone-bootinfo"; 57*f126890aSEmmanuel Vadot reg = <0 0x80002000 0 0x1000>; 58*f126890aSEmmanuel Vadot }; 59*f126890aSEmmanuel Vadot }; 60*f126890aSEmmanuel Vadot 61*f126890aSEmmanuel Vadot system_clk: dummy13m { 62*f126890aSEmmanuel Vadot compatible = "fixed-clock"; 63*f126890aSEmmanuel Vadot clock-frequency = <13000000>; 64*f126890aSEmmanuel Vadot #clock-cells = <0>; 65*f126890aSEmmanuel Vadot }; 66*f126890aSEmmanuel Vadot 67*f126890aSEmmanuel Vadot rtc_clk: dummy32k { 68*f126890aSEmmanuel Vadot compatible = "fixed-clock"; 69*f126890aSEmmanuel Vadot clock-frequency = <32000>; 70*f126890aSEmmanuel Vadot #clock-cells = <0>; 71*f126890aSEmmanuel Vadot }; 72*f126890aSEmmanuel Vadot 73*f126890aSEmmanuel Vadot clk26m: oscillator@0 { 74*f126890aSEmmanuel Vadot compatible = "fixed-clock"; 75*f126890aSEmmanuel Vadot #clock-cells = <0>; 76*f126890aSEmmanuel Vadot clock-frequency = <26000000>; 77*f126890aSEmmanuel Vadot clock-output-names = "clk26m"; 78*f126890aSEmmanuel Vadot }; 79*f126890aSEmmanuel Vadot 80*f126890aSEmmanuel Vadot rtc32k: oscillator@1 { 81*f126890aSEmmanuel Vadot compatible = "fixed-clock"; 82*f126890aSEmmanuel Vadot #clock-cells = <0>; 83*f126890aSEmmanuel Vadot clock-frequency = <32000>; 84*f126890aSEmmanuel Vadot clock-output-names = "rtc32k"; 85*f126890aSEmmanuel Vadot }; 86*f126890aSEmmanuel Vadot 87*f126890aSEmmanuel Vadot thermal-zones { 88*f126890aSEmmanuel Vadot cpu_thermal: cpu_thermal { 89*f126890aSEmmanuel Vadot polling-delay-passive = <1000>; /* milliseconds */ 90*f126890aSEmmanuel Vadot polling-delay = <1000>; /* milliseconds */ 91*f126890aSEmmanuel Vadot 92*f126890aSEmmanuel Vadot thermal-sensors = <&thermal 0>; 93*f126890aSEmmanuel Vadot sustainable-power = <1000>; 94*f126890aSEmmanuel Vadot 95*f126890aSEmmanuel Vadot trips { 96*f126890aSEmmanuel Vadot threshold: trip-point@0 { 97*f126890aSEmmanuel Vadot temperature = <68000>; 98*f126890aSEmmanuel Vadot hysteresis = <2000>; 99*f126890aSEmmanuel Vadot type = "passive"; 100*f126890aSEmmanuel Vadot }; 101*f126890aSEmmanuel Vadot 102*f126890aSEmmanuel Vadot target: trip-point@1 { 103*f126890aSEmmanuel Vadot temperature = <85000>; 104*f126890aSEmmanuel Vadot hysteresis = <2000>; 105*f126890aSEmmanuel Vadot type = "passive"; 106*f126890aSEmmanuel Vadot }; 107*f126890aSEmmanuel Vadot 108*f126890aSEmmanuel Vadot cpu_crit: cpu_crit@0 { 109*f126890aSEmmanuel Vadot temperature = <115000>; 110*f126890aSEmmanuel Vadot hysteresis = <2000>; 111*f126890aSEmmanuel Vadot type = "critical"; 112*f126890aSEmmanuel Vadot }; 113*f126890aSEmmanuel Vadot }; 114*f126890aSEmmanuel Vadot }; 115*f126890aSEmmanuel Vadot }; 116*f126890aSEmmanuel Vadot 117*f126890aSEmmanuel Vadot timer { 118*f126890aSEmmanuel Vadot compatible = "arm,armv7-timer"; 119*f126890aSEmmanuel Vadot interrupt-parent = <&gic>; 120*f126890aSEmmanuel Vadot interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, 121*f126890aSEmmanuel Vadot <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, 122*f126890aSEmmanuel Vadot <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, 123*f126890aSEmmanuel Vadot <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 124*f126890aSEmmanuel Vadot }; 125*f126890aSEmmanuel Vadot 126*f126890aSEmmanuel Vadot topckgen: syscon@10000000 { 127*f126890aSEmmanuel Vadot compatible = "mediatek,mt2701-topckgen", "syscon"; 128*f126890aSEmmanuel Vadot reg = <0 0x10000000 0 0x1000>; 129*f126890aSEmmanuel Vadot #clock-cells = <1>; 130*f126890aSEmmanuel Vadot }; 131*f126890aSEmmanuel Vadot 132*f126890aSEmmanuel Vadot infracfg: syscon@10001000 { 133*f126890aSEmmanuel Vadot compatible = "mediatek,mt2701-infracfg", "syscon"; 134*f126890aSEmmanuel Vadot reg = <0 0x10001000 0 0x1000>; 135*f126890aSEmmanuel Vadot #clock-cells = <1>; 136*f126890aSEmmanuel Vadot #reset-cells = <1>; 137*f126890aSEmmanuel Vadot }; 138*f126890aSEmmanuel Vadot 139*f126890aSEmmanuel Vadot pericfg: syscon@10003000 { 140*f126890aSEmmanuel Vadot compatible = "mediatek,mt2701-pericfg", "syscon"; 141*f126890aSEmmanuel Vadot reg = <0 0x10003000 0 0x1000>; 142*f126890aSEmmanuel Vadot #clock-cells = <1>; 143*f126890aSEmmanuel Vadot #reset-cells = <1>; 144*f126890aSEmmanuel Vadot }; 145*f126890aSEmmanuel Vadot 146*f126890aSEmmanuel Vadot syscfg_pctl_a: syscfg@10005000 { 147*f126890aSEmmanuel Vadot compatible = "mediatek,mt2701-pctl-a-syscfg", "syscon"; 148*f126890aSEmmanuel Vadot reg = <0 0x10005000 0 0x1000>; 149*f126890aSEmmanuel Vadot }; 150*f126890aSEmmanuel Vadot 151*f126890aSEmmanuel Vadot scpsys: power-controller@10006000 { 152*f126890aSEmmanuel Vadot compatible = "mediatek,mt2701-scpsys", "syscon"; 153*f126890aSEmmanuel Vadot #power-domain-cells = <1>; 154*f126890aSEmmanuel Vadot reg = <0 0x10006000 0 0x1000>; 155*f126890aSEmmanuel Vadot infracfg = <&infracfg>; 156*f126890aSEmmanuel Vadot clocks = <&topckgen CLK_TOP_MM_SEL>, 157*f126890aSEmmanuel Vadot <&topckgen CLK_TOP_MFG_SEL>, 158*f126890aSEmmanuel Vadot <&topckgen CLK_TOP_ETHIF_SEL>; 159*f126890aSEmmanuel Vadot clock-names = "mm", "mfg", "ethif"; 160*f126890aSEmmanuel Vadot }; 161*f126890aSEmmanuel Vadot 162*f126890aSEmmanuel Vadot watchdog: watchdog@10007000 { 163*f126890aSEmmanuel Vadot compatible = "mediatek,mt2701-wdt", 164*f126890aSEmmanuel Vadot "mediatek,mt6589-wdt"; 165*f126890aSEmmanuel Vadot reg = <0 0x10007000 0 0x100>; 166*f126890aSEmmanuel Vadot }; 167*f126890aSEmmanuel Vadot 168*f126890aSEmmanuel Vadot timer: timer@10008000 { 169*f126890aSEmmanuel Vadot compatible = "mediatek,mt2701-timer", 170*f126890aSEmmanuel Vadot "mediatek,mt6577-timer"; 171*f126890aSEmmanuel Vadot reg = <0 0x10008000 0 0x80>; 172*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_LOW>; 173*f126890aSEmmanuel Vadot clocks = <&system_clk>, <&rtc_clk>; 174*f126890aSEmmanuel Vadot clock-names = "system-clk", "rtc-clk"; 175*f126890aSEmmanuel Vadot }; 176*f126890aSEmmanuel Vadot 177*f126890aSEmmanuel Vadot pio: pinctrl@1000b000 { 178*f126890aSEmmanuel Vadot compatible = "mediatek,mt2701-pinctrl"; 179*f126890aSEmmanuel Vadot reg = <0 0x1000b000 0 0x1000>; 180*f126890aSEmmanuel Vadot mediatek,pctl-regmap = <&syscfg_pctl_a>; 181*f126890aSEmmanuel Vadot gpio-controller; 182*f126890aSEmmanuel Vadot #gpio-cells = <2>; 183*f126890aSEmmanuel Vadot interrupt-controller; 184*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 185*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>, 186*f126890aSEmmanuel Vadot <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>; 187*f126890aSEmmanuel Vadot }; 188*f126890aSEmmanuel Vadot 189*f126890aSEmmanuel Vadot smi_common: smi@1000c000 { 190*f126890aSEmmanuel Vadot compatible = "mediatek,mt2701-smi-common"; 191*f126890aSEmmanuel Vadot reg = <0 0x1000c000 0 0x1000>; 192*f126890aSEmmanuel Vadot clocks = <&infracfg CLK_INFRA_SMI>, 193*f126890aSEmmanuel Vadot <&mmsys CLK_MM_SMI_COMMON>, 194*f126890aSEmmanuel Vadot <&infracfg CLK_INFRA_SMI>; 195*f126890aSEmmanuel Vadot clock-names = "apb", "smi", "async"; 196*f126890aSEmmanuel Vadot power-domains = <&scpsys MT2701_POWER_DOMAIN_DISP>; 197*f126890aSEmmanuel Vadot }; 198*f126890aSEmmanuel Vadot 199*f126890aSEmmanuel Vadot sysirq: interrupt-controller@10200100 { 200*f126890aSEmmanuel Vadot compatible = "mediatek,mt2701-sysirq", 201*f126890aSEmmanuel Vadot "mediatek,mt6577-sysirq"; 202*f126890aSEmmanuel Vadot interrupt-controller; 203*f126890aSEmmanuel Vadot #interrupt-cells = <3>; 204*f126890aSEmmanuel Vadot interrupt-parent = <&gic>; 205*f126890aSEmmanuel Vadot reg = <0 0x10200100 0 0x1c>; 206*f126890aSEmmanuel Vadot }; 207*f126890aSEmmanuel Vadot 208*f126890aSEmmanuel Vadot cirq: interrupt-controller@10204000 { 209*f126890aSEmmanuel Vadot compatible = "mediatek,mt2701-cirq", 210*f126890aSEmmanuel Vadot "mediatek,mtk-cirq"; 211*f126890aSEmmanuel Vadot interrupt-controller; 212*f126890aSEmmanuel Vadot #interrupt-cells = <3>; 213*f126890aSEmmanuel Vadot interrupt-parent = <&sysirq>; 214*f126890aSEmmanuel Vadot reg = <0 0x10204000 0 0x400>; 215*f126890aSEmmanuel Vadot mediatek,ext-irq-range = <32 200>; 216*f126890aSEmmanuel Vadot }; 217*f126890aSEmmanuel Vadot 218*f126890aSEmmanuel Vadot iommu: mmsys_iommu@10205000 { 219*f126890aSEmmanuel Vadot compatible = "mediatek,mt2701-m4u"; 220*f126890aSEmmanuel Vadot reg = <0 0x10205000 0 0x1000>; 221*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_LOW>; 222*f126890aSEmmanuel Vadot clocks = <&infracfg CLK_INFRA_M4U>; 223*f126890aSEmmanuel Vadot clock-names = "bclk"; 224*f126890aSEmmanuel Vadot mediatek,larbs = <&larb0 &larb1 &larb2>; 225*f126890aSEmmanuel Vadot #iommu-cells = <1>; 226*f126890aSEmmanuel Vadot }; 227*f126890aSEmmanuel Vadot 228*f126890aSEmmanuel Vadot apmixedsys: syscon@10209000 { 229*f126890aSEmmanuel Vadot compatible = "mediatek,mt2701-apmixedsys", "syscon"; 230*f126890aSEmmanuel Vadot reg = <0 0x10209000 0 0x1000>; 231*f126890aSEmmanuel Vadot #clock-cells = <1>; 232*f126890aSEmmanuel Vadot }; 233*f126890aSEmmanuel Vadot 234*f126890aSEmmanuel Vadot gic: interrupt-controller@10211000 { 235*f126890aSEmmanuel Vadot compatible = "arm,cortex-a7-gic"; 236*f126890aSEmmanuel Vadot interrupt-controller; 237*f126890aSEmmanuel Vadot #interrupt-cells = <3>; 238*f126890aSEmmanuel Vadot interrupt-parent = <&gic>; 239*f126890aSEmmanuel Vadot reg = <0 0x10211000 0 0x1000>, 240*f126890aSEmmanuel Vadot <0 0x10212000 0 0x2000>, 241*f126890aSEmmanuel Vadot <0 0x10214000 0 0x2000>, 242*f126890aSEmmanuel Vadot <0 0x10216000 0 0x2000>; 243*f126890aSEmmanuel Vadot }; 244*f126890aSEmmanuel Vadot 245*f126890aSEmmanuel Vadot auxadc: adc@11001000 { 246*f126890aSEmmanuel Vadot compatible = "mediatek,mt2701-auxadc"; 247*f126890aSEmmanuel Vadot reg = <0 0x11001000 0 0x1000>; 248*f126890aSEmmanuel Vadot clocks = <&pericfg CLK_PERI_AUXADC>; 249*f126890aSEmmanuel Vadot clock-names = "main"; 250*f126890aSEmmanuel Vadot #io-channel-cells = <1>; 251*f126890aSEmmanuel Vadot status = "disabled"; 252*f126890aSEmmanuel Vadot }; 253*f126890aSEmmanuel Vadot 254*f126890aSEmmanuel Vadot uart0: serial@11002000 { 255*f126890aSEmmanuel Vadot compatible = "mediatek,mt2701-uart", 256*f126890aSEmmanuel Vadot "mediatek,mt6577-uart"; 257*f126890aSEmmanuel Vadot reg = <0 0x11002000 0 0x400>; 258*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_LOW>; 259*f126890aSEmmanuel Vadot clocks = <&pericfg CLK_PERI_UART0_SEL>, <&pericfg CLK_PERI_UART0>; 260*f126890aSEmmanuel Vadot clock-names = "baud", "bus"; 261*f126890aSEmmanuel Vadot status = "disabled"; 262*f126890aSEmmanuel Vadot }; 263*f126890aSEmmanuel Vadot 264*f126890aSEmmanuel Vadot uart1: serial@11003000 { 265*f126890aSEmmanuel Vadot compatible = "mediatek,mt2701-uart", 266*f126890aSEmmanuel Vadot "mediatek,mt6577-uart"; 267*f126890aSEmmanuel Vadot reg = <0 0x11003000 0 0x400>; 268*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_LOW>; 269*f126890aSEmmanuel Vadot clocks = <&pericfg CLK_PERI_UART1_SEL>, <&pericfg CLK_PERI_UART1>; 270*f126890aSEmmanuel Vadot clock-names = "baud", "bus"; 271*f126890aSEmmanuel Vadot status = "disabled"; 272*f126890aSEmmanuel Vadot }; 273*f126890aSEmmanuel Vadot 274*f126890aSEmmanuel Vadot uart2: serial@11004000 { 275*f126890aSEmmanuel Vadot compatible = "mediatek,mt2701-uart", 276*f126890aSEmmanuel Vadot "mediatek,mt6577-uart"; 277*f126890aSEmmanuel Vadot reg = <0 0x11004000 0 0x400>; 278*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_LOW>; 279*f126890aSEmmanuel Vadot clocks = <&pericfg CLK_PERI_UART2_SEL>, <&pericfg CLK_PERI_UART2>; 280*f126890aSEmmanuel Vadot clock-names = "baud", "bus"; 281*f126890aSEmmanuel Vadot status = "disabled"; 282*f126890aSEmmanuel Vadot }; 283*f126890aSEmmanuel Vadot 284*f126890aSEmmanuel Vadot uart3: serial@11005000 { 285*f126890aSEmmanuel Vadot compatible = "mediatek,mt2701-uart", 286*f126890aSEmmanuel Vadot "mediatek,mt6577-uart"; 287*f126890aSEmmanuel Vadot reg = <0 0x11005000 0 0x400>; 288*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_LOW>; 289*f126890aSEmmanuel Vadot clocks = <&pericfg CLK_PERI_UART3_SEL>, <&pericfg CLK_PERI_UART3>; 290*f126890aSEmmanuel Vadot clock-names = "baud", "bus"; 291*f126890aSEmmanuel Vadot status = "disabled"; 292*f126890aSEmmanuel Vadot }; 293*f126890aSEmmanuel Vadot 294*f126890aSEmmanuel Vadot i2c0: i2c@11007000 { 295*f126890aSEmmanuel Vadot compatible = "mediatek,mt2701-i2c", 296*f126890aSEmmanuel Vadot "mediatek,mt6577-i2c"; 297*f126890aSEmmanuel Vadot reg = <0 0x11007000 0 0x70>, 298*f126890aSEmmanuel Vadot <0 0x11000200 0 0x80>; 299*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_LOW>; 300*f126890aSEmmanuel Vadot clock-div = <16>; 301*f126890aSEmmanuel Vadot clocks = <&pericfg CLK_PERI_I2C0>, <&pericfg CLK_PERI_AP_DMA>; 302*f126890aSEmmanuel Vadot clock-names = "main", "dma"; 303*f126890aSEmmanuel Vadot #address-cells = <1>; 304*f126890aSEmmanuel Vadot #size-cells = <0>; 305*f126890aSEmmanuel Vadot status = "disabled"; 306*f126890aSEmmanuel Vadot }; 307*f126890aSEmmanuel Vadot 308*f126890aSEmmanuel Vadot i2c1: i2c@11008000 { 309*f126890aSEmmanuel Vadot compatible = "mediatek,mt2701-i2c", 310*f126890aSEmmanuel Vadot "mediatek,mt6577-i2c"; 311*f126890aSEmmanuel Vadot reg = <0 0x11008000 0 0x70>, 312*f126890aSEmmanuel Vadot <0 0x11000280 0 0x80>; 313*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_LOW>; 314*f126890aSEmmanuel Vadot clock-div = <16>; 315*f126890aSEmmanuel Vadot clocks = <&pericfg CLK_PERI_I2C1>, <&pericfg CLK_PERI_AP_DMA>; 316*f126890aSEmmanuel Vadot clock-names = "main", "dma"; 317*f126890aSEmmanuel Vadot #address-cells = <1>; 318*f126890aSEmmanuel Vadot #size-cells = <0>; 319*f126890aSEmmanuel Vadot status = "disabled"; 320*f126890aSEmmanuel Vadot }; 321*f126890aSEmmanuel Vadot 322*f126890aSEmmanuel Vadot i2c2: i2c@11009000 { 323*f126890aSEmmanuel Vadot compatible = "mediatek,mt2701-i2c", 324*f126890aSEmmanuel Vadot "mediatek,mt6577-i2c"; 325*f126890aSEmmanuel Vadot reg = <0 0x11009000 0 0x70>, 326*f126890aSEmmanuel Vadot <0 0x11000300 0 0x80>; 327*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_LOW>; 328*f126890aSEmmanuel Vadot clock-div = <16>; 329*f126890aSEmmanuel Vadot clocks = <&pericfg CLK_PERI_I2C2>, <&pericfg CLK_PERI_AP_DMA>; 330*f126890aSEmmanuel Vadot clock-names = "main", "dma"; 331*f126890aSEmmanuel Vadot #address-cells = <1>; 332*f126890aSEmmanuel Vadot #size-cells = <0>; 333*f126890aSEmmanuel Vadot status = "disabled"; 334*f126890aSEmmanuel Vadot }; 335*f126890aSEmmanuel Vadot 336*f126890aSEmmanuel Vadot spi0: spi@1100a000 { 337*f126890aSEmmanuel Vadot compatible = "mediatek,mt2701-spi"; 338*f126890aSEmmanuel Vadot #address-cells = <1>; 339*f126890aSEmmanuel Vadot #size-cells = <0>; 340*f126890aSEmmanuel Vadot reg = <0 0x1100a000 0 0x100>; 341*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_LOW>; 342*f126890aSEmmanuel Vadot clocks = <&topckgen CLK_TOP_SYSPLL3_D2>, 343*f126890aSEmmanuel Vadot <&topckgen CLK_TOP_SPI0_SEL>, 344*f126890aSEmmanuel Vadot <&pericfg CLK_PERI_SPI0>; 345*f126890aSEmmanuel Vadot clock-names = "parent-clk", "sel-clk", "spi-clk"; 346*f126890aSEmmanuel Vadot status = "disabled"; 347*f126890aSEmmanuel Vadot }; 348*f126890aSEmmanuel Vadot 349*f126890aSEmmanuel Vadot thermal: thermal@1100b000 { 350*f126890aSEmmanuel Vadot #thermal-sensor-cells = <0>; 351*f126890aSEmmanuel Vadot compatible = "mediatek,mt2701-thermal"; 352*f126890aSEmmanuel Vadot reg = <0 0x1100b000 0 0x1000>; 353*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_LOW>; 354*f126890aSEmmanuel Vadot clocks = <&pericfg CLK_PERI_THERM>, <&pericfg CLK_PERI_AUXADC>; 355*f126890aSEmmanuel Vadot clock-names = "therm", "auxadc"; 356*f126890aSEmmanuel Vadot resets = <&pericfg MT2701_PERI_THERM_SW_RST>; 357*f126890aSEmmanuel Vadot reset-names = "therm"; 358*f126890aSEmmanuel Vadot mediatek,auxadc = <&auxadc>; 359*f126890aSEmmanuel Vadot mediatek,apmixedsys = <&apmixedsys>; 360*f126890aSEmmanuel Vadot }; 361*f126890aSEmmanuel Vadot 362*f126890aSEmmanuel Vadot nandc: nand-controller@1100d000 { 363*f126890aSEmmanuel Vadot compatible = "mediatek,mt2701-nfc"; 364*f126890aSEmmanuel Vadot reg = <0 0x1100d000 0 0x1000>; 365*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_LOW>; 366*f126890aSEmmanuel Vadot clocks = <&pericfg CLK_PERI_NFI>, 367*f126890aSEmmanuel Vadot <&pericfg CLK_PERI_NFI_PAD>; 368*f126890aSEmmanuel Vadot clock-names = "nfi_clk", "pad_clk"; 369*f126890aSEmmanuel Vadot status = "disabled"; 370*f126890aSEmmanuel Vadot ecc-engine = <&bch>; 371*f126890aSEmmanuel Vadot #address-cells = <1>; 372*f126890aSEmmanuel Vadot #size-cells = <0>; 373*f126890aSEmmanuel Vadot }; 374*f126890aSEmmanuel Vadot 375*f126890aSEmmanuel Vadot bch: ecc@1100e000 { 376*f126890aSEmmanuel Vadot compatible = "mediatek,mt2701-ecc"; 377*f126890aSEmmanuel Vadot reg = <0 0x1100e000 0 0x1000>; 378*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_LOW>; 379*f126890aSEmmanuel Vadot clocks = <&pericfg CLK_PERI_NFI_ECC>; 380*f126890aSEmmanuel Vadot clock-names = "nfiecc_clk"; 381*f126890aSEmmanuel Vadot status = "disabled"; 382*f126890aSEmmanuel Vadot }; 383*f126890aSEmmanuel Vadot 384*f126890aSEmmanuel Vadot nor_flash: spi@11014000 { 385*f126890aSEmmanuel Vadot compatible = "mediatek,mt2701-nor", 386*f126890aSEmmanuel Vadot "mediatek,mt8173-nor"; 387*f126890aSEmmanuel Vadot reg = <0 0x11014000 0 0xe0>; 388*f126890aSEmmanuel Vadot clocks = <&pericfg CLK_PERI_FLASH>, 389*f126890aSEmmanuel Vadot <&topckgen CLK_TOP_FLASH_SEL>; 390*f126890aSEmmanuel Vadot clock-names = "spi", "sf"; 391*f126890aSEmmanuel Vadot #address-cells = <1>; 392*f126890aSEmmanuel Vadot #size-cells = <0>; 393*f126890aSEmmanuel Vadot status = "disabled"; 394*f126890aSEmmanuel Vadot }; 395*f126890aSEmmanuel Vadot 396*f126890aSEmmanuel Vadot spi1: spi@11016000 { 397*f126890aSEmmanuel Vadot compatible = "mediatek,mt2701-spi"; 398*f126890aSEmmanuel Vadot #address-cells = <1>; 399*f126890aSEmmanuel Vadot #size-cells = <0>; 400*f126890aSEmmanuel Vadot reg = <0 0x11016000 0 0x100>; 401*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_LOW>; 402*f126890aSEmmanuel Vadot clocks = <&topckgen CLK_TOP_SYSPLL3_D2>, 403*f126890aSEmmanuel Vadot <&topckgen CLK_TOP_SPI1_SEL>, 404*f126890aSEmmanuel Vadot <&pericfg CLK_PERI_SPI1>; 405*f126890aSEmmanuel Vadot clock-names = "parent-clk", "sel-clk", "spi-clk"; 406*f126890aSEmmanuel Vadot status = "disabled"; 407*f126890aSEmmanuel Vadot }; 408*f126890aSEmmanuel Vadot 409*f126890aSEmmanuel Vadot spi2: spi@11017000 { 410*f126890aSEmmanuel Vadot compatible = "mediatek,mt2701-spi"; 411*f126890aSEmmanuel Vadot #address-cells = <1>; 412*f126890aSEmmanuel Vadot #size-cells = <0>; 413*f126890aSEmmanuel Vadot reg = <0 0x11017000 0 0x1000>; 414*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_LOW>; 415*f126890aSEmmanuel Vadot clocks = <&topckgen CLK_TOP_SYSPLL3_D2>, 416*f126890aSEmmanuel Vadot <&topckgen CLK_TOP_SPI2_SEL>, 417*f126890aSEmmanuel Vadot <&pericfg CLK_PERI_SPI2>; 418*f126890aSEmmanuel Vadot clock-names = "parent-clk", "sel-clk", "spi-clk"; 419*f126890aSEmmanuel Vadot status = "disabled"; 420*f126890aSEmmanuel Vadot }; 421*f126890aSEmmanuel Vadot 422*f126890aSEmmanuel Vadot audsys: clock-controller@11220000 { 423*f126890aSEmmanuel Vadot compatible = "mediatek,mt2701-audsys", "syscon"; 424*f126890aSEmmanuel Vadot reg = <0 0x11220000 0 0x2000>; 425*f126890aSEmmanuel Vadot #clock-cells = <1>; 426*f126890aSEmmanuel Vadot 427*f126890aSEmmanuel Vadot afe: audio-controller { 428*f126890aSEmmanuel Vadot compatible = "mediatek,mt2701-audio"; 429*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_LOW>, 430*f126890aSEmmanuel Vadot <GIC_SPI 132 IRQ_TYPE_LEVEL_LOW>; 431*f126890aSEmmanuel Vadot interrupt-names = "afe", "asys"; 432*f126890aSEmmanuel Vadot power-domains = <&scpsys MT2701_POWER_DOMAIN_IFR_MSC>; 433*f126890aSEmmanuel Vadot 434*f126890aSEmmanuel Vadot clocks = <&infracfg CLK_INFRA_AUDIO>, 435*f126890aSEmmanuel Vadot <&topckgen CLK_TOP_AUD_MUX1_SEL>, 436*f126890aSEmmanuel Vadot <&topckgen CLK_TOP_AUD_MUX2_SEL>, 437*f126890aSEmmanuel Vadot <&topckgen CLK_TOP_AUD_48K_TIMING>, 438*f126890aSEmmanuel Vadot <&topckgen CLK_TOP_AUD_44K_TIMING>, 439*f126890aSEmmanuel Vadot <&topckgen CLK_TOP_AUD_K1_SRC_SEL>, 440*f126890aSEmmanuel Vadot <&topckgen CLK_TOP_AUD_K2_SRC_SEL>, 441*f126890aSEmmanuel Vadot <&topckgen CLK_TOP_AUD_K3_SRC_SEL>, 442*f126890aSEmmanuel Vadot <&topckgen CLK_TOP_AUD_K4_SRC_SEL>, 443*f126890aSEmmanuel Vadot <&topckgen CLK_TOP_AUD_K1_SRC_DIV>, 444*f126890aSEmmanuel Vadot <&topckgen CLK_TOP_AUD_K2_SRC_DIV>, 445*f126890aSEmmanuel Vadot <&topckgen CLK_TOP_AUD_K3_SRC_DIV>, 446*f126890aSEmmanuel Vadot <&topckgen CLK_TOP_AUD_K4_SRC_DIV>, 447*f126890aSEmmanuel Vadot <&topckgen CLK_TOP_AUD_I2S1_MCLK>, 448*f126890aSEmmanuel Vadot <&topckgen CLK_TOP_AUD_I2S2_MCLK>, 449*f126890aSEmmanuel Vadot <&topckgen CLK_TOP_AUD_I2S3_MCLK>, 450*f126890aSEmmanuel Vadot <&topckgen CLK_TOP_AUD_I2S4_MCLK>, 451*f126890aSEmmanuel Vadot <&audsys CLK_AUD_I2SO1>, 452*f126890aSEmmanuel Vadot <&audsys CLK_AUD_I2SO2>, 453*f126890aSEmmanuel Vadot <&audsys CLK_AUD_I2SO3>, 454*f126890aSEmmanuel Vadot <&audsys CLK_AUD_I2SO4>, 455*f126890aSEmmanuel Vadot <&audsys CLK_AUD_I2SIN1>, 456*f126890aSEmmanuel Vadot <&audsys CLK_AUD_I2SIN2>, 457*f126890aSEmmanuel Vadot <&audsys CLK_AUD_I2SIN3>, 458*f126890aSEmmanuel Vadot <&audsys CLK_AUD_I2SIN4>, 459*f126890aSEmmanuel Vadot <&audsys CLK_AUD_ASRCO1>, 460*f126890aSEmmanuel Vadot <&audsys CLK_AUD_ASRCO2>, 461*f126890aSEmmanuel Vadot <&audsys CLK_AUD_ASRCO3>, 462*f126890aSEmmanuel Vadot <&audsys CLK_AUD_ASRCO4>, 463*f126890aSEmmanuel Vadot <&audsys CLK_AUD_AFE>, 464*f126890aSEmmanuel Vadot <&audsys CLK_AUD_AFE_CONN>, 465*f126890aSEmmanuel Vadot <&audsys CLK_AUD_A1SYS>, 466*f126890aSEmmanuel Vadot <&audsys CLK_AUD_A2SYS>, 467*f126890aSEmmanuel Vadot <&audsys CLK_AUD_AFE_MRGIF>; 468*f126890aSEmmanuel Vadot 469*f126890aSEmmanuel Vadot clock-names = "infra_sys_audio_clk", 470*f126890aSEmmanuel Vadot "top_audio_mux1_sel", 471*f126890aSEmmanuel Vadot "top_audio_mux2_sel", 472*f126890aSEmmanuel Vadot "top_audio_a1sys_hp", 473*f126890aSEmmanuel Vadot "top_audio_a2sys_hp", 474*f126890aSEmmanuel Vadot "i2s0_src_sel", 475*f126890aSEmmanuel Vadot "i2s1_src_sel", 476*f126890aSEmmanuel Vadot "i2s2_src_sel", 477*f126890aSEmmanuel Vadot "i2s3_src_sel", 478*f126890aSEmmanuel Vadot "i2s0_src_div", 479*f126890aSEmmanuel Vadot "i2s1_src_div", 480*f126890aSEmmanuel Vadot "i2s2_src_div", 481*f126890aSEmmanuel Vadot "i2s3_src_div", 482*f126890aSEmmanuel Vadot "i2s0_mclk_en", 483*f126890aSEmmanuel Vadot "i2s1_mclk_en", 484*f126890aSEmmanuel Vadot "i2s2_mclk_en", 485*f126890aSEmmanuel Vadot "i2s3_mclk_en", 486*f126890aSEmmanuel Vadot "i2so0_hop_ck", 487*f126890aSEmmanuel Vadot "i2so1_hop_ck", 488*f126890aSEmmanuel Vadot "i2so2_hop_ck", 489*f126890aSEmmanuel Vadot "i2so3_hop_ck", 490*f126890aSEmmanuel Vadot "i2si0_hop_ck", 491*f126890aSEmmanuel Vadot "i2si1_hop_ck", 492*f126890aSEmmanuel Vadot "i2si2_hop_ck", 493*f126890aSEmmanuel Vadot "i2si3_hop_ck", 494*f126890aSEmmanuel Vadot "asrc0_out_ck", 495*f126890aSEmmanuel Vadot "asrc1_out_ck", 496*f126890aSEmmanuel Vadot "asrc2_out_ck", 497*f126890aSEmmanuel Vadot "asrc3_out_ck", 498*f126890aSEmmanuel Vadot "audio_afe_pd", 499*f126890aSEmmanuel Vadot "audio_afe_conn_pd", 500*f126890aSEmmanuel Vadot "audio_a1sys_pd", 501*f126890aSEmmanuel Vadot "audio_a2sys_pd", 502*f126890aSEmmanuel Vadot "audio_mrgif_pd"; 503*f126890aSEmmanuel Vadot 504*f126890aSEmmanuel Vadot assigned-clocks = <&topckgen CLK_TOP_AUD_MUX1_SEL>, 505*f126890aSEmmanuel Vadot <&topckgen CLK_TOP_AUD_MUX2_SEL>, 506*f126890aSEmmanuel Vadot <&topckgen CLK_TOP_AUD_MUX1_DIV>, 507*f126890aSEmmanuel Vadot <&topckgen CLK_TOP_AUD_MUX2_DIV>; 508*f126890aSEmmanuel Vadot assigned-clock-parents = <&topckgen CLK_TOP_AUD1PLL_98M>, 509*f126890aSEmmanuel Vadot <&topckgen CLK_TOP_AUD2PLL_90M>; 510*f126890aSEmmanuel Vadot assigned-clock-rates = <0>, <0>, <49152000>, <45158400>; 511*f126890aSEmmanuel Vadot }; 512*f126890aSEmmanuel Vadot }; 513*f126890aSEmmanuel Vadot 514*f126890aSEmmanuel Vadot mmsys: syscon@14000000 { 515*f126890aSEmmanuel Vadot compatible = "mediatek,mt2701-mmsys", "syscon"; 516*f126890aSEmmanuel Vadot reg = <0 0x14000000 0 0x1000>; 517*f126890aSEmmanuel Vadot #clock-cells = <1>; 518*f126890aSEmmanuel Vadot }; 519*f126890aSEmmanuel Vadot 520*f126890aSEmmanuel Vadot bls: pwm@1400a000 { 521*f126890aSEmmanuel Vadot compatible = "mediatek,mt2701-disp-pwm"; 522*f126890aSEmmanuel Vadot reg = <0 0x1400a000 0 0x1000>; 523*f126890aSEmmanuel Vadot #pwm-cells = <2>; 524*f126890aSEmmanuel Vadot clocks = <&mmsys CLK_MM_MDP_BLS_26M>, <&mmsys CLK_MM_DISP_BLS>; 525*f126890aSEmmanuel Vadot clock-names = "main", "mm"; 526*f126890aSEmmanuel Vadot status = "disabled"; 527*f126890aSEmmanuel Vadot }; 528*f126890aSEmmanuel Vadot 529*f126890aSEmmanuel Vadot larb0: larb@14010000 { 530*f126890aSEmmanuel Vadot compatible = "mediatek,mt2701-smi-larb"; 531*f126890aSEmmanuel Vadot reg = <0 0x14010000 0 0x1000>; 532*f126890aSEmmanuel Vadot mediatek,smi = <&smi_common>; 533*f126890aSEmmanuel Vadot mediatek,larb-id = <0>; 534*f126890aSEmmanuel Vadot clocks = <&mmsys CLK_MM_SMI_LARB0>, 535*f126890aSEmmanuel Vadot <&mmsys CLK_MM_SMI_LARB0>; 536*f126890aSEmmanuel Vadot clock-names = "apb", "smi"; 537*f126890aSEmmanuel Vadot power-domains = <&scpsys MT2701_POWER_DOMAIN_DISP>; 538*f126890aSEmmanuel Vadot }; 539*f126890aSEmmanuel Vadot 540*f126890aSEmmanuel Vadot imgsys: syscon@15000000 { 541*f126890aSEmmanuel Vadot compatible = "mediatek,mt2701-imgsys", "syscon"; 542*f126890aSEmmanuel Vadot reg = <0 0x15000000 0 0x1000>; 543*f126890aSEmmanuel Vadot #clock-cells = <1>; 544*f126890aSEmmanuel Vadot }; 545*f126890aSEmmanuel Vadot 546*f126890aSEmmanuel Vadot larb2: larb@15001000 { 547*f126890aSEmmanuel Vadot compatible = "mediatek,mt2701-smi-larb"; 548*f126890aSEmmanuel Vadot reg = <0 0x15001000 0 0x1000>; 549*f126890aSEmmanuel Vadot mediatek,smi = <&smi_common>; 550*f126890aSEmmanuel Vadot mediatek,larb-id = <2>; 551*f126890aSEmmanuel Vadot clocks = <&imgsys CLK_IMG_SMI_COMM>, 552*f126890aSEmmanuel Vadot <&imgsys CLK_IMG_SMI_COMM>; 553*f126890aSEmmanuel Vadot clock-names = "apb", "smi"; 554*f126890aSEmmanuel Vadot power-domains = <&scpsys MT2701_POWER_DOMAIN_ISP>; 555*f126890aSEmmanuel Vadot }; 556*f126890aSEmmanuel Vadot 557*f126890aSEmmanuel Vadot jpegdec: jpegdec@15004000 { 558*f126890aSEmmanuel Vadot compatible = "mediatek,mt2701-jpgdec"; 559*f126890aSEmmanuel Vadot reg = <0 0x15004000 0 0x1000>; 560*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 143 IRQ_TYPE_LEVEL_LOW>; 561*f126890aSEmmanuel Vadot clocks = <&imgsys CLK_IMG_JPGDEC_SMI>, 562*f126890aSEmmanuel Vadot <&imgsys CLK_IMG_JPGDEC>; 563*f126890aSEmmanuel Vadot clock-names = "jpgdec-smi", 564*f126890aSEmmanuel Vadot "jpgdec"; 565*f126890aSEmmanuel Vadot power-domains = <&scpsys MT2701_POWER_DOMAIN_ISP>; 566*f126890aSEmmanuel Vadot iommus = <&iommu MT2701_M4U_PORT_JPGDEC_WDMA>, 567*f126890aSEmmanuel Vadot <&iommu MT2701_M4U_PORT_JPGDEC_BSDMA>; 568*f126890aSEmmanuel Vadot }; 569*f126890aSEmmanuel Vadot 570*f126890aSEmmanuel Vadot jpegenc: jpegenc@1500a000 { 571*f126890aSEmmanuel Vadot compatible = "mediatek,mt2701-jpgenc", 572*f126890aSEmmanuel Vadot "mediatek,mtk-jpgenc"; 573*f126890aSEmmanuel Vadot reg = <0 0x1500a000 0 0x1000>; 574*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_LOW>; 575*f126890aSEmmanuel Vadot clocks = <&imgsys CLK_IMG_VENC>; 576*f126890aSEmmanuel Vadot clock-names = "jpgenc"; 577*f126890aSEmmanuel Vadot power-domains = <&scpsys MT2701_POWER_DOMAIN_ISP>; 578*f126890aSEmmanuel Vadot iommus = <&iommu MT2701_M4U_PORT_JPGENC_RDMA>, 579*f126890aSEmmanuel Vadot <&iommu MT2701_M4U_PORT_JPGENC_BSDMA>; 580*f126890aSEmmanuel Vadot }; 581*f126890aSEmmanuel Vadot 582*f126890aSEmmanuel Vadot vdecsys: syscon@16000000 { 583*f126890aSEmmanuel Vadot compatible = "mediatek,mt2701-vdecsys", "syscon"; 584*f126890aSEmmanuel Vadot reg = <0 0x16000000 0 0x1000>; 585*f126890aSEmmanuel Vadot #clock-cells = <1>; 586*f126890aSEmmanuel Vadot }; 587*f126890aSEmmanuel Vadot 588*f126890aSEmmanuel Vadot larb1: larb@16010000 { 589*f126890aSEmmanuel Vadot compatible = "mediatek,mt2701-smi-larb"; 590*f126890aSEmmanuel Vadot reg = <0 0x16010000 0 0x1000>; 591*f126890aSEmmanuel Vadot mediatek,smi = <&smi_common>; 592*f126890aSEmmanuel Vadot mediatek,larb-id = <1>; 593*f126890aSEmmanuel Vadot clocks = <&vdecsys CLK_VDEC_CKGEN>, 594*f126890aSEmmanuel Vadot <&vdecsys CLK_VDEC_LARB>; 595*f126890aSEmmanuel Vadot clock-names = "apb", "smi"; 596*f126890aSEmmanuel Vadot power-domains = <&scpsys MT2701_POWER_DOMAIN_VDEC>; 597*f126890aSEmmanuel Vadot }; 598*f126890aSEmmanuel Vadot 599*f126890aSEmmanuel Vadot hifsys: syscon@1a000000 { 600*f126890aSEmmanuel Vadot compatible = "mediatek,mt2701-hifsys", "syscon"; 601*f126890aSEmmanuel Vadot reg = <0 0x1a000000 0 0x1000>; 602*f126890aSEmmanuel Vadot #clock-cells = <1>; 603*f126890aSEmmanuel Vadot #reset-cells = <1>; 604*f126890aSEmmanuel Vadot }; 605*f126890aSEmmanuel Vadot 606*f126890aSEmmanuel Vadot usb0: usb@1a1c0000 { 607*f126890aSEmmanuel Vadot compatible = "mediatek,mt2701-xhci", "mediatek,mtk-xhci"; 608*f126890aSEmmanuel Vadot reg = <0 0x1a1c0000 0 0x1000>, 609*f126890aSEmmanuel Vadot <0 0x1a1c4700 0 0x0100>; 610*f126890aSEmmanuel Vadot reg-names = "mac", "ippc"; 611*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_LOW>; 612*f126890aSEmmanuel Vadot clocks = <&hifsys CLK_HIFSYS_USB0PHY>, 613*f126890aSEmmanuel Vadot <&topckgen CLK_TOP_ETHIF_SEL>; 614*f126890aSEmmanuel Vadot clock-names = "sys_ck", "ref_ck"; 615*f126890aSEmmanuel Vadot power-domains = <&scpsys MT2701_POWER_DOMAIN_HIF>; 616*f126890aSEmmanuel Vadot phys = <&u2port0 PHY_TYPE_USB2>, <&u3port0 PHY_TYPE_USB3>; 617*f126890aSEmmanuel Vadot status = "disabled"; 618*f126890aSEmmanuel Vadot }; 619*f126890aSEmmanuel Vadot 620*f126890aSEmmanuel Vadot u3phy0: t-phy@1a1c4000 { 621*f126890aSEmmanuel Vadot compatible = "mediatek,mt2701-tphy", 622*f126890aSEmmanuel Vadot "mediatek,generic-tphy-v1"; 623*f126890aSEmmanuel Vadot reg = <0 0x1a1c4000 0 0x0700>; 624*f126890aSEmmanuel Vadot #address-cells = <2>; 625*f126890aSEmmanuel Vadot #size-cells = <2>; 626*f126890aSEmmanuel Vadot ranges; 627*f126890aSEmmanuel Vadot status = "disabled"; 628*f126890aSEmmanuel Vadot 629*f126890aSEmmanuel Vadot u2port0: usb-phy@1a1c4800 { 630*f126890aSEmmanuel Vadot reg = <0 0x1a1c4800 0 0x0100>; 631*f126890aSEmmanuel Vadot clocks = <&topckgen CLK_TOP_USB_PHY48M>; 632*f126890aSEmmanuel Vadot clock-names = "ref"; 633*f126890aSEmmanuel Vadot #phy-cells = <1>; 634*f126890aSEmmanuel Vadot status = "okay"; 635*f126890aSEmmanuel Vadot }; 636*f126890aSEmmanuel Vadot 637*f126890aSEmmanuel Vadot u3port0: usb-phy@1a1c4900 { 638*f126890aSEmmanuel Vadot reg = <0 0x1a1c4900 0 0x0700>; 639*f126890aSEmmanuel Vadot clocks = <&clk26m>; 640*f126890aSEmmanuel Vadot clock-names = "ref"; 641*f126890aSEmmanuel Vadot #phy-cells = <1>; 642*f126890aSEmmanuel Vadot status = "okay"; 643*f126890aSEmmanuel Vadot }; 644*f126890aSEmmanuel Vadot }; 645*f126890aSEmmanuel Vadot 646*f126890aSEmmanuel Vadot usb1: usb@1a240000 { 647*f126890aSEmmanuel Vadot compatible = "mediatek,mt2701-xhci", "mediatek,mtk-xhci"; 648*f126890aSEmmanuel Vadot reg = <0 0x1a240000 0 0x1000>, 649*f126890aSEmmanuel Vadot <0 0x1a244700 0 0x0100>; 650*f126890aSEmmanuel Vadot reg-names = "mac", "ippc"; 651*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_LOW>; 652*f126890aSEmmanuel Vadot clocks = <&hifsys CLK_HIFSYS_USB1PHY>, 653*f126890aSEmmanuel Vadot <&topckgen CLK_TOP_ETHIF_SEL>; 654*f126890aSEmmanuel Vadot clock-names = "sys_ck", "ref_ck"; 655*f126890aSEmmanuel Vadot power-domains = <&scpsys MT2701_POWER_DOMAIN_HIF>; 656*f126890aSEmmanuel Vadot phys = <&u2port1 PHY_TYPE_USB2>, <&u3port1 PHY_TYPE_USB3>; 657*f126890aSEmmanuel Vadot status = "disabled"; 658*f126890aSEmmanuel Vadot }; 659*f126890aSEmmanuel Vadot 660*f126890aSEmmanuel Vadot u3phy1: t-phy@1a244000 { 661*f126890aSEmmanuel Vadot compatible = "mediatek,mt2701-tphy", 662*f126890aSEmmanuel Vadot "mediatek,generic-tphy-v1"; 663*f126890aSEmmanuel Vadot reg = <0 0x1a244000 0 0x0700>; 664*f126890aSEmmanuel Vadot #address-cells = <2>; 665*f126890aSEmmanuel Vadot #size-cells = <2>; 666*f126890aSEmmanuel Vadot ranges; 667*f126890aSEmmanuel Vadot status = "disabled"; 668*f126890aSEmmanuel Vadot 669*f126890aSEmmanuel Vadot u2port1: usb-phy@1a244800 { 670*f126890aSEmmanuel Vadot reg = <0 0x1a244800 0 0x0100>; 671*f126890aSEmmanuel Vadot clocks = <&topckgen CLK_TOP_USB_PHY48M>; 672*f126890aSEmmanuel Vadot clock-names = "ref"; 673*f126890aSEmmanuel Vadot #phy-cells = <1>; 674*f126890aSEmmanuel Vadot status = "okay"; 675*f126890aSEmmanuel Vadot }; 676*f126890aSEmmanuel Vadot 677*f126890aSEmmanuel Vadot u3port1: usb-phy@1a244900 { 678*f126890aSEmmanuel Vadot reg = <0 0x1a244900 0 0x0700>; 679*f126890aSEmmanuel Vadot clocks = <&clk26m>; 680*f126890aSEmmanuel Vadot clock-names = "ref"; 681*f126890aSEmmanuel Vadot #phy-cells = <1>; 682*f126890aSEmmanuel Vadot status = "okay"; 683*f126890aSEmmanuel Vadot }; 684*f126890aSEmmanuel Vadot }; 685*f126890aSEmmanuel Vadot 686*f126890aSEmmanuel Vadot usb2: usb@11200000 { 687*f126890aSEmmanuel Vadot compatible = "mediatek,mt2701-musb", 688*f126890aSEmmanuel Vadot "mediatek,mtk-musb"; 689*f126890aSEmmanuel Vadot reg = <0 0x11200000 0 0x1000>; 690*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>; 691*f126890aSEmmanuel Vadot interrupt-names = "mc"; 692*f126890aSEmmanuel Vadot phys = <&u2port2 PHY_TYPE_USB2>; 693*f126890aSEmmanuel Vadot dr_mode = "otg"; 694*f126890aSEmmanuel Vadot clocks = <&pericfg CLK_PERI_USB0>, 695*f126890aSEmmanuel Vadot <&pericfg CLK_PERI_USB0_MCU>, 696*f126890aSEmmanuel Vadot <&pericfg CLK_PERI_USB_SLV>; 697*f126890aSEmmanuel Vadot clock-names = "main","mcu","univpll"; 698*f126890aSEmmanuel Vadot power-domains = <&scpsys MT2701_POWER_DOMAIN_IFR_MSC>; 699*f126890aSEmmanuel Vadot status = "disabled"; 700*f126890aSEmmanuel Vadot }; 701*f126890aSEmmanuel Vadot 702*f126890aSEmmanuel Vadot u2phy0: t-phy@11210000 { 703*f126890aSEmmanuel Vadot compatible = "mediatek,mt2701-tphy", 704*f126890aSEmmanuel Vadot "mediatek,generic-tphy-v1"; 705*f126890aSEmmanuel Vadot reg = <0 0x11210000 0 0x0800>; 706*f126890aSEmmanuel Vadot #address-cells = <2>; 707*f126890aSEmmanuel Vadot #size-cells = <2>; 708*f126890aSEmmanuel Vadot ranges; 709*f126890aSEmmanuel Vadot status = "okay"; 710*f126890aSEmmanuel Vadot 711*f126890aSEmmanuel Vadot u2port2: usb-phy@1a1c4800 { 712*f126890aSEmmanuel Vadot reg = <0 0x11210800 0 0x0100>; 713*f126890aSEmmanuel Vadot clocks = <&topckgen CLK_TOP_USB_PHY48M>; 714*f126890aSEmmanuel Vadot clock-names = "ref"; 715*f126890aSEmmanuel Vadot #phy-cells = <1>; 716*f126890aSEmmanuel Vadot status = "okay"; 717*f126890aSEmmanuel Vadot }; 718*f126890aSEmmanuel Vadot }; 719*f126890aSEmmanuel Vadot 720*f126890aSEmmanuel Vadot ethsys: syscon@1b000000 { 721*f126890aSEmmanuel Vadot compatible = "mediatek,mt2701-ethsys", "syscon"; 722*f126890aSEmmanuel Vadot reg = <0 0x1b000000 0 0x1000>; 723*f126890aSEmmanuel Vadot #clock-cells = <1>; 724*f126890aSEmmanuel Vadot #reset-cells = <1>; 725*f126890aSEmmanuel Vadot }; 726*f126890aSEmmanuel Vadot 727*f126890aSEmmanuel Vadot eth: ethernet@1b100000 { 728*f126890aSEmmanuel Vadot compatible = "mediatek,mt2701-eth", "syscon"; 729*f126890aSEmmanuel Vadot reg = <0 0x1b100000 0 0x20000>; 730*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 200 IRQ_TYPE_LEVEL_LOW>, 731*f126890aSEmmanuel Vadot <GIC_SPI 199 IRQ_TYPE_LEVEL_LOW>, 732*f126890aSEmmanuel Vadot <GIC_SPI 198 IRQ_TYPE_LEVEL_LOW>; 733*f126890aSEmmanuel Vadot clocks = <&topckgen CLK_TOP_ETHIF_SEL>, 734*f126890aSEmmanuel Vadot <ðsys CLK_ETHSYS_ESW>, 735*f126890aSEmmanuel Vadot <ðsys CLK_ETHSYS_GP1>, 736*f126890aSEmmanuel Vadot <ðsys CLK_ETHSYS_GP2>, 737*f126890aSEmmanuel Vadot <&apmixedsys CLK_APMIXED_TRGPLL>; 738*f126890aSEmmanuel Vadot clock-names = "ethif", "esw", "gp1", "gp2", "trgpll"; 739*f126890aSEmmanuel Vadot resets = <ðsys MT2701_ETHSYS_FE_RST>, 740*f126890aSEmmanuel Vadot <ðsys MT2701_ETHSYS_GMAC_RST>, 741*f126890aSEmmanuel Vadot <ðsys MT2701_ETHSYS_PPE_RST>; 742*f126890aSEmmanuel Vadot reset-names = "fe", "gmac", "ppe"; 743*f126890aSEmmanuel Vadot power-domains = <&scpsys MT2701_POWER_DOMAIN_ETH>; 744*f126890aSEmmanuel Vadot mediatek,ethsys = <ðsys>; 745*f126890aSEmmanuel Vadot mediatek,pctl = <&syscfg_pctl_a>; 746*f126890aSEmmanuel Vadot #address-cells = <1>; 747*f126890aSEmmanuel Vadot #size-cells = <0>; 748*f126890aSEmmanuel Vadot status = "disabled"; 749*f126890aSEmmanuel Vadot }; 750*f126890aSEmmanuel Vadot 751*f126890aSEmmanuel Vadot bdpsys: syscon@1c000000 { 752*f126890aSEmmanuel Vadot compatible = "mediatek,mt2701-bdpsys", "syscon"; 753*f126890aSEmmanuel Vadot reg = <0 0x1c000000 0 0x1000>; 754*f126890aSEmmanuel Vadot #clock-cells = <1>; 755*f126890aSEmmanuel Vadot }; 756*f126890aSEmmanuel Vadot}; 757