cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

mt7622.dtsi (26577B)


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