1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0 2*f126890aSEmmanuel Vadot/* 3*f126890aSEmmanuel Vadot * Copyright (c) 2019 MediaTek Inc. 4*f126890aSEmmanuel Vadot * 5*f126890aSEmmanuel Vadot * Author: Ryder Lee <ryder.lee@mediatek.com> 6*f126890aSEmmanuel Vadot */ 7*f126890aSEmmanuel Vadot 8*f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/irq.h> 9*f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h> 10*f126890aSEmmanuel Vadot#include <dt-bindings/clock/mt7629-clk.h> 11*f126890aSEmmanuel Vadot#include <dt-bindings/power/mt7622-power.h> 12*f126890aSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h> 13*f126890aSEmmanuel Vadot#include <dt-bindings/phy/phy.h> 14*f126890aSEmmanuel Vadot#include <dt-bindings/reset/mt7629-resets.h> 15*f126890aSEmmanuel Vadot 16*f126890aSEmmanuel Vadot/ { 17*f126890aSEmmanuel Vadot compatible = "mediatek,mt7629"; 18*f126890aSEmmanuel Vadot interrupt-parent = <&sysirq>; 19*f126890aSEmmanuel Vadot #address-cells = <1>; 20*f126890aSEmmanuel Vadot #size-cells = <1>; 21*f126890aSEmmanuel Vadot 22*f126890aSEmmanuel Vadot cpus { 23*f126890aSEmmanuel Vadot #address-cells = <1>; 24*f126890aSEmmanuel Vadot #size-cells = <0>; 25*f126890aSEmmanuel Vadot enable-method = "mediatek,mt6589-smp"; 26*f126890aSEmmanuel Vadot 27*f126890aSEmmanuel Vadot cpu0: cpu@0 { 28*f126890aSEmmanuel Vadot device_type = "cpu"; 29*f126890aSEmmanuel Vadot compatible = "arm,cortex-a7"; 30*f126890aSEmmanuel Vadot reg = <0x0>; 31*f126890aSEmmanuel Vadot clock-frequency = <1250000000>; 32*f126890aSEmmanuel Vadot cci-control-port = <&cci_control2>; 33*f126890aSEmmanuel Vadot }; 34*f126890aSEmmanuel Vadot 35*f126890aSEmmanuel Vadot cpu1: cpu@1 { 36*f126890aSEmmanuel Vadot device_type = "cpu"; 37*f126890aSEmmanuel Vadot compatible = "arm,cortex-a7"; 38*f126890aSEmmanuel Vadot reg = <0x1>; 39*f126890aSEmmanuel Vadot clock-frequency = <1250000000>; 40*f126890aSEmmanuel Vadot cci-control-port = <&cci_control2>; 41*f126890aSEmmanuel Vadot }; 42*f126890aSEmmanuel Vadot }; 43*f126890aSEmmanuel Vadot 44*f126890aSEmmanuel Vadot pmu { 45*f126890aSEmmanuel Vadot compatible = "arm,cortex-a7-pmu"; 46*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_LOW>, 47*f126890aSEmmanuel Vadot <GIC_SPI 9 IRQ_TYPE_LEVEL_LOW>; 48*f126890aSEmmanuel Vadot interrupt-affinity = <&cpu0>, <&cpu1>; 49*f126890aSEmmanuel Vadot }; 50*f126890aSEmmanuel Vadot 51*f126890aSEmmanuel Vadot clk20m: oscillator-0 { 52*f126890aSEmmanuel Vadot compatible = "fixed-clock"; 53*f126890aSEmmanuel Vadot #clock-cells = <0>; 54*f126890aSEmmanuel Vadot clock-frequency = <20000000>; 55*f126890aSEmmanuel Vadot clock-output-names = "clk20m"; 56*f126890aSEmmanuel Vadot }; 57*f126890aSEmmanuel Vadot 58*f126890aSEmmanuel Vadot clk40m: oscillator-1 { 59*f126890aSEmmanuel Vadot compatible = "fixed-clock"; 60*f126890aSEmmanuel Vadot #clock-cells = <0>; 61*f126890aSEmmanuel Vadot clock-frequency = <40000000>; 62*f126890aSEmmanuel Vadot clock-output-names = "clkxtal"; 63*f126890aSEmmanuel Vadot }; 64*f126890aSEmmanuel Vadot 65*f126890aSEmmanuel Vadot timer { 66*f126890aSEmmanuel Vadot compatible = "arm,armv7-timer"; 67*f126890aSEmmanuel Vadot interrupt-parent = <&gic>; 68*f126890aSEmmanuel Vadot interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, 69*f126890aSEmmanuel Vadot <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, 70*f126890aSEmmanuel Vadot <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, 71*f126890aSEmmanuel Vadot <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 72*f126890aSEmmanuel Vadot clock-frequency = <20000000>; 73*f126890aSEmmanuel Vadot }; 74*f126890aSEmmanuel Vadot 75*f126890aSEmmanuel Vadot soc { 76*f126890aSEmmanuel Vadot compatible = "simple-bus"; 77*f126890aSEmmanuel Vadot #address-cells = <1>; 78*f126890aSEmmanuel Vadot #size-cells = <1>; 79*f126890aSEmmanuel Vadot ranges; 80*f126890aSEmmanuel Vadot 81*f126890aSEmmanuel Vadot infracfg: syscon@10000000 { 82*f126890aSEmmanuel Vadot compatible = "mediatek,mt7629-infracfg", "syscon"; 83*f126890aSEmmanuel Vadot reg = <0x10000000 0x1000>; 84*f126890aSEmmanuel Vadot #clock-cells = <1>; 85*f126890aSEmmanuel Vadot }; 86*f126890aSEmmanuel Vadot 87*f126890aSEmmanuel Vadot pericfg: syscon@10002000 { 88*f126890aSEmmanuel Vadot compatible = "mediatek,mt7629-pericfg", "syscon"; 89*f126890aSEmmanuel Vadot reg = <0x10002000 0x1000>; 90*f126890aSEmmanuel Vadot #clock-cells = <1>; 91*f126890aSEmmanuel Vadot }; 92*f126890aSEmmanuel Vadot 93*f126890aSEmmanuel Vadot scpsys: power-controller@10006000 { 94*f126890aSEmmanuel Vadot compatible = "mediatek,mt7629-scpsys", 95*f126890aSEmmanuel Vadot "mediatek,mt7622-scpsys"; 96*f126890aSEmmanuel Vadot #power-domain-cells = <1>; 97*f126890aSEmmanuel Vadot reg = <0x10006000 0x1000>; 98*f126890aSEmmanuel Vadot clocks = <&topckgen CLK_TOP_HIF_SEL>; 99*f126890aSEmmanuel Vadot clock-names = "hif_sel"; 100*f126890aSEmmanuel Vadot assigned-clocks = <&topckgen CLK_TOP_HIF_SEL>; 101*f126890aSEmmanuel Vadot assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL1_D2>; 102*f126890aSEmmanuel Vadot infracfg = <&infracfg>; 103*f126890aSEmmanuel Vadot }; 104*f126890aSEmmanuel Vadot 105*f126890aSEmmanuel Vadot timer: timer@10009000 { 106*f126890aSEmmanuel Vadot compatible = "mediatek,mt7629-timer", 107*f126890aSEmmanuel Vadot "mediatek,mt6765-timer"; 108*f126890aSEmmanuel Vadot reg = <0x10009000 0x60>; 109*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>; 110*f126890aSEmmanuel Vadot clocks = <&clk20m>; 111*f126890aSEmmanuel Vadot clock-names = "clk20m"; 112*f126890aSEmmanuel Vadot }; 113*f126890aSEmmanuel Vadot 114*f126890aSEmmanuel Vadot sysirq: interrupt-controller@10200a80 { 115*f126890aSEmmanuel Vadot compatible = "mediatek,mt7629-sysirq", 116*f126890aSEmmanuel Vadot "mediatek,mt6577-sysirq"; 117*f126890aSEmmanuel Vadot reg = <0x10200a80 0x20>; 118*f126890aSEmmanuel Vadot interrupt-controller; 119*f126890aSEmmanuel Vadot #interrupt-cells = <3>; 120*f126890aSEmmanuel Vadot interrupt-parent = <&gic>; 121*f126890aSEmmanuel Vadot }; 122*f126890aSEmmanuel Vadot 123*f126890aSEmmanuel Vadot apmixedsys: syscon@10209000 { 124*f126890aSEmmanuel Vadot compatible = "mediatek,mt7629-apmixedsys", "syscon"; 125*f126890aSEmmanuel Vadot reg = <0x10209000 0x1000>; 126*f126890aSEmmanuel Vadot #clock-cells = <1>; 127*f126890aSEmmanuel Vadot }; 128*f126890aSEmmanuel Vadot 129*f126890aSEmmanuel Vadot rng: rng@1020f000 { 130*f126890aSEmmanuel Vadot compatible = "mediatek,mt7629-rng", 131*f126890aSEmmanuel Vadot "mediatek,mt7623-rng"; 132*f126890aSEmmanuel Vadot reg = <0x1020f000 0x100>; 133*f126890aSEmmanuel Vadot clocks = <&infracfg CLK_INFRA_TRNG_PD>; 134*f126890aSEmmanuel Vadot clock-names = "rng"; 135*f126890aSEmmanuel Vadot }; 136*f126890aSEmmanuel Vadot 137*f126890aSEmmanuel Vadot topckgen: syscon@10210000 { 138*f126890aSEmmanuel Vadot compatible = "mediatek,mt7629-topckgen", "syscon"; 139*f126890aSEmmanuel Vadot reg = <0x10210000 0x1000>; 140*f126890aSEmmanuel Vadot #clock-cells = <1>; 141*f126890aSEmmanuel Vadot }; 142*f126890aSEmmanuel Vadot 143*f126890aSEmmanuel Vadot watchdog: watchdog@10212000 { 144*f126890aSEmmanuel Vadot compatible = "mediatek,mt7629-wdt", 145*f126890aSEmmanuel Vadot "mediatek,mt6589-wdt"; 146*f126890aSEmmanuel Vadot reg = <0x10212000 0x100>; 147*f126890aSEmmanuel Vadot }; 148*f126890aSEmmanuel Vadot 149*f126890aSEmmanuel Vadot pio: pinctrl@10217000 { 150*f126890aSEmmanuel Vadot compatible = "mediatek,mt7629-pinctrl"; 151*f126890aSEmmanuel Vadot reg = <0x10217000 0x8000>, 152*f126890aSEmmanuel Vadot <0x10005000 0x1000>; 153*f126890aSEmmanuel Vadot reg-names = "base", "eint"; 154*f126890aSEmmanuel Vadot gpio-controller; 155*f126890aSEmmanuel Vadot gpio-ranges = <&pio 0 0 79>; 156*f126890aSEmmanuel Vadot #gpio-cells = <2>; 157*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 158*f126890aSEmmanuel Vadot interrupt-controller; 159*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>; 160*f126890aSEmmanuel Vadot interrupt-parent = <&gic>; 161*f126890aSEmmanuel Vadot }; 162*f126890aSEmmanuel Vadot 163*f126890aSEmmanuel Vadot gic: interrupt-controller@10300000 { 164*f126890aSEmmanuel Vadot compatible = "arm,gic-400"; 165*f126890aSEmmanuel Vadot interrupt-controller; 166*f126890aSEmmanuel Vadot #interrupt-cells = <3>; 167*f126890aSEmmanuel Vadot interrupt-parent = <&gic>; 168*f126890aSEmmanuel Vadot reg = <0x10310000 0x1000>, 169*f126890aSEmmanuel Vadot <0x10320000 0x1000>, 170*f126890aSEmmanuel Vadot <0x10340000 0x2000>, 171*f126890aSEmmanuel Vadot <0x10360000 0x2000>; 172*f126890aSEmmanuel Vadot }; 173*f126890aSEmmanuel Vadot 174*f126890aSEmmanuel Vadot cci: cci@10390000 { 175*f126890aSEmmanuel Vadot compatible = "arm,cci-400"; 176*f126890aSEmmanuel Vadot #address-cells = <1>; 177*f126890aSEmmanuel Vadot #size-cells = <1>; 178*f126890aSEmmanuel Vadot reg = <0x10390000 0x1000>; 179*f126890aSEmmanuel Vadot ranges = <0 0x10390000 0x10000>; 180*f126890aSEmmanuel Vadot 181*f126890aSEmmanuel Vadot cci_control0: slave-if@1000 { 182*f126890aSEmmanuel Vadot compatible = "arm,cci-400-ctrl-if"; 183*f126890aSEmmanuel Vadot interface-type = "ace-lite"; 184*f126890aSEmmanuel Vadot reg = <0x1000 0x1000>; 185*f126890aSEmmanuel Vadot }; 186*f126890aSEmmanuel Vadot 187*f126890aSEmmanuel Vadot cci_control1: slave-if@4000 { 188*f126890aSEmmanuel Vadot compatible = "arm,cci-400-ctrl-if"; 189*f126890aSEmmanuel Vadot interface-type = "ace"; 190*f126890aSEmmanuel Vadot reg = <0x4000 0x1000>; 191*f126890aSEmmanuel Vadot }; 192*f126890aSEmmanuel Vadot 193*f126890aSEmmanuel Vadot cci_control2: slave-if@5000 { 194*f126890aSEmmanuel Vadot compatible = "arm,cci-400-ctrl-if"; 195*f126890aSEmmanuel Vadot interface-type = "ace"; 196*f126890aSEmmanuel Vadot reg = <0x5000 0x1000>; 197*f126890aSEmmanuel Vadot }; 198*f126890aSEmmanuel Vadot 199*f126890aSEmmanuel Vadot pmu@9000 { 200*f126890aSEmmanuel Vadot compatible = "arm,cci-400-pmu,r1"; 201*f126890aSEmmanuel Vadot reg = <0x9000 0x5000>; 202*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>, 203*f126890aSEmmanuel Vadot <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>, 204*f126890aSEmmanuel Vadot <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>, 205*f126890aSEmmanuel Vadot <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>, 206*f126890aSEmmanuel Vadot <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>; 207*f126890aSEmmanuel Vadot }; 208*f126890aSEmmanuel Vadot }; 209*f126890aSEmmanuel Vadot 210*f126890aSEmmanuel Vadot uart0: serial@11002000 { 211*f126890aSEmmanuel Vadot compatible = "mediatek,mt7629-uart", 212*f126890aSEmmanuel Vadot "mediatek,mt6577-uart"; 213*f126890aSEmmanuel Vadot reg = <0x11002000 0x400>; 214*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_LOW>; 215*f126890aSEmmanuel Vadot clocks = <&topckgen CLK_TOP_UART_SEL>, 216*f126890aSEmmanuel Vadot <&pericfg CLK_PERI_UART0_PD>; 217*f126890aSEmmanuel Vadot clock-names = "baud", "bus"; 218*f126890aSEmmanuel Vadot status = "disabled"; 219*f126890aSEmmanuel Vadot }; 220*f126890aSEmmanuel Vadot 221*f126890aSEmmanuel Vadot uart1: serial@11003000 { 222*f126890aSEmmanuel Vadot compatible = "mediatek,mt7629-uart", 223*f126890aSEmmanuel Vadot "mediatek,mt6577-uart"; 224*f126890aSEmmanuel Vadot reg = <0x11003000 0x400>; 225*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_LOW>; 226*f126890aSEmmanuel Vadot clocks = <&topckgen CLK_TOP_UART_SEL>, 227*f126890aSEmmanuel Vadot <&pericfg CLK_PERI_UART1_PD>; 228*f126890aSEmmanuel Vadot clock-names = "baud", "bus"; 229*f126890aSEmmanuel Vadot status = "disabled"; 230*f126890aSEmmanuel Vadot }; 231*f126890aSEmmanuel Vadot 232*f126890aSEmmanuel Vadot uart2: serial@11004000 { 233*f126890aSEmmanuel Vadot compatible = "mediatek,mt7629-uart", 234*f126890aSEmmanuel Vadot "mediatek,mt6577-uart"; 235*f126890aSEmmanuel Vadot reg = <0x11004000 0x400>; 236*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_LOW>; 237*f126890aSEmmanuel Vadot clocks = <&topckgen CLK_TOP_UART_SEL>, 238*f126890aSEmmanuel Vadot <&pericfg CLK_PERI_UART2_PD>; 239*f126890aSEmmanuel Vadot clock-names = "baud", "bus"; 240*f126890aSEmmanuel Vadot status = "disabled"; 241*f126890aSEmmanuel Vadot }; 242*f126890aSEmmanuel Vadot 243*f126890aSEmmanuel Vadot pwm: pwm@11006000 { 244*f126890aSEmmanuel Vadot compatible = "mediatek,mt7629-pwm"; 245*f126890aSEmmanuel Vadot reg = <0x11006000 0x1000>; 246*f126890aSEmmanuel Vadot #pwm-cells = <2>; 247*f126890aSEmmanuel Vadot clocks = <&topckgen CLK_TOP_PWM_SEL>, 248*f126890aSEmmanuel Vadot <&pericfg CLK_PERI_PWM_PD>, 249*f126890aSEmmanuel Vadot <&pericfg CLK_PERI_PWM1_PD>; 250*f126890aSEmmanuel Vadot clock-names = "top", "main", "pwm1"; 251*f126890aSEmmanuel Vadot assigned-clocks = <&topckgen CLK_TOP_PWM_SEL>; 252*f126890aSEmmanuel Vadot assigned-clock-parents = 253*f126890aSEmmanuel Vadot <&topckgen CLK_TOP_UNIVPLL2_D4>; 254*f126890aSEmmanuel Vadot status = "disabled"; 255*f126890aSEmmanuel Vadot }; 256*f126890aSEmmanuel Vadot 257*f126890aSEmmanuel Vadot i2c: i2c@11007000 { 258*f126890aSEmmanuel Vadot compatible = "mediatek,mt7629-i2c", 259*f126890aSEmmanuel Vadot "mediatek,mt2712-i2c"; 260*f126890aSEmmanuel Vadot reg = <0x11007000 0x90>, 261*f126890aSEmmanuel Vadot <0x11000100 0x80>; 262*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_LOW>; 263*f126890aSEmmanuel Vadot clock-div = <4>; 264*f126890aSEmmanuel Vadot clocks = <&pericfg CLK_PERI_I2C0_PD>, 265*f126890aSEmmanuel Vadot <&pericfg CLK_PERI_AP_DMA_PD>; 266*f126890aSEmmanuel Vadot clock-names = "main", "dma"; 267*f126890aSEmmanuel Vadot assigned-clocks = <&topckgen CLK_TOP_AXI_SEL>; 268*f126890aSEmmanuel Vadot assigned-clock-parents = <&topckgen CLK_TOP_SYSPLL1_D2>; 269*f126890aSEmmanuel Vadot #address-cells = <1>; 270*f126890aSEmmanuel Vadot #size-cells = <0>; 271*f126890aSEmmanuel Vadot status = "disabled"; 272*f126890aSEmmanuel Vadot }; 273*f126890aSEmmanuel Vadot 274*f126890aSEmmanuel Vadot spi: spi@1100a000 { 275*f126890aSEmmanuel Vadot compatible = "mediatek,mt7629-spi", 276*f126890aSEmmanuel Vadot "mediatek,mt7622-spi"; 277*f126890aSEmmanuel Vadot #address-cells = <1>; 278*f126890aSEmmanuel Vadot #size-cells = <0>; 279*f126890aSEmmanuel Vadot reg = <0x1100a000 0x100>; 280*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_LOW>; 281*f126890aSEmmanuel Vadot clocks = <&topckgen CLK_TOP_SYSPLL3_D2>, 282*f126890aSEmmanuel Vadot <&topckgen CLK_TOP_SPI0_SEL>, 283*f126890aSEmmanuel Vadot <&pericfg CLK_PERI_SPI0_PD>; 284*f126890aSEmmanuel Vadot clock-names = "parent-clk", "sel-clk", "spi-clk"; 285*f126890aSEmmanuel Vadot status = "disabled"; 286*f126890aSEmmanuel Vadot }; 287*f126890aSEmmanuel Vadot 288*f126890aSEmmanuel Vadot qspi: spi@11014000 { 289*f126890aSEmmanuel Vadot compatible = "mediatek,mt7629-nor", 290*f126890aSEmmanuel Vadot "mediatek,mt8173-nor"; 291*f126890aSEmmanuel Vadot reg = <0x11014000 0xe0>; 292*f126890aSEmmanuel Vadot clocks = <&pericfg CLK_PERI_FLASH_PD>, 293*f126890aSEmmanuel Vadot <&topckgen CLK_TOP_FLASH_SEL>; 294*f126890aSEmmanuel Vadot clock-names = "spi", "sf"; 295*f126890aSEmmanuel Vadot #address-cells = <1>; 296*f126890aSEmmanuel Vadot #size-cells = <0>; 297*f126890aSEmmanuel Vadot status = "disabled"; 298*f126890aSEmmanuel Vadot }; 299*f126890aSEmmanuel Vadot 300*f126890aSEmmanuel Vadot ssusbsys: syscon@1a000000 { 301*f126890aSEmmanuel Vadot compatible = "mediatek,mt7629-ssusbsys", "syscon"; 302*f126890aSEmmanuel Vadot reg = <0x1a000000 0x1000>; 303*f126890aSEmmanuel Vadot #clock-cells = <1>; 304*f126890aSEmmanuel Vadot #reset-cells = <1>; 305*f126890aSEmmanuel Vadot }; 306*f126890aSEmmanuel Vadot 307*f126890aSEmmanuel Vadot ssusb: usb@1a0c0000 { 308*f126890aSEmmanuel Vadot compatible = "mediatek,mt7629-xhci", 309*f126890aSEmmanuel Vadot "mediatek,mtk-xhci"; 310*f126890aSEmmanuel Vadot reg = <0x1a0c0000 0x01000>, 311*f126890aSEmmanuel Vadot <0x1a0c3e00 0x0100>; 312*f126890aSEmmanuel Vadot reg-names = "mac", "ippc"; 313*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 232 IRQ_TYPE_LEVEL_LOW>; 314*f126890aSEmmanuel Vadot clocks = <&ssusbsys CLK_SSUSB_SYS_EN>, 315*f126890aSEmmanuel Vadot <&ssusbsys CLK_SSUSB_REF_EN>, 316*f126890aSEmmanuel Vadot <&ssusbsys CLK_SSUSB_MCU_EN>, 317*f126890aSEmmanuel Vadot <&ssusbsys CLK_SSUSB_DMA_EN>; 318*f126890aSEmmanuel Vadot clock-names = "sys_ck", "ref_ck", "mcu_ck", "dma_ck"; 319*f126890aSEmmanuel Vadot assigned-clocks = <&topckgen CLK_TOP_AXI_SEL>, 320*f126890aSEmmanuel Vadot <&topckgen CLK_TOP_SATA_SEL>, 321*f126890aSEmmanuel Vadot <&topckgen CLK_TOP_HIF_SEL>; 322*f126890aSEmmanuel Vadot assigned-clock-parents = <&topckgen CLK_TOP_SYSPLL1_D2>, 323*f126890aSEmmanuel Vadot <&topckgen CLK_TOP_UNIVPLL2_D4>, 324*f126890aSEmmanuel Vadot <&topckgen CLK_TOP_UNIVPLL1_D2>; 325*f126890aSEmmanuel Vadot power-domains = <&scpsys MT7622_POWER_DOMAIN_HIF1>; 326*f126890aSEmmanuel Vadot phys = <&u2port0 PHY_TYPE_USB2>, 327*f126890aSEmmanuel Vadot <&u3port0 PHY_TYPE_USB3>; 328*f126890aSEmmanuel Vadot status = "disabled"; 329*f126890aSEmmanuel Vadot }; 330*f126890aSEmmanuel Vadot 331*f126890aSEmmanuel Vadot u3phy0: t-phy@1a0c4000 { 332*f126890aSEmmanuel Vadot compatible = "mediatek,mt7629-tphy", 333*f126890aSEmmanuel Vadot "mediatek,generic-tphy-v2"; 334*f126890aSEmmanuel Vadot #address-cells = <1>; 335*f126890aSEmmanuel Vadot #size-cells = <1>; 336*f126890aSEmmanuel Vadot ranges = <0 0x1a0c4000 0xe00>; 337*f126890aSEmmanuel Vadot status = "disabled"; 338*f126890aSEmmanuel Vadot 339*f126890aSEmmanuel Vadot u2port0: usb-phy@0 { 340*f126890aSEmmanuel Vadot reg = <0 0x700>; 341*f126890aSEmmanuel Vadot clocks = <&ssusbsys CLK_SSUSB_U2_PHY_EN>; 342*f126890aSEmmanuel Vadot clock-names = "ref"; 343*f126890aSEmmanuel Vadot #phy-cells = <1>; 344*f126890aSEmmanuel Vadot status = "okay"; 345*f126890aSEmmanuel Vadot }; 346*f126890aSEmmanuel Vadot 347*f126890aSEmmanuel Vadot u3port0: usb-phy@700 { 348*f126890aSEmmanuel Vadot reg = <0x700 0x700>; 349*f126890aSEmmanuel Vadot clocks = <&clk20m>; 350*f126890aSEmmanuel Vadot clock-names = "ref"; 351*f126890aSEmmanuel Vadot #phy-cells = <1>; 352*f126890aSEmmanuel Vadot status = "okay"; 353*f126890aSEmmanuel Vadot }; 354*f126890aSEmmanuel Vadot }; 355*f126890aSEmmanuel Vadot 356*f126890aSEmmanuel Vadot pciesys: syscon@1a100800 { 357*f126890aSEmmanuel Vadot compatible = "mediatek,mt7629-pciesys", "syscon"; 358*f126890aSEmmanuel Vadot reg = <0x1a100800 0x1000>; 359*f126890aSEmmanuel Vadot #clock-cells = <1>; 360*f126890aSEmmanuel Vadot #reset-cells = <1>; 361*f126890aSEmmanuel Vadot }; 362*f126890aSEmmanuel Vadot 363*f126890aSEmmanuel Vadot pciecfg: pciecfg@1a140000 { 364*f126890aSEmmanuel Vadot compatible = "mediatek,generic-pciecfg", "syscon"; 365*f126890aSEmmanuel Vadot reg = <0x1a140000 0x1000>; 366*f126890aSEmmanuel Vadot }; 367*f126890aSEmmanuel Vadot 368*f126890aSEmmanuel Vadot pcie1: pcie@1a145000 { 369*f126890aSEmmanuel Vadot compatible = "mediatek,mt7629-pcie"; 370*f126890aSEmmanuel Vadot device_type = "pci"; 371*f126890aSEmmanuel Vadot reg = <0x1a145000 0x1000>; 372*f126890aSEmmanuel Vadot reg-names = "port1"; 373*f126890aSEmmanuel Vadot linux,pci-domain = <1>; 374*f126890aSEmmanuel Vadot #address-cells = <3>; 375*f126890aSEmmanuel Vadot #size-cells = <2>; 376*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 229 IRQ_TYPE_LEVEL_LOW>; 377*f126890aSEmmanuel Vadot interrupt-names = "pcie_irq"; 378*f126890aSEmmanuel Vadot clocks = <&pciesys CLK_PCIE_P1_MAC_EN>, 379*f126890aSEmmanuel Vadot <&pciesys CLK_PCIE_P0_AHB_EN>, 380*f126890aSEmmanuel Vadot <&pciesys CLK_PCIE_P1_AUX_EN>, 381*f126890aSEmmanuel Vadot <&pciesys CLK_PCIE_P1_AXI_EN>, 382*f126890aSEmmanuel Vadot <&pciesys CLK_PCIE_P1_OBFF_EN>, 383*f126890aSEmmanuel Vadot <&pciesys CLK_PCIE_P1_PIPE_EN>; 384*f126890aSEmmanuel Vadot clock-names = "sys_ck1", "ahb_ck1", 385*f126890aSEmmanuel Vadot "aux_ck1", "axi_ck1", 386*f126890aSEmmanuel Vadot "obff_ck1", "pipe_ck1"; 387*f126890aSEmmanuel Vadot assigned-clocks = <&topckgen CLK_TOP_SATA_SEL>, 388*f126890aSEmmanuel Vadot <&topckgen CLK_TOP_AXI_SEL>, 389*f126890aSEmmanuel Vadot <&topckgen CLK_TOP_HIF_SEL>; 390*f126890aSEmmanuel Vadot assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL2_D4>, 391*f126890aSEmmanuel Vadot <&topckgen CLK_TOP_SYSPLL1_D2>, 392*f126890aSEmmanuel Vadot <&topckgen CLK_TOP_UNIVPLL1_D2>; 393*f126890aSEmmanuel Vadot phys = <&pcieport1 PHY_TYPE_PCIE>; 394*f126890aSEmmanuel Vadot phy-names = "pcie-phy1"; 395*f126890aSEmmanuel Vadot power-domains = <&scpsys MT7622_POWER_DOMAIN_HIF0>; 396*f126890aSEmmanuel Vadot bus-range = <0x00 0xff>; 397*f126890aSEmmanuel Vadot ranges = <0x82000000 0 0x20000000 0x20000000 0 0x10000000>; 398*f126890aSEmmanuel Vadot status = "disabled"; 399*f126890aSEmmanuel Vadot 400*f126890aSEmmanuel Vadot #interrupt-cells = <1>; 401*f126890aSEmmanuel Vadot interrupt-map-mask = <0 0 0 7>; 402*f126890aSEmmanuel Vadot interrupt-map = <0 0 0 1 &pcie_intc1 0>, 403*f126890aSEmmanuel Vadot <0 0 0 2 &pcie_intc1 1>, 404*f126890aSEmmanuel Vadot <0 0 0 3 &pcie_intc1 2>, 405*f126890aSEmmanuel Vadot <0 0 0 4 &pcie_intc1 3>; 406*f126890aSEmmanuel Vadot pcie_intc1: interrupt-controller { 407*f126890aSEmmanuel Vadot interrupt-controller; 408*f126890aSEmmanuel Vadot #address-cells = <0>; 409*f126890aSEmmanuel Vadot #interrupt-cells = <1>; 410*f126890aSEmmanuel Vadot }; 411*f126890aSEmmanuel Vadot }; 412*f126890aSEmmanuel Vadot 413*f126890aSEmmanuel Vadot pciephy1: t-phy@1a14a000 { 414*f126890aSEmmanuel Vadot compatible = "mediatek,mt7629-tphy", 415*f126890aSEmmanuel Vadot "mediatek,generic-tphy-v2"; 416*f126890aSEmmanuel Vadot #address-cells = <1>; 417*f126890aSEmmanuel Vadot #size-cells = <1>; 418*f126890aSEmmanuel Vadot ranges = <0 0x1a14a000 0x1000>; 419*f126890aSEmmanuel Vadot status = "disabled"; 420*f126890aSEmmanuel Vadot 421*f126890aSEmmanuel Vadot pcieport1: pcie-phy@0 { 422*f126890aSEmmanuel Vadot reg = <0 0x1000>; 423*f126890aSEmmanuel Vadot clocks = <&clk20m>; 424*f126890aSEmmanuel Vadot clock-names = "ref"; 425*f126890aSEmmanuel Vadot #phy-cells = <1>; 426*f126890aSEmmanuel Vadot status = "okay"; 427*f126890aSEmmanuel Vadot }; 428*f126890aSEmmanuel Vadot }; 429*f126890aSEmmanuel Vadot 430*f126890aSEmmanuel Vadot ethsys: syscon@1b000000 { 431*f126890aSEmmanuel Vadot compatible = "mediatek,mt7629-ethsys", "syscon"; 432*f126890aSEmmanuel Vadot reg = <0x1b000000 0x1000>; 433*f126890aSEmmanuel Vadot #clock-cells = <1>; 434*f126890aSEmmanuel Vadot #reset-cells = <1>; 435*f126890aSEmmanuel Vadot }; 436*f126890aSEmmanuel Vadot 437*f126890aSEmmanuel Vadot eth: ethernet@1b100000 { 438*f126890aSEmmanuel Vadot compatible = "mediatek,mt7629-eth","syscon"; 439*f126890aSEmmanuel Vadot reg = <0x1b100000 0x20000>; 440*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 223 IRQ_TYPE_LEVEL_LOW>, 441*f126890aSEmmanuel Vadot <GIC_SPI 224 IRQ_TYPE_LEVEL_LOW>, 442*f126890aSEmmanuel Vadot <GIC_SPI 225 IRQ_TYPE_LEVEL_LOW>; 443*f126890aSEmmanuel Vadot clocks = <&topckgen CLK_TOP_ETH_SEL>, 444*f126890aSEmmanuel Vadot <&topckgen CLK_TOP_F10M_REF_SEL>, 445*f126890aSEmmanuel Vadot <ðsys CLK_ETH_ESW_EN>, 446*f126890aSEmmanuel Vadot <ðsys CLK_ETH_GP0_EN>, 447*f126890aSEmmanuel Vadot <ðsys CLK_ETH_GP1_EN>, 448*f126890aSEmmanuel Vadot <ðsys CLK_ETH_GP2_EN>, 449*f126890aSEmmanuel Vadot <ðsys CLK_ETH_FE_EN>, 450*f126890aSEmmanuel Vadot <&sgmiisys0 CLK_SGMII_TX_EN>, 451*f126890aSEmmanuel Vadot <&sgmiisys0 CLK_SGMII_RX_EN>, 452*f126890aSEmmanuel Vadot <&sgmiisys0 CLK_SGMII_CDR_REF>, 453*f126890aSEmmanuel Vadot <&sgmiisys0 CLK_SGMII_CDR_FB>, 454*f126890aSEmmanuel Vadot <&sgmiisys1 CLK_SGMII_TX_EN>, 455*f126890aSEmmanuel Vadot <&sgmiisys1 CLK_SGMII_RX_EN>, 456*f126890aSEmmanuel Vadot <&sgmiisys1 CLK_SGMII_CDR_REF>, 457*f126890aSEmmanuel Vadot <&sgmiisys1 CLK_SGMII_CDR_FB>, 458*f126890aSEmmanuel Vadot <&apmixedsys CLK_APMIXED_SGMIPLL>, 459*f126890aSEmmanuel Vadot <&apmixedsys CLK_APMIXED_ETH2PLL>; 460*f126890aSEmmanuel Vadot clock-names = "ethif", "sgmiitop", "esw", "gp0", "gp1", 461*f126890aSEmmanuel Vadot "gp2", "fe", "sgmii_tx250m", "sgmii_rx250m", 462*f126890aSEmmanuel Vadot "sgmii_cdr_ref", "sgmii_cdr_fb", 463*f126890aSEmmanuel Vadot "sgmii2_tx250m", "sgmii2_rx250m", 464*f126890aSEmmanuel Vadot "sgmii2_cdr_ref", "sgmii2_cdr_fb", 465*f126890aSEmmanuel Vadot "sgmii_ck", "eth2pll"; 466*f126890aSEmmanuel Vadot assigned-clocks = <&topckgen CLK_TOP_ETH_SEL>, 467*f126890aSEmmanuel Vadot <&topckgen CLK_TOP_F10M_REF_SEL>; 468*f126890aSEmmanuel Vadot assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL1_D2>, 469*f126890aSEmmanuel Vadot <&topckgen CLK_TOP_SGMIIPLL_D2>; 470*f126890aSEmmanuel Vadot power-domains = <&scpsys MT7622_POWER_DOMAIN_ETHSYS>; 471*f126890aSEmmanuel Vadot mediatek,ethsys = <ðsys>; 472*f126890aSEmmanuel Vadot mediatek,sgmiisys = <&sgmiisys0>, <&sgmiisys1>; 473*f126890aSEmmanuel Vadot mediatek,infracfg = <&infracfg>; 474*f126890aSEmmanuel Vadot #address-cells = <1>; 475*f126890aSEmmanuel Vadot #size-cells = <0>; 476*f126890aSEmmanuel Vadot status = "disabled"; 477*f126890aSEmmanuel Vadot }; 478*f126890aSEmmanuel Vadot 479*f126890aSEmmanuel Vadot sgmiisys0: syscon@1b128000 { 480*f126890aSEmmanuel Vadot compatible = "mediatek,mt7629-sgmiisys", "syscon"; 481*f126890aSEmmanuel Vadot reg = <0x1b128000 0x3000>; 482*f126890aSEmmanuel Vadot #clock-cells = <1>; 483*f126890aSEmmanuel Vadot }; 484*f126890aSEmmanuel Vadot 485*f126890aSEmmanuel Vadot sgmiisys1: syscon@1b130000 { 486*f126890aSEmmanuel Vadot compatible = "mediatek,mt7629-sgmiisys", "syscon"; 487*f126890aSEmmanuel Vadot reg = <0x1b130000 0x3000>; 488*f126890aSEmmanuel Vadot #clock-cells = <1>; 489*f126890aSEmmanuel Vadot }; 490*f126890aSEmmanuel Vadot }; 491*f126890aSEmmanuel Vadot}; 492