xref: /linux/arch/arm64/boot/dts/mediatek/mt7986a.dtsi (revision e6a901a00822659181c93c86d8bbc2a17779fddc)
1// SPDX-License-Identifier: (GPL-2.0 OR MIT)
2/*
3 * Copyright (C) 2021 MediaTek Inc.
4 * Author: Sam.Shih <sam.shih@mediatek.com>
5 */
6
7#include <dt-bindings/interrupt-controller/irq.h>
8#include <dt-bindings/interrupt-controller/arm-gic.h>
9#include <dt-bindings/clock/mt7986-clk.h>
10#include <dt-bindings/reset/mt7986-resets.h>
11#include <dt-bindings/phy/phy.h>
12
13/ {
14	compatible = "mediatek,mt7986a";
15	interrupt-parent = <&gic>;
16	#address-cells = <2>;
17	#size-cells = <2>;
18
19	cpus {
20		#address-cells = <1>;
21		#size-cells = <0>;
22		cpu0: cpu@0 {
23			compatible = "arm,cortex-a53";
24			reg = <0x0>;
25			device_type = "cpu";
26			enable-method = "psci";
27			#cooling-cells = <2>;
28		};
29
30		cpu1: cpu@1 {
31			compatible = "arm,cortex-a53";
32			reg = <0x1>;
33			device_type = "cpu";
34			enable-method = "psci";
35			#cooling-cells = <2>;
36		};
37
38		cpu2: cpu@2 {
39			compatible = "arm,cortex-a53";
40			reg = <0x2>;
41			device_type = "cpu";
42			enable-method = "psci";
43			#cooling-cells = <2>;
44		};
45
46		cpu3: cpu@3 {
47			compatible = "arm,cortex-a53";
48			reg = <0x3>;
49			device_type = "cpu";
50			enable-method = "psci";
51			#cooling-cells = <2>;
52		};
53	};
54
55	clk40m: oscillator-40m {
56		compatible = "fixed-clock";
57		clock-frequency = <40000000>;
58		#clock-cells = <0>;
59		clock-output-names = "clkxtal";
60	};
61
62	psci {
63		compatible = "arm,psci-0.2";
64		method = "smc";
65	};
66
67	reserved-memory {
68		#address-cells = <2>;
69		#size-cells = <2>;
70		ranges;
71		/* 192 KiB reserved for ARM Trusted Firmware (BL31) */
72		secmon_reserved: secmon@43000000 {
73			reg = <0 0x43000000 0 0x30000>;
74			no-map;
75		};
76
77		wmcpu_emi: wmcpu-reserved@4fc00000 {
78			no-map;
79			reg = <0 0x4fc00000 0 0x00100000>;
80		};
81
82		wo_emi0: wo-emi@4fd00000 {
83			reg = <0 0x4fd00000 0 0x40000>;
84			no-map;
85		};
86
87		wo_emi1: wo-emi@4fd40000 {
88			reg = <0 0x4fd40000 0 0x40000>;
89			no-map;
90		};
91
92		wo_ilm0: wo-ilm@151e0000 {
93			reg = <0 0x151e0000 0 0x8000>;
94			no-map;
95		};
96
97		wo_ilm1: wo-ilm@151f0000 {
98			reg = <0 0x151f0000 0 0x8000>;
99			no-map;
100		};
101
102		wo_data: wo-data@4fd80000 {
103			reg = <0 0x4fd80000 0 0x240000>;
104			no-map;
105		};
106
107		wo_dlm0: wo-dlm@151e8000 {
108			reg = <0 0x151e8000 0 0x2000>;
109			no-map;
110		};
111
112		wo_dlm1: wo-dlm@151f8000 {
113			reg = <0 0x151f8000 0 0x2000>;
114			no-map;
115		};
116
117		wo_boot: wo-boot@15194000 {
118			reg = <0 0x15194000 0 0x1000>;
119			no-map;
120		};
121
122	};
123
124	soc {
125		compatible = "simple-bus";
126		ranges;
127		#address-cells = <2>;
128		#size-cells = <2>;
129
130		gic: interrupt-controller@c000000 {
131			compatible = "arm,gic-v3";
132			reg = <0 0x0c000000 0 0x10000>,  /* GICD */
133			      <0 0x0c080000 0 0x80000>,  /* GICR */
134			      <0 0x0c400000 0 0x2000>,   /* GICC */
135			      <0 0x0c410000 0 0x1000>,   /* GICH */
136			      <0 0x0c420000 0 0x2000>;   /* GICV */
137			interrupt-parent = <&gic>;
138			interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
139			interrupt-controller;
140			#interrupt-cells = <3>;
141		};
142
143		infracfg: infracfg@10001000 {
144			compatible = "mediatek,mt7986-infracfg", "syscon";
145			reg = <0 0x10001000 0 0x1000>;
146			#clock-cells = <1>;
147			#reset-cells = <1>;
148		};
149
150		wed_pcie: wed-pcie@10003000 {
151			compatible = "mediatek,mt7986-wed-pcie",
152				     "syscon";
153			reg = <0 0x10003000 0 0x10>;
154		};
155
156		topckgen: topckgen@1001b000 {
157			compatible = "mediatek,mt7986-topckgen", "syscon";
158			reg = <0 0x1001B000 0 0x1000>;
159			#clock-cells = <1>;
160		};
161
162		watchdog: watchdog@1001c000 {
163			compatible = "mediatek,mt7986-wdt";
164			reg = <0 0x1001c000 0 0x1000>;
165			interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
166			#reset-cells = <1>;
167			status = "disabled";
168		};
169
170		apmixedsys: apmixedsys@1001e000 {
171			compatible = "mediatek,mt7986-apmixedsys";
172			reg = <0 0x1001E000 0 0x1000>;
173			#clock-cells = <1>;
174		};
175
176		pio: pinctrl@1001f000 {
177			compatible = "mediatek,mt7986a-pinctrl";
178			reg = <0 0x1001f000 0 0x1000>,
179			      <0 0x11c30000 0 0x1000>,
180			      <0 0x11c40000 0 0x1000>,
181			      <0 0x11e20000 0 0x1000>,
182			      <0 0x11e30000 0 0x1000>,
183			      <0 0x11f00000 0 0x1000>,
184			      <0 0x11f10000 0 0x1000>,
185			      <0 0x1000b000 0 0x1000>;
186			reg-names = "gpio", "iocfg_rt", "iocfg_rb", "iocfg_lt",
187				    "iocfg_lb", "iocfg_tr", "iocfg_tl", "eint";
188			gpio-controller;
189			#gpio-cells = <2>;
190			gpio-ranges = <&pio 0 0 100>;
191			interrupt-controller;
192			interrupts = <GIC_SPI 225 IRQ_TYPE_LEVEL_HIGH>;
193			interrupt-parent = <&gic>;
194			#interrupt-cells = <2>;
195		};
196
197		pwm: pwm@10048000 {
198			compatible = "mediatek,mt7986-pwm";
199			reg = <0 0x10048000 0 0x1000>;
200			#pwm-cells = <2>;
201			interrupts = <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>;
202			clocks = <&topckgen CLK_TOP_PWM_SEL>,
203				 <&infracfg CLK_INFRA_PWM_STA>,
204				 <&infracfg CLK_INFRA_PWM1_CK>,
205				 <&infracfg CLK_INFRA_PWM2_CK>;
206			clock-names = "top", "main", "pwm1", "pwm2";
207			status = "disabled";
208		};
209
210		sgmiisys0: syscon@10060000 {
211			compatible = "mediatek,mt7986-sgmiisys_0",
212				     "syscon";
213			reg = <0 0x10060000 0 0x1000>;
214			#clock-cells = <1>;
215		};
216
217		sgmiisys1: syscon@10070000 {
218			compatible = "mediatek,mt7986-sgmiisys_1",
219				     "syscon";
220			reg = <0 0x10070000 0 0x1000>;
221			#clock-cells = <1>;
222		};
223
224		trng: rng@1020f000 {
225			compatible = "mediatek,mt7986-rng",
226				     "mediatek,mt7623-rng";
227			reg = <0 0x1020f000 0 0x100>;
228			clocks = <&infracfg CLK_INFRA_TRNG_CK>;
229			clock-names = "rng";
230			status = "disabled";
231		};
232
233		crypto: crypto@10320000 {
234			compatible = "inside-secure,safexcel-eip97";
235			reg = <0 0x10320000 0 0x40000>;
236			interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
237				     <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
238				     <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
239				     <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
240			interrupt-names = "ring0", "ring1", "ring2", "ring3";
241			clocks = <&infracfg CLK_INFRA_EIP97_CK>;
242			assigned-clocks = <&topckgen CLK_TOP_EIP_B_SEL>;
243			assigned-clock-parents = <&apmixedsys CLK_APMIXED_NET2PLL>;
244			status = "disabled";
245		};
246
247		uart0: serial@11002000 {
248			compatible = "mediatek,mt7986-uart",
249				     "mediatek,mt6577-uart";
250			reg = <0 0x11002000 0 0x400>;
251			interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>;
252			clocks = <&infracfg CLK_INFRA_UART0_SEL>,
253				 <&infracfg CLK_INFRA_UART0_CK>;
254			clock-names = "baud", "bus";
255			assigned-clocks = <&topckgen CLK_TOP_UART_SEL>,
256					  <&infracfg CLK_INFRA_UART0_SEL>;
257			assigned-clock-parents = <&topckgen CLK_TOP_XTAL>,
258						 <&topckgen CLK_TOP_UART_SEL>;
259			status = "disabled";
260		};
261
262		uart1: serial@11003000 {
263			compatible = "mediatek,mt7986-uart",
264				     "mediatek,mt6577-uart";
265			reg = <0 0x11003000 0 0x400>;
266			interrupts = <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>;
267			clocks = <&infracfg CLK_INFRA_UART1_SEL>,
268				 <&infracfg CLK_INFRA_UART1_CK>;
269			clock-names = "baud", "bus";
270			assigned-clocks = <&infracfg CLK_INFRA_UART1_SEL>;
271			assigned-clock-parents = <&topckgen CLK_TOP_F26M_SEL>;
272			status = "disabled";
273		};
274
275		uart2: serial@11004000 {
276			compatible = "mediatek,mt7986-uart",
277				     "mediatek,mt6577-uart";
278			reg = <0 0x11004000 0 0x400>;
279			interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
280			clocks = <&infracfg CLK_INFRA_UART2_SEL>,
281				 <&infracfg CLK_INFRA_UART2_CK>;
282			clock-names = "baud", "bus";
283			assigned-clocks = <&infracfg CLK_INFRA_UART2_SEL>;
284			assigned-clock-parents = <&topckgen CLK_TOP_F26M_SEL>;
285			status = "disabled";
286		};
287
288		i2c0: i2c@11008000 {
289			compatible = "mediatek,mt7986-i2c";
290			reg = <0 0x11008000 0 0x90>,
291			      <0 0x10217080 0 0x80>;
292			interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
293			clock-div = <5>;
294			clocks = <&infracfg CLK_INFRA_I2C0_CK>,
295				 <&infracfg CLK_INFRA_AP_DMA_CK>;
296			clock-names = "main", "dma";
297			#address-cells = <1>;
298			#size-cells = <0>;
299			status = "disabled";
300		};
301
302		spi0: spi@1100a000 {
303			compatible = "mediatek,mt7986-spi-ipm", "mediatek,spi-ipm";
304			reg = <0 0x1100a000 0 0x100>;
305			#address-cells = <1>;
306			#size-cells = <0>;
307			interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
308			clocks = <&topckgen CLK_TOP_MPLL_D2>,
309				 <&topckgen CLK_TOP_SPI_SEL>,
310				 <&infracfg CLK_INFRA_SPI0_CK>,
311				 <&infracfg CLK_INFRA_SPI0_HCK_CK>;
312			clock-names = "parent-clk", "sel-clk", "spi-clk", "hclk";
313			status = "disabled";
314		};
315
316		spi1: spi@1100b000 {
317			compatible = "mediatek,mt7986-spi-ipm", "mediatek,spi-ipm";
318			reg = <0 0x1100b000 0 0x100>;
319			#address-cells = <1>;
320			#size-cells = <0>;
321			interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>;
322			clocks = <&topckgen CLK_TOP_MPLL_D2>,
323				 <&topckgen CLK_TOP_SPIM_MST_SEL>,
324				 <&infracfg CLK_INFRA_SPI1_CK>,
325				 <&infracfg CLK_INFRA_SPI1_HCK_CK>;
326			clock-names = "parent-clk", "sel-clk", "spi-clk", "hclk";
327			status = "disabled";
328		};
329
330		thermal: thermal@1100c800 {
331			compatible = "mediatek,mt7986-thermal";
332			reg = <0 0x1100c800 0 0x800>;
333			interrupts = <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
334			clocks = <&infracfg CLK_INFRA_THERM_CK>,
335				 <&infracfg CLK_INFRA_ADC_26M_CK>,
336				 <&infracfg CLK_INFRA_ADC_FRC_CK>;
337			clock-names = "therm", "auxadc", "adc_32k";
338			nvmem-cells = <&thermal_calibration>;
339			nvmem-cell-names = "calibration-data";
340			#thermal-sensor-cells = <1>;
341			mediatek,auxadc = <&auxadc>;
342			mediatek,apmixedsys = <&apmixedsys>;
343		};
344
345		auxadc: adc@1100d000 {
346			compatible = "mediatek,mt7986-auxadc";
347			reg = <0 0x1100d000 0 0x1000>;
348			clocks = <&infracfg CLK_INFRA_ADC_26M_CK>;
349			clock-names = "main";
350			#io-channel-cells = <1>;
351			status = "disabled";
352		};
353
354		ssusb: usb@11200000 {
355			compatible = "mediatek,mt7986-xhci",
356				     "mediatek,mtk-xhci";
357			reg = <0 0x11200000 0 0x2e00>,
358			      <0 0x11203e00 0 0x0100>;
359			reg-names = "mac", "ippc";
360			interrupts = <GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH>;
361			clocks = <&infracfg CLK_INFRA_IUSB_SYS_CK>,
362				 <&infracfg CLK_INFRA_IUSB_CK>,
363				 <&infracfg CLK_INFRA_IUSB_133_CK>,
364				 <&infracfg CLK_INFRA_IUSB_66M_CK>,
365				 <&topckgen CLK_TOP_U2U3_XHCI_SEL>;
366			clock-names = "sys_ck",
367				      "ref_ck",
368				      "mcu_ck",
369				      "dma_ck",
370				      "xhci_ck";
371			phys = <&u2port0 PHY_TYPE_USB2>,
372			       <&u3port0 PHY_TYPE_USB3>,
373			       <&u2port1 PHY_TYPE_USB2>;
374			status = "disabled";
375		};
376
377		mmc0: mmc@11230000 {
378			compatible = "mediatek,mt7986-mmc";
379			reg = <0 0x11230000 0 0x1000>,
380			      <0 0x11c20000 0 0x1000>;
381			interrupts = <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
382			assigned-clocks = <&topckgen CLK_TOP_EMMC_416M_SEL>,
383					  <&topckgen CLK_TOP_EMMC_250M_SEL>;
384			assigned-clock-parents = <&apmixedsys CLK_APMIXED_MPLL>,
385						 <&topckgen CLK_TOP_NET1PLL_D5_D2>;
386			clocks = <&topckgen CLK_TOP_EMMC_416M_SEL>,
387				 <&infracfg CLK_INFRA_MSDC_HCK_CK>,
388				 <&infracfg CLK_INFRA_MSDC_CK>,
389				 <&infracfg CLK_INFRA_MSDC_133M_CK>,
390				 <&infracfg CLK_INFRA_MSDC_66M_CK>;
391			clock-names = "source", "hclk", "source_cg", "bus_clk",
392				      "sys_cg";
393			status = "disabled";
394		};
395
396		pcie: pcie@11280000 {
397			compatible = "mediatek,mt7986-pcie",
398				     "mediatek,mt8192-pcie";
399			reg = <0x00 0x11280000 0x00 0x4000>;
400			reg-names = "pcie-mac";
401			ranges = <0x82000000 0x00 0x20000000 0x00
402				  0x20000000 0x00 0x10000000>;
403			device_type = "pci";
404			#address-cells = <3>;
405			#size-cells = <2>;
406			interrupts = <GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>;
407			bus-range = <0x00 0xff>;
408			clocks = <&infracfg CLK_INFRA_IPCIE_PIPE_CK>,
409				 <&infracfg CLK_INFRA_IPCIE_CK>,
410				 <&infracfg CLK_INFRA_IPCIER_CK>,
411				 <&infracfg CLK_INFRA_IPCIEB_CK>;
412			clock-names = "pl_250m", "tl_26m", "peri_26m", "top_133m";
413
414			phys = <&pcie_port PHY_TYPE_PCIE>;
415			phy-names = "pcie-phy";
416
417			#interrupt-cells = <1>;
418			interrupt-map-mask = <0 0 0 0x7>;
419			interrupt-map = <0 0 0 1 &pcie_intc 0>,
420					<0 0 0 2 &pcie_intc 1>,
421					<0 0 0 3 &pcie_intc 2>,
422					<0 0 0 4 &pcie_intc 3>;
423			status = "disabled";
424
425			pcie_intc: interrupt-controller {
426				#address-cells = <0>;
427				#interrupt-cells = <1>;
428				interrupt-controller;
429			};
430		};
431
432		pcie_phy: t-phy {
433			compatible = "mediatek,mt7986-tphy",
434				     "mediatek,generic-tphy-v2";
435			ranges;
436			#address-cells = <2>;
437			#size-cells = <2>;
438			status = "disabled";
439
440			pcie_port: pcie-phy@11c00000 {
441				reg = <0 0x11c00000 0 0x20000>;
442				clocks = <&clk40m>;
443				clock-names = "ref";
444				#phy-cells = <1>;
445			};
446		};
447
448		efuse: efuse@11d00000 {
449			compatible = "mediatek,mt7986-efuse", "mediatek,efuse";
450			reg = <0 0x11d00000 0 0x1000>;
451			#address-cells = <1>;
452			#size-cells = <1>;
453
454			thermal_calibration: calib@274 {
455				reg = <0x274 0xc>;
456			};
457		};
458
459		usb_phy: t-phy@11e10000 {
460			compatible = "mediatek,mt7986-tphy",
461				     "mediatek,generic-tphy-v2";
462			ranges = <0 0 0x11e10000 0x1700>;
463			#address-cells = <1>;
464			#size-cells = <1>;
465			status = "disabled";
466
467			u2port0: usb-phy@0 {
468				reg = <0x0 0x700>;
469				clocks = <&topckgen CLK_TOP_DA_U2_REFSEL>,
470					 <&topckgen CLK_TOP_DA_U2_CK_1P_SEL>;
471				clock-names = "ref", "da_ref";
472				#phy-cells = <1>;
473			};
474
475			u3port0: usb-phy@700 {
476				reg = <0x700 0x900>;
477				clocks = <&topckgen CLK_TOP_USB3_PHY_SEL>;
478				clock-names = "ref";
479				#phy-cells = <1>;
480			};
481
482			u2port1: usb-phy@1000 {
483				reg = <0x1000 0x700>;
484				clocks = <&topckgen CLK_TOP_DA_U2_REFSEL>,
485					 <&topckgen CLK_TOP_DA_U2_CK_1P_SEL>;
486				clock-names = "ref", "da_ref";
487				#phy-cells = <1>;
488			};
489		};
490
491		ethsys: syscon@15000000 {
492			 compatible = "mediatek,mt7986-ethsys",
493				      "syscon";
494			 reg = <0 0x15000000 0 0x1000>;
495			 #address-cells = <1>;
496			 #size-cells = <1>;
497			 #clock-cells = <1>;
498			 #reset-cells = <1>;
499		};
500
501		wed0: wed@15010000 {
502			compatible = "mediatek,mt7986-wed",
503				     "syscon";
504			reg = <0 0x15010000 0 0x1000>;
505			interrupt-parent = <&gic>;
506			interrupts = <GIC_SPI 205 IRQ_TYPE_LEVEL_HIGH>;
507			memory-region = <&wo_emi0>, <&wo_ilm0>, <&wo_dlm0>,
508					<&wo_data>, <&wo_boot>;
509			memory-region-names = "wo-emi", "wo-ilm", "wo-dlm",
510					      "wo-data", "wo-boot";
511			mediatek,wo-ccif = <&wo_ccif0>;
512		};
513
514		wed1: wed@15011000 {
515			compatible = "mediatek,mt7986-wed",
516				     "syscon";
517			reg = <0 0x15011000 0 0x1000>;
518			interrupt-parent = <&gic>;
519			interrupts = <GIC_SPI 206 IRQ_TYPE_LEVEL_HIGH>;
520			memory-region = <&wo_emi1>, <&wo_ilm1>, <&wo_dlm1>,
521					<&wo_data>, <&wo_boot>;
522			memory-region-names = "wo-emi", "wo-ilm", "wo-dlm",
523					      "wo-data", "wo-boot";
524			mediatek,wo-ccif = <&wo_ccif1>;
525		};
526
527		eth: ethernet@15100000 {
528			compatible = "mediatek,mt7986-eth";
529			reg = <0 0x15100000 0 0x80000>;
530			interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>,
531				     <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>,
532				     <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>,
533				     <GIC_SPI 199 IRQ_TYPE_LEVEL_HIGH>;
534			clocks = <&ethsys CLK_ETH_FE_EN>,
535				 <&ethsys CLK_ETH_GP2_EN>,
536				 <&ethsys CLK_ETH_GP1_EN>,
537				 <&ethsys CLK_ETH_WOCPU1_EN>,
538				 <&ethsys CLK_ETH_WOCPU0_EN>,
539				 <&sgmiisys0 CLK_SGMII0_TX250M_EN>,
540				 <&sgmiisys0 CLK_SGMII0_RX250M_EN>,
541				 <&sgmiisys0 CLK_SGMII0_CDR_REF>,
542				 <&sgmiisys0 CLK_SGMII0_CDR_FB>,
543				 <&sgmiisys1 CLK_SGMII1_TX250M_EN>,
544				 <&sgmiisys1 CLK_SGMII1_RX250M_EN>,
545				 <&sgmiisys1 CLK_SGMII1_CDR_REF>,
546				 <&sgmiisys1 CLK_SGMII1_CDR_FB>,
547				 <&topckgen CLK_TOP_NETSYS_SEL>,
548				 <&topckgen CLK_TOP_NETSYS_500M_SEL>;
549			clock-names = "fe", "gp2", "gp1", "wocpu1", "wocpu0",
550				      "sgmii_tx250m", "sgmii_rx250m",
551				      "sgmii_cdr_ref", "sgmii_cdr_fb",
552				      "sgmii2_tx250m", "sgmii2_rx250m",
553				      "sgmii2_cdr_ref", "sgmii2_cdr_fb",
554				      "netsys0", "netsys1";
555			assigned-clocks = <&topckgen CLK_TOP_NETSYS_2X_SEL>,
556					  <&topckgen CLK_TOP_SGM_325M_SEL>;
557			assigned-clock-parents = <&apmixedsys CLK_APMIXED_NET2PLL>,
558						 <&apmixedsys CLK_APMIXED_SGMPLL>;
559			#reset-cells = <1>;
560			#address-cells = <1>;
561			#size-cells = <0>;
562			mediatek,ethsys = <&ethsys>;
563			mediatek,sgmiisys = <&sgmiisys0>, <&sgmiisys1>;
564			mediatek,wed-pcie = <&wed_pcie>;
565			mediatek,wed = <&wed0>, <&wed1>;
566			status = "disabled";
567		};
568
569		wo_ccif0: syscon@151a5000 {
570			compatible = "mediatek,mt7986-wo-ccif", "syscon";
571			reg = <0 0x151a5000 0 0x1000>;
572			interrupt-parent = <&gic>;
573			interrupts = <GIC_SPI 211 IRQ_TYPE_LEVEL_HIGH>;
574		};
575
576		wo_ccif1: syscon@151ad000 {
577			compatible = "mediatek,mt7986-wo-ccif", "syscon";
578			reg = <0 0x151ad000 0 0x1000>;
579			interrupt-parent = <&gic>;
580			interrupts = <GIC_SPI 212 IRQ_TYPE_LEVEL_HIGH>;
581		};
582
583		wifi: wifi@18000000 {
584			compatible = "mediatek,mt7986-wmac";
585			reg = <0 0x18000000 0 0x1000000>,
586			      <0 0x10003000 0 0x1000>,
587			      <0 0x11d10000 0 0x1000>;
588			resets = <&watchdog MT7986_TOPRGU_CONSYS_SW_RST>;
589			reset-names = "consys";
590			clocks = <&topckgen CLK_TOP_CONN_MCUSYS_SEL>,
591				 <&topckgen CLK_TOP_AP2CNN_HOST_SEL>;
592			clock-names = "mcu", "ap2conn";
593			interrupts = <GIC_SPI 213 IRQ_TYPE_LEVEL_HIGH>,
594				     <GIC_SPI 214 IRQ_TYPE_LEVEL_HIGH>,
595				     <GIC_SPI 215 IRQ_TYPE_LEVEL_HIGH>,
596				     <GIC_SPI 216 IRQ_TYPE_LEVEL_HIGH>;
597			memory-region = <&wmcpu_emi>;
598		};
599	};
600
601	thermal-zones {
602		cpu_thermal: cpu-thermal {
603			polling-delay-passive = <1000>;
604			polling-delay = <1000>;
605			thermal-sensors = <&thermal 0>;
606
607			trips {
608				cpu_trip_crit: crit {
609					temperature = <125000>;
610					hysteresis = <2000>;
611					type = "critical";
612				};
613
614				cpu_trip_hot: hot {
615					temperature = <120000>;
616					hysteresis = <2000>;
617					type = "hot";
618				};
619
620				cpu_trip_active_high: active-high {
621					temperature = <115000>;
622					hysteresis = <2000>;
623					type = "active";
624				};
625
626				cpu_trip_active_med: active-med {
627					temperature = <85000>;
628					hysteresis = <2000>;
629					type = "active";
630				};
631
632				cpu_trip_active_low: active-low {
633					temperature = <60000>;
634					hysteresis = <2000>;
635					type = "active";
636				};
637			};
638		};
639	};
640
641	timer {
642		compatible = "arm,armv8-timer";
643		interrupt-parent = <&gic>;
644		interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>,
645			     <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>,
646			     <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>,
647			     <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>;
648	};
649};
650