162306a36Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0 OR MIT) 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright (C) 2021 MediaTek Inc. 462306a36Sopenharmony_ci * Author: Sam.Shih <sam.shih@mediatek.com> 562306a36Sopenharmony_ci */ 662306a36Sopenharmony_ci 762306a36Sopenharmony_ci#include <dt-bindings/interrupt-controller/irq.h> 862306a36Sopenharmony_ci#include <dt-bindings/interrupt-controller/arm-gic.h> 962306a36Sopenharmony_ci#include <dt-bindings/clock/mt7986-clk.h> 1062306a36Sopenharmony_ci#include <dt-bindings/reset/mt7986-resets.h> 1162306a36Sopenharmony_ci#include <dt-bindings/phy/phy.h> 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_ci/ { 1462306a36Sopenharmony_ci compatible = "mediatek,mt7986a"; 1562306a36Sopenharmony_ci interrupt-parent = <&gic>; 1662306a36Sopenharmony_ci #address-cells = <2>; 1762306a36Sopenharmony_ci #size-cells = <2>; 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_ci clk40m: oscillator-40m { 2062306a36Sopenharmony_ci compatible = "fixed-clock"; 2162306a36Sopenharmony_ci clock-frequency = <40000000>; 2262306a36Sopenharmony_ci #clock-cells = <0>; 2362306a36Sopenharmony_ci clock-output-names = "clkxtal"; 2462306a36Sopenharmony_ci }; 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ci cpus { 2762306a36Sopenharmony_ci #address-cells = <1>; 2862306a36Sopenharmony_ci #size-cells = <0>; 2962306a36Sopenharmony_ci cpu0: cpu@0 { 3062306a36Sopenharmony_ci device_type = "cpu"; 3162306a36Sopenharmony_ci compatible = "arm,cortex-a53"; 3262306a36Sopenharmony_ci enable-method = "psci"; 3362306a36Sopenharmony_ci reg = <0x0>; 3462306a36Sopenharmony_ci #cooling-cells = <2>; 3562306a36Sopenharmony_ci }; 3662306a36Sopenharmony_ci 3762306a36Sopenharmony_ci cpu1: cpu@1 { 3862306a36Sopenharmony_ci device_type = "cpu"; 3962306a36Sopenharmony_ci compatible = "arm,cortex-a53"; 4062306a36Sopenharmony_ci enable-method = "psci"; 4162306a36Sopenharmony_ci reg = <0x1>; 4262306a36Sopenharmony_ci #cooling-cells = <2>; 4362306a36Sopenharmony_ci }; 4462306a36Sopenharmony_ci 4562306a36Sopenharmony_ci cpu2: cpu@2 { 4662306a36Sopenharmony_ci device_type = "cpu"; 4762306a36Sopenharmony_ci compatible = "arm,cortex-a53"; 4862306a36Sopenharmony_ci enable-method = "psci"; 4962306a36Sopenharmony_ci reg = <0x2>; 5062306a36Sopenharmony_ci #cooling-cells = <2>; 5162306a36Sopenharmony_ci }; 5262306a36Sopenharmony_ci 5362306a36Sopenharmony_ci cpu3: cpu@3 { 5462306a36Sopenharmony_ci device_type = "cpu"; 5562306a36Sopenharmony_ci enable-method = "psci"; 5662306a36Sopenharmony_ci compatible = "arm,cortex-a53"; 5762306a36Sopenharmony_ci reg = <0x3>; 5862306a36Sopenharmony_ci #cooling-cells = <2>; 5962306a36Sopenharmony_ci }; 6062306a36Sopenharmony_ci }; 6162306a36Sopenharmony_ci 6262306a36Sopenharmony_ci psci { 6362306a36Sopenharmony_ci compatible = "arm,psci-0.2"; 6462306a36Sopenharmony_ci method = "smc"; 6562306a36Sopenharmony_ci }; 6662306a36Sopenharmony_ci 6762306a36Sopenharmony_ci reserved-memory { 6862306a36Sopenharmony_ci #address-cells = <2>; 6962306a36Sopenharmony_ci #size-cells = <2>; 7062306a36Sopenharmony_ci ranges; 7162306a36Sopenharmony_ci /* 192 KiB reserved for ARM Trusted Firmware (BL31) */ 7262306a36Sopenharmony_ci secmon_reserved: secmon@43000000 { 7362306a36Sopenharmony_ci reg = <0 0x43000000 0 0x30000>; 7462306a36Sopenharmony_ci no-map; 7562306a36Sopenharmony_ci }; 7662306a36Sopenharmony_ci 7762306a36Sopenharmony_ci wmcpu_emi: wmcpu-reserved@4fc00000 { 7862306a36Sopenharmony_ci no-map; 7962306a36Sopenharmony_ci reg = <0 0x4fc00000 0 0x00100000>; 8062306a36Sopenharmony_ci }; 8162306a36Sopenharmony_ci 8262306a36Sopenharmony_ci wo_emi0: wo-emi@4fd00000 { 8362306a36Sopenharmony_ci reg = <0 0x4fd00000 0 0x40000>; 8462306a36Sopenharmony_ci no-map; 8562306a36Sopenharmony_ci }; 8662306a36Sopenharmony_ci 8762306a36Sopenharmony_ci wo_emi1: wo-emi@4fd40000 { 8862306a36Sopenharmony_ci reg = <0 0x4fd40000 0 0x40000>; 8962306a36Sopenharmony_ci no-map; 9062306a36Sopenharmony_ci }; 9162306a36Sopenharmony_ci 9262306a36Sopenharmony_ci wo_ilm0: wo-ilm@151e0000 { 9362306a36Sopenharmony_ci reg = <0 0x151e0000 0 0x8000>; 9462306a36Sopenharmony_ci no-map; 9562306a36Sopenharmony_ci }; 9662306a36Sopenharmony_ci 9762306a36Sopenharmony_ci wo_ilm1: wo-ilm@151f0000 { 9862306a36Sopenharmony_ci reg = <0 0x151f0000 0 0x8000>; 9962306a36Sopenharmony_ci no-map; 10062306a36Sopenharmony_ci }; 10162306a36Sopenharmony_ci 10262306a36Sopenharmony_ci wo_data: wo-data@4fd80000 { 10362306a36Sopenharmony_ci reg = <0 0x4fd80000 0 0x240000>; 10462306a36Sopenharmony_ci no-map; 10562306a36Sopenharmony_ci }; 10662306a36Sopenharmony_ci 10762306a36Sopenharmony_ci wo_dlm0: wo-dlm@151e8000 { 10862306a36Sopenharmony_ci reg = <0 0x151e8000 0 0x2000>; 10962306a36Sopenharmony_ci no-map; 11062306a36Sopenharmony_ci }; 11162306a36Sopenharmony_ci 11262306a36Sopenharmony_ci wo_dlm1: wo-dlm@151f8000 { 11362306a36Sopenharmony_ci reg = <0 0x151f8000 0 0x2000>; 11462306a36Sopenharmony_ci no-map; 11562306a36Sopenharmony_ci }; 11662306a36Sopenharmony_ci 11762306a36Sopenharmony_ci wo_boot: wo-boot@15194000 { 11862306a36Sopenharmony_ci reg = <0 0x15194000 0 0x1000>; 11962306a36Sopenharmony_ci no-map; 12062306a36Sopenharmony_ci }; 12162306a36Sopenharmony_ci 12262306a36Sopenharmony_ci }; 12362306a36Sopenharmony_ci 12462306a36Sopenharmony_ci timer { 12562306a36Sopenharmony_ci compatible = "arm,armv8-timer"; 12662306a36Sopenharmony_ci interrupt-parent = <&gic>; 12762306a36Sopenharmony_ci interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>, 12862306a36Sopenharmony_ci <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>, 12962306a36Sopenharmony_ci <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>, 13062306a36Sopenharmony_ci <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>; 13162306a36Sopenharmony_ci }; 13262306a36Sopenharmony_ci 13362306a36Sopenharmony_ci soc { 13462306a36Sopenharmony_ci #address-cells = <2>; 13562306a36Sopenharmony_ci #size-cells = <2>; 13662306a36Sopenharmony_ci compatible = "simple-bus"; 13762306a36Sopenharmony_ci ranges; 13862306a36Sopenharmony_ci 13962306a36Sopenharmony_ci gic: interrupt-controller@c000000 { 14062306a36Sopenharmony_ci compatible = "arm,gic-v3"; 14162306a36Sopenharmony_ci #interrupt-cells = <3>; 14262306a36Sopenharmony_ci interrupt-parent = <&gic>; 14362306a36Sopenharmony_ci interrupt-controller; 14462306a36Sopenharmony_ci reg = <0 0x0c000000 0 0x10000>, /* GICD */ 14562306a36Sopenharmony_ci <0 0x0c080000 0 0x80000>, /* GICR */ 14662306a36Sopenharmony_ci <0 0x0c400000 0 0x2000>, /* GICC */ 14762306a36Sopenharmony_ci <0 0x0c410000 0 0x1000>, /* GICH */ 14862306a36Sopenharmony_ci <0 0x0c420000 0 0x2000>; /* GICV */ 14962306a36Sopenharmony_ci interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>; 15062306a36Sopenharmony_ci }; 15162306a36Sopenharmony_ci 15262306a36Sopenharmony_ci infracfg: infracfg@10001000 { 15362306a36Sopenharmony_ci compatible = "mediatek,mt7986-infracfg", "syscon"; 15462306a36Sopenharmony_ci reg = <0 0x10001000 0 0x1000>; 15562306a36Sopenharmony_ci #clock-cells = <1>; 15662306a36Sopenharmony_ci #reset-cells = <1>; 15762306a36Sopenharmony_ci }; 15862306a36Sopenharmony_ci 15962306a36Sopenharmony_ci wed_pcie: wed-pcie@10003000 { 16062306a36Sopenharmony_ci compatible = "mediatek,mt7986-wed-pcie", 16162306a36Sopenharmony_ci "syscon"; 16262306a36Sopenharmony_ci reg = <0 0x10003000 0 0x10>; 16362306a36Sopenharmony_ci }; 16462306a36Sopenharmony_ci 16562306a36Sopenharmony_ci topckgen: topckgen@1001b000 { 16662306a36Sopenharmony_ci compatible = "mediatek,mt7986-topckgen", "syscon"; 16762306a36Sopenharmony_ci reg = <0 0x1001B000 0 0x1000>; 16862306a36Sopenharmony_ci #clock-cells = <1>; 16962306a36Sopenharmony_ci }; 17062306a36Sopenharmony_ci 17162306a36Sopenharmony_ci watchdog: watchdog@1001c000 { 17262306a36Sopenharmony_ci compatible = "mediatek,mt7986-wdt"; 17362306a36Sopenharmony_ci reg = <0 0x1001c000 0 0x1000>; 17462306a36Sopenharmony_ci interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>; 17562306a36Sopenharmony_ci #reset-cells = <1>; 17662306a36Sopenharmony_ci status = "disabled"; 17762306a36Sopenharmony_ci }; 17862306a36Sopenharmony_ci 17962306a36Sopenharmony_ci apmixedsys: apmixedsys@1001e000 { 18062306a36Sopenharmony_ci compatible = "mediatek,mt7986-apmixedsys"; 18162306a36Sopenharmony_ci reg = <0 0x1001E000 0 0x1000>; 18262306a36Sopenharmony_ci #clock-cells = <1>; 18362306a36Sopenharmony_ci }; 18462306a36Sopenharmony_ci 18562306a36Sopenharmony_ci pio: pinctrl@1001f000 { 18662306a36Sopenharmony_ci compatible = "mediatek,mt7986a-pinctrl"; 18762306a36Sopenharmony_ci reg = <0 0x1001f000 0 0x1000>, 18862306a36Sopenharmony_ci <0 0x11c30000 0 0x1000>, 18962306a36Sopenharmony_ci <0 0x11c40000 0 0x1000>, 19062306a36Sopenharmony_ci <0 0x11e20000 0 0x1000>, 19162306a36Sopenharmony_ci <0 0x11e30000 0 0x1000>, 19262306a36Sopenharmony_ci <0 0x11f00000 0 0x1000>, 19362306a36Sopenharmony_ci <0 0x11f10000 0 0x1000>, 19462306a36Sopenharmony_ci <0 0x1000b000 0 0x1000>; 19562306a36Sopenharmony_ci reg-names = "gpio", "iocfg_rt", "iocfg_rb", "iocfg_lt", 19662306a36Sopenharmony_ci "iocfg_lb", "iocfg_tr", "iocfg_tl", "eint"; 19762306a36Sopenharmony_ci gpio-controller; 19862306a36Sopenharmony_ci #gpio-cells = <2>; 19962306a36Sopenharmony_ci gpio-ranges = <&pio 0 0 100>; 20062306a36Sopenharmony_ci interrupt-controller; 20162306a36Sopenharmony_ci interrupts = <GIC_SPI 225 IRQ_TYPE_LEVEL_HIGH>; 20262306a36Sopenharmony_ci interrupt-parent = <&gic>; 20362306a36Sopenharmony_ci #interrupt-cells = <2>; 20462306a36Sopenharmony_ci }; 20562306a36Sopenharmony_ci 20662306a36Sopenharmony_ci sgmiisys0: syscon@10060000 { 20762306a36Sopenharmony_ci compatible = "mediatek,mt7986-sgmiisys_0", 20862306a36Sopenharmony_ci "syscon"; 20962306a36Sopenharmony_ci reg = <0 0x10060000 0 0x1000>; 21062306a36Sopenharmony_ci #clock-cells = <1>; 21162306a36Sopenharmony_ci }; 21262306a36Sopenharmony_ci 21362306a36Sopenharmony_ci sgmiisys1: syscon@10070000 { 21462306a36Sopenharmony_ci compatible = "mediatek,mt7986-sgmiisys_1", 21562306a36Sopenharmony_ci "syscon"; 21662306a36Sopenharmony_ci reg = <0 0x10070000 0 0x1000>; 21762306a36Sopenharmony_ci #clock-cells = <1>; 21862306a36Sopenharmony_ci }; 21962306a36Sopenharmony_ci 22062306a36Sopenharmony_ci trng: rng@1020f000 { 22162306a36Sopenharmony_ci compatible = "mediatek,mt7986-rng", 22262306a36Sopenharmony_ci "mediatek,mt7623-rng"; 22362306a36Sopenharmony_ci reg = <0 0x1020f000 0 0x100>; 22462306a36Sopenharmony_ci clocks = <&infracfg CLK_INFRA_TRNG_CK>; 22562306a36Sopenharmony_ci clock-names = "rng"; 22662306a36Sopenharmony_ci status = "disabled"; 22762306a36Sopenharmony_ci }; 22862306a36Sopenharmony_ci 22962306a36Sopenharmony_ci crypto: crypto@10320000 { 23062306a36Sopenharmony_ci compatible = "inside-secure,safexcel-eip97"; 23162306a36Sopenharmony_ci reg = <0 0x10320000 0 0x40000>; 23262306a36Sopenharmony_ci interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>, 23362306a36Sopenharmony_ci <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>, 23462306a36Sopenharmony_ci <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>, 23562306a36Sopenharmony_ci <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; 23662306a36Sopenharmony_ci interrupt-names = "ring0", "ring1", "ring2", "ring3"; 23762306a36Sopenharmony_ci clocks = <&infracfg CLK_INFRA_EIP97_CK>; 23862306a36Sopenharmony_ci assigned-clocks = <&topckgen CLK_TOP_EIP_B_SEL>; 23962306a36Sopenharmony_ci assigned-clock-parents = <&apmixedsys CLK_APMIXED_NET2PLL>; 24062306a36Sopenharmony_ci status = "disabled"; 24162306a36Sopenharmony_ci }; 24262306a36Sopenharmony_ci 24362306a36Sopenharmony_ci pwm: pwm@10048000 { 24462306a36Sopenharmony_ci compatible = "mediatek,mt7986-pwm"; 24562306a36Sopenharmony_ci reg = <0 0x10048000 0 0x1000>; 24662306a36Sopenharmony_ci #pwm-cells = <2>; 24762306a36Sopenharmony_ci interrupts = <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>; 24862306a36Sopenharmony_ci clocks = <&topckgen CLK_TOP_PWM_SEL>, 24962306a36Sopenharmony_ci <&infracfg CLK_INFRA_PWM_STA>, 25062306a36Sopenharmony_ci <&infracfg CLK_INFRA_PWM1_CK>, 25162306a36Sopenharmony_ci <&infracfg CLK_INFRA_PWM2_CK>; 25262306a36Sopenharmony_ci clock-names = "top", "main", "pwm1", "pwm2"; 25362306a36Sopenharmony_ci status = "disabled"; 25462306a36Sopenharmony_ci }; 25562306a36Sopenharmony_ci 25662306a36Sopenharmony_ci uart0: serial@11002000 { 25762306a36Sopenharmony_ci compatible = "mediatek,mt7986-uart", 25862306a36Sopenharmony_ci "mediatek,mt6577-uart"; 25962306a36Sopenharmony_ci reg = <0 0x11002000 0 0x400>; 26062306a36Sopenharmony_ci interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>; 26162306a36Sopenharmony_ci clocks = <&infracfg CLK_INFRA_UART0_SEL>, 26262306a36Sopenharmony_ci <&infracfg CLK_INFRA_UART0_CK>; 26362306a36Sopenharmony_ci clock-names = "baud", "bus"; 26462306a36Sopenharmony_ci assigned-clocks = <&topckgen CLK_TOP_UART_SEL>, 26562306a36Sopenharmony_ci <&infracfg CLK_INFRA_UART0_SEL>; 26662306a36Sopenharmony_ci assigned-clock-parents = <&topckgen CLK_TOP_XTAL>, 26762306a36Sopenharmony_ci <&topckgen CLK_TOP_UART_SEL>; 26862306a36Sopenharmony_ci status = "disabled"; 26962306a36Sopenharmony_ci }; 27062306a36Sopenharmony_ci 27162306a36Sopenharmony_ci uart1: serial@11003000 { 27262306a36Sopenharmony_ci compatible = "mediatek,mt7986-uart", 27362306a36Sopenharmony_ci "mediatek,mt6577-uart"; 27462306a36Sopenharmony_ci reg = <0 0x11003000 0 0x400>; 27562306a36Sopenharmony_ci interrupts = <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>; 27662306a36Sopenharmony_ci clocks = <&infracfg CLK_INFRA_UART1_SEL>, 27762306a36Sopenharmony_ci <&infracfg CLK_INFRA_UART1_CK>; 27862306a36Sopenharmony_ci clock-names = "baud", "bus"; 27962306a36Sopenharmony_ci assigned-clocks = <&infracfg CLK_INFRA_UART1_SEL>; 28062306a36Sopenharmony_ci assigned-clock-parents = <&topckgen CLK_TOP_F26M_SEL>; 28162306a36Sopenharmony_ci status = "disabled"; 28262306a36Sopenharmony_ci }; 28362306a36Sopenharmony_ci 28462306a36Sopenharmony_ci uart2: serial@11004000 { 28562306a36Sopenharmony_ci compatible = "mediatek,mt7986-uart", 28662306a36Sopenharmony_ci "mediatek,mt6577-uart"; 28762306a36Sopenharmony_ci reg = <0 0x11004000 0 0x400>; 28862306a36Sopenharmony_ci interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>; 28962306a36Sopenharmony_ci clocks = <&infracfg CLK_INFRA_UART2_SEL>, 29062306a36Sopenharmony_ci <&infracfg CLK_INFRA_UART2_CK>; 29162306a36Sopenharmony_ci clock-names = "baud", "bus"; 29262306a36Sopenharmony_ci assigned-clocks = <&infracfg CLK_INFRA_UART2_SEL>; 29362306a36Sopenharmony_ci assigned-clock-parents = <&topckgen CLK_TOP_F26M_SEL>; 29462306a36Sopenharmony_ci status = "disabled"; 29562306a36Sopenharmony_ci }; 29662306a36Sopenharmony_ci 29762306a36Sopenharmony_ci i2c0: i2c@11008000 { 29862306a36Sopenharmony_ci compatible = "mediatek,mt7986-i2c"; 29962306a36Sopenharmony_ci reg = <0 0x11008000 0 0x90>, 30062306a36Sopenharmony_ci <0 0x10217080 0 0x80>; 30162306a36Sopenharmony_ci interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>; 30262306a36Sopenharmony_ci clock-div = <5>; 30362306a36Sopenharmony_ci clocks = <&infracfg CLK_INFRA_I2C0_CK>, 30462306a36Sopenharmony_ci <&infracfg CLK_INFRA_AP_DMA_CK>; 30562306a36Sopenharmony_ci clock-names = "main", "dma"; 30662306a36Sopenharmony_ci #address-cells = <1>; 30762306a36Sopenharmony_ci #size-cells = <0>; 30862306a36Sopenharmony_ci status = "disabled"; 30962306a36Sopenharmony_ci }; 31062306a36Sopenharmony_ci 31162306a36Sopenharmony_ci spi0: spi@1100a000 { 31262306a36Sopenharmony_ci compatible = "mediatek,mt7986-spi-ipm", "mediatek,spi-ipm"; 31362306a36Sopenharmony_ci #address-cells = <1>; 31462306a36Sopenharmony_ci #size-cells = <0>; 31562306a36Sopenharmony_ci reg = <0 0x1100a000 0 0x100>; 31662306a36Sopenharmony_ci interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>; 31762306a36Sopenharmony_ci clocks = <&topckgen CLK_TOP_MPLL_D2>, 31862306a36Sopenharmony_ci <&topckgen CLK_TOP_SPI_SEL>, 31962306a36Sopenharmony_ci <&infracfg CLK_INFRA_SPI0_CK>, 32062306a36Sopenharmony_ci <&infracfg CLK_INFRA_SPI0_HCK_CK>; 32162306a36Sopenharmony_ci clock-names = "parent-clk", "sel-clk", "spi-clk", "hclk"; 32262306a36Sopenharmony_ci status = "disabled"; 32362306a36Sopenharmony_ci }; 32462306a36Sopenharmony_ci 32562306a36Sopenharmony_ci spi1: spi@1100b000 { 32662306a36Sopenharmony_ci compatible = "mediatek,mt7986-spi-ipm", "mediatek,spi-ipm"; 32762306a36Sopenharmony_ci #address-cells = <1>; 32862306a36Sopenharmony_ci #size-cells = <0>; 32962306a36Sopenharmony_ci reg = <0 0x1100b000 0 0x100>; 33062306a36Sopenharmony_ci interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>; 33162306a36Sopenharmony_ci clocks = <&topckgen CLK_TOP_MPLL_D2>, 33262306a36Sopenharmony_ci <&topckgen CLK_TOP_SPIM_MST_SEL>, 33362306a36Sopenharmony_ci <&infracfg CLK_INFRA_SPI1_CK>, 33462306a36Sopenharmony_ci <&infracfg CLK_INFRA_SPI1_HCK_CK>; 33562306a36Sopenharmony_ci clock-names = "parent-clk", "sel-clk", "spi-clk", "hclk"; 33662306a36Sopenharmony_ci status = "disabled"; 33762306a36Sopenharmony_ci }; 33862306a36Sopenharmony_ci 33962306a36Sopenharmony_ci auxadc: adc@1100d000 { 34062306a36Sopenharmony_ci compatible = "mediatek,mt7986-auxadc"; 34162306a36Sopenharmony_ci reg = <0 0x1100d000 0 0x1000>; 34262306a36Sopenharmony_ci clocks = <&infracfg CLK_INFRA_ADC_26M_CK>; 34362306a36Sopenharmony_ci clock-names = "main"; 34462306a36Sopenharmony_ci #io-channel-cells = <1>; 34562306a36Sopenharmony_ci status = "disabled"; 34662306a36Sopenharmony_ci }; 34762306a36Sopenharmony_ci 34862306a36Sopenharmony_ci ssusb: usb@11200000 { 34962306a36Sopenharmony_ci compatible = "mediatek,mt7986-xhci", 35062306a36Sopenharmony_ci "mediatek,mtk-xhci"; 35162306a36Sopenharmony_ci reg = <0 0x11200000 0 0x2e00>, 35262306a36Sopenharmony_ci <0 0x11203e00 0 0x0100>; 35362306a36Sopenharmony_ci reg-names = "mac", "ippc"; 35462306a36Sopenharmony_ci interrupts = <GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH>; 35562306a36Sopenharmony_ci clocks = <&infracfg CLK_INFRA_IUSB_SYS_CK>, 35662306a36Sopenharmony_ci <&infracfg CLK_INFRA_IUSB_CK>, 35762306a36Sopenharmony_ci <&infracfg CLK_INFRA_IUSB_133_CK>, 35862306a36Sopenharmony_ci <&infracfg CLK_INFRA_IUSB_66M_CK>, 35962306a36Sopenharmony_ci <&topckgen CLK_TOP_U2U3_XHCI_SEL>; 36062306a36Sopenharmony_ci clock-names = "sys_ck", 36162306a36Sopenharmony_ci "ref_ck", 36262306a36Sopenharmony_ci "mcu_ck", 36362306a36Sopenharmony_ci "dma_ck", 36462306a36Sopenharmony_ci "xhci_ck"; 36562306a36Sopenharmony_ci phys = <&u2port0 PHY_TYPE_USB2>, 36662306a36Sopenharmony_ci <&u3port0 PHY_TYPE_USB3>, 36762306a36Sopenharmony_ci <&u2port1 PHY_TYPE_USB2>; 36862306a36Sopenharmony_ci status = "disabled"; 36962306a36Sopenharmony_ci }; 37062306a36Sopenharmony_ci 37162306a36Sopenharmony_ci mmc0: mmc@11230000 { 37262306a36Sopenharmony_ci compatible = "mediatek,mt7986-mmc"; 37362306a36Sopenharmony_ci reg = <0 0x11230000 0 0x1000>, 37462306a36Sopenharmony_ci <0 0x11c20000 0 0x1000>; 37562306a36Sopenharmony_ci interrupts = <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>; 37662306a36Sopenharmony_ci assigned-clocks = <&topckgen CLK_TOP_EMMC_416M_SEL>, 37762306a36Sopenharmony_ci <&topckgen CLK_TOP_EMMC_250M_SEL>; 37862306a36Sopenharmony_ci assigned-clock-parents = <&apmixedsys CLK_APMIXED_MPLL>, 37962306a36Sopenharmony_ci <&topckgen CLK_TOP_NET1PLL_D5_D2>; 38062306a36Sopenharmony_ci clocks = <&topckgen CLK_TOP_EMMC_416M_SEL>, 38162306a36Sopenharmony_ci <&infracfg CLK_INFRA_MSDC_HCK_CK>, 38262306a36Sopenharmony_ci <&infracfg CLK_INFRA_MSDC_CK>, 38362306a36Sopenharmony_ci <&infracfg CLK_INFRA_MSDC_133M_CK>, 38462306a36Sopenharmony_ci <&infracfg CLK_INFRA_MSDC_66M_CK>; 38562306a36Sopenharmony_ci clock-names = "source", "hclk", "source_cg", "bus_clk", 38662306a36Sopenharmony_ci "sys_cg"; 38762306a36Sopenharmony_ci status = "disabled"; 38862306a36Sopenharmony_ci }; 38962306a36Sopenharmony_ci 39062306a36Sopenharmony_ci thermal: thermal@1100c800 { 39162306a36Sopenharmony_ci #thermal-sensor-cells = <1>; 39262306a36Sopenharmony_ci compatible = "mediatek,mt7986-thermal"; 39362306a36Sopenharmony_ci reg = <0 0x1100c800 0 0x800>; 39462306a36Sopenharmony_ci interrupts = <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>; 39562306a36Sopenharmony_ci clocks = <&infracfg CLK_INFRA_THERM_CK>, 39662306a36Sopenharmony_ci <&infracfg CLK_INFRA_ADC_26M_CK>, 39762306a36Sopenharmony_ci <&infracfg CLK_INFRA_ADC_FRC_CK>; 39862306a36Sopenharmony_ci clock-names = "therm", "auxadc", "adc_32k"; 39962306a36Sopenharmony_ci mediatek,auxadc = <&auxadc>; 40062306a36Sopenharmony_ci mediatek,apmixedsys = <&apmixedsys>; 40162306a36Sopenharmony_ci nvmem-cells = <&thermal_calibration>; 40262306a36Sopenharmony_ci nvmem-cell-names = "calibration-data"; 40362306a36Sopenharmony_ci }; 40462306a36Sopenharmony_ci 40562306a36Sopenharmony_ci pcie: pcie@11280000 { 40662306a36Sopenharmony_ci compatible = "mediatek,mt7986-pcie", 40762306a36Sopenharmony_ci "mediatek,mt8192-pcie"; 40862306a36Sopenharmony_ci device_type = "pci"; 40962306a36Sopenharmony_ci #address-cells = <3>; 41062306a36Sopenharmony_ci #size-cells = <2>; 41162306a36Sopenharmony_ci reg = <0x00 0x11280000 0x00 0x4000>; 41262306a36Sopenharmony_ci reg-names = "pcie-mac"; 41362306a36Sopenharmony_ci interrupts = <GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>; 41462306a36Sopenharmony_ci bus-range = <0x00 0xff>; 41562306a36Sopenharmony_ci ranges = <0x82000000 0x00 0x20000000 0x00 41662306a36Sopenharmony_ci 0x20000000 0x00 0x10000000>; 41762306a36Sopenharmony_ci clocks = <&infracfg CLK_INFRA_IPCIE_PIPE_CK>, 41862306a36Sopenharmony_ci <&infracfg CLK_INFRA_IPCIE_CK>, 41962306a36Sopenharmony_ci <&infracfg CLK_INFRA_IPCIER_CK>, 42062306a36Sopenharmony_ci <&infracfg CLK_INFRA_IPCIEB_CK>; 42162306a36Sopenharmony_ci clock-names = "pl_250m", "tl_26m", "peri_26m", "top_133m"; 42262306a36Sopenharmony_ci status = "disabled"; 42362306a36Sopenharmony_ci 42462306a36Sopenharmony_ci phys = <&pcie_port PHY_TYPE_PCIE>; 42562306a36Sopenharmony_ci phy-names = "pcie-phy"; 42662306a36Sopenharmony_ci 42762306a36Sopenharmony_ci #interrupt-cells = <1>; 42862306a36Sopenharmony_ci interrupt-map-mask = <0 0 0 0x7>; 42962306a36Sopenharmony_ci interrupt-map = <0 0 0 1 &pcie_intc 0>, 43062306a36Sopenharmony_ci <0 0 0 2 &pcie_intc 1>, 43162306a36Sopenharmony_ci <0 0 0 3 &pcie_intc 2>, 43262306a36Sopenharmony_ci <0 0 0 4 &pcie_intc 3>; 43362306a36Sopenharmony_ci pcie_intc: interrupt-controller { 43462306a36Sopenharmony_ci #address-cells = <0>; 43562306a36Sopenharmony_ci #interrupt-cells = <1>; 43662306a36Sopenharmony_ci interrupt-controller; 43762306a36Sopenharmony_ci }; 43862306a36Sopenharmony_ci }; 43962306a36Sopenharmony_ci 44062306a36Sopenharmony_ci pcie_phy: t-phy { 44162306a36Sopenharmony_ci compatible = "mediatek,mt7986-tphy", 44262306a36Sopenharmony_ci "mediatek,generic-tphy-v2"; 44362306a36Sopenharmony_ci #address-cells = <2>; 44462306a36Sopenharmony_ci #size-cells = <2>; 44562306a36Sopenharmony_ci ranges; 44662306a36Sopenharmony_ci status = "disabled"; 44762306a36Sopenharmony_ci 44862306a36Sopenharmony_ci pcie_port: pcie-phy@11c00000 { 44962306a36Sopenharmony_ci reg = <0 0x11c00000 0 0x20000>; 45062306a36Sopenharmony_ci clocks = <&clk40m>; 45162306a36Sopenharmony_ci clock-names = "ref"; 45262306a36Sopenharmony_ci #phy-cells = <1>; 45362306a36Sopenharmony_ci }; 45462306a36Sopenharmony_ci }; 45562306a36Sopenharmony_ci 45662306a36Sopenharmony_ci efuse: efuse@11d00000 { 45762306a36Sopenharmony_ci compatible = "mediatek,mt7986-efuse", "mediatek,efuse"; 45862306a36Sopenharmony_ci reg = <0 0x11d00000 0 0x1000>; 45962306a36Sopenharmony_ci #address-cells = <1>; 46062306a36Sopenharmony_ci #size-cells = <1>; 46162306a36Sopenharmony_ci 46262306a36Sopenharmony_ci thermal_calibration: calib@274 { 46362306a36Sopenharmony_ci reg = <0x274 0xc>; 46462306a36Sopenharmony_ci }; 46562306a36Sopenharmony_ci }; 46662306a36Sopenharmony_ci 46762306a36Sopenharmony_ci usb_phy: t-phy@11e10000 { 46862306a36Sopenharmony_ci compatible = "mediatek,mt7986-tphy", 46962306a36Sopenharmony_ci "mediatek,generic-tphy-v2"; 47062306a36Sopenharmony_ci #address-cells = <1>; 47162306a36Sopenharmony_ci #size-cells = <1>; 47262306a36Sopenharmony_ci ranges = <0 0 0x11e10000 0x1700>; 47362306a36Sopenharmony_ci status = "disabled"; 47462306a36Sopenharmony_ci 47562306a36Sopenharmony_ci u2port0: usb-phy@0 { 47662306a36Sopenharmony_ci reg = <0x0 0x700>; 47762306a36Sopenharmony_ci clocks = <&topckgen CLK_TOP_DA_U2_REFSEL>, 47862306a36Sopenharmony_ci <&topckgen CLK_TOP_DA_U2_CK_1P_SEL>; 47962306a36Sopenharmony_ci clock-names = "ref", "da_ref"; 48062306a36Sopenharmony_ci #phy-cells = <1>; 48162306a36Sopenharmony_ci }; 48262306a36Sopenharmony_ci 48362306a36Sopenharmony_ci u3port0: usb-phy@700 { 48462306a36Sopenharmony_ci reg = <0x700 0x900>; 48562306a36Sopenharmony_ci clocks = <&topckgen CLK_TOP_USB3_PHY_SEL>; 48662306a36Sopenharmony_ci clock-names = "ref"; 48762306a36Sopenharmony_ci #phy-cells = <1>; 48862306a36Sopenharmony_ci }; 48962306a36Sopenharmony_ci 49062306a36Sopenharmony_ci u2port1: usb-phy@1000 { 49162306a36Sopenharmony_ci reg = <0x1000 0x700>; 49262306a36Sopenharmony_ci clocks = <&topckgen CLK_TOP_DA_U2_REFSEL>, 49362306a36Sopenharmony_ci <&topckgen CLK_TOP_DA_U2_CK_1P_SEL>; 49462306a36Sopenharmony_ci clock-names = "ref", "da_ref"; 49562306a36Sopenharmony_ci #phy-cells = <1>; 49662306a36Sopenharmony_ci }; 49762306a36Sopenharmony_ci }; 49862306a36Sopenharmony_ci 49962306a36Sopenharmony_ci ethsys: syscon@15000000 { 50062306a36Sopenharmony_ci #address-cells = <1>; 50162306a36Sopenharmony_ci #size-cells = <1>; 50262306a36Sopenharmony_ci compatible = "mediatek,mt7986-ethsys", 50362306a36Sopenharmony_ci "syscon"; 50462306a36Sopenharmony_ci reg = <0 0x15000000 0 0x1000>; 50562306a36Sopenharmony_ci #clock-cells = <1>; 50662306a36Sopenharmony_ci #reset-cells = <1>; 50762306a36Sopenharmony_ci }; 50862306a36Sopenharmony_ci 50962306a36Sopenharmony_ci wed0: wed@15010000 { 51062306a36Sopenharmony_ci compatible = "mediatek,mt7986-wed", 51162306a36Sopenharmony_ci "syscon"; 51262306a36Sopenharmony_ci reg = <0 0x15010000 0 0x1000>; 51362306a36Sopenharmony_ci interrupt-parent = <&gic>; 51462306a36Sopenharmony_ci interrupts = <GIC_SPI 205 IRQ_TYPE_LEVEL_HIGH>; 51562306a36Sopenharmony_ci memory-region = <&wo_emi0>, <&wo_ilm0>, <&wo_dlm0>, 51662306a36Sopenharmony_ci <&wo_data>, <&wo_boot>; 51762306a36Sopenharmony_ci memory-region-names = "wo-emi", "wo-ilm", "wo-dlm", 51862306a36Sopenharmony_ci "wo-data", "wo-boot"; 51962306a36Sopenharmony_ci mediatek,wo-ccif = <&wo_ccif0>; 52062306a36Sopenharmony_ci }; 52162306a36Sopenharmony_ci 52262306a36Sopenharmony_ci wed1: wed@15011000 { 52362306a36Sopenharmony_ci compatible = "mediatek,mt7986-wed", 52462306a36Sopenharmony_ci "syscon"; 52562306a36Sopenharmony_ci reg = <0 0x15011000 0 0x1000>; 52662306a36Sopenharmony_ci interrupt-parent = <&gic>; 52762306a36Sopenharmony_ci interrupts = <GIC_SPI 206 IRQ_TYPE_LEVEL_HIGH>; 52862306a36Sopenharmony_ci memory-region = <&wo_emi1>, <&wo_ilm1>, <&wo_dlm1>, 52962306a36Sopenharmony_ci <&wo_data>, <&wo_boot>; 53062306a36Sopenharmony_ci memory-region-names = "wo-emi", "wo-ilm", "wo-dlm", 53162306a36Sopenharmony_ci "wo-data", "wo-boot"; 53262306a36Sopenharmony_ci mediatek,wo-ccif = <&wo_ccif1>; 53362306a36Sopenharmony_ci }; 53462306a36Sopenharmony_ci 53562306a36Sopenharmony_ci wo_ccif0: syscon@151a5000 { 53662306a36Sopenharmony_ci compatible = "mediatek,mt7986-wo-ccif", "syscon"; 53762306a36Sopenharmony_ci reg = <0 0x151a5000 0 0x1000>; 53862306a36Sopenharmony_ci interrupt-parent = <&gic>; 53962306a36Sopenharmony_ci interrupts = <GIC_SPI 211 IRQ_TYPE_LEVEL_HIGH>; 54062306a36Sopenharmony_ci }; 54162306a36Sopenharmony_ci 54262306a36Sopenharmony_ci wo_ccif1: syscon@151ad000 { 54362306a36Sopenharmony_ci compatible = "mediatek,mt7986-wo-ccif", "syscon"; 54462306a36Sopenharmony_ci reg = <0 0x151ad000 0 0x1000>; 54562306a36Sopenharmony_ci interrupt-parent = <&gic>; 54662306a36Sopenharmony_ci interrupts = <GIC_SPI 212 IRQ_TYPE_LEVEL_HIGH>; 54762306a36Sopenharmony_ci }; 54862306a36Sopenharmony_ci 54962306a36Sopenharmony_ci eth: ethernet@15100000 { 55062306a36Sopenharmony_ci compatible = "mediatek,mt7986-eth"; 55162306a36Sopenharmony_ci reg = <0 0x15100000 0 0x80000>; 55262306a36Sopenharmony_ci interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>, 55362306a36Sopenharmony_ci <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>, 55462306a36Sopenharmony_ci <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>, 55562306a36Sopenharmony_ci <GIC_SPI 199 IRQ_TYPE_LEVEL_HIGH>; 55662306a36Sopenharmony_ci clocks = <ðsys CLK_ETH_FE_EN>, 55762306a36Sopenharmony_ci <ðsys CLK_ETH_GP2_EN>, 55862306a36Sopenharmony_ci <ðsys CLK_ETH_GP1_EN>, 55962306a36Sopenharmony_ci <ðsys CLK_ETH_WOCPU1_EN>, 56062306a36Sopenharmony_ci <ðsys CLK_ETH_WOCPU0_EN>, 56162306a36Sopenharmony_ci <&sgmiisys0 CLK_SGMII0_TX250M_EN>, 56262306a36Sopenharmony_ci <&sgmiisys0 CLK_SGMII0_RX250M_EN>, 56362306a36Sopenharmony_ci <&sgmiisys0 CLK_SGMII0_CDR_REF>, 56462306a36Sopenharmony_ci <&sgmiisys0 CLK_SGMII0_CDR_FB>, 56562306a36Sopenharmony_ci <&sgmiisys1 CLK_SGMII1_TX250M_EN>, 56662306a36Sopenharmony_ci <&sgmiisys1 CLK_SGMII1_RX250M_EN>, 56762306a36Sopenharmony_ci <&sgmiisys1 CLK_SGMII1_CDR_REF>, 56862306a36Sopenharmony_ci <&sgmiisys1 CLK_SGMII1_CDR_FB>, 56962306a36Sopenharmony_ci <&topckgen CLK_TOP_NETSYS_SEL>, 57062306a36Sopenharmony_ci <&topckgen CLK_TOP_NETSYS_500M_SEL>; 57162306a36Sopenharmony_ci clock-names = "fe", "gp2", "gp1", "wocpu1", "wocpu0", 57262306a36Sopenharmony_ci "sgmii_tx250m", "sgmii_rx250m", 57362306a36Sopenharmony_ci "sgmii_cdr_ref", "sgmii_cdr_fb", 57462306a36Sopenharmony_ci "sgmii2_tx250m", "sgmii2_rx250m", 57562306a36Sopenharmony_ci "sgmii2_cdr_ref", "sgmii2_cdr_fb", 57662306a36Sopenharmony_ci "netsys0", "netsys1"; 57762306a36Sopenharmony_ci assigned-clocks = <&topckgen CLK_TOP_NETSYS_2X_SEL>, 57862306a36Sopenharmony_ci <&topckgen CLK_TOP_SGM_325M_SEL>; 57962306a36Sopenharmony_ci assigned-clock-parents = <&apmixedsys CLK_APMIXED_NET2PLL>, 58062306a36Sopenharmony_ci <&apmixedsys CLK_APMIXED_SGMPLL>; 58162306a36Sopenharmony_ci mediatek,ethsys = <ðsys>; 58262306a36Sopenharmony_ci mediatek,sgmiisys = <&sgmiisys0>, <&sgmiisys1>; 58362306a36Sopenharmony_ci mediatek,wed-pcie = <&wed_pcie>; 58462306a36Sopenharmony_ci mediatek,wed = <&wed0>, <&wed1>; 58562306a36Sopenharmony_ci #reset-cells = <1>; 58662306a36Sopenharmony_ci #address-cells = <1>; 58762306a36Sopenharmony_ci #size-cells = <0>; 58862306a36Sopenharmony_ci status = "disabled"; 58962306a36Sopenharmony_ci }; 59062306a36Sopenharmony_ci 59162306a36Sopenharmony_ci wifi: wifi@18000000 { 59262306a36Sopenharmony_ci compatible = "mediatek,mt7986-wmac"; 59362306a36Sopenharmony_ci resets = <&watchdog MT7986_TOPRGU_CONSYS_SW_RST>; 59462306a36Sopenharmony_ci reset-names = "consys"; 59562306a36Sopenharmony_ci clocks = <&topckgen CLK_TOP_CONN_MCUSYS_SEL>, 59662306a36Sopenharmony_ci <&topckgen CLK_TOP_AP2CNN_HOST_SEL>; 59762306a36Sopenharmony_ci clock-names = "mcu", "ap2conn"; 59862306a36Sopenharmony_ci reg = <0 0x18000000 0 0x1000000>, 59962306a36Sopenharmony_ci <0 0x10003000 0 0x1000>, 60062306a36Sopenharmony_ci <0 0x11d10000 0 0x1000>; 60162306a36Sopenharmony_ci interrupts = <GIC_SPI 213 IRQ_TYPE_LEVEL_HIGH>, 60262306a36Sopenharmony_ci <GIC_SPI 214 IRQ_TYPE_LEVEL_HIGH>, 60362306a36Sopenharmony_ci <GIC_SPI 215 IRQ_TYPE_LEVEL_HIGH>, 60462306a36Sopenharmony_ci <GIC_SPI 216 IRQ_TYPE_LEVEL_HIGH>; 60562306a36Sopenharmony_ci memory-region = <&wmcpu_emi>; 60662306a36Sopenharmony_ci }; 60762306a36Sopenharmony_ci }; 60862306a36Sopenharmony_ci 60962306a36Sopenharmony_ci thermal-zones { 61062306a36Sopenharmony_ci cpu_thermal: cpu-thermal { 61162306a36Sopenharmony_ci polling-delay-passive = <1000>; 61262306a36Sopenharmony_ci polling-delay = <1000>; 61362306a36Sopenharmony_ci thermal-sensors = <&thermal 0>; 61462306a36Sopenharmony_ci 61562306a36Sopenharmony_ci trips { 61662306a36Sopenharmony_ci cpu_trip_crit: crit { 61762306a36Sopenharmony_ci temperature = <125000>; 61862306a36Sopenharmony_ci hysteresis = <2000>; 61962306a36Sopenharmony_ci type = "critical"; 62062306a36Sopenharmony_ci }; 62162306a36Sopenharmony_ci 62262306a36Sopenharmony_ci cpu_trip_hot: hot { 62362306a36Sopenharmony_ci temperature = <120000>; 62462306a36Sopenharmony_ci hysteresis = <2000>; 62562306a36Sopenharmony_ci type = "hot"; 62662306a36Sopenharmony_ci }; 62762306a36Sopenharmony_ci 62862306a36Sopenharmony_ci cpu_trip_active_high: active-high { 62962306a36Sopenharmony_ci temperature = <115000>; 63062306a36Sopenharmony_ci hysteresis = <2000>; 63162306a36Sopenharmony_ci type = "active"; 63262306a36Sopenharmony_ci }; 63362306a36Sopenharmony_ci 63462306a36Sopenharmony_ci cpu_trip_active_med: active-med { 63562306a36Sopenharmony_ci temperature = <85000>; 63662306a36Sopenharmony_ci hysteresis = <2000>; 63762306a36Sopenharmony_ci type = "active"; 63862306a36Sopenharmony_ci }; 63962306a36Sopenharmony_ci 64062306a36Sopenharmony_ci cpu_trip_active_low: active-low { 64162306a36Sopenharmony_ci temperature = <60000>; 64262306a36Sopenharmony_ci hysteresis = <2000>; 64362306a36Sopenharmony_ci type = "active"; 64462306a36Sopenharmony_ci }; 64562306a36Sopenharmony_ci }; 64662306a36Sopenharmony_ci }; 64762306a36Sopenharmony_ci }; 64862306a36Sopenharmony_ci}; 649