1c66ec88fSEmmanuel Vadot/* 2c66ec88fSEmmanuel Vadot * Copyright (c) 2017 MediaTek Inc. 3c66ec88fSEmmanuel Vadot * Author: Ming Huang <ming.huang@mediatek.com> 4c66ec88fSEmmanuel Vadot * Sean Wang <sean.wang@mediatek.com> 5c66ec88fSEmmanuel Vadot * 6c66ec88fSEmmanuel Vadot * SPDX-License-Identifier: (GPL-2.0 OR MIT) 7c66ec88fSEmmanuel Vadot */ 8c66ec88fSEmmanuel Vadot 9c66ec88fSEmmanuel Vadot#include <dt-bindings/interrupt-controller/irq.h> 10c66ec88fSEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h> 11c66ec88fSEmmanuel Vadot#include <dt-bindings/clock/mt7622-clk.h> 12c66ec88fSEmmanuel Vadot#include <dt-bindings/phy/phy.h> 13c66ec88fSEmmanuel Vadot#include <dt-bindings/power/mt7622-power.h> 14c66ec88fSEmmanuel Vadot#include <dt-bindings/reset/mt7622-reset.h> 15c66ec88fSEmmanuel Vadot#include <dt-bindings/thermal/thermal.h> 16c66ec88fSEmmanuel Vadot 17c66ec88fSEmmanuel Vadot/ { 18c66ec88fSEmmanuel Vadot compatible = "mediatek,mt7622"; 19c66ec88fSEmmanuel Vadot interrupt-parent = <&sysirq>; 20c66ec88fSEmmanuel Vadot #address-cells = <2>; 21c66ec88fSEmmanuel Vadot #size-cells = <2>; 22c66ec88fSEmmanuel Vadot 23c66ec88fSEmmanuel Vadot cpu_opp_table: opp-table { 24c66ec88fSEmmanuel Vadot compatible = "operating-points-v2"; 25c66ec88fSEmmanuel Vadot opp-shared; 26c66ec88fSEmmanuel Vadot opp-300000000 { 27c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <30000000>; 28c66ec88fSEmmanuel Vadot opp-microvolt = <950000>; 29c66ec88fSEmmanuel Vadot }; 30c66ec88fSEmmanuel Vadot 31c66ec88fSEmmanuel Vadot opp-437500000 { 32c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <437500000>; 33c66ec88fSEmmanuel Vadot opp-microvolt = <1000000>; 34c66ec88fSEmmanuel Vadot }; 35c66ec88fSEmmanuel Vadot 36c66ec88fSEmmanuel Vadot opp-600000000 { 37c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <600000000>; 38c66ec88fSEmmanuel Vadot opp-microvolt = <1050000>; 39c66ec88fSEmmanuel Vadot }; 40c66ec88fSEmmanuel Vadot 41c66ec88fSEmmanuel Vadot opp-812500000 { 42c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <812500000>; 43c66ec88fSEmmanuel Vadot opp-microvolt = <1100000>; 44c66ec88fSEmmanuel Vadot }; 45c66ec88fSEmmanuel Vadot 46c66ec88fSEmmanuel Vadot opp-1025000000 { 47c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <1025000000>; 48c66ec88fSEmmanuel Vadot opp-microvolt = <1150000>; 49c66ec88fSEmmanuel Vadot }; 50c66ec88fSEmmanuel Vadot 51c66ec88fSEmmanuel Vadot opp-1137500000 { 52c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <1137500000>; 53c66ec88fSEmmanuel Vadot opp-microvolt = <1200000>; 54c66ec88fSEmmanuel Vadot }; 55c66ec88fSEmmanuel Vadot 56c66ec88fSEmmanuel Vadot opp-1262500000 { 57c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <1262500000>; 58c66ec88fSEmmanuel Vadot opp-microvolt = <1250000>; 59c66ec88fSEmmanuel Vadot }; 60c66ec88fSEmmanuel Vadot 61c66ec88fSEmmanuel Vadot opp-1350000000 { 62c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <1350000000>; 63c66ec88fSEmmanuel Vadot opp-microvolt = <1310000>; 64c66ec88fSEmmanuel Vadot }; 65c66ec88fSEmmanuel Vadot }; 66c66ec88fSEmmanuel Vadot 67c66ec88fSEmmanuel Vadot cpus { 68c66ec88fSEmmanuel Vadot #address-cells = <2>; 69c66ec88fSEmmanuel Vadot #size-cells = <0>; 70c66ec88fSEmmanuel Vadot 71c66ec88fSEmmanuel Vadot cpu0: cpu@0 { 72c66ec88fSEmmanuel Vadot device_type = "cpu"; 73c66ec88fSEmmanuel Vadot compatible = "arm,cortex-a53"; 74c66ec88fSEmmanuel Vadot reg = <0x0 0x0>; 75c66ec88fSEmmanuel Vadot clocks = <&infracfg CLK_INFRA_MUX1_SEL>, 76c66ec88fSEmmanuel Vadot <&apmixedsys CLK_APMIXED_MAIN_CORE_EN>; 77c66ec88fSEmmanuel Vadot clock-names = "cpu", "intermediate"; 78c66ec88fSEmmanuel Vadot operating-points-v2 = <&cpu_opp_table>; 79c66ec88fSEmmanuel Vadot #cooling-cells = <2>; 80c66ec88fSEmmanuel Vadot enable-method = "psci"; 81c66ec88fSEmmanuel Vadot clock-frequency = <1300000000>; 82c66ec88fSEmmanuel Vadot cci-control-port = <&cci_control2>; 83d5b0e70fSEmmanuel Vadot next-level-cache = <&L2>; 84c66ec88fSEmmanuel Vadot }; 85c66ec88fSEmmanuel Vadot 86c66ec88fSEmmanuel Vadot cpu1: cpu@1 { 87c66ec88fSEmmanuel Vadot device_type = "cpu"; 88c66ec88fSEmmanuel Vadot compatible = "arm,cortex-a53"; 89c66ec88fSEmmanuel Vadot reg = <0x0 0x1>; 90c66ec88fSEmmanuel Vadot clocks = <&infracfg CLK_INFRA_MUX1_SEL>, 91c66ec88fSEmmanuel Vadot <&apmixedsys CLK_APMIXED_MAIN_CORE_EN>; 92c66ec88fSEmmanuel Vadot clock-names = "cpu", "intermediate"; 93c66ec88fSEmmanuel Vadot operating-points-v2 = <&cpu_opp_table>; 94c66ec88fSEmmanuel Vadot #cooling-cells = <2>; 95c66ec88fSEmmanuel Vadot enable-method = "psci"; 96c66ec88fSEmmanuel Vadot clock-frequency = <1300000000>; 97c66ec88fSEmmanuel Vadot cci-control-port = <&cci_control2>; 98d5b0e70fSEmmanuel Vadot next-level-cache = <&L2>; 99d5b0e70fSEmmanuel Vadot }; 100d5b0e70fSEmmanuel Vadot 101d5b0e70fSEmmanuel Vadot L2: l2-cache { 102d5b0e70fSEmmanuel Vadot compatible = "cache"; 103d5b0e70fSEmmanuel Vadot cache-level = <2>; 104f126890aSEmmanuel Vadot cache-unified; 105c66ec88fSEmmanuel Vadot }; 106c66ec88fSEmmanuel Vadot }; 107c66ec88fSEmmanuel Vadot 108c66ec88fSEmmanuel Vadot pwrap_clk: dummy40m { 109c66ec88fSEmmanuel Vadot compatible = "fixed-clock"; 110c66ec88fSEmmanuel Vadot clock-frequency = <40000000>; 111c66ec88fSEmmanuel Vadot #clock-cells = <0>; 112c66ec88fSEmmanuel Vadot }; 113c66ec88fSEmmanuel Vadot 114c66ec88fSEmmanuel Vadot clk25m: oscillator { 115c66ec88fSEmmanuel Vadot compatible = "fixed-clock"; 116c66ec88fSEmmanuel Vadot #clock-cells = <0>; 117c66ec88fSEmmanuel Vadot clock-frequency = <25000000>; 118c66ec88fSEmmanuel Vadot clock-output-names = "clkxtal"; 119c66ec88fSEmmanuel Vadot }; 120c66ec88fSEmmanuel Vadot 121c66ec88fSEmmanuel Vadot psci { 122c66ec88fSEmmanuel Vadot compatible = "arm,psci-0.2"; 123c66ec88fSEmmanuel Vadot method = "smc"; 124c66ec88fSEmmanuel Vadot }; 125c66ec88fSEmmanuel Vadot 126c66ec88fSEmmanuel Vadot pmu { 127c66ec88fSEmmanuel Vadot compatible = "arm,cortex-a53-pmu"; 128c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_LOW>, 129c66ec88fSEmmanuel Vadot <GIC_SPI 9 IRQ_TYPE_LEVEL_LOW>; 130c66ec88fSEmmanuel Vadot interrupt-affinity = <&cpu0>, <&cpu1>; 131c66ec88fSEmmanuel Vadot }; 132c66ec88fSEmmanuel Vadot 133c66ec88fSEmmanuel Vadot reserved-memory { 134c66ec88fSEmmanuel Vadot #address-cells = <2>; 135c66ec88fSEmmanuel Vadot #size-cells = <2>; 136c66ec88fSEmmanuel Vadot ranges; 137c66ec88fSEmmanuel Vadot 138c66ec88fSEmmanuel Vadot /* 192 KiB reserved for ARM Trusted Firmware (BL31) */ 139c66ec88fSEmmanuel Vadot secmon_reserved: secmon@43000000 { 140c66ec88fSEmmanuel Vadot reg = <0 0x43000000 0 0x30000>; 141c66ec88fSEmmanuel Vadot no-map; 142c66ec88fSEmmanuel Vadot }; 143c66ec88fSEmmanuel Vadot }; 144c66ec88fSEmmanuel Vadot 145c66ec88fSEmmanuel Vadot thermal-zones { 146c66ec88fSEmmanuel Vadot cpu_thermal: cpu-thermal { 147c66ec88fSEmmanuel Vadot polling-delay-passive = <1000>; 148c66ec88fSEmmanuel Vadot polling-delay = <1000>; 149c66ec88fSEmmanuel Vadot 150c66ec88fSEmmanuel Vadot thermal-sensors = <&thermal 0>; 151c66ec88fSEmmanuel Vadot 152c66ec88fSEmmanuel Vadot trips { 153c66ec88fSEmmanuel Vadot cpu_passive: cpu-passive { 154c66ec88fSEmmanuel Vadot temperature = <47000>; 155c66ec88fSEmmanuel Vadot hysteresis = <2000>; 156c66ec88fSEmmanuel Vadot type = "passive"; 157c66ec88fSEmmanuel Vadot }; 158c66ec88fSEmmanuel Vadot 159c66ec88fSEmmanuel Vadot cpu_active: cpu-active { 160c66ec88fSEmmanuel Vadot temperature = <67000>; 161c66ec88fSEmmanuel Vadot hysteresis = <2000>; 162c66ec88fSEmmanuel Vadot type = "active"; 163c66ec88fSEmmanuel Vadot }; 164c66ec88fSEmmanuel Vadot 165c66ec88fSEmmanuel Vadot cpu_hot: cpu-hot { 166c66ec88fSEmmanuel Vadot temperature = <87000>; 167c66ec88fSEmmanuel Vadot hysteresis = <2000>; 168c66ec88fSEmmanuel Vadot type = "hot"; 169c66ec88fSEmmanuel Vadot }; 170c66ec88fSEmmanuel Vadot 171c66ec88fSEmmanuel Vadot cpu-crit { 172c66ec88fSEmmanuel Vadot temperature = <107000>; 173c66ec88fSEmmanuel Vadot hysteresis = <2000>; 174c66ec88fSEmmanuel Vadot type = "critical"; 175c66ec88fSEmmanuel Vadot }; 176c66ec88fSEmmanuel Vadot }; 177c66ec88fSEmmanuel Vadot 178c66ec88fSEmmanuel Vadot cooling-maps { 179c66ec88fSEmmanuel Vadot map0 { 180c66ec88fSEmmanuel Vadot trip = <&cpu_passive>; 181c66ec88fSEmmanuel Vadot cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 182c66ec88fSEmmanuel Vadot <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 183c66ec88fSEmmanuel Vadot }; 184c66ec88fSEmmanuel Vadot 185c66ec88fSEmmanuel Vadot map1 { 186c66ec88fSEmmanuel Vadot trip = <&cpu_active>; 187c66ec88fSEmmanuel Vadot cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 188c66ec88fSEmmanuel Vadot <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 189c66ec88fSEmmanuel Vadot }; 190c66ec88fSEmmanuel Vadot 191c66ec88fSEmmanuel Vadot map2 { 192c66ec88fSEmmanuel Vadot trip = <&cpu_hot>; 193c66ec88fSEmmanuel Vadot cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 194c66ec88fSEmmanuel Vadot <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 195c66ec88fSEmmanuel Vadot }; 196c66ec88fSEmmanuel Vadot }; 197c66ec88fSEmmanuel Vadot }; 198c66ec88fSEmmanuel Vadot }; 199c66ec88fSEmmanuel Vadot 200c66ec88fSEmmanuel Vadot timer { 201c66ec88fSEmmanuel Vadot compatible = "arm,armv8-timer"; 202c66ec88fSEmmanuel Vadot interrupt-parent = <&gic>; 203c66ec88fSEmmanuel Vadot interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) | 204c66ec88fSEmmanuel Vadot IRQ_TYPE_LEVEL_HIGH)>, 205c66ec88fSEmmanuel Vadot <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2) | 206c66ec88fSEmmanuel Vadot IRQ_TYPE_LEVEL_HIGH)>, 207c66ec88fSEmmanuel Vadot <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2) | 208c66ec88fSEmmanuel Vadot IRQ_TYPE_LEVEL_HIGH)>, 209c66ec88fSEmmanuel Vadot <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) | 210c66ec88fSEmmanuel Vadot IRQ_TYPE_LEVEL_HIGH)>; 211c66ec88fSEmmanuel Vadot }; 212c66ec88fSEmmanuel Vadot 213c66ec88fSEmmanuel Vadot infracfg: infracfg@10000000 { 214c66ec88fSEmmanuel Vadot compatible = "mediatek,mt7622-infracfg", 215c66ec88fSEmmanuel Vadot "syscon"; 216c66ec88fSEmmanuel Vadot reg = <0 0x10000000 0 0x1000>; 217c66ec88fSEmmanuel Vadot #clock-cells = <1>; 218c66ec88fSEmmanuel Vadot #reset-cells = <1>; 219c66ec88fSEmmanuel Vadot }; 220c66ec88fSEmmanuel Vadot 221c66ec88fSEmmanuel Vadot pwrap: pwrap@10001000 { 222c66ec88fSEmmanuel Vadot compatible = "mediatek,mt7622-pwrap"; 223c66ec88fSEmmanuel Vadot reg = <0 0x10001000 0 0x250>; 224c66ec88fSEmmanuel Vadot reg-names = "pwrap"; 225c66ec88fSEmmanuel Vadot clocks = <&infracfg CLK_INFRA_PMIC_PD>, <&pwrap_clk>; 226c66ec88fSEmmanuel Vadot clock-names = "spi", "wrap"; 227c66ec88fSEmmanuel Vadot resets = <&infracfg MT7622_INFRA_PMIC_WRAP_RST>; 228c66ec88fSEmmanuel Vadot reset-names = "pwrap"; 229c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>; 230c66ec88fSEmmanuel Vadot status = "disabled"; 231c66ec88fSEmmanuel Vadot }; 232c66ec88fSEmmanuel Vadot 233c66ec88fSEmmanuel Vadot pericfg: pericfg@10002000 { 234c66ec88fSEmmanuel Vadot compatible = "mediatek,mt7622-pericfg", 235c66ec88fSEmmanuel Vadot "syscon"; 236c66ec88fSEmmanuel Vadot reg = <0 0x10002000 0 0x1000>; 237c66ec88fSEmmanuel Vadot #clock-cells = <1>; 238c66ec88fSEmmanuel Vadot #reset-cells = <1>; 239c66ec88fSEmmanuel Vadot }; 240c66ec88fSEmmanuel Vadot 241c66ec88fSEmmanuel Vadot scpsys: power-controller@10006000 { 242c66ec88fSEmmanuel Vadot compatible = "mediatek,mt7622-scpsys", 243c66ec88fSEmmanuel Vadot "syscon"; 244c66ec88fSEmmanuel Vadot #power-domain-cells = <1>; 245c66ec88fSEmmanuel Vadot reg = <0 0x10006000 0 0x1000>; 246c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 165 IRQ_TYPE_LEVEL_LOW>, 247c66ec88fSEmmanuel Vadot <GIC_SPI 166 IRQ_TYPE_LEVEL_LOW>, 248c66ec88fSEmmanuel Vadot <GIC_SPI 167 IRQ_TYPE_LEVEL_LOW>, 249c66ec88fSEmmanuel Vadot <GIC_SPI 168 IRQ_TYPE_LEVEL_LOW>; 250c66ec88fSEmmanuel Vadot infracfg = <&infracfg>; 251c66ec88fSEmmanuel Vadot clocks = <&topckgen CLK_TOP_HIF_SEL>; 252c66ec88fSEmmanuel Vadot clock-names = "hif_sel"; 253c66ec88fSEmmanuel Vadot }; 254c66ec88fSEmmanuel Vadot 255*01950c46SEmmanuel Vadot cir: ir-receiver@10009000 { 256c66ec88fSEmmanuel Vadot compatible = "mediatek,mt7622-cir"; 257c66ec88fSEmmanuel Vadot reg = <0 0x10009000 0 0x1000>; 258c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 175 IRQ_TYPE_LEVEL_LOW>; 259c66ec88fSEmmanuel Vadot clocks = <&infracfg CLK_INFRA_IRRX_PD>, 260c66ec88fSEmmanuel Vadot <&topckgen CLK_TOP_AXI_SEL>; 261c66ec88fSEmmanuel Vadot clock-names = "clk", "bus"; 262c66ec88fSEmmanuel Vadot status = "disabled"; 263c66ec88fSEmmanuel Vadot }; 264c66ec88fSEmmanuel Vadot 265c66ec88fSEmmanuel Vadot sysirq: interrupt-controller@10200620 { 266c66ec88fSEmmanuel Vadot compatible = "mediatek,mt7622-sysirq", 267c66ec88fSEmmanuel Vadot "mediatek,mt6577-sysirq"; 268c66ec88fSEmmanuel Vadot interrupt-controller; 269c66ec88fSEmmanuel Vadot #interrupt-cells = <3>; 270c66ec88fSEmmanuel Vadot interrupt-parent = <&gic>; 271c66ec88fSEmmanuel Vadot reg = <0 0x10200620 0 0x20>; 272c66ec88fSEmmanuel Vadot }; 273c66ec88fSEmmanuel Vadot 274c66ec88fSEmmanuel Vadot efuse: efuse@10206000 { 275c66ec88fSEmmanuel Vadot compatible = "mediatek,mt7622-efuse", 276c66ec88fSEmmanuel Vadot "mediatek,efuse"; 277c66ec88fSEmmanuel Vadot reg = <0 0x10206000 0 0x1000>; 278c66ec88fSEmmanuel Vadot #address-cells = <1>; 279c66ec88fSEmmanuel Vadot #size-cells = <1>; 280c66ec88fSEmmanuel Vadot 281c66ec88fSEmmanuel Vadot thermal_calibration: calib@198 { 282c66ec88fSEmmanuel Vadot reg = <0x198 0xc>; 283c66ec88fSEmmanuel Vadot }; 284c66ec88fSEmmanuel Vadot }; 285c66ec88fSEmmanuel Vadot 286*01950c46SEmmanuel Vadot apmixedsys: clock-controller@10209000 { 287*01950c46SEmmanuel Vadot compatible = "mediatek,mt7622-apmixedsys"; 288c66ec88fSEmmanuel Vadot reg = <0 0x10209000 0 0x1000>; 289c66ec88fSEmmanuel Vadot #clock-cells = <1>; 290c66ec88fSEmmanuel Vadot }; 291c66ec88fSEmmanuel Vadot 292*01950c46SEmmanuel Vadot topckgen: clock-controller@10210000 { 293*01950c46SEmmanuel Vadot compatible = "mediatek,mt7622-topckgen"; 294c66ec88fSEmmanuel Vadot reg = <0 0x10210000 0 0x1000>; 295c66ec88fSEmmanuel Vadot #clock-cells = <1>; 296c66ec88fSEmmanuel Vadot }; 297c66ec88fSEmmanuel Vadot 298c66ec88fSEmmanuel Vadot rng: rng@1020f000 { 299c66ec88fSEmmanuel Vadot compatible = "mediatek,mt7622-rng", 300c66ec88fSEmmanuel Vadot "mediatek,mt7623-rng"; 301c66ec88fSEmmanuel Vadot reg = <0 0x1020f000 0 0x1000>; 302c66ec88fSEmmanuel Vadot clocks = <&infracfg CLK_INFRA_TRNG>; 303c66ec88fSEmmanuel Vadot clock-names = "rng"; 304c66ec88fSEmmanuel Vadot }; 305c66ec88fSEmmanuel Vadot 306c66ec88fSEmmanuel Vadot pio: pinctrl@10211000 { 307c66ec88fSEmmanuel Vadot compatible = "mediatek,mt7622-pinctrl"; 308c66ec88fSEmmanuel Vadot reg = <0 0x10211000 0 0x1000>, 309c66ec88fSEmmanuel Vadot <0 0x10005000 0 0x1000>; 310c66ec88fSEmmanuel Vadot reg-names = "base", "eint"; 311c66ec88fSEmmanuel Vadot gpio-controller; 312c66ec88fSEmmanuel Vadot #gpio-cells = <2>; 313c66ec88fSEmmanuel Vadot gpio-ranges = <&pio 0 0 103>; 314c66ec88fSEmmanuel Vadot interrupt-controller; 315c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>; 316c66ec88fSEmmanuel Vadot interrupt-parent = <&gic>; 317c66ec88fSEmmanuel Vadot #interrupt-cells = <2>; 318c66ec88fSEmmanuel Vadot }; 319c66ec88fSEmmanuel Vadot 320c66ec88fSEmmanuel Vadot watchdog: watchdog@10212000 { 321c66ec88fSEmmanuel Vadot compatible = "mediatek,mt7622-wdt", 322c66ec88fSEmmanuel Vadot "mediatek,mt6589-wdt"; 323c66ec88fSEmmanuel Vadot reg = <0 0x10212000 0 0x800>; 324c66ec88fSEmmanuel Vadot }; 325c66ec88fSEmmanuel Vadot 326c66ec88fSEmmanuel Vadot rtc: rtc@10212800 { 327c66ec88fSEmmanuel Vadot compatible = "mediatek,mt7622-rtc", 328c66ec88fSEmmanuel Vadot "mediatek,soc-rtc"; 329c66ec88fSEmmanuel Vadot reg = <0 0x10212800 0 0x200>; 330c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 129 IRQ_TYPE_LEVEL_LOW>; 331c66ec88fSEmmanuel Vadot clocks = <&topckgen CLK_TOP_RTC>; 332c66ec88fSEmmanuel Vadot clock-names = "rtc"; 333c66ec88fSEmmanuel Vadot }; 334c66ec88fSEmmanuel Vadot 335c66ec88fSEmmanuel Vadot gic: interrupt-controller@10300000 { 336c66ec88fSEmmanuel Vadot compatible = "arm,gic-400"; 337c66ec88fSEmmanuel Vadot interrupt-controller; 338c66ec88fSEmmanuel Vadot #interrupt-cells = <3>; 339c66ec88fSEmmanuel Vadot interrupt-parent = <&gic>; 340c66ec88fSEmmanuel Vadot reg = <0 0x10310000 0 0x1000>, 341c66ec88fSEmmanuel Vadot <0 0x10320000 0 0x1000>, 342c66ec88fSEmmanuel Vadot <0 0x10340000 0 0x2000>, 343c66ec88fSEmmanuel Vadot <0 0x10360000 0 0x2000>; 344c66ec88fSEmmanuel Vadot }; 345c66ec88fSEmmanuel Vadot 346c66ec88fSEmmanuel Vadot cci: cci@10390000 { 347c66ec88fSEmmanuel Vadot compatible = "arm,cci-400"; 348c66ec88fSEmmanuel Vadot #address-cells = <1>; 349c66ec88fSEmmanuel Vadot #size-cells = <1>; 350c66ec88fSEmmanuel Vadot reg = <0 0x10390000 0 0x1000>; 351c66ec88fSEmmanuel Vadot ranges = <0 0 0x10390000 0x10000>; 352c66ec88fSEmmanuel Vadot 353c66ec88fSEmmanuel Vadot cci_control0: slave-if@1000 { 354c66ec88fSEmmanuel Vadot compatible = "arm,cci-400-ctrl-if"; 355c66ec88fSEmmanuel Vadot interface-type = "ace-lite"; 356c66ec88fSEmmanuel Vadot reg = <0x1000 0x1000>; 357c66ec88fSEmmanuel Vadot }; 358c66ec88fSEmmanuel Vadot 359c66ec88fSEmmanuel Vadot cci_control1: slave-if@4000 { 360c66ec88fSEmmanuel Vadot compatible = "arm,cci-400-ctrl-if"; 361c66ec88fSEmmanuel Vadot interface-type = "ace"; 362c66ec88fSEmmanuel Vadot reg = <0x4000 0x1000>; 363c66ec88fSEmmanuel Vadot }; 364c66ec88fSEmmanuel Vadot 365c66ec88fSEmmanuel Vadot cci_control2: slave-if@5000 { 366d5b0e70fSEmmanuel Vadot compatible = "arm,cci-400-ctrl-if", "syscon"; 367c66ec88fSEmmanuel Vadot interface-type = "ace"; 368c66ec88fSEmmanuel Vadot reg = <0x5000 0x1000>; 369c66ec88fSEmmanuel Vadot }; 370c66ec88fSEmmanuel Vadot 371c66ec88fSEmmanuel Vadot pmu@9000 { 372c66ec88fSEmmanuel Vadot compatible = "arm,cci-400-pmu,r1"; 373c66ec88fSEmmanuel Vadot reg = <0x9000 0x5000>; 374c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>, 375c66ec88fSEmmanuel Vadot <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>, 376c66ec88fSEmmanuel Vadot <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>, 377c66ec88fSEmmanuel Vadot <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>, 378c66ec88fSEmmanuel Vadot <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>; 379c66ec88fSEmmanuel Vadot }; 380c66ec88fSEmmanuel Vadot }; 381c66ec88fSEmmanuel Vadot 382c66ec88fSEmmanuel Vadot auxadc: adc@11001000 { 383c66ec88fSEmmanuel Vadot compatible = "mediatek,mt7622-auxadc"; 384c66ec88fSEmmanuel Vadot reg = <0 0x11001000 0 0x1000>; 385c66ec88fSEmmanuel Vadot clocks = <&pericfg CLK_PERI_AUXADC_PD>; 386c66ec88fSEmmanuel Vadot clock-names = "main"; 387c66ec88fSEmmanuel Vadot #io-channel-cells = <1>; 388c66ec88fSEmmanuel Vadot }; 389c66ec88fSEmmanuel Vadot 390c66ec88fSEmmanuel Vadot uart0: serial@11002000 { 391c66ec88fSEmmanuel Vadot compatible = "mediatek,mt7622-uart", 392c66ec88fSEmmanuel Vadot "mediatek,mt6577-uart"; 393c66ec88fSEmmanuel Vadot reg = <0 0x11002000 0 0x400>; 394c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_LOW>; 395c66ec88fSEmmanuel Vadot clocks = <&topckgen CLK_TOP_UART_SEL>, 396c66ec88fSEmmanuel Vadot <&pericfg CLK_PERI_UART0_PD>; 397c66ec88fSEmmanuel Vadot clock-names = "baud", "bus"; 398c66ec88fSEmmanuel Vadot status = "disabled"; 399c66ec88fSEmmanuel Vadot }; 400c66ec88fSEmmanuel Vadot 401c66ec88fSEmmanuel Vadot uart1: serial@11003000 { 402c66ec88fSEmmanuel Vadot compatible = "mediatek,mt7622-uart", 403c66ec88fSEmmanuel Vadot "mediatek,mt6577-uart"; 404c66ec88fSEmmanuel Vadot reg = <0 0x11003000 0 0x400>; 405c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_LOW>; 406c66ec88fSEmmanuel Vadot clocks = <&topckgen CLK_TOP_UART_SEL>, 407c66ec88fSEmmanuel Vadot <&pericfg CLK_PERI_UART1_PD>; 408c66ec88fSEmmanuel Vadot clock-names = "baud", "bus"; 409c66ec88fSEmmanuel Vadot status = "disabled"; 410c66ec88fSEmmanuel Vadot }; 411c66ec88fSEmmanuel Vadot 412c66ec88fSEmmanuel Vadot uart2: serial@11004000 { 413c66ec88fSEmmanuel Vadot compatible = "mediatek,mt7622-uart", 414c66ec88fSEmmanuel Vadot "mediatek,mt6577-uart"; 415c66ec88fSEmmanuel Vadot reg = <0 0x11004000 0 0x400>; 416c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_LOW>; 417c66ec88fSEmmanuel Vadot clocks = <&topckgen CLK_TOP_UART_SEL>, 418c66ec88fSEmmanuel Vadot <&pericfg CLK_PERI_UART2_PD>; 419c66ec88fSEmmanuel Vadot clock-names = "baud", "bus"; 420c66ec88fSEmmanuel Vadot status = "disabled"; 421c66ec88fSEmmanuel Vadot }; 422c66ec88fSEmmanuel Vadot 423c66ec88fSEmmanuel Vadot uart3: serial@11005000 { 424c66ec88fSEmmanuel Vadot compatible = "mediatek,mt7622-uart", 425c66ec88fSEmmanuel Vadot "mediatek,mt6577-uart"; 426c66ec88fSEmmanuel Vadot reg = <0 0x11005000 0 0x400>; 427c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_LOW>; 428c66ec88fSEmmanuel Vadot clocks = <&topckgen CLK_TOP_UART_SEL>, 429c66ec88fSEmmanuel Vadot <&pericfg CLK_PERI_UART3_PD>; 430c66ec88fSEmmanuel Vadot clock-names = "baud", "bus"; 431c66ec88fSEmmanuel Vadot status = "disabled"; 432c66ec88fSEmmanuel Vadot }; 433c66ec88fSEmmanuel Vadot 434c66ec88fSEmmanuel Vadot pwm: pwm@11006000 { 435c66ec88fSEmmanuel Vadot compatible = "mediatek,mt7622-pwm"; 436c66ec88fSEmmanuel Vadot reg = <0 0x11006000 0 0x1000>; 437cb7aa33aSEmmanuel Vadot #pwm-cells = <2>; 438c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_LOW>; 439c66ec88fSEmmanuel Vadot clocks = <&topckgen CLK_TOP_PWM_SEL>, 440c66ec88fSEmmanuel Vadot <&pericfg CLK_PERI_PWM_PD>, 441c66ec88fSEmmanuel Vadot <&pericfg CLK_PERI_PWM1_PD>, 442c66ec88fSEmmanuel Vadot <&pericfg CLK_PERI_PWM2_PD>, 443c66ec88fSEmmanuel Vadot <&pericfg CLK_PERI_PWM3_PD>, 444c66ec88fSEmmanuel Vadot <&pericfg CLK_PERI_PWM4_PD>, 445c66ec88fSEmmanuel Vadot <&pericfg CLK_PERI_PWM5_PD>, 446c66ec88fSEmmanuel Vadot <&pericfg CLK_PERI_PWM6_PD>; 447c66ec88fSEmmanuel Vadot clock-names = "top", "main", "pwm1", "pwm2", "pwm3", "pwm4", 448c66ec88fSEmmanuel Vadot "pwm5", "pwm6"; 449c66ec88fSEmmanuel Vadot status = "disabled"; 450c66ec88fSEmmanuel Vadot }; 451c66ec88fSEmmanuel Vadot 452c66ec88fSEmmanuel Vadot i2c0: i2c@11007000 { 453c66ec88fSEmmanuel Vadot compatible = "mediatek,mt7622-i2c"; 454c66ec88fSEmmanuel Vadot reg = <0 0x11007000 0 0x90>, 455c66ec88fSEmmanuel Vadot <0 0x11000100 0 0x80>; 456c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_LOW>; 457c66ec88fSEmmanuel Vadot clock-div = <16>; 458c66ec88fSEmmanuel Vadot clocks = <&pericfg CLK_PERI_I2C0_PD>, 459c66ec88fSEmmanuel Vadot <&pericfg CLK_PERI_AP_DMA_PD>; 460c66ec88fSEmmanuel Vadot clock-names = "main", "dma"; 461c66ec88fSEmmanuel Vadot #address-cells = <1>; 462c66ec88fSEmmanuel Vadot #size-cells = <0>; 463c66ec88fSEmmanuel Vadot status = "disabled"; 464c66ec88fSEmmanuel Vadot }; 465c66ec88fSEmmanuel Vadot 466c66ec88fSEmmanuel Vadot i2c1: i2c@11008000 { 467c66ec88fSEmmanuel Vadot compatible = "mediatek,mt7622-i2c"; 468c66ec88fSEmmanuel Vadot reg = <0 0x11008000 0 0x90>, 469c66ec88fSEmmanuel Vadot <0 0x11000180 0 0x80>; 470c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_LOW>; 471c66ec88fSEmmanuel Vadot clock-div = <16>; 472c66ec88fSEmmanuel Vadot clocks = <&pericfg CLK_PERI_I2C1_PD>, 473c66ec88fSEmmanuel Vadot <&pericfg CLK_PERI_AP_DMA_PD>; 474c66ec88fSEmmanuel Vadot clock-names = "main", "dma"; 475c66ec88fSEmmanuel Vadot #address-cells = <1>; 476c66ec88fSEmmanuel Vadot #size-cells = <0>; 477c66ec88fSEmmanuel Vadot status = "disabled"; 478c66ec88fSEmmanuel Vadot }; 479c66ec88fSEmmanuel Vadot 480c66ec88fSEmmanuel Vadot i2c2: i2c@11009000 { 481c66ec88fSEmmanuel Vadot compatible = "mediatek,mt7622-i2c"; 482c66ec88fSEmmanuel Vadot reg = <0 0x11009000 0 0x90>, 483c66ec88fSEmmanuel Vadot <0 0x11000200 0 0x80>; 484c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_LOW>; 485c66ec88fSEmmanuel Vadot clock-div = <16>; 486c66ec88fSEmmanuel Vadot clocks = <&pericfg CLK_PERI_I2C2_PD>, 487c66ec88fSEmmanuel Vadot <&pericfg CLK_PERI_AP_DMA_PD>; 488c66ec88fSEmmanuel Vadot clock-names = "main", "dma"; 489c66ec88fSEmmanuel Vadot #address-cells = <1>; 490c66ec88fSEmmanuel Vadot #size-cells = <0>; 491c66ec88fSEmmanuel Vadot status = "disabled"; 492c66ec88fSEmmanuel Vadot }; 493c66ec88fSEmmanuel Vadot 494c66ec88fSEmmanuel Vadot spi0: spi@1100a000 { 495c66ec88fSEmmanuel Vadot compatible = "mediatek,mt7622-spi"; 496c66ec88fSEmmanuel Vadot reg = <0 0x1100a000 0 0x100>; 497c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_LOW>; 498c66ec88fSEmmanuel Vadot clocks = <&topckgen CLK_TOP_SYSPLL3_D2>, 499c66ec88fSEmmanuel Vadot <&topckgen CLK_TOP_SPI0_SEL>, 500c66ec88fSEmmanuel Vadot <&pericfg CLK_PERI_SPI0_PD>; 501c66ec88fSEmmanuel Vadot clock-names = "parent-clk", "sel-clk", "spi-clk"; 502c66ec88fSEmmanuel Vadot #address-cells = <1>; 503c66ec88fSEmmanuel Vadot #size-cells = <0>; 504c66ec88fSEmmanuel Vadot status = "disabled"; 505c66ec88fSEmmanuel Vadot }; 506c66ec88fSEmmanuel Vadot 507c66ec88fSEmmanuel Vadot thermal: thermal@1100b000 { 508c66ec88fSEmmanuel Vadot #thermal-sensor-cells = <1>; 509c66ec88fSEmmanuel Vadot compatible = "mediatek,mt7622-thermal"; 510c66ec88fSEmmanuel Vadot reg = <0 0x1100b000 0 0x1000>; 511c66ec88fSEmmanuel Vadot interrupts = <0 78 IRQ_TYPE_LEVEL_LOW>; 512c66ec88fSEmmanuel Vadot clocks = <&pericfg CLK_PERI_THERM_PD>, 513c66ec88fSEmmanuel Vadot <&pericfg CLK_PERI_AUXADC_PD>; 514c66ec88fSEmmanuel Vadot clock-names = "therm", "auxadc"; 515c66ec88fSEmmanuel Vadot resets = <&pericfg MT7622_PERI_THERM_SW_RST>; 516c66ec88fSEmmanuel Vadot mediatek,auxadc = <&auxadc>; 517c66ec88fSEmmanuel Vadot mediatek,apmixedsys = <&apmixedsys>; 518c66ec88fSEmmanuel Vadot nvmem-cells = <&thermal_calibration>; 519c66ec88fSEmmanuel Vadot nvmem-cell-names = "calibration-data"; 520c66ec88fSEmmanuel Vadot }; 521c66ec88fSEmmanuel Vadot 522c66ec88fSEmmanuel Vadot btif: serial@1100c000 { 523c66ec88fSEmmanuel Vadot compatible = "mediatek,mt7622-btif", 524c66ec88fSEmmanuel Vadot "mediatek,mtk-btif"; 525c66ec88fSEmmanuel Vadot reg = <0 0x1100c000 0 0x1000>; 526c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_LOW>; 527c66ec88fSEmmanuel Vadot clocks = <&pericfg CLK_PERI_BTIF_PD>; 528c66ec88fSEmmanuel Vadot reg-shift = <2>; 529c66ec88fSEmmanuel Vadot reg-io-width = <4>; 530c66ec88fSEmmanuel Vadot status = "disabled"; 531c66ec88fSEmmanuel Vadot 532c66ec88fSEmmanuel Vadot bluetooth { 533c66ec88fSEmmanuel Vadot compatible = "mediatek,mt7622-bluetooth"; 534c66ec88fSEmmanuel Vadot power-domains = <&scpsys MT7622_POWER_DOMAIN_WB>; 535c66ec88fSEmmanuel Vadot clocks = <&clk25m>; 536c66ec88fSEmmanuel Vadot clock-names = "ref"; 537c66ec88fSEmmanuel Vadot }; 538c66ec88fSEmmanuel Vadot }; 539c66ec88fSEmmanuel Vadot 540fac71e4eSEmmanuel Vadot nandc: nand-controller@1100d000 { 541c66ec88fSEmmanuel Vadot compatible = "mediatek,mt7622-nfc"; 542c66ec88fSEmmanuel Vadot reg = <0 0x1100D000 0 0x1000>; 543c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_LOW>; 544c66ec88fSEmmanuel Vadot clocks = <&pericfg CLK_PERI_NFI_PD>, 545c66ec88fSEmmanuel Vadot <&pericfg CLK_PERI_SNFI_PD>; 546c66ec88fSEmmanuel Vadot clock-names = "nfi_clk", "pad_clk"; 547c66ec88fSEmmanuel Vadot ecc-engine = <&bch>; 548c66ec88fSEmmanuel Vadot #address-cells = <1>; 549c66ec88fSEmmanuel Vadot #size-cells = <0>; 550c66ec88fSEmmanuel Vadot status = "disabled"; 551c66ec88fSEmmanuel Vadot }; 552c66ec88fSEmmanuel Vadot 553d5b0e70fSEmmanuel Vadot snfi: spi@1100d000 { 554d5b0e70fSEmmanuel Vadot compatible = "mediatek,mt7622-snand"; 555d5b0e70fSEmmanuel Vadot reg = <0 0x1100d000 0 0x1000>; 556d5b0e70fSEmmanuel Vadot interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_LOW>; 557d5b0e70fSEmmanuel Vadot clocks = <&pericfg CLK_PERI_NFI_PD>, <&pericfg CLK_PERI_SNFI_PD>; 558d5b0e70fSEmmanuel Vadot clock-names = "nfi_clk", "pad_clk"; 559d5b0e70fSEmmanuel Vadot nand-ecc-engine = <&bch>; 560d5b0e70fSEmmanuel Vadot #address-cells = <1>; 561d5b0e70fSEmmanuel Vadot #size-cells = <0>; 562d5b0e70fSEmmanuel Vadot status = "disabled"; 563d5b0e70fSEmmanuel Vadot }; 564d5b0e70fSEmmanuel Vadot 565c66ec88fSEmmanuel Vadot bch: ecc@1100e000 { 566c66ec88fSEmmanuel Vadot compatible = "mediatek,mt7622-ecc"; 567c66ec88fSEmmanuel Vadot reg = <0 0x1100e000 0 0x1000>; 568c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_LOW>; 569c66ec88fSEmmanuel Vadot clocks = <&pericfg CLK_PERI_NFIECC_PD>; 570c66ec88fSEmmanuel Vadot clock-names = "nfiecc_clk"; 571c66ec88fSEmmanuel Vadot status = "disabled"; 572c66ec88fSEmmanuel Vadot }; 573c66ec88fSEmmanuel Vadot 574c66ec88fSEmmanuel Vadot nor_flash: spi@11014000 { 575c66ec88fSEmmanuel Vadot compatible = "mediatek,mt7622-nor", 576c66ec88fSEmmanuel Vadot "mediatek,mt8173-nor"; 577c66ec88fSEmmanuel Vadot reg = <0 0x11014000 0 0xe0>; 578c66ec88fSEmmanuel Vadot clocks = <&pericfg CLK_PERI_FLASH_PD>, 579c66ec88fSEmmanuel Vadot <&topckgen CLK_TOP_FLASH_SEL>; 580c66ec88fSEmmanuel Vadot clock-names = "spi", "sf"; 581c66ec88fSEmmanuel Vadot #address-cells = <1>; 582c66ec88fSEmmanuel Vadot #size-cells = <0>; 583c66ec88fSEmmanuel Vadot status = "disabled"; 584c66ec88fSEmmanuel Vadot }; 585c66ec88fSEmmanuel Vadot 586c66ec88fSEmmanuel Vadot spi1: spi@11016000 { 587c66ec88fSEmmanuel Vadot compatible = "mediatek,mt7622-spi"; 588c66ec88fSEmmanuel Vadot reg = <0 0x11016000 0 0x100>; 589c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 122 IRQ_TYPE_LEVEL_LOW>; 590c66ec88fSEmmanuel Vadot clocks = <&topckgen CLK_TOP_SYSPLL3_D2>, 591c66ec88fSEmmanuel Vadot <&topckgen CLK_TOP_SPI1_SEL>, 592c66ec88fSEmmanuel Vadot <&pericfg CLK_PERI_SPI1_PD>; 593c66ec88fSEmmanuel Vadot clock-names = "parent-clk", "sel-clk", "spi-clk"; 594c66ec88fSEmmanuel Vadot #address-cells = <1>; 595c66ec88fSEmmanuel Vadot #size-cells = <0>; 596c66ec88fSEmmanuel Vadot status = "disabled"; 597c66ec88fSEmmanuel Vadot }; 598c66ec88fSEmmanuel Vadot 599c66ec88fSEmmanuel Vadot uart4: serial@11019000 { 600c66ec88fSEmmanuel Vadot compatible = "mediatek,mt7622-uart", 601c66ec88fSEmmanuel Vadot "mediatek,mt6577-uart"; 602c66ec88fSEmmanuel Vadot reg = <0 0x11019000 0 0x400>; 603c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_LOW>; 604c66ec88fSEmmanuel Vadot clocks = <&topckgen CLK_TOP_UART_SEL>, 605c66ec88fSEmmanuel Vadot <&pericfg CLK_PERI_UART4_PD>; 606c66ec88fSEmmanuel Vadot clock-names = "baud", "bus"; 607c66ec88fSEmmanuel Vadot status = "disabled"; 608c66ec88fSEmmanuel Vadot }; 609c66ec88fSEmmanuel Vadot 610c66ec88fSEmmanuel Vadot audsys: clock-controller@11220000 { 611c66ec88fSEmmanuel Vadot compatible = "mediatek,mt7622-audsys", "syscon"; 612c66ec88fSEmmanuel Vadot reg = <0 0x11220000 0 0x2000>; 613c66ec88fSEmmanuel Vadot #clock-cells = <1>; 614c66ec88fSEmmanuel Vadot 615c66ec88fSEmmanuel Vadot afe: audio-controller { 616c66ec88fSEmmanuel Vadot compatible = "mediatek,mt7622-audio"; 617c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_LOW>, 618c66ec88fSEmmanuel Vadot <GIC_SPI 145 IRQ_TYPE_LEVEL_LOW>; 619c66ec88fSEmmanuel Vadot interrupt-names = "afe", "asys"; 620c66ec88fSEmmanuel Vadot 621c66ec88fSEmmanuel Vadot clocks = <&infracfg CLK_INFRA_AUDIO_PD>, 622c66ec88fSEmmanuel Vadot <&topckgen CLK_TOP_AUD1_SEL>, 623c66ec88fSEmmanuel Vadot <&topckgen CLK_TOP_AUD2_SEL>, 624c66ec88fSEmmanuel Vadot <&topckgen CLK_TOP_A1SYS_HP_DIV_PD>, 625c66ec88fSEmmanuel Vadot <&topckgen CLK_TOP_A2SYS_HP_DIV_PD>, 626c66ec88fSEmmanuel Vadot <&topckgen CLK_TOP_I2S0_MCK_SEL>, 627c66ec88fSEmmanuel Vadot <&topckgen CLK_TOP_I2S1_MCK_SEL>, 628c66ec88fSEmmanuel Vadot <&topckgen CLK_TOP_I2S2_MCK_SEL>, 629c66ec88fSEmmanuel Vadot <&topckgen CLK_TOP_I2S3_MCK_SEL>, 630c66ec88fSEmmanuel Vadot <&topckgen CLK_TOP_I2S0_MCK_DIV>, 631c66ec88fSEmmanuel Vadot <&topckgen CLK_TOP_I2S1_MCK_DIV>, 632c66ec88fSEmmanuel Vadot <&topckgen CLK_TOP_I2S2_MCK_DIV>, 633c66ec88fSEmmanuel Vadot <&topckgen CLK_TOP_I2S3_MCK_DIV>, 634c66ec88fSEmmanuel Vadot <&topckgen CLK_TOP_I2S0_MCK_DIV_PD>, 635c66ec88fSEmmanuel Vadot <&topckgen CLK_TOP_I2S1_MCK_DIV_PD>, 636c66ec88fSEmmanuel Vadot <&topckgen CLK_TOP_I2S2_MCK_DIV_PD>, 637c66ec88fSEmmanuel Vadot <&topckgen CLK_TOP_I2S3_MCK_DIV_PD>, 638c66ec88fSEmmanuel Vadot <&audsys CLK_AUDIO_I2SO1>, 639c66ec88fSEmmanuel Vadot <&audsys CLK_AUDIO_I2SO2>, 640c66ec88fSEmmanuel Vadot <&audsys CLK_AUDIO_I2SO3>, 641c66ec88fSEmmanuel Vadot <&audsys CLK_AUDIO_I2SO4>, 642c66ec88fSEmmanuel Vadot <&audsys CLK_AUDIO_I2SIN1>, 643c66ec88fSEmmanuel Vadot <&audsys CLK_AUDIO_I2SIN2>, 644c66ec88fSEmmanuel Vadot <&audsys CLK_AUDIO_I2SIN3>, 645c66ec88fSEmmanuel Vadot <&audsys CLK_AUDIO_I2SIN4>, 646c66ec88fSEmmanuel Vadot <&audsys CLK_AUDIO_ASRCO1>, 647c66ec88fSEmmanuel Vadot <&audsys CLK_AUDIO_ASRCO2>, 648c66ec88fSEmmanuel Vadot <&audsys CLK_AUDIO_ASRCO3>, 649c66ec88fSEmmanuel Vadot <&audsys CLK_AUDIO_ASRCO4>, 650c66ec88fSEmmanuel Vadot <&audsys CLK_AUDIO_AFE>, 651c66ec88fSEmmanuel Vadot <&audsys CLK_AUDIO_AFE_CONN>, 652c66ec88fSEmmanuel Vadot <&audsys CLK_AUDIO_A1SYS>, 653c66ec88fSEmmanuel Vadot <&audsys CLK_AUDIO_A2SYS>; 654c66ec88fSEmmanuel Vadot 655c66ec88fSEmmanuel Vadot clock-names = "infra_sys_audio_clk", 656c66ec88fSEmmanuel Vadot "top_audio_mux1_sel", 657c66ec88fSEmmanuel Vadot "top_audio_mux2_sel", 658c66ec88fSEmmanuel Vadot "top_audio_a1sys_hp", 659c66ec88fSEmmanuel Vadot "top_audio_a2sys_hp", 660c66ec88fSEmmanuel Vadot "i2s0_src_sel", 661c66ec88fSEmmanuel Vadot "i2s1_src_sel", 662c66ec88fSEmmanuel Vadot "i2s2_src_sel", 663c66ec88fSEmmanuel Vadot "i2s3_src_sel", 664c66ec88fSEmmanuel Vadot "i2s0_src_div", 665c66ec88fSEmmanuel Vadot "i2s1_src_div", 666c66ec88fSEmmanuel Vadot "i2s2_src_div", 667c66ec88fSEmmanuel Vadot "i2s3_src_div", 668c66ec88fSEmmanuel Vadot "i2s0_mclk_en", 669c66ec88fSEmmanuel Vadot "i2s1_mclk_en", 670c66ec88fSEmmanuel Vadot "i2s2_mclk_en", 671c66ec88fSEmmanuel Vadot "i2s3_mclk_en", 672c66ec88fSEmmanuel Vadot "i2so0_hop_ck", 673c66ec88fSEmmanuel Vadot "i2so1_hop_ck", 674c66ec88fSEmmanuel Vadot "i2so2_hop_ck", 675c66ec88fSEmmanuel Vadot "i2so3_hop_ck", 676c66ec88fSEmmanuel Vadot "i2si0_hop_ck", 677c66ec88fSEmmanuel Vadot "i2si1_hop_ck", 678c66ec88fSEmmanuel Vadot "i2si2_hop_ck", 679c66ec88fSEmmanuel Vadot "i2si3_hop_ck", 680c66ec88fSEmmanuel Vadot "asrc0_out_ck", 681c66ec88fSEmmanuel Vadot "asrc1_out_ck", 682c66ec88fSEmmanuel Vadot "asrc2_out_ck", 683c66ec88fSEmmanuel Vadot "asrc3_out_ck", 684c66ec88fSEmmanuel Vadot "audio_afe_pd", 685c66ec88fSEmmanuel Vadot "audio_afe_conn_pd", 686c66ec88fSEmmanuel Vadot "audio_a1sys_pd", 687c66ec88fSEmmanuel Vadot "audio_a2sys_pd"; 688c66ec88fSEmmanuel Vadot 689c66ec88fSEmmanuel Vadot assigned-clocks = <&topckgen CLK_TOP_A1SYS_HP_SEL>, 690c66ec88fSEmmanuel Vadot <&topckgen CLK_TOP_A2SYS_HP_SEL>, 691c66ec88fSEmmanuel Vadot <&topckgen CLK_TOP_A1SYS_HP_DIV>, 692c66ec88fSEmmanuel Vadot <&topckgen CLK_TOP_A2SYS_HP_DIV>; 693c66ec88fSEmmanuel Vadot assigned-clock-parents = <&topckgen CLK_TOP_AUD1PLL>, 694c66ec88fSEmmanuel Vadot <&topckgen CLK_TOP_AUD2PLL>; 695c66ec88fSEmmanuel Vadot assigned-clock-rates = <0>, <0>, <49152000>, <45158400>; 696c66ec88fSEmmanuel Vadot }; 697c66ec88fSEmmanuel Vadot }; 698c66ec88fSEmmanuel Vadot 699c66ec88fSEmmanuel Vadot mmc0: mmc@11230000 { 700c66ec88fSEmmanuel Vadot compatible = "mediatek,mt7622-mmc"; 701c66ec88fSEmmanuel Vadot reg = <0 0x11230000 0 0x1000>; 702c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_LOW>; 703c66ec88fSEmmanuel Vadot clocks = <&pericfg CLK_PERI_MSDC30_0_PD>, 704c66ec88fSEmmanuel Vadot <&topckgen CLK_TOP_MSDC50_0_SEL>; 705c66ec88fSEmmanuel Vadot clock-names = "source", "hclk"; 706c66ec88fSEmmanuel Vadot resets = <&pericfg MT7622_PERI_MSDC0_SW_RST>; 707c66ec88fSEmmanuel Vadot reset-names = "hrst"; 708c66ec88fSEmmanuel Vadot status = "disabled"; 709c66ec88fSEmmanuel Vadot }; 710c66ec88fSEmmanuel Vadot 711c66ec88fSEmmanuel Vadot mmc1: mmc@11240000 { 712c66ec88fSEmmanuel Vadot compatible = "mediatek,mt7622-mmc"; 713c66ec88fSEmmanuel Vadot reg = <0 0x11240000 0 0x1000>; 714c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_LOW>; 715c66ec88fSEmmanuel Vadot clocks = <&pericfg CLK_PERI_MSDC30_1_PD>, 716c66ec88fSEmmanuel Vadot <&topckgen CLK_TOP_AXI_SEL>; 717c66ec88fSEmmanuel Vadot clock-names = "source", "hclk"; 7185def4c47SEmmanuel Vadot resets = <&pericfg MT7622_PERI_MSDC1_SW_RST>; 7195def4c47SEmmanuel Vadot reset-names = "hrst"; 720c66ec88fSEmmanuel Vadot status = "disabled"; 721c66ec88fSEmmanuel Vadot }; 722c66ec88fSEmmanuel Vadot 723c66ec88fSEmmanuel Vadot wmac: wmac@18000000 { 724c66ec88fSEmmanuel Vadot compatible = "mediatek,mt7622-wmac"; 725c66ec88fSEmmanuel Vadot reg = <0 0x18000000 0 0x100000>; 726c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 211 IRQ_TYPE_LEVEL_LOW>; 727c66ec88fSEmmanuel Vadot 728c66ec88fSEmmanuel Vadot mediatek,infracfg = <&infracfg>; 729c66ec88fSEmmanuel Vadot status = "disabled"; 730c66ec88fSEmmanuel Vadot 731c66ec88fSEmmanuel Vadot power-domains = <&scpsys MT7622_POWER_DOMAIN_WB>; 732c66ec88fSEmmanuel Vadot }; 733c66ec88fSEmmanuel Vadot 734*01950c46SEmmanuel Vadot ssusbsys: clock-controller@1a000000 { 735*01950c46SEmmanuel Vadot compatible = "mediatek,mt7622-ssusbsys"; 736c66ec88fSEmmanuel Vadot reg = <0 0x1a000000 0 0x1000>; 737c66ec88fSEmmanuel Vadot #clock-cells = <1>; 738c66ec88fSEmmanuel Vadot #reset-cells = <1>; 739c66ec88fSEmmanuel Vadot }; 740c66ec88fSEmmanuel Vadot 741c66ec88fSEmmanuel Vadot ssusb: usb@1a0c0000 { 742c66ec88fSEmmanuel Vadot compatible = "mediatek,mt7622-xhci", 743c66ec88fSEmmanuel Vadot "mediatek,mtk-xhci"; 744c66ec88fSEmmanuel Vadot reg = <0 0x1a0c0000 0 0x01000>, 745c66ec88fSEmmanuel Vadot <0 0x1a0c4700 0 0x0100>; 746c66ec88fSEmmanuel Vadot reg-names = "mac", "ippc"; 747c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 232 IRQ_TYPE_LEVEL_LOW>; 748c66ec88fSEmmanuel Vadot power-domains = <&scpsys MT7622_POWER_DOMAIN_HIF1>; 749c66ec88fSEmmanuel Vadot clocks = <&ssusbsys CLK_SSUSB_SYS_EN>, 750c66ec88fSEmmanuel Vadot <&ssusbsys CLK_SSUSB_REF_EN>, 751c66ec88fSEmmanuel Vadot <&ssusbsys CLK_SSUSB_MCU_EN>, 752c66ec88fSEmmanuel Vadot <&ssusbsys CLK_SSUSB_DMA_EN>; 753c66ec88fSEmmanuel Vadot clock-names = "sys_ck", "ref_ck", "mcu_ck", "dma_ck"; 754c66ec88fSEmmanuel Vadot phys = <&u2port0 PHY_TYPE_USB2>, 755c66ec88fSEmmanuel Vadot <&u3port0 PHY_TYPE_USB3>, 756c66ec88fSEmmanuel Vadot <&u2port1 PHY_TYPE_USB2>; 757c66ec88fSEmmanuel Vadot 758c66ec88fSEmmanuel Vadot status = "disabled"; 759c66ec88fSEmmanuel Vadot }; 760c66ec88fSEmmanuel Vadot 7612eb4d8dcSEmmanuel Vadot u3phy: t-phy@1a0c4000 { 7622eb4d8dcSEmmanuel Vadot compatible = "mediatek,mt7622-tphy", 763c66ec88fSEmmanuel Vadot "mediatek,generic-tphy-v1"; 764c66ec88fSEmmanuel Vadot reg = <0 0x1a0c4000 0 0x700>; 765c66ec88fSEmmanuel Vadot #address-cells = <2>; 766c66ec88fSEmmanuel Vadot #size-cells = <2>; 767c66ec88fSEmmanuel Vadot ranges; 768c66ec88fSEmmanuel Vadot status = "disabled"; 769c66ec88fSEmmanuel Vadot 770c66ec88fSEmmanuel Vadot u2port0: usb-phy@1a0c4800 { 771c66ec88fSEmmanuel Vadot reg = <0 0x1a0c4800 0 0x0100>; 772c66ec88fSEmmanuel Vadot #phy-cells = <1>; 773c66ec88fSEmmanuel Vadot clocks = <&ssusbsys CLK_SSUSB_U2_PHY_EN>; 774c66ec88fSEmmanuel Vadot clock-names = "ref"; 775c66ec88fSEmmanuel Vadot }; 776c66ec88fSEmmanuel Vadot 777c66ec88fSEmmanuel Vadot u3port0: usb-phy@1a0c4900 { 778c66ec88fSEmmanuel Vadot reg = <0 0x1a0c4900 0 0x0700>; 779c66ec88fSEmmanuel Vadot #phy-cells = <1>; 780c66ec88fSEmmanuel Vadot clocks = <&clk25m>; 781c66ec88fSEmmanuel Vadot clock-names = "ref"; 782c66ec88fSEmmanuel Vadot }; 783c66ec88fSEmmanuel Vadot 784c66ec88fSEmmanuel Vadot u2port1: usb-phy@1a0c5000 { 785c66ec88fSEmmanuel Vadot reg = <0 0x1a0c5000 0 0x0100>; 786c66ec88fSEmmanuel Vadot #phy-cells = <1>; 787c66ec88fSEmmanuel Vadot clocks = <&ssusbsys CLK_SSUSB_U2_PHY_1P_EN>; 788c66ec88fSEmmanuel Vadot clock-names = "ref"; 789c66ec88fSEmmanuel Vadot }; 790c66ec88fSEmmanuel Vadot }; 791c66ec88fSEmmanuel Vadot 792*01950c46SEmmanuel Vadot pciesys: clock-controller@1a100800 { 793*01950c46SEmmanuel Vadot compatible = "mediatek,mt7622-pciesys"; 794c66ec88fSEmmanuel Vadot reg = <0 0x1a100800 0 0x1000>; 795c66ec88fSEmmanuel Vadot #clock-cells = <1>; 796c66ec88fSEmmanuel Vadot #reset-cells = <1>; 797c66ec88fSEmmanuel Vadot }; 798c66ec88fSEmmanuel Vadot 7998cc087a1SEmmanuel Vadot pciecfg: pciecfg@1a140000 { 8008cc087a1SEmmanuel Vadot compatible = "mediatek,generic-pciecfg", "syscon"; 8018cc087a1SEmmanuel Vadot reg = <0 0x1a140000 0 0x1000>; 8028cc087a1SEmmanuel Vadot }; 8038cc087a1SEmmanuel Vadot 8048cc087a1SEmmanuel Vadot pcie0: pcie@1a143000 { 805c66ec88fSEmmanuel Vadot compatible = "mediatek,mt7622-pcie"; 806c66ec88fSEmmanuel Vadot device_type = "pci"; 8078cc087a1SEmmanuel Vadot reg = <0 0x1a143000 0 0x1000>; 8088cc087a1SEmmanuel Vadot reg-names = "port0"; 8098cc087a1SEmmanuel Vadot linux,pci-domain = <0>; 810c66ec88fSEmmanuel Vadot #address-cells = <3>; 811c66ec88fSEmmanuel Vadot #size-cells = <2>; 8128cc087a1SEmmanuel Vadot interrupts = <GIC_SPI 228 IRQ_TYPE_LEVEL_LOW>; 8138cc087a1SEmmanuel Vadot interrupt-names = "pcie_irq"; 814c66ec88fSEmmanuel Vadot clocks = <&pciesys CLK_PCIE_P0_MAC_EN>, 815c66ec88fSEmmanuel Vadot <&pciesys CLK_PCIE_P0_AHB_EN>, 816c66ec88fSEmmanuel Vadot <&pciesys CLK_PCIE_P0_AUX_EN>, 817c66ec88fSEmmanuel Vadot <&pciesys CLK_PCIE_P0_AXI_EN>, 818c66ec88fSEmmanuel Vadot <&pciesys CLK_PCIE_P0_OBFF_EN>, 8198cc087a1SEmmanuel Vadot <&pciesys CLK_PCIE_P0_PIPE_EN>; 8208cc087a1SEmmanuel Vadot clock-names = "sys_ck0", "ahb_ck0", "aux_ck0", 8218cc087a1SEmmanuel Vadot "axi_ck0", "obff_ck0", "pipe_ck0"; 8228cc087a1SEmmanuel Vadot 823c66ec88fSEmmanuel Vadot power-domains = <&scpsys MT7622_POWER_DOMAIN_HIF0>; 824c66ec88fSEmmanuel Vadot bus-range = <0x00 0xff>; 8258cc087a1SEmmanuel Vadot ranges = <0x82000000 0 0x20000000 0x0 0x20000000 0 0x8000000>; 826c66ec88fSEmmanuel Vadot status = "disabled"; 827c66ec88fSEmmanuel Vadot 828c66ec88fSEmmanuel Vadot #interrupt-cells = <1>; 829c66ec88fSEmmanuel Vadot interrupt-map-mask = <0 0 0 7>; 830c66ec88fSEmmanuel Vadot interrupt-map = <0 0 0 1 &pcie_intc0 0>, 831c66ec88fSEmmanuel Vadot <0 0 0 2 &pcie_intc0 1>, 832c66ec88fSEmmanuel Vadot <0 0 0 3 &pcie_intc0 2>, 833c66ec88fSEmmanuel Vadot <0 0 0 4 &pcie_intc0 3>; 834c66ec88fSEmmanuel Vadot pcie_intc0: interrupt-controller { 835c66ec88fSEmmanuel Vadot interrupt-controller; 836c66ec88fSEmmanuel Vadot #address-cells = <0>; 837c66ec88fSEmmanuel Vadot #interrupt-cells = <1>; 838c66ec88fSEmmanuel Vadot }; 839c66ec88fSEmmanuel Vadot }; 840c66ec88fSEmmanuel Vadot 8418cc087a1SEmmanuel Vadot pcie1: pcie@1a145000 { 8428cc087a1SEmmanuel Vadot compatible = "mediatek,mt7622-pcie"; 8438cc087a1SEmmanuel Vadot device_type = "pci"; 8448cc087a1SEmmanuel Vadot reg = <0 0x1a145000 0 0x1000>; 8458cc087a1SEmmanuel Vadot reg-names = "port1"; 8468cc087a1SEmmanuel Vadot linux,pci-domain = <1>; 847c66ec88fSEmmanuel Vadot #address-cells = <3>; 848c66ec88fSEmmanuel Vadot #size-cells = <2>; 8498cc087a1SEmmanuel Vadot interrupts = <GIC_SPI 229 IRQ_TYPE_LEVEL_LOW>; 8508cc087a1SEmmanuel Vadot interrupt-names = "pcie_irq"; 8518cc087a1SEmmanuel Vadot clocks = <&pciesys CLK_PCIE_P1_MAC_EN>, 8528cc087a1SEmmanuel Vadot /* designer has connect RC1 with p0_ahb clock */ 8538cc087a1SEmmanuel Vadot <&pciesys CLK_PCIE_P0_AHB_EN>, 8548cc087a1SEmmanuel Vadot <&pciesys CLK_PCIE_P1_AUX_EN>, 8558cc087a1SEmmanuel Vadot <&pciesys CLK_PCIE_P1_AXI_EN>, 8568cc087a1SEmmanuel Vadot <&pciesys CLK_PCIE_P1_OBFF_EN>, 8578cc087a1SEmmanuel Vadot <&pciesys CLK_PCIE_P1_PIPE_EN>; 8588cc087a1SEmmanuel Vadot clock-names = "sys_ck1", "ahb_ck1", "aux_ck1", 8598cc087a1SEmmanuel Vadot "axi_ck1", "obff_ck1", "pipe_ck1"; 8608cc087a1SEmmanuel Vadot 8618cc087a1SEmmanuel Vadot power-domains = <&scpsys MT7622_POWER_DOMAIN_HIF0>; 8628cc087a1SEmmanuel Vadot bus-range = <0x00 0xff>; 8638cc087a1SEmmanuel Vadot ranges = <0x82000000 0 0x28000000 0x0 0x28000000 0 0x8000000>; 864c66ec88fSEmmanuel Vadot status = "disabled"; 865c66ec88fSEmmanuel Vadot 8668cc087a1SEmmanuel Vadot #interrupt-cells = <1>; 867c66ec88fSEmmanuel Vadot interrupt-map-mask = <0 0 0 7>; 868c66ec88fSEmmanuel Vadot interrupt-map = <0 0 0 1 &pcie_intc1 0>, 869c66ec88fSEmmanuel Vadot <0 0 0 2 &pcie_intc1 1>, 870c66ec88fSEmmanuel Vadot <0 0 0 3 &pcie_intc1 2>, 871c66ec88fSEmmanuel Vadot <0 0 0 4 &pcie_intc1 3>; 872c66ec88fSEmmanuel Vadot pcie_intc1: interrupt-controller { 873c66ec88fSEmmanuel Vadot interrupt-controller; 874c66ec88fSEmmanuel Vadot #address-cells = <0>; 875c66ec88fSEmmanuel Vadot #interrupt-cells = <1>; 876c66ec88fSEmmanuel Vadot }; 877c66ec88fSEmmanuel Vadot }; 878c66ec88fSEmmanuel Vadot 879c66ec88fSEmmanuel Vadot sata: sata@1a200000 { 880c66ec88fSEmmanuel Vadot compatible = "mediatek,mt7622-ahci", 881c66ec88fSEmmanuel Vadot "mediatek,mtk-ahci"; 882c66ec88fSEmmanuel Vadot reg = <0 0x1a200000 0 0x1100>; 883c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 233 IRQ_TYPE_LEVEL_HIGH>; 884c66ec88fSEmmanuel Vadot interrupt-names = "hostc"; 885c66ec88fSEmmanuel Vadot clocks = <&pciesys CLK_SATA_AHB_EN>, 886c66ec88fSEmmanuel Vadot <&pciesys CLK_SATA_AXI_EN>, 887c66ec88fSEmmanuel Vadot <&pciesys CLK_SATA_ASIC_EN>, 888c66ec88fSEmmanuel Vadot <&pciesys CLK_SATA_RBC_EN>, 889c66ec88fSEmmanuel Vadot <&pciesys CLK_SATA_PM_EN>; 890c66ec88fSEmmanuel Vadot clock-names = "ahb", "axi", "asic", "rbc", "pm"; 891c66ec88fSEmmanuel Vadot phys = <&sata_port PHY_TYPE_SATA>; 892c66ec88fSEmmanuel Vadot phy-names = "sata-phy"; 893c66ec88fSEmmanuel Vadot ports-implemented = <0x1>; 894c66ec88fSEmmanuel Vadot power-domains = <&scpsys MT7622_POWER_DOMAIN_HIF0>; 895c66ec88fSEmmanuel Vadot resets = <&pciesys MT7622_SATA_AXI_BUS_RST>, 896c66ec88fSEmmanuel Vadot <&pciesys MT7622_SATA_PHY_SW_RST>, 897c66ec88fSEmmanuel Vadot <&pciesys MT7622_SATA_PHY_REG_RST>; 898c66ec88fSEmmanuel Vadot reset-names = "axi", "sw", "reg"; 899c66ec88fSEmmanuel Vadot mediatek,phy-mode = <&pciesys>; 900c66ec88fSEmmanuel Vadot status = "disabled"; 901c66ec88fSEmmanuel Vadot }; 902c66ec88fSEmmanuel Vadot 903aa1a8ff2SEmmanuel Vadot sata_phy: t-phy { 9042eb4d8dcSEmmanuel Vadot compatible = "mediatek,mt7622-tphy", 9052eb4d8dcSEmmanuel Vadot "mediatek,generic-tphy-v1"; 906c66ec88fSEmmanuel Vadot #address-cells = <2>; 907c66ec88fSEmmanuel Vadot #size-cells = <2>; 908c66ec88fSEmmanuel Vadot ranges; 909c66ec88fSEmmanuel Vadot status = "disabled"; 910c66ec88fSEmmanuel Vadot 911c66ec88fSEmmanuel Vadot sata_port: sata-phy@1a243000 { 912c66ec88fSEmmanuel Vadot reg = <0 0x1a243000 0 0x0100>; 913c66ec88fSEmmanuel Vadot clocks = <&topckgen CLK_TOP_ETH_500M>; 914c66ec88fSEmmanuel Vadot clock-names = "ref"; 915c66ec88fSEmmanuel Vadot #phy-cells = <1>; 916c66ec88fSEmmanuel Vadot }; 917c66ec88fSEmmanuel Vadot }; 918c66ec88fSEmmanuel Vadot 919*01950c46SEmmanuel Vadot hifsys: clock-controller@1af00000 { 920*01950c46SEmmanuel Vadot compatible = "mediatek,mt7622-hifsys"; 921d5b0e70fSEmmanuel Vadot reg = <0 0x1af00000 0 0x70>; 922*01950c46SEmmanuel Vadot #clock-cells = <1>; 923d5b0e70fSEmmanuel Vadot }; 924d5b0e70fSEmmanuel Vadot 925*01950c46SEmmanuel Vadot ethsys: clock-controller@1b000000 { 926c66ec88fSEmmanuel Vadot compatible = "mediatek,mt7622-ethsys", 927c66ec88fSEmmanuel Vadot "syscon"; 928c66ec88fSEmmanuel Vadot reg = <0 0x1b000000 0 0x1000>; 929c66ec88fSEmmanuel Vadot #clock-cells = <1>; 930c66ec88fSEmmanuel Vadot #reset-cells = <1>; 931c66ec88fSEmmanuel Vadot }; 932c66ec88fSEmmanuel Vadot 933c66ec88fSEmmanuel Vadot hsdma: dma-controller@1b007000 { 934c66ec88fSEmmanuel Vadot compatible = "mediatek,mt7622-hsdma"; 935c66ec88fSEmmanuel Vadot reg = <0 0x1b007000 0 0x1000>; 936c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 219 IRQ_TYPE_LEVEL_LOW>; 937c66ec88fSEmmanuel Vadot clocks = <ðsys CLK_ETH_HSDMA_EN>; 938c66ec88fSEmmanuel Vadot clock-names = "hsdma"; 939c66ec88fSEmmanuel Vadot power-domains = <&scpsys MT7622_POWER_DOMAIN_ETHSYS>; 940c66ec88fSEmmanuel Vadot #dma-cells = <1>; 941d5b0e70fSEmmanuel Vadot dma-requests = <3>; 942d5b0e70fSEmmanuel Vadot }; 943d5b0e70fSEmmanuel Vadot 944d5b0e70fSEmmanuel Vadot pcie_mirror: pcie-mirror@10000400 { 945d5b0e70fSEmmanuel Vadot compatible = "mediatek,mt7622-pcie-mirror", 946d5b0e70fSEmmanuel Vadot "syscon"; 947d5b0e70fSEmmanuel Vadot reg = <0 0x10000400 0 0x10>; 948d5b0e70fSEmmanuel Vadot }; 949d5b0e70fSEmmanuel Vadot 950d5b0e70fSEmmanuel Vadot wed0: wed@1020a000 { 951d5b0e70fSEmmanuel Vadot compatible = "mediatek,mt7622-wed", 952d5b0e70fSEmmanuel Vadot "syscon"; 953d5b0e70fSEmmanuel Vadot reg = <0 0x1020a000 0 0x1000>; 954d5b0e70fSEmmanuel Vadot interrupts = <GIC_SPI 214 IRQ_TYPE_LEVEL_LOW>; 955d5b0e70fSEmmanuel Vadot }; 956d5b0e70fSEmmanuel Vadot 957d5b0e70fSEmmanuel Vadot wed1: wed@1020b000 { 958d5b0e70fSEmmanuel Vadot compatible = "mediatek,mt7622-wed", 959d5b0e70fSEmmanuel Vadot "syscon"; 960d5b0e70fSEmmanuel Vadot reg = <0 0x1020b000 0 0x1000>; 961d5b0e70fSEmmanuel Vadot interrupts = <GIC_SPI 215 IRQ_TYPE_LEVEL_LOW>; 962c66ec88fSEmmanuel Vadot }; 963c66ec88fSEmmanuel Vadot 964c66ec88fSEmmanuel Vadot eth: ethernet@1b100000 { 965*01950c46SEmmanuel Vadot compatible = "mediatek,mt7622-eth"; 966c66ec88fSEmmanuel Vadot reg = <0 0x1b100000 0 0x20000>; 967c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 223 IRQ_TYPE_LEVEL_LOW>, 968c66ec88fSEmmanuel Vadot <GIC_SPI 224 IRQ_TYPE_LEVEL_LOW>, 969c66ec88fSEmmanuel Vadot <GIC_SPI 225 IRQ_TYPE_LEVEL_LOW>; 970c66ec88fSEmmanuel Vadot clocks = <&topckgen CLK_TOP_ETH_SEL>, 971c66ec88fSEmmanuel Vadot <ðsys CLK_ETH_ESW_EN>, 972c66ec88fSEmmanuel Vadot <ðsys CLK_ETH_GP0_EN>, 973c66ec88fSEmmanuel Vadot <ðsys CLK_ETH_GP1_EN>, 974c66ec88fSEmmanuel Vadot <ðsys CLK_ETH_GP2_EN>, 975c66ec88fSEmmanuel Vadot <&sgmiisys CLK_SGMII_TX250M_EN>, 976c66ec88fSEmmanuel Vadot <&sgmiisys CLK_SGMII_RX250M_EN>, 977c66ec88fSEmmanuel Vadot <&sgmiisys CLK_SGMII_CDR_REF>, 978c66ec88fSEmmanuel Vadot <&sgmiisys CLK_SGMII_CDR_FB>, 979c66ec88fSEmmanuel Vadot <&topckgen CLK_TOP_SGMIIPLL>, 980c66ec88fSEmmanuel Vadot <&apmixedsys CLK_APMIXED_ETH2PLL>; 981c66ec88fSEmmanuel Vadot clock-names = "ethif", "esw", "gp0", "gp1", "gp2", 982c66ec88fSEmmanuel Vadot "sgmii_tx250m", "sgmii_rx250m", 983c66ec88fSEmmanuel Vadot "sgmii_cdr_ref", "sgmii_cdr_fb", "sgmii_ck", 984c66ec88fSEmmanuel Vadot "eth2pll"; 985c66ec88fSEmmanuel Vadot power-domains = <&scpsys MT7622_POWER_DOMAIN_ETHSYS>; 986c66ec88fSEmmanuel Vadot mediatek,ethsys = <ðsys>; 987c66ec88fSEmmanuel Vadot mediatek,sgmiisys = <&sgmiisys>; 988d5b0e70fSEmmanuel Vadot cci-control-port = <&cci_control2>; 989d5b0e70fSEmmanuel Vadot mediatek,wed = <&wed0>, <&wed1>; 990d5b0e70fSEmmanuel Vadot mediatek,pcie-mirror = <&pcie_mirror>; 991d5b0e70fSEmmanuel Vadot mediatek,hifsys = <&hifsys>; 992d5b0e70fSEmmanuel Vadot dma-coherent; 993c66ec88fSEmmanuel Vadot #address-cells = <1>; 994c66ec88fSEmmanuel Vadot #size-cells = <0>; 995c66ec88fSEmmanuel Vadot status = "disabled"; 996c66ec88fSEmmanuel Vadot }; 997c66ec88fSEmmanuel Vadot 998c66ec88fSEmmanuel Vadot sgmiisys: sgmiisys@1b128000 { 999c66ec88fSEmmanuel Vadot compatible = "mediatek,mt7622-sgmiisys", 1000c66ec88fSEmmanuel Vadot "syscon"; 1001c66ec88fSEmmanuel Vadot reg = <0 0x1b128000 0 0x3000>; 1002c66ec88fSEmmanuel Vadot #clock-cells = <1>; 1003c66ec88fSEmmanuel Vadot }; 1004c66ec88fSEmmanuel Vadot}; 1005