xref: /linux/arch/arm64/boot/dts/mediatek/mt8183.dtsi (revision 188ffcd7fea79af3cac441268fc99f60e87f03b3)
1e526c9bcSBen Ho// SPDX-License-Identifier: (GPL-2.0 OR MIT)
2e526c9bcSBen Ho/*
3e526c9bcSBen Ho * Copyright (c) 2018 MediaTek Inc.
4e526c9bcSBen Ho * Author: Ben Ho <ben.ho@mediatek.com>
5e526c9bcSBen Ho *	   Erin Lo <erin.lo@mediatek.com>
6e526c9bcSBen Ho */
7e526c9bcSBen Ho
8e526c9bcSBen Ho#include <dt-bindings/clock/mt8183-clk.h>
918d6e3f6SMatthias Brugger#include <dt-bindings/gce/mt8183-gce.h>
10e526c9bcSBen Ho#include <dt-bindings/interrupt-controller/arm-gic.h>
11e526c9bcSBen Ho#include <dt-bindings/interrupt-controller/irq.h>
12c6080916SEnric Balletbo i Serra#include <dt-bindings/memory/mt8183-larb-port.h>
1337fb78b9SMatthias Brugger#include <dt-bindings/power/mt8183-power.h>
14f07c776fSEnric Balletbo i Serra#include <dt-bindings/reset/mt8183-resets.h>
156b3bfa37SEnric Balletbo i Serra#include <dt-bindings/phy/phy.h>
16fccf4261SMatthias Kaehlcke#include <dt-bindings/thermal/thermal.h>
174e233326SHsin-Yi Wang#include <dt-bindings/pinctrl/mt8183-pinfunc.h>
18e526c9bcSBen Ho
19e526c9bcSBen Ho/ {
20e526c9bcSBen Ho	compatible = "mediatek,mt8183";
21e526c9bcSBen Ho	interrupt-parent = <&sysirq>;
22e526c9bcSBen Ho	#address-cells = <2>;
23e526c9bcSBen Ho	#size-cells = <2>;
24e526c9bcSBen Ho
25251137b8SQii Wang	aliases {
26251137b8SQii Wang		i2c0 = &i2c0;
27251137b8SQii Wang		i2c1 = &i2c1;
28251137b8SQii Wang		i2c2 = &i2c2;
29251137b8SQii Wang		i2c3 = &i2c3;
30251137b8SQii Wang		i2c4 = &i2c4;
31251137b8SQii Wang		i2c5 = &i2c5;
32251137b8SQii Wang		i2c6 = &i2c6;
33251137b8SQii Wang		i2c7 = &i2c7;
34251137b8SQii Wang		i2c8 = &i2c8;
35251137b8SQii Wang		i2c9 = &i2c9;
36251137b8SQii Wang		i2c10 = &i2c10;
37251137b8SQii Wang		i2c11 = &i2c11;
3891f9c963SEnric Balletbo i Serra		ovl0 = &ovl0;
3991f9c963SEnric Balletbo i Serra		ovl-2l0 = &ovl_2l0;
4091f9c963SEnric Balletbo i Serra		ovl-2l1 = &ovl_2l1;
4191f9c963SEnric Balletbo i Serra		rdma0 = &rdma0;
4291f9c963SEnric Balletbo i Serra		rdma1 = &rdma1;
43251137b8SQii Wang	};
44251137b8SQii Wang
4595eacb24SRex-BC Chen	cluster0_opp: opp-table-cluster0 {
4695eacb24SRex-BC Chen		compatible = "operating-points-v2";
4795eacb24SRex-BC Chen		opp-shared;
4895eacb24SRex-BC Chen		opp0-793000000 {
4995eacb24SRex-BC Chen			opp-hz = /bits/ 64 <793000000>;
5095eacb24SRex-BC Chen			opp-microvolt = <650000>;
5195eacb24SRex-BC Chen			required-opps = <&opp2_00>;
5295eacb24SRex-BC Chen		};
5395eacb24SRex-BC Chen		opp0-910000000 {
5495eacb24SRex-BC Chen			opp-hz = /bits/ 64 <910000000>;
5595eacb24SRex-BC Chen			opp-microvolt = <687500>;
5695eacb24SRex-BC Chen			required-opps = <&opp2_01>;
5795eacb24SRex-BC Chen		};
5895eacb24SRex-BC Chen		opp0-1014000000 {
5995eacb24SRex-BC Chen			opp-hz = /bits/ 64 <1014000000>;
6095eacb24SRex-BC Chen			opp-microvolt = <718750>;
6195eacb24SRex-BC Chen			required-opps = <&opp2_02>;
6295eacb24SRex-BC Chen		};
6395eacb24SRex-BC Chen		opp0-1131000000 {
6495eacb24SRex-BC Chen			opp-hz = /bits/ 64 <1131000000>;
6595eacb24SRex-BC Chen			opp-microvolt = <756250>;
6695eacb24SRex-BC Chen			required-opps = <&opp2_03>;
6795eacb24SRex-BC Chen		};
6895eacb24SRex-BC Chen		opp0-1248000000 {
6995eacb24SRex-BC Chen			opp-hz = /bits/ 64 <1248000000>;
7095eacb24SRex-BC Chen			opp-microvolt = <800000>;
7195eacb24SRex-BC Chen			required-opps = <&opp2_04>;
7295eacb24SRex-BC Chen		};
7395eacb24SRex-BC Chen		opp0-1326000000 {
7495eacb24SRex-BC Chen			opp-hz = /bits/ 64 <1326000000>;
7595eacb24SRex-BC Chen			opp-microvolt = <818750>;
7695eacb24SRex-BC Chen			required-opps = <&opp2_05>;
7795eacb24SRex-BC Chen		};
7895eacb24SRex-BC Chen		opp0-1417000000 {
7995eacb24SRex-BC Chen			opp-hz = /bits/ 64 <1417000000>;
8095eacb24SRex-BC Chen			opp-microvolt = <850000>;
8195eacb24SRex-BC Chen			required-opps = <&opp2_06>;
8295eacb24SRex-BC Chen		};
8395eacb24SRex-BC Chen		opp0-1508000000 {
8495eacb24SRex-BC Chen			opp-hz = /bits/ 64 <1508000000>;
8595eacb24SRex-BC Chen			opp-microvolt = <868750>;
8695eacb24SRex-BC Chen			required-opps = <&opp2_07>;
8795eacb24SRex-BC Chen		};
8895eacb24SRex-BC Chen		opp0-1586000000 {
8995eacb24SRex-BC Chen			opp-hz = /bits/ 64 <1586000000>;
9095eacb24SRex-BC Chen			opp-microvolt = <893750>;
9195eacb24SRex-BC Chen			required-opps = <&opp2_08>;
9295eacb24SRex-BC Chen		};
9395eacb24SRex-BC Chen		opp0-1625000000 {
9495eacb24SRex-BC Chen			opp-hz = /bits/ 64 <1625000000>;
9595eacb24SRex-BC Chen			opp-microvolt = <906250>;
9695eacb24SRex-BC Chen			required-opps = <&opp2_09>;
9795eacb24SRex-BC Chen		};
9895eacb24SRex-BC Chen		opp0-1677000000 {
9995eacb24SRex-BC Chen			opp-hz = /bits/ 64 <1677000000>;
10095eacb24SRex-BC Chen			opp-microvolt = <931250>;
10195eacb24SRex-BC Chen			required-opps = <&opp2_10>;
10295eacb24SRex-BC Chen		};
10395eacb24SRex-BC Chen		opp0-1716000000 {
10495eacb24SRex-BC Chen			opp-hz = /bits/ 64 <1716000000>;
10595eacb24SRex-BC Chen			opp-microvolt = <943750>;
10695eacb24SRex-BC Chen			required-opps = <&opp2_11>;
10795eacb24SRex-BC Chen		};
10895eacb24SRex-BC Chen		opp0-1781000000 {
10995eacb24SRex-BC Chen			opp-hz = /bits/ 64 <1781000000>;
11095eacb24SRex-BC Chen			opp-microvolt = <975000>;
11195eacb24SRex-BC Chen			required-opps = <&opp2_12>;
11295eacb24SRex-BC Chen		};
11395eacb24SRex-BC Chen		opp0-1846000000 {
11495eacb24SRex-BC Chen			opp-hz = /bits/ 64 <1846000000>;
11595eacb24SRex-BC Chen			opp-microvolt = <1000000>;
11695eacb24SRex-BC Chen			required-opps = <&opp2_13>;
11795eacb24SRex-BC Chen		};
11895eacb24SRex-BC Chen		opp0-1924000000 {
11995eacb24SRex-BC Chen			opp-hz = /bits/ 64 <1924000000>;
12095eacb24SRex-BC Chen			opp-microvolt = <1025000>;
12195eacb24SRex-BC Chen			required-opps = <&opp2_14>;
12295eacb24SRex-BC Chen		};
12395eacb24SRex-BC Chen		opp0-1989000000 {
12495eacb24SRex-BC Chen			opp-hz = /bits/ 64 <1989000000>;
12595eacb24SRex-BC Chen			opp-microvolt = <1050000>;
12695eacb24SRex-BC Chen			required-opps = <&opp2_15>;
12795eacb24SRex-BC Chen		};	};
12895eacb24SRex-BC Chen
12995eacb24SRex-BC Chen	cluster1_opp: opp-table-cluster1 {
13095eacb24SRex-BC Chen		compatible = "operating-points-v2";
13195eacb24SRex-BC Chen		opp-shared;
13295eacb24SRex-BC Chen		opp1-793000000 {
13395eacb24SRex-BC Chen			opp-hz = /bits/ 64 <793000000>;
13495eacb24SRex-BC Chen			opp-microvolt = <700000>;
13595eacb24SRex-BC Chen			required-opps = <&opp2_00>;
13695eacb24SRex-BC Chen		};
13795eacb24SRex-BC Chen		opp1-910000000 {
13895eacb24SRex-BC Chen			opp-hz = /bits/ 64 <910000000>;
13995eacb24SRex-BC Chen			opp-microvolt = <725000>;
14095eacb24SRex-BC Chen			required-opps = <&opp2_01>;
14195eacb24SRex-BC Chen		};
14295eacb24SRex-BC Chen		opp1-1014000000 {
14395eacb24SRex-BC Chen			opp-hz = /bits/ 64 <1014000000>;
14495eacb24SRex-BC Chen			opp-microvolt = <750000>;
14595eacb24SRex-BC Chen			required-opps = <&opp2_02>;
14695eacb24SRex-BC Chen		};
14795eacb24SRex-BC Chen		opp1-1131000000 {
14895eacb24SRex-BC Chen			opp-hz = /bits/ 64 <1131000000>;
14995eacb24SRex-BC Chen			opp-microvolt = <775000>;
15095eacb24SRex-BC Chen			required-opps = <&opp2_03>;
15195eacb24SRex-BC Chen		};
15295eacb24SRex-BC Chen		opp1-1248000000 {
15395eacb24SRex-BC Chen			opp-hz = /bits/ 64 <1248000000>;
15495eacb24SRex-BC Chen			opp-microvolt = <800000>;
15595eacb24SRex-BC Chen			required-opps = <&opp2_04>;
15695eacb24SRex-BC Chen		};
15795eacb24SRex-BC Chen		opp1-1326000000 {
15895eacb24SRex-BC Chen			opp-hz = /bits/ 64 <1326000000>;
15995eacb24SRex-BC Chen			opp-microvolt = <825000>;
16095eacb24SRex-BC Chen			required-opps = <&opp2_05>;
16195eacb24SRex-BC Chen		};
16295eacb24SRex-BC Chen		opp1-1417000000 {
16395eacb24SRex-BC Chen			opp-hz = /bits/ 64 <1417000000>;
16495eacb24SRex-BC Chen			opp-microvolt = <850000>;
16595eacb24SRex-BC Chen			required-opps = <&opp2_06>;
16695eacb24SRex-BC Chen		};
16795eacb24SRex-BC Chen		opp1-1508000000 {
16895eacb24SRex-BC Chen			opp-hz = /bits/ 64 <1508000000>;
16995eacb24SRex-BC Chen			opp-microvolt = <875000>;
17095eacb24SRex-BC Chen			required-opps = <&opp2_07>;
17195eacb24SRex-BC Chen		};
17295eacb24SRex-BC Chen		opp1-1586000000 {
17395eacb24SRex-BC Chen			opp-hz = /bits/ 64 <1586000000>;
17495eacb24SRex-BC Chen			opp-microvolt = <900000>;
17595eacb24SRex-BC Chen			required-opps = <&opp2_08>;
17695eacb24SRex-BC Chen		};
17795eacb24SRex-BC Chen		opp1-1625000000 {
17895eacb24SRex-BC Chen			opp-hz = /bits/ 64 <1625000000>;
17995eacb24SRex-BC Chen			opp-microvolt = <912500>;
18095eacb24SRex-BC Chen			required-opps = <&opp2_09>;
18195eacb24SRex-BC Chen		};
18295eacb24SRex-BC Chen		opp1-1677000000 {
18395eacb24SRex-BC Chen			opp-hz = /bits/ 64 <1677000000>;
18495eacb24SRex-BC Chen			opp-microvolt = <931250>;
18595eacb24SRex-BC Chen			required-opps = <&opp2_10>;
18695eacb24SRex-BC Chen		};
18795eacb24SRex-BC Chen		opp1-1716000000 {
18895eacb24SRex-BC Chen			opp-hz = /bits/ 64 <1716000000>;
18995eacb24SRex-BC Chen			opp-microvolt = <950000>;
19095eacb24SRex-BC Chen			required-opps = <&opp2_11>;
19195eacb24SRex-BC Chen		};
19295eacb24SRex-BC Chen		opp1-1781000000 {
19395eacb24SRex-BC Chen			opp-hz = /bits/ 64 <1781000000>;
19495eacb24SRex-BC Chen			opp-microvolt = <975000>;
19595eacb24SRex-BC Chen			required-opps = <&opp2_12>;
19695eacb24SRex-BC Chen		};
19795eacb24SRex-BC Chen		opp1-1846000000 {
19895eacb24SRex-BC Chen			opp-hz = /bits/ 64 <1846000000>;
19995eacb24SRex-BC Chen			opp-microvolt = <1000000>;
20095eacb24SRex-BC Chen			required-opps = <&opp2_13>;
20195eacb24SRex-BC Chen		};
20295eacb24SRex-BC Chen		opp1-1924000000 {
20395eacb24SRex-BC Chen			opp-hz = /bits/ 64 <1924000000>;
20495eacb24SRex-BC Chen			opp-microvolt = <1025000>;
20595eacb24SRex-BC Chen			required-opps = <&opp2_14>;
20695eacb24SRex-BC Chen		};
20795eacb24SRex-BC Chen		opp1-1989000000 {
20895eacb24SRex-BC Chen			opp-hz = /bits/ 64 <1989000000>;
20995eacb24SRex-BC Chen			opp-microvolt = <1050000>;
21095eacb24SRex-BC Chen			required-opps = <&opp2_15>;
21195eacb24SRex-BC Chen		};
21295eacb24SRex-BC Chen	};
21395eacb24SRex-BC Chen
21495eacb24SRex-BC Chen	cci_opp: opp-table-cci {
21595eacb24SRex-BC Chen		compatible = "operating-points-v2";
21695eacb24SRex-BC Chen		opp-shared;
21795eacb24SRex-BC Chen		opp2_00: opp-273000000 {
21895eacb24SRex-BC Chen			opp-hz = /bits/ 64 <273000000>;
21995eacb24SRex-BC Chen			opp-microvolt = <650000>;
22095eacb24SRex-BC Chen		};
22195eacb24SRex-BC Chen		opp2_01: opp-338000000 {
22295eacb24SRex-BC Chen			opp-hz = /bits/ 64 <338000000>;
22395eacb24SRex-BC Chen			opp-microvolt = <687500>;
22495eacb24SRex-BC Chen		};
22595eacb24SRex-BC Chen		opp2_02: opp-403000000 {
22695eacb24SRex-BC Chen			opp-hz = /bits/ 64 <403000000>;
22795eacb24SRex-BC Chen			opp-microvolt = <718750>;
22895eacb24SRex-BC Chen		};
22995eacb24SRex-BC Chen		opp2_03: opp-463000000 {
23095eacb24SRex-BC Chen			opp-hz = /bits/ 64 <463000000>;
23195eacb24SRex-BC Chen			opp-microvolt = <756250>;
23295eacb24SRex-BC Chen		};
23395eacb24SRex-BC Chen		opp2_04: opp-546000000 {
23495eacb24SRex-BC Chen			opp-hz = /bits/ 64 <546000000>;
23595eacb24SRex-BC Chen			opp-microvolt = <800000>;
23695eacb24SRex-BC Chen		};
23795eacb24SRex-BC Chen		opp2_05: opp-624000000 {
23895eacb24SRex-BC Chen			opp-hz = /bits/ 64 <624000000>;
23995eacb24SRex-BC Chen			opp-microvolt = <818750>;
24095eacb24SRex-BC Chen		};
24195eacb24SRex-BC Chen		opp2_06: opp-689000000 {
24295eacb24SRex-BC Chen			opp-hz = /bits/ 64 <689000000>;
24395eacb24SRex-BC Chen			opp-microvolt = <850000>;
24495eacb24SRex-BC Chen		};
24595eacb24SRex-BC Chen		opp2_07: opp-767000000 {
24695eacb24SRex-BC Chen			opp-hz = /bits/ 64 <767000000>;
24795eacb24SRex-BC Chen			opp-microvolt = <868750>;
24895eacb24SRex-BC Chen		};
24995eacb24SRex-BC Chen		opp2_08: opp-845000000 {
25095eacb24SRex-BC Chen			opp-hz = /bits/ 64 <845000000>;
25195eacb24SRex-BC Chen			opp-microvolt = <893750>;
25295eacb24SRex-BC Chen		};
25395eacb24SRex-BC Chen		opp2_09: opp-871000000 {
25495eacb24SRex-BC Chen			opp-hz = /bits/ 64 <871000000>;
25595eacb24SRex-BC Chen			opp-microvolt = <906250>;
25695eacb24SRex-BC Chen		};
25795eacb24SRex-BC Chen		opp2_10: opp-923000000 {
25895eacb24SRex-BC Chen			opp-hz = /bits/ 64 <923000000>;
25995eacb24SRex-BC Chen			opp-microvolt = <931250>;
26095eacb24SRex-BC Chen		};
26195eacb24SRex-BC Chen		opp2_11: opp-962000000 {
26295eacb24SRex-BC Chen			opp-hz = /bits/ 64 <962000000>;
26395eacb24SRex-BC Chen			opp-microvolt = <943750>;
26495eacb24SRex-BC Chen		};
26595eacb24SRex-BC Chen		opp2_12: opp-1027000000 {
26695eacb24SRex-BC Chen			opp-hz = /bits/ 64 <1027000000>;
26795eacb24SRex-BC Chen			opp-microvolt = <975000>;
26895eacb24SRex-BC Chen		};
26995eacb24SRex-BC Chen		opp2_13: opp-1092000000 {
27095eacb24SRex-BC Chen			opp-hz = /bits/ 64 <1092000000>;
27195eacb24SRex-BC Chen			opp-microvolt = <1000000>;
27295eacb24SRex-BC Chen		};
27395eacb24SRex-BC Chen		opp2_14: opp-1144000000 {
27495eacb24SRex-BC Chen			opp-hz = /bits/ 64 <1144000000>;
27595eacb24SRex-BC Chen			opp-microvolt = <1025000>;
27695eacb24SRex-BC Chen		};
27795eacb24SRex-BC Chen		opp2_15: opp-1196000000 {
27895eacb24SRex-BC Chen			opp-hz = /bits/ 64 <1196000000>;
27995eacb24SRex-BC Chen			opp-microvolt = <1050000>;
28095eacb24SRex-BC Chen		};
28195eacb24SRex-BC Chen	};
28295eacb24SRex-BC Chen
283f3ceebebSRex-BC Chen	cci: cci {
284f3ceebebSRex-BC Chen		compatible = "mediatek,mt8183-cci";
285f3ceebebSRex-BC Chen		clocks = <&mcucfg CLK_MCU_BUS_SEL>,
286f3ceebebSRex-BC Chen			 <&topckgen CLK_TOP_ARMPLL_DIV_PLL1>;
287f3ceebebSRex-BC Chen		clock-names = "cci", "intermediate";
288f3ceebebSRex-BC Chen		operating-points-v2 = <&cci_opp>;
289f3ceebebSRex-BC Chen	};
290f3ceebebSRex-BC Chen
291e526c9bcSBen Ho	cpus {
292e526c9bcSBen Ho		#address-cells = <1>;
293e526c9bcSBen Ho		#size-cells = <0>;
294e526c9bcSBen Ho
295e526c9bcSBen Ho		cpu-map {
296e526c9bcSBen Ho			cluster0 {
297e526c9bcSBen Ho				core0 {
298e526c9bcSBen Ho					cpu = <&cpu0>;
299e526c9bcSBen Ho				};
300e526c9bcSBen Ho				core1 {
301e526c9bcSBen Ho					cpu = <&cpu1>;
302e526c9bcSBen Ho				};
303e526c9bcSBen Ho				core2 {
304e526c9bcSBen Ho					cpu = <&cpu2>;
305e526c9bcSBen Ho				};
306e526c9bcSBen Ho				core3 {
307e526c9bcSBen Ho					cpu = <&cpu3>;
308e526c9bcSBen Ho				};
309e526c9bcSBen Ho			};
310e526c9bcSBen Ho
311e526c9bcSBen Ho			cluster1 {
312e526c9bcSBen Ho				core0 {
313e526c9bcSBen Ho					cpu = <&cpu4>;
314e526c9bcSBen Ho				};
315e526c9bcSBen Ho				core1 {
316e526c9bcSBen Ho					cpu = <&cpu5>;
317e526c9bcSBen Ho				};
318e526c9bcSBen Ho				core2 {
319e526c9bcSBen Ho					cpu = <&cpu6>;
320e526c9bcSBen Ho				};
321e526c9bcSBen Ho				core3 {
322e526c9bcSBen Ho					cpu = <&cpu7>;
323e526c9bcSBen Ho				};
324e526c9bcSBen Ho			};
325e526c9bcSBen Ho		};
326e526c9bcSBen Ho
327e526c9bcSBen Ho		cpu0: cpu@0 {
328e526c9bcSBen Ho			device_type = "cpu";
329e526c9bcSBen Ho			compatible = "arm,cortex-a53";
330e526c9bcSBen Ho			reg = <0x000>;
331e526c9bcSBen Ho			enable-method = "psci";
332cc216dfdSHsin-Yi, Wang			capacity-dmips-mhz = <741>;
3336b552975SIkjoon Jang			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP0>;
33495eacb24SRex-BC Chen			clocks = <&mcucfg CLK_MCU_MP0_SEL>,
33595eacb24SRex-BC Chen				 <&topckgen CLK_TOP_ARMPLL_DIV_PLL1>;
33695eacb24SRex-BC Chen			clock-names = "cpu", "intermediate";
33795eacb24SRex-BC Chen			operating-points-v2 = <&cluster0_opp>;
338cc10317dSmichael.kao			dynamic-power-coefficient = <84>;
33934a39d47SAngeloGioacchino Del Regno			i-cache-size = <32768>;
34034a39d47SAngeloGioacchino Del Regno			i-cache-line-size = <64>;
34134a39d47SAngeloGioacchino Del Regno			i-cache-sets = <256>;
34234a39d47SAngeloGioacchino Del Regno			d-cache-size = <32768>;
34334a39d47SAngeloGioacchino Del Regno			d-cache-line-size = <64>;
34434a39d47SAngeloGioacchino Del Regno			d-cache-sets = <128>;
34534a39d47SAngeloGioacchino Del Regno			next-level-cache = <&l2_0>;
3465323e0faSmichael.kao			#cooling-cells = <2>;
34768163cd1SRex-BC Chen			mediatek,cci = <&cci>;
348e526c9bcSBen Ho		};
349e526c9bcSBen Ho
350e526c9bcSBen Ho		cpu1: cpu@1 {
351e526c9bcSBen Ho			device_type = "cpu";
352e526c9bcSBen Ho			compatible = "arm,cortex-a53";
353e526c9bcSBen Ho			reg = <0x001>;
354e526c9bcSBen Ho			enable-method = "psci";
355cc216dfdSHsin-Yi, Wang			capacity-dmips-mhz = <741>;
3566b552975SIkjoon Jang			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP0>;
35795eacb24SRex-BC Chen			clocks = <&mcucfg CLK_MCU_MP0_SEL>,
35895eacb24SRex-BC Chen				 <&topckgen CLK_TOP_ARMPLL_DIV_PLL1>;
35995eacb24SRex-BC Chen			clock-names = "cpu", "intermediate";
36095eacb24SRex-BC Chen			operating-points-v2 = <&cluster0_opp>;
361cc10317dSmichael.kao			dynamic-power-coefficient = <84>;
36234a39d47SAngeloGioacchino Del Regno			i-cache-size = <32768>;
36334a39d47SAngeloGioacchino Del Regno			i-cache-line-size = <64>;
36434a39d47SAngeloGioacchino Del Regno			i-cache-sets = <256>;
36534a39d47SAngeloGioacchino Del Regno			d-cache-size = <32768>;
36634a39d47SAngeloGioacchino Del Regno			d-cache-line-size = <64>;
36734a39d47SAngeloGioacchino Del Regno			d-cache-sets = <128>;
36834a39d47SAngeloGioacchino Del Regno			next-level-cache = <&l2_0>;
3695323e0faSmichael.kao			#cooling-cells = <2>;
37068163cd1SRex-BC Chen			mediatek,cci = <&cci>;
371e526c9bcSBen Ho		};
372e526c9bcSBen Ho
373e526c9bcSBen Ho		cpu2: cpu@2 {
374e526c9bcSBen Ho			device_type = "cpu";
375e526c9bcSBen Ho			compatible = "arm,cortex-a53";
376e526c9bcSBen Ho			reg = <0x002>;
377e526c9bcSBen Ho			enable-method = "psci";
378cc216dfdSHsin-Yi, Wang			capacity-dmips-mhz = <741>;
3796b552975SIkjoon Jang			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP0>;
38095eacb24SRex-BC Chen			clocks = <&mcucfg CLK_MCU_MP0_SEL>,
38195eacb24SRex-BC Chen				 <&topckgen CLK_TOP_ARMPLL_DIV_PLL1>;
38295eacb24SRex-BC Chen			clock-names = "cpu", "intermediate";
38395eacb24SRex-BC Chen			operating-points-v2 = <&cluster0_opp>;
384cc10317dSmichael.kao			dynamic-power-coefficient = <84>;
38534a39d47SAngeloGioacchino Del Regno			i-cache-size = <32768>;
38634a39d47SAngeloGioacchino Del Regno			i-cache-line-size = <64>;
38734a39d47SAngeloGioacchino Del Regno			i-cache-sets = <256>;
38834a39d47SAngeloGioacchino Del Regno			d-cache-size = <32768>;
38934a39d47SAngeloGioacchino Del Regno			d-cache-line-size = <64>;
39034a39d47SAngeloGioacchino Del Regno			d-cache-sets = <128>;
39134a39d47SAngeloGioacchino Del Regno			next-level-cache = <&l2_0>;
3925323e0faSmichael.kao			#cooling-cells = <2>;
39368163cd1SRex-BC Chen			mediatek,cci = <&cci>;
394e526c9bcSBen Ho		};
395e526c9bcSBen Ho
396e526c9bcSBen Ho		cpu3: cpu@3 {
397e526c9bcSBen Ho			device_type = "cpu";
398e526c9bcSBen Ho			compatible = "arm,cortex-a53";
399e526c9bcSBen Ho			reg = <0x003>;
400e526c9bcSBen Ho			enable-method = "psci";
401cc216dfdSHsin-Yi, Wang			capacity-dmips-mhz = <741>;
4026b552975SIkjoon Jang			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP0>;
40395eacb24SRex-BC Chen			clocks = <&mcucfg CLK_MCU_MP0_SEL>,
40495eacb24SRex-BC Chen				 <&topckgen CLK_TOP_ARMPLL_DIV_PLL1>;
40595eacb24SRex-BC Chen			clock-names = "cpu", "intermediate";
40695eacb24SRex-BC Chen			operating-points-v2 = <&cluster0_opp>;
407cc10317dSmichael.kao			dynamic-power-coefficient = <84>;
40834a39d47SAngeloGioacchino Del Regno			i-cache-size = <32768>;
40934a39d47SAngeloGioacchino Del Regno			i-cache-line-size = <64>;
41034a39d47SAngeloGioacchino Del Regno			i-cache-sets = <256>;
41134a39d47SAngeloGioacchino Del Regno			d-cache-size = <32768>;
41234a39d47SAngeloGioacchino Del Regno			d-cache-line-size = <64>;
41334a39d47SAngeloGioacchino Del Regno			d-cache-sets = <128>;
41434a39d47SAngeloGioacchino Del Regno			next-level-cache = <&l2_0>;
4155323e0faSmichael.kao			#cooling-cells = <2>;
41668163cd1SRex-BC Chen			mediatek,cci = <&cci>;
417e526c9bcSBen Ho		};
418e526c9bcSBen Ho
419e526c9bcSBen Ho		cpu4: cpu@100 {
420e526c9bcSBen Ho			device_type = "cpu";
421e526c9bcSBen Ho			compatible = "arm,cortex-a73";
422e526c9bcSBen Ho			reg = <0x100>;
423e526c9bcSBen Ho			enable-method = "psci";
424cc216dfdSHsin-Yi, Wang			capacity-dmips-mhz = <1024>;
4256b552975SIkjoon Jang			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP1>;
42695eacb24SRex-BC Chen			clocks = <&mcucfg CLK_MCU_MP2_SEL>,
42795eacb24SRex-BC Chen				 <&topckgen CLK_TOP_ARMPLL_DIV_PLL1>;
42895eacb24SRex-BC Chen			clock-names = "cpu", "intermediate";
42995eacb24SRex-BC Chen			operating-points-v2 = <&cluster1_opp>;
430cc10317dSmichael.kao			dynamic-power-coefficient = <211>;
43134a39d47SAngeloGioacchino Del Regno			i-cache-size = <65536>;
43234a39d47SAngeloGioacchino Del Regno			i-cache-line-size = <64>;
43334a39d47SAngeloGioacchino Del Regno			i-cache-sets = <256>;
43434a39d47SAngeloGioacchino Del Regno			d-cache-size = <65536>;
43534a39d47SAngeloGioacchino Del Regno			d-cache-line-size = <64>;
43634a39d47SAngeloGioacchino Del Regno			d-cache-sets = <256>;
43734a39d47SAngeloGioacchino Del Regno			next-level-cache = <&l2_1>;
4385323e0faSmichael.kao			#cooling-cells = <2>;
43968163cd1SRex-BC Chen			mediatek,cci = <&cci>;
440e526c9bcSBen Ho		};
441e526c9bcSBen Ho
442e526c9bcSBen Ho		cpu5: cpu@101 {
443e526c9bcSBen Ho			device_type = "cpu";
444e526c9bcSBen Ho			compatible = "arm,cortex-a73";
445e526c9bcSBen Ho			reg = <0x101>;
446e526c9bcSBen Ho			enable-method = "psci";
447cc216dfdSHsin-Yi, Wang			capacity-dmips-mhz = <1024>;
4486b552975SIkjoon Jang			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP1>;
44995eacb24SRex-BC Chen			clocks = <&mcucfg CLK_MCU_MP2_SEL>,
45095eacb24SRex-BC Chen				 <&topckgen CLK_TOP_ARMPLL_DIV_PLL1>;
45195eacb24SRex-BC Chen			clock-names = "cpu", "intermediate";
45295eacb24SRex-BC Chen			operating-points-v2 = <&cluster1_opp>;
453cc10317dSmichael.kao			dynamic-power-coefficient = <211>;
45434a39d47SAngeloGioacchino Del Regno			i-cache-size = <65536>;
45534a39d47SAngeloGioacchino Del Regno			i-cache-line-size = <64>;
45634a39d47SAngeloGioacchino Del Regno			i-cache-sets = <256>;
45734a39d47SAngeloGioacchino Del Regno			d-cache-size = <65536>;
45834a39d47SAngeloGioacchino Del Regno			d-cache-line-size = <64>;
45934a39d47SAngeloGioacchino Del Regno			d-cache-sets = <256>;
46034a39d47SAngeloGioacchino Del Regno			next-level-cache = <&l2_1>;
4615323e0faSmichael.kao			#cooling-cells = <2>;
46268163cd1SRex-BC Chen			mediatek,cci = <&cci>;
463e526c9bcSBen Ho		};
464e526c9bcSBen Ho
465e526c9bcSBen Ho		cpu6: cpu@102 {
466e526c9bcSBen Ho			device_type = "cpu";
467e526c9bcSBen Ho			compatible = "arm,cortex-a73";
468e526c9bcSBen Ho			reg = <0x102>;
469e526c9bcSBen Ho			enable-method = "psci";
470cc216dfdSHsin-Yi, Wang			capacity-dmips-mhz = <1024>;
4716b552975SIkjoon Jang			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP1>;
47295eacb24SRex-BC Chen			clocks = <&mcucfg CLK_MCU_MP2_SEL>,
47395eacb24SRex-BC Chen				 <&topckgen CLK_TOP_ARMPLL_DIV_PLL1>;
47495eacb24SRex-BC Chen			clock-names = "cpu", "intermediate";
47595eacb24SRex-BC Chen			operating-points-v2 = <&cluster1_opp>;
476cc10317dSmichael.kao			dynamic-power-coefficient = <211>;
47734a39d47SAngeloGioacchino Del Regno			i-cache-size = <65536>;
47834a39d47SAngeloGioacchino Del Regno			i-cache-line-size = <64>;
47934a39d47SAngeloGioacchino Del Regno			i-cache-sets = <256>;
48034a39d47SAngeloGioacchino Del Regno			d-cache-size = <65536>;
48134a39d47SAngeloGioacchino Del Regno			d-cache-line-size = <64>;
48234a39d47SAngeloGioacchino Del Regno			d-cache-sets = <256>;
48334a39d47SAngeloGioacchino Del Regno			next-level-cache = <&l2_1>;
4845323e0faSmichael.kao			#cooling-cells = <2>;
48568163cd1SRex-BC Chen			mediatek,cci = <&cci>;
486e526c9bcSBen Ho		};
487e526c9bcSBen Ho
488e526c9bcSBen Ho		cpu7: cpu@103 {
489e526c9bcSBen Ho			device_type = "cpu";
490e526c9bcSBen Ho			compatible = "arm,cortex-a73";
491e526c9bcSBen Ho			reg = <0x103>;
492e526c9bcSBen Ho			enable-method = "psci";
493cc216dfdSHsin-Yi, Wang			capacity-dmips-mhz = <1024>;
4946b552975SIkjoon Jang			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP1>;
49595eacb24SRex-BC Chen			clocks = <&mcucfg CLK_MCU_MP2_SEL>,
49695eacb24SRex-BC Chen				 <&topckgen CLK_TOP_ARMPLL_DIV_PLL1>;
49795eacb24SRex-BC Chen			clock-names = "cpu", "intermediate";
49895eacb24SRex-BC Chen			operating-points-v2 = <&cluster1_opp>;
499cc10317dSmichael.kao			dynamic-power-coefficient = <211>;
50034a39d47SAngeloGioacchino Del Regno			i-cache-size = <65536>;
50134a39d47SAngeloGioacchino Del Regno			i-cache-line-size = <64>;
50234a39d47SAngeloGioacchino Del Regno			i-cache-sets = <256>;
50334a39d47SAngeloGioacchino Del Regno			d-cache-size = <65536>;
50434a39d47SAngeloGioacchino Del Regno			d-cache-line-size = <64>;
50534a39d47SAngeloGioacchino Del Regno			d-cache-sets = <256>;
50634a39d47SAngeloGioacchino Del Regno			next-level-cache = <&l2_1>;
5075323e0faSmichael.kao			#cooling-cells = <2>;
50868163cd1SRex-BC Chen			mediatek,cci = <&cci>;
5096be021b1SJames Liao		};
5106be021b1SJames Liao
5116be021b1SJames Liao		idle-states {
5126be021b1SJames Liao			entry-method = "psci";
5136be021b1SJames Liao
5146be021b1SJames Liao			CPU_SLEEP: cpu-sleep {
5156be021b1SJames Liao				compatible = "arm,idle-state";
5166be021b1SJames Liao				local-timer-stop;
5176be021b1SJames Liao				arm,psci-suspend-param = <0x00010001>;
5186be021b1SJames Liao				entry-latency-us = <200>;
5196be021b1SJames Liao				exit-latency-us = <200>;
5206be021b1SJames Liao				min-residency-us = <800>;
5216be021b1SJames Liao			};
5226be021b1SJames Liao
5232a7abd3eSEnric Balletbo i Serra			CLUSTER_SLEEP0: cluster-sleep-0 {
5246b552975SIkjoon Jang				compatible = "arm,idle-state";
5256b552975SIkjoon Jang				local-timer-stop;
5266b552975SIkjoon Jang				arm,psci-suspend-param = <0x01010001>;
5276b552975SIkjoon Jang				entry-latency-us = <250>;
5286b552975SIkjoon Jang				exit-latency-us = <400>;
5296b552975SIkjoon Jang				min-residency-us = <1000>;
5306b552975SIkjoon Jang			};
5312a7abd3eSEnric Balletbo i Serra			CLUSTER_SLEEP1: cluster-sleep-1 {
5326be021b1SJames Liao				compatible = "arm,idle-state";
5336be021b1SJames Liao				local-timer-stop;
5346be021b1SJames Liao				arm,psci-suspend-param = <0x01010001>;
5356be021b1SJames Liao				entry-latency-us = <250>;
5366be021b1SJames Liao				exit-latency-us = <400>;
5376be021b1SJames Liao				min-residency-us = <1300>;
5386be021b1SJames Liao			};
539e526c9bcSBen Ho		};
54034a39d47SAngeloGioacchino Del Regno
54134a39d47SAngeloGioacchino Del Regno		l2_0: l2-cache0 {
54234a39d47SAngeloGioacchino Del Regno			compatible = "cache";
54334a39d47SAngeloGioacchino Del Regno			cache-level = <2>;
54434a39d47SAngeloGioacchino Del Regno			cache-size = <1048576>;
54534a39d47SAngeloGioacchino Del Regno			cache-line-size = <64>;
54634a39d47SAngeloGioacchino Del Regno			cache-sets = <1024>;
54734a39d47SAngeloGioacchino Del Regno			cache-unified;
54834a39d47SAngeloGioacchino Del Regno		};
54934a39d47SAngeloGioacchino Del Regno
55034a39d47SAngeloGioacchino Del Regno		l2_1: l2-cache1 {
55134a39d47SAngeloGioacchino Del Regno			compatible = "cache";
55234a39d47SAngeloGioacchino Del Regno			cache-level = <2>;
55334a39d47SAngeloGioacchino Del Regno			cache-size = <1048576>;
55434a39d47SAngeloGioacchino Del Regno			cache-line-size = <64>;
55534a39d47SAngeloGioacchino Del Regno			cache-sets = <1024>;
55634a39d47SAngeloGioacchino Del Regno			cache-unified;
55734a39d47SAngeloGioacchino Del Regno		};
558e526c9bcSBen Ho	};
559e526c9bcSBen Ho
5606f117db4SKrzysztof Kozlowski	gpu_opp_table: opp-table-0 {
561a8168cebSNicolas Boichat		compatible = "operating-points-v2";
562a8168cebSNicolas Boichat		opp-shared;
563a8168cebSNicolas Boichat
564a8168cebSNicolas Boichat		opp-300000000 {
565a8168cebSNicolas Boichat			opp-hz = /bits/ 64 <300000000>;
566dbe602b2SAngeloGioacchino Del Regno			opp-microvolt = <625000>;
567a8168cebSNicolas Boichat		};
568a8168cebSNicolas Boichat
569a8168cebSNicolas Boichat		opp-320000000 {
570a8168cebSNicolas Boichat			opp-hz = /bits/ 64 <320000000>;
571dbe602b2SAngeloGioacchino Del Regno			opp-microvolt = <631250>;
572a8168cebSNicolas Boichat		};
573a8168cebSNicolas Boichat
574a8168cebSNicolas Boichat		opp-340000000 {
575a8168cebSNicolas Boichat			opp-hz = /bits/ 64 <340000000>;
576dbe602b2SAngeloGioacchino Del Regno			opp-microvolt = <637500>;
577a8168cebSNicolas Boichat		};
578a8168cebSNicolas Boichat
579a8168cebSNicolas Boichat		opp-360000000 {
580a8168cebSNicolas Boichat			opp-hz = /bits/ 64 <360000000>;
581dbe602b2SAngeloGioacchino Del Regno			opp-microvolt = <643750>;
582a8168cebSNicolas Boichat		};
583a8168cebSNicolas Boichat
584a8168cebSNicolas Boichat		opp-380000000 {
585a8168cebSNicolas Boichat			opp-hz = /bits/ 64 <380000000>;
586dbe602b2SAngeloGioacchino Del Regno			opp-microvolt = <650000>;
587a8168cebSNicolas Boichat		};
588a8168cebSNicolas Boichat
589a8168cebSNicolas Boichat		opp-400000000 {
590a8168cebSNicolas Boichat			opp-hz = /bits/ 64 <400000000>;
591dbe602b2SAngeloGioacchino Del Regno			opp-microvolt = <656250>;
592a8168cebSNicolas Boichat		};
593a8168cebSNicolas Boichat
594a8168cebSNicolas Boichat		opp-420000000 {
595a8168cebSNicolas Boichat			opp-hz = /bits/ 64 <420000000>;
596dbe602b2SAngeloGioacchino Del Regno			opp-microvolt = <662500>;
597a8168cebSNicolas Boichat		};
598a8168cebSNicolas Boichat
599a8168cebSNicolas Boichat		opp-460000000 {
600a8168cebSNicolas Boichat			opp-hz = /bits/ 64 <460000000>;
601dbe602b2SAngeloGioacchino Del Regno			opp-microvolt = <675000>;
602a8168cebSNicolas Boichat		};
603a8168cebSNicolas Boichat
604a8168cebSNicolas Boichat		opp-500000000 {
605a8168cebSNicolas Boichat			opp-hz = /bits/ 64 <500000000>;
606dbe602b2SAngeloGioacchino Del Regno			opp-microvolt = <687500>;
607a8168cebSNicolas Boichat		};
608a8168cebSNicolas Boichat
609a8168cebSNicolas Boichat		opp-540000000 {
610a8168cebSNicolas Boichat			opp-hz = /bits/ 64 <540000000>;
611dbe602b2SAngeloGioacchino Del Regno			opp-microvolt = <700000>;
612a8168cebSNicolas Boichat		};
613a8168cebSNicolas Boichat
614a8168cebSNicolas Boichat		opp-580000000 {
615a8168cebSNicolas Boichat			opp-hz = /bits/ 64 <580000000>;
616dbe602b2SAngeloGioacchino Del Regno			opp-microvolt = <712500>;
617a8168cebSNicolas Boichat		};
618a8168cebSNicolas Boichat
619a8168cebSNicolas Boichat		opp-620000000 {
620a8168cebSNicolas Boichat			opp-hz = /bits/ 64 <620000000>;
621dbe602b2SAngeloGioacchino Del Regno			opp-microvolt = <725000>;
622a8168cebSNicolas Boichat		};
623a8168cebSNicolas Boichat
624a8168cebSNicolas Boichat		opp-653000000 {
625a8168cebSNicolas Boichat			opp-hz = /bits/ 64 <653000000>;
626dbe602b2SAngeloGioacchino Del Regno			opp-microvolt = <743750>;
627a8168cebSNicolas Boichat		};
628a8168cebSNicolas Boichat
629a8168cebSNicolas Boichat		opp-698000000 {
630a8168cebSNicolas Boichat			opp-hz = /bits/ 64 <698000000>;
631dbe602b2SAngeloGioacchino Del Regno			opp-microvolt = <768750>;
632a8168cebSNicolas Boichat		};
633a8168cebSNicolas Boichat
634a8168cebSNicolas Boichat		opp-743000000 {
635a8168cebSNicolas Boichat			opp-hz = /bits/ 64 <743000000>;
636dbe602b2SAngeloGioacchino Del Regno			opp-microvolt = <793750>;
637a8168cebSNicolas Boichat		};
638a8168cebSNicolas Boichat
639a8168cebSNicolas Boichat		opp-800000000 {
640a8168cebSNicolas Boichat			opp-hz = /bits/ 64 <800000000>;
641dbe602b2SAngeloGioacchino Del Regno			opp-microvolt = <825000>;
642a8168cebSNicolas Boichat		};
643a8168cebSNicolas Boichat	};
644a8168cebSNicolas Boichat
645e526c9bcSBen Ho	pmu-a53 {
646e526c9bcSBen Ho		compatible = "arm,cortex-a53-pmu";
647e526c9bcSBen Ho		interrupt-parent = <&gic>;
648e526c9bcSBen Ho		interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_LOW &ppi_cluster0>;
649e526c9bcSBen Ho	};
650e526c9bcSBen Ho
651e526c9bcSBen Ho	pmu-a73 {
652e526c9bcSBen Ho		compatible = "arm,cortex-a73-pmu";
653e526c9bcSBen Ho		interrupt-parent = <&gic>;
654e526c9bcSBen Ho		interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_LOW &ppi_cluster1>;
655e526c9bcSBen Ho	};
656e526c9bcSBen Ho
657e526c9bcSBen Ho	psci {
658e526c9bcSBen Ho		compatible = "arm,psci-1.0";
659e526c9bcSBen Ho		method = "smc";
660e526c9bcSBen Ho	};
661e526c9bcSBen Ho
662ce8a06b5SChen-Yu Tsai	clk13m: fixed-factor-clock-13m {
663ce8a06b5SChen-Yu Tsai		compatible = "fixed-factor-clock";
664ce8a06b5SChen-Yu Tsai		#clock-cells = <0>;
665ce8a06b5SChen-Yu Tsai		clocks = <&clk26m>;
666ce8a06b5SChen-Yu Tsai		clock-div = <2>;
667ce8a06b5SChen-Yu Tsai		clock-mult = <1>;
668ce8a06b5SChen-Yu Tsai		clock-output-names = "clk13m";
669ce8a06b5SChen-Yu Tsai	};
670ce8a06b5SChen-Yu Tsai
671e526c9bcSBen Ho	clk26m: oscillator {
672e526c9bcSBen Ho		compatible = "fixed-clock";
673e526c9bcSBen Ho		#clock-cells = <0>;
674e526c9bcSBen Ho		clock-frequency = <26000000>;
675e526c9bcSBen Ho		clock-output-names = "clk26m";
676e526c9bcSBen Ho	};
677e526c9bcSBen Ho
678e526c9bcSBen Ho	timer {
679e526c9bcSBen Ho		compatible = "arm,armv8-timer";
680e526c9bcSBen Ho		interrupt-parent = <&gic>;
681e526c9bcSBen Ho		interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW 0>,
682e526c9bcSBen Ho			     <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW 0>,
683e526c9bcSBen Ho			     <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW 0>,
684e526c9bcSBen Ho			     <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW 0>;
685e526c9bcSBen Ho	};
686e526c9bcSBen Ho
687e526c9bcSBen Ho	soc {
688e526c9bcSBen Ho		#address-cells = <2>;
689e526c9bcSBen Ho		#size-cells = <2>;
690e526c9bcSBen Ho		compatible = "simple-bus";
691e526c9bcSBen Ho		ranges;
692e526c9bcSBen Ho
6932208b284SChunfeng Yun		soc_data: efuse@8000000 {
694de103388SMichael Mei			compatible = "mediatek,mt8183-efuse",
695de103388SMichael Mei				     "mediatek,efuse";
696de103388SMichael Mei			reg = <0 0x08000000 0 0x0010>;
697de103388SMichael Mei			#address-cells = <1>;
698de103388SMichael Mei			#size-cells = <1>;
699de103388SMichael Mei			status = "disabled";
700de103388SMichael Mei		};
701de103388SMichael Mei
702e526c9bcSBen Ho		gic: interrupt-controller@c000000 {
703e526c9bcSBen Ho			compatible = "arm,gic-v3";
704e526c9bcSBen Ho			#interrupt-cells = <4>;
705e526c9bcSBen Ho			interrupt-parent = <&gic>;
706e526c9bcSBen Ho			interrupt-controller;
707e526c9bcSBen Ho			reg = <0 0x0c000000 0 0x40000>,  /* GICD */
708e526c9bcSBen Ho			      <0 0x0c100000 0 0x200000>, /* GICR */
709e526c9bcSBen Ho			      <0 0x0c400000 0 0x2000>,   /* GICC */
710e526c9bcSBen Ho			      <0 0x0c410000 0 0x1000>,   /* GICH */
711e526c9bcSBen Ho			      <0 0x0c420000 0 0x2000>;   /* GICV */
712e526c9bcSBen Ho
713e526c9bcSBen Ho			interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH 0>;
714e526c9bcSBen Ho			ppi-partitions {
715e526c9bcSBen Ho				ppi_cluster0: interrupt-partition-0 {
716e526c9bcSBen Ho					affinity = <&cpu0 &cpu1 &cpu2 &cpu3>;
717e526c9bcSBen Ho				};
718e526c9bcSBen Ho				ppi_cluster1: interrupt-partition-1 {
719e526c9bcSBen Ho					affinity = <&cpu4 &cpu5 &cpu6 &cpu7>;
720e526c9bcSBen Ho				};
721e526c9bcSBen Ho			};
722e526c9bcSBen Ho		};
723e526c9bcSBen Ho
724e526c9bcSBen Ho		mcucfg: syscon@c530000 {
725e526c9bcSBen Ho			compatible = "mediatek,mt8183-mcucfg", "syscon";
726e526c9bcSBen Ho			reg = <0 0x0c530000 0 0x1000>;
727e526c9bcSBen Ho			#clock-cells = <1>;
728e526c9bcSBen Ho		};
729e526c9bcSBen Ho
730e526c9bcSBen Ho		sysirq: interrupt-controller@c530a80 {
731e526c9bcSBen Ho			compatible = "mediatek,mt8183-sysirq",
732e526c9bcSBen Ho				     "mediatek,mt6577-sysirq";
733e526c9bcSBen Ho			interrupt-controller;
734e526c9bcSBen Ho			#interrupt-cells = <3>;
735e526c9bcSBen Ho			interrupt-parent = <&gic>;
736e526c9bcSBen Ho			reg = <0 0x0c530a80 0 0x50>;
737e526c9bcSBen Ho		};
738e526c9bcSBen Ho
7397781083fSSeiya Wang		cpu_debug0: cpu-debug@d410000 {
7407781083fSSeiya Wang			compatible = "arm,coresight-cpu-debug", "arm,primecell";
7417781083fSSeiya Wang			reg = <0x0 0xd410000 0x0 0x1000>;
7427781083fSSeiya Wang			clocks = <&infracfg CLK_INFRA_DEBUGSYS>;
7437781083fSSeiya Wang			clock-names = "apb_pclk";
7447781083fSSeiya Wang			cpu = <&cpu0>;
7457781083fSSeiya Wang		};
7467781083fSSeiya Wang
7477781083fSSeiya Wang		cpu_debug1: cpu-debug@d510000 {
7487781083fSSeiya Wang			compatible = "arm,coresight-cpu-debug", "arm,primecell";
7497781083fSSeiya Wang			reg = <0x0 0xd510000 0x0 0x1000>;
7507781083fSSeiya Wang			clocks = <&infracfg CLK_INFRA_DEBUGSYS>;
7517781083fSSeiya Wang			clock-names = "apb_pclk";
7527781083fSSeiya Wang			cpu = <&cpu1>;
7537781083fSSeiya Wang		};
7547781083fSSeiya Wang
7557781083fSSeiya Wang		cpu_debug2: cpu-debug@d610000 {
7567781083fSSeiya Wang			compatible = "arm,coresight-cpu-debug", "arm,primecell";
7577781083fSSeiya Wang			reg = <0x0 0xd610000 0x0 0x1000>;
7587781083fSSeiya Wang			clocks = <&infracfg CLK_INFRA_DEBUGSYS>;
7597781083fSSeiya Wang			clock-names = "apb_pclk";
7607781083fSSeiya Wang			cpu = <&cpu2>;
7617781083fSSeiya Wang		};
7627781083fSSeiya Wang
7637781083fSSeiya Wang		cpu_debug3: cpu-debug@d710000 {
7647781083fSSeiya Wang			compatible = "arm,coresight-cpu-debug", "arm,primecell";
7657781083fSSeiya Wang			reg = <0x0 0xd710000 0x0 0x1000>;
7667781083fSSeiya Wang			clocks = <&infracfg CLK_INFRA_DEBUGSYS>;
7677781083fSSeiya Wang			clock-names = "apb_pclk";
7687781083fSSeiya Wang			cpu = <&cpu3>;
7697781083fSSeiya Wang		};
7707781083fSSeiya Wang
7717781083fSSeiya Wang		cpu_debug4: cpu-debug@d810000 {
7727781083fSSeiya Wang			compatible = "arm,coresight-cpu-debug", "arm,primecell";
7737781083fSSeiya Wang			reg = <0x0 0xd810000 0x0 0x1000>;
7747781083fSSeiya Wang			clocks = <&infracfg CLK_INFRA_DEBUGSYS>;
7757781083fSSeiya Wang			clock-names = "apb_pclk";
7767781083fSSeiya Wang			cpu = <&cpu4>;
7777781083fSSeiya Wang		};
7787781083fSSeiya Wang
7797781083fSSeiya Wang		cpu_debug5: cpu-debug@d910000 {
7807781083fSSeiya Wang			compatible = "arm,coresight-cpu-debug", "arm,primecell";
7817781083fSSeiya Wang			reg = <0x0 0xd910000 0x0 0x1000>;
7827781083fSSeiya Wang			clocks = <&infracfg CLK_INFRA_DEBUGSYS>;
7837781083fSSeiya Wang			clock-names = "apb_pclk";
7847781083fSSeiya Wang			cpu = <&cpu5>;
7857781083fSSeiya Wang		};
7867781083fSSeiya Wang
7877781083fSSeiya Wang		cpu_debug6: cpu-debug@da10000 {
7887781083fSSeiya Wang			compatible = "arm,coresight-cpu-debug", "arm,primecell";
7897781083fSSeiya Wang			reg = <0x0 0xda10000 0x0 0x1000>;
7907781083fSSeiya Wang			clocks = <&infracfg CLK_INFRA_DEBUGSYS>;
7917781083fSSeiya Wang			clock-names = "apb_pclk";
7927781083fSSeiya Wang			cpu = <&cpu6>;
7937781083fSSeiya Wang		};
7947781083fSSeiya Wang
7957781083fSSeiya Wang		cpu_debug7: cpu-debug@db10000 {
7967781083fSSeiya Wang			compatible = "arm,coresight-cpu-debug", "arm,primecell";
7977781083fSSeiya Wang			reg = <0x0 0xdb10000 0x0 0x1000>;
7987781083fSSeiya Wang			clocks = <&infracfg CLK_INFRA_DEBUGSYS>;
7997781083fSSeiya Wang			clock-names = "apb_pclk";
8007781083fSSeiya Wang			cpu = <&cpu7>;
8017781083fSSeiya Wang		};
8027781083fSSeiya Wang
803e526c9bcSBen Ho		topckgen: syscon@10000000 {
804e526c9bcSBen Ho			compatible = "mediatek,mt8183-topckgen", "syscon";
805e526c9bcSBen Ho			reg = <0 0x10000000 0 0x1000>;
806e526c9bcSBen Ho			#clock-cells = <1>;
807e526c9bcSBen Ho		};
808e526c9bcSBen Ho
809e526c9bcSBen Ho		infracfg: syscon@10001000 {
810e526c9bcSBen Ho			compatible = "mediatek,mt8183-infracfg", "syscon";
811e526c9bcSBen Ho			reg = <0 0x10001000 0 0x1000>;
812e526c9bcSBen Ho			#clock-cells = <1>;
813a845ad16Syong.liang			#reset-cells = <1>;
814e526c9bcSBen Ho		};
815e526c9bcSBen Ho
81672704ac6SEnric Balletbo i Serra		pericfg: syscon@10003000 {
81772704ac6SEnric Balletbo i Serra			compatible = "mediatek,mt8183-pericfg", "syscon";
81872704ac6SEnric Balletbo i Serra			reg = <0 0x10003000 0 0x1000>;
81972704ac6SEnric Balletbo i Serra			#clock-cells = <1>;
82072704ac6SEnric Balletbo i Serra		};
82172704ac6SEnric Balletbo i Serra
822da719a35SZhiyong Tao		pio: pinctrl@10005000 {
823da719a35SZhiyong Tao			compatible = "mediatek,mt8183-pinctrl";
824da719a35SZhiyong Tao			reg = <0 0x10005000 0 0x1000>,
825da719a35SZhiyong Tao			      <0 0x11f20000 0 0x1000>,
826da719a35SZhiyong Tao			      <0 0x11e80000 0 0x1000>,
827da719a35SZhiyong Tao			      <0 0x11e70000 0 0x1000>,
828da719a35SZhiyong Tao			      <0 0x11e90000 0 0x1000>,
829da719a35SZhiyong Tao			      <0 0x11d30000 0 0x1000>,
830da719a35SZhiyong Tao			      <0 0x11d20000 0 0x1000>,
831da719a35SZhiyong Tao			      <0 0x11c50000 0 0x1000>,
832da719a35SZhiyong Tao			      <0 0x11f30000 0 0x1000>,
833da719a35SZhiyong Tao			      <0 0x1000b000 0 0x1000>;
834da719a35SZhiyong Tao			reg-names = "iocfg0", "iocfg1", "iocfg2",
835da719a35SZhiyong Tao				    "iocfg3", "iocfg4", "iocfg5",
836da719a35SZhiyong Tao				    "iocfg6", "iocfg7", "iocfg8",
837da719a35SZhiyong Tao				    "eint";
838da719a35SZhiyong Tao			gpio-controller;
839da719a35SZhiyong Tao			#gpio-cells = <2>;
840da719a35SZhiyong Tao			gpio-ranges = <&pio 0 0 192>;
841da719a35SZhiyong Tao			interrupt-controller;
842da719a35SZhiyong Tao			interrupts = <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>;
843da719a35SZhiyong Tao			#interrupt-cells = <2>;
844da719a35SZhiyong Tao		};
845da719a35SZhiyong Tao
84637fb78b9SMatthias Brugger		scpsys: syscon@10006000 {
847d3dfd468STinghan Shen			compatible = "mediatek,mt8183-scpsys", "syscon", "simple-mfd";
84837fb78b9SMatthias Brugger			reg = <0 0x10006000 0 0x1000>;
84937fb78b9SMatthias Brugger
85037fb78b9SMatthias Brugger			/* System Power Manager */
85137fb78b9SMatthias Brugger			spm: power-controller {
85237fb78b9SMatthias Brugger				compatible = "mediatek,mt8183-power-controller";
85337fb78b9SMatthias Brugger				#address-cells = <1>;
85437fb78b9SMatthias Brugger				#size-cells = <0>;
85537fb78b9SMatthias Brugger				#power-domain-cells = <1>;
85637fb78b9SMatthias Brugger
85737fb78b9SMatthias Brugger				/* power domain of the SoC */
85837fb78b9SMatthias Brugger				power-domain@MT8183_POWER_DOMAIN_AUDIO {
85937fb78b9SMatthias Brugger					reg = <MT8183_POWER_DOMAIN_AUDIO>;
86037fb78b9SMatthias Brugger					clocks = <&topckgen CLK_TOP_MUX_AUD_INTBUS>,
86137fb78b9SMatthias Brugger						 <&infracfg CLK_INFRA_AUDIO>,
86237fb78b9SMatthias Brugger						 <&infracfg CLK_INFRA_AUDIO_26M_BCLK>;
86337fb78b9SMatthias Brugger					clock-names = "audio", "audio1", "audio2";
86437fb78b9SMatthias Brugger					#power-domain-cells = <0>;
86537fb78b9SMatthias Brugger				};
86637fb78b9SMatthias Brugger
86737fb78b9SMatthias Brugger				power-domain@MT8183_POWER_DOMAIN_CONN {
86837fb78b9SMatthias Brugger					reg = <MT8183_POWER_DOMAIN_CONN>;
86937fb78b9SMatthias Brugger					mediatek,infracfg = <&infracfg>;
87037fb78b9SMatthias Brugger					#power-domain-cells = <0>;
87137fb78b9SMatthias Brugger				};
87237fb78b9SMatthias Brugger
87363859d71SAngeloGioacchino Del Regno				mfg_async: power-domain@MT8183_POWER_DOMAIN_MFG_ASYNC {
87437fb78b9SMatthias Brugger					reg = <MT8183_POWER_DOMAIN_MFG_ASYNC>;
87537fb78b9SMatthias Brugger					clocks = <&topckgen CLK_TOP_MUX_MFG>;
87637fb78b9SMatthias Brugger					clock-names = "mfg";
87737fb78b9SMatthias Brugger					#address-cells = <1>;
87837fb78b9SMatthias Brugger					#size-cells = <0>;
87937fb78b9SMatthias Brugger					#power-domain-cells = <1>;
88037fb78b9SMatthias Brugger
8819e1b7d00SHsin-Yi Wang					mfg: power-domain@MT8183_POWER_DOMAIN_MFG {
88237fb78b9SMatthias Brugger						reg = <MT8183_POWER_DOMAIN_MFG>;
88337fb78b9SMatthias Brugger						#address-cells = <1>;
88437fb78b9SMatthias Brugger						#size-cells = <0>;
88537fb78b9SMatthias Brugger						#power-domain-cells = <1>;
88637fb78b9SMatthias Brugger
88737fb78b9SMatthias Brugger						power-domain@MT8183_POWER_DOMAIN_MFG_CORE0 {
88837fb78b9SMatthias Brugger							reg = <MT8183_POWER_DOMAIN_MFG_CORE0>;
88937fb78b9SMatthias Brugger							#power-domain-cells = <0>;
89037fb78b9SMatthias Brugger						};
89137fb78b9SMatthias Brugger
89237fb78b9SMatthias Brugger						power-domain@MT8183_POWER_DOMAIN_MFG_CORE1 {
89337fb78b9SMatthias Brugger							reg = <MT8183_POWER_DOMAIN_MFG_CORE1>;
89437fb78b9SMatthias Brugger							#power-domain-cells = <0>;
89537fb78b9SMatthias Brugger						};
89637fb78b9SMatthias Brugger
89737fb78b9SMatthias Brugger						power-domain@MT8183_POWER_DOMAIN_MFG_2D {
89837fb78b9SMatthias Brugger							reg = <MT8183_POWER_DOMAIN_MFG_2D>;
89937fb78b9SMatthias Brugger							mediatek,infracfg = <&infracfg>;
90037fb78b9SMatthias Brugger							#power-domain-cells = <0>;
90137fb78b9SMatthias Brugger						};
90237fb78b9SMatthias Brugger					};
90337fb78b9SMatthias Brugger				};
90437fb78b9SMatthias Brugger
90537fb78b9SMatthias Brugger				power-domain@MT8183_POWER_DOMAIN_DISP {
90637fb78b9SMatthias Brugger					reg = <MT8183_POWER_DOMAIN_DISP>;
90737fb78b9SMatthias Brugger					clocks = <&topckgen CLK_TOP_MUX_MM>,
90837fb78b9SMatthias Brugger						 <&mmsys CLK_MM_SMI_COMMON>,
90937fb78b9SMatthias Brugger						 <&mmsys CLK_MM_SMI_LARB0>,
91037fb78b9SMatthias Brugger						 <&mmsys CLK_MM_SMI_LARB1>,
91137fb78b9SMatthias Brugger						 <&mmsys CLK_MM_GALS_COMM0>,
91237fb78b9SMatthias Brugger						 <&mmsys CLK_MM_GALS_COMM1>,
91337fb78b9SMatthias Brugger						 <&mmsys CLK_MM_GALS_CCU2MM>,
91437fb78b9SMatthias Brugger						 <&mmsys CLK_MM_GALS_IPU12MM>,
91537fb78b9SMatthias Brugger						 <&mmsys CLK_MM_GALS_IMG2MM>,
91637fb78b9SMatthias Brugger						 <&mmsys CLK_MM_GALS_CAM2MM>,
91737fb78b9SMatthias Brugger						 <&mmsys CLK_MM_GALS_IPU2MM>;
91837fb78b9SMatthias Brugger					clock-names = "mm", "mm-0", "mm-1", "mm-2", "mm-3",
91937fb78b9SMatthias Brugger						      "mm-4", "mm-5", "mm-6", "mm-7",
92037fb78b9SMatthias Brugger						      "mm-8", "mm-9";
92137fb78b9SMatthias Brugger					mediatek,infracfg = <&infracfg>;
92237fb78b9SMatthias Brugger					mediatek,smi = <&smi_common>;
92337fb78b9SMatthias Brugger					#address-cells = <1>;
92437fb78b9SMatthias Brugger					#size-cells = <0>;
92537fb78b9SMatthias Brugger					#power-domain-cells = <1>;
92637fb78b9SMatthias Brugger
92737fb78b9SMatthias Brugger					power-domain@MT8183_POWER_DOMAIN_CAM {
92837fb78b9SMatthias Brugger						reg = <MT8183_POWER_DOMAIN_CAM>;
92937fb78b9SMatthias Brugger						clocks = <&topckgen CLK_TOP_MUX_CAM>,
93037fb78b9SMatthias Brugger							 <&camsys CLK_CAM_LARB6>,
93137fb78b9SMatthias Brugger							 <&camsys CLK_CAM_LARB3>,
93237fb78b9SMatthias Brugger							 <&camsys CLK_CAM_SENINF>,
93337fb78b9SMatthias Brugger							 <&camsys CLK_CAM_CAMSV0>,
93437fb78b9SMatthias Brugger							 <&camsys CLK_CAM_CAMSV1>,
93537fb78b9SMatthias Brugger							 <&camsys CLK_CAM_CAMSV2>,
93637fb78b9SMatthias Brugger							 <&camsys CLK_CAM_CCU>;
93737fb78b9SMatthias Brugger						clock-names = "cam", "cam-0", "cam-1",
93837fb78b9SMatthias Brugger							      "cam-2", "cam-3", "cam-4",
93937fb78b9SMatthias Brugger							      "cam-5", "cam-6";
94037fb78b9SMatthias Brugger						mediatek,infracfg = <&infracfg>;
94137fb78b9SMatthias Brugger						mediatek,smi = <&smi_common>;
94237fb78b9SMatthias Brugger						#power-domain-cells = <0>;
94337fb78b9SMatthias Brugger					};
94437fb78b9SMatthias Brugger
94537fb78b9SMatthias Brugger					power-domain@MT8183_POWER_DOMAIN_ISP {
94637fb78b9SMatthias Brugger						reg = <MT8183_POWER_DOMAIN_ISP>;
94737fb78b9SMatthias Brugger						clocks = <&topckgen CLK_TOP_MUX_IMG>,
94837fb78b9SMatthias Brugger							 <&imgsys CLK_IMG_LARB5>,
94937fb78b9SMatthias Brugger							 <&imgsys CLK_IMG_LARB2>;
95037fb78b9SMatthias Brugger						clock-names = "isp", "isp-0", "isp-1";
95137fb78b9SMatthias Brugger						mediatek,infracfg = <&infracfg>;
95237fb78b9SMatthias Brugger						mediatek,smi = <&smi_common>;
95337fb78b9SMatthias Brugger						#power-domain-cells = <0>;
95437fb78b9SMatthias Brugger					};
95537fb78b9SMatthias Brugger
95637fb78b9SMatthias Brugger					power-domain@MT8183_POWER_DOMAIN_VDEC {
95737fb78b9SMatthias Brugger						reg = <MT8183_POWER_DOMAIN_VDEC>;
95837fb78b9SMatthias Brugger						mediatek,smi = <&smi_common>;
95937fb78b9SMatthias Brugger						#power-domain-cells = <0>;
96037fb78b9SMatthias Brugger					};
96137fb78b9SMatthias Brugger
96237fb78b9SMatthias Brugger					power-domain@MT8183_POWER_DOMAIN_VENC {
96337fb78b9SMatthias Brugger						reg = <MT8183_POWER_DOMAIN_VENC>;
96437fb78b9SMatthias Brugger						mediatek,smi = <&smi_common>;
96537fb78b9SMatthias Brugger						#power-domain-cells = <0>;
96637fb78b9SMatthias Brugger					};
96737fb78b9SMatthias Brugger
96837fb78b9SMatthias Brugger					power-domain@MT8183_POWER_DOMAIN_VPU_TOP {
96937fb78b9SMatthias Brugger						reg = <MT8183_POWER_DOMAIN_VPU_TOP>;
97037fb78b9SMatthias Brugger						clocks = <&topckgen CLK_TOP_MUX_IPU_IF>,
97137fb78b9SMatthias Brugger							 <&topckgen CLK_TOP_MUX_DSP>,
97237fb78b9SMatthias Brugger							 <&ipu_conn CLK_IPU_CONN_IPU>,
97337fb78b9SMatthias Brugger							 <&ipu_conn CLK_IPU_CONN_AHB>,
97437fb78b9SMatthias Brugger							 <&ipu_conn CLK_IPU_CONN_AXI>,
97537fb78b9SMatthias Brugger							 <&ipu_conn CLK_IPU_CONN_ISP>,
97637fb78b9SMatthias Brugger							 <&ipu_conn CLK_IPU_CONN_CAM_ADL>,
97737fb78b9SMatthias Brugger							 <&ipu_conn CLK_IPU_CONN_IMG_ADL>;
97837fb78b9SMatthias Brugger						clock-names = "vpu", "vpu1", "vpu-0", "vpu-1",
97937fb78b9SMatthias Brugger							      "vpu-2", "vpu-3", "vpu-4", "vpu-5";
98037fb78b9SMatthias Brugger						mediatek,infracfg = <&infracfg>;
98137fb78b9SMatthias Brugger						mediatek,smi = <&smi_common>;
98237fb78b9SMatthias Brugger						#address-cells = <1>;
98337fb78b9SMatthias Brugger						#size-cells = <0>;
98437fb78b9SMatthias Brugger						#power-domain-cells = <1>;
98537fb78b9SMatthias Brugger
98637fb78b9SMatthias Brugger						power-domain@MT8183_POWER_DOMAIN_VPU_CORE0 {
98737fb78b9SMatthias Brugger							reg = <MT8183_POWER_DOMAIN_VPU_CORE0>;
98837fb78b9SMatthias Brugger							clocks = <&topckgen CLK_TOP_MUX_DSP1>;
98937fb78b9SMatthias Brugger							clock-names = "vpu2";
99037fb78b9SMatthias Brugger							mediatek,infracfg = <&infracfg>;
99137fb78b9SMatthias Brugger							#power-domain-cells = <0>;
99237fb78b9SMatthias Brugger						};
99337fb78b9SMatthias Brugger
99437fb78b9SMatthias Brugger						power-domain@MT8183_POWER_DOMAIN_VPU_CORE1 {
99537fb78b9SMatthias Brugger							reg = <MT8183_POWER_DOMAIN_VPU_CORE1>;
99637fb78b9SMatthias Brugger							clocks = <&topckgen CLK_TOP_MUX_DSP2>;
99737fb78b9SMatthias Brugger							clock-names = "vpu3";
99837fb78b9SMatthias Brugger							mediatek,infracfg = <&infracfg>;
99937fb78b9SMatthias Brugger							#power-domain-cells = <0>;
100037fb78b9SMatthias Brugger						};
100137fb78b9SMatthias Brugger					};
100237fb78b9SMatthias Brugger				};
100337fb78b9SMatthias Brugger			};
100437fb78b9SMatthias Brugger		};
100537fb78b9SMatthias Brugger
1006a39f8425Syong.liang		watchdog: watchdog@10007000 {
1007f866c471SCrystal Guo			compatible = "mediatek,mt8183-wdt";
1008a39f8425Syong.liang			reg = <0 0x10007000 0 0x100>;
1009a39f8425Syong.liang			#reset-cells = <1>;
1010a39f8425Syong.liang		};
1011a39f8425Syong.liang
1012e526c9bcSBen Ho		apmixedsys: syscon@1000c000 {
1013e526c9bcSBen Ho			compatible = "mediatek,mt8183-apmixedsys", "syscon";
1014e526c9bcSBen Ho			reg = <0 0x1000c000 0 0x1000>;
1015e526c9bcSBen Ho			#clock-cells = <1>;
1016e526c9bcSBen Ho		};
1017e526c9bcSBen Ho
1018e526c9bcSBen Ho		pwrap: pwrap@1000d000 {
1019e526c9bcSBen Ho			compatible = "mediatek,mt8183-pwrap";
1020e526c9bcSBen Ho			reg = <0 0x1000d000 0 0x1000>;
1021e526c9bcSBen Ho			reg-names = "pwrap";
1022cac33c10SHsin-Hsiung Wang			interrupts = <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>;
1023e526c9bcSBen Ho			clocks = <&topckgen CLK_TOP_MUX_PMICSPI>,
1024e526c9bcSBen Ho				 <&infracfg CLK_INFRA_PMIC_AP>;
1025e526c9bcSBen Ho			clock-names = "spi", "wrap";
1026e526c9bcSBen Ho		};
1027e526c9bcSBen Ho
1028a8013418SFabien Parent		keyboard: keyboard@10010000 {
1029a8013418SFabien Parent			compatible = "mediatek,mt6779-keypad";
1030a8013418SFabien Parent			reg = <0 0x10010000 0 0x1000>;
1031a8013418SFabien Parent			interrupts = <GIC_SPI 186 IRQ_TYPE_EDGE_FALLING>;
1032a8013418SFabien Parent			clocks = <&clk26m>;
1033a8013418SFabien Parent			clock-names = "kpd";
1034a8013418SFabien Parent			status = "disabled";
1035a8013418SFabien Parent		};
1036a8013418SFabien Parent
10371652dbf7SEddie Huang		scp: scp@10500000 {
10381652dbf7SEddie Huang			compatible = "mediatek,mt8183-scp";
10391652dbf7SEddie Huang			reg = <0 0x10500000 0 0x80000>,
10401652dbf7SEddie Huang			      <0 0x105c0000 0 0x19080>;
10411652dbf7SEddie Huang			reg-names = "sram", "cfg";
10421652dbf7SEddie Huang			interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
10431652dbf7SEddie Huang			clocks = <&infracfg CLK_INFRA_SCPSYS>;
10441652dbf7SEddie Huang			clock-names = "main";
10451652dbf7SEddie Huang			memory-region = <&scp_mem_reserved>;
10461652dbf7SEddie Huang			status = "disabled";
10471652dbf7SEddie Huang		};
10481652dbf7SEddie Huang
10495bc8e287SDehui Sun		systimer: timer@10017000 {
10505bc8e287SDehui Sun			compatible = "mediatek,mt8183-timer",
10515bc8e287SDehui Sun				     "mediatek,mt6765-timer";
10525bc8e287SDehui Sun			reg = <0 0x10017000 0 0x1000>;
10535bc8e287SDehui Sun			interrupts = <GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH>;
1054ce8a06b5SChen-Yu Tsai			clocks = <&clk13m>;
10555bc8e287SDehui Sun		};
10565bc8e287SDehui Sun
1057c6080916SEnric Balletbo i Serra		iommu: iommu@10205000 {
1058c6080916SEnric Balletbo i Serra			compatible = "mediatek,mt8183-m4u";
1059c6080916SEnric Balletbo i Serra			reg = <0 0x10205000 0 0x1000>;
1060c6080916SEnric Balletbo i Serra			interrupts = <GIC_SPI 166 IRQ_TYPE_LEVEL_LOW>;
106133c7874bSNícolas F. R. A. Prado			mediatek,larbs = <&larb0>, <&larb1>, <&larb2>, <&larb3>,
106233c7874bSNícolas F. R. A. Prado					 <&larb4>, <&larb5>, <&larb6>;
1063c6080916SEnric Balletbo i Serra			#iommu-cells = <1>;
1064c6080916SEnric Balletbo i Serra		};
1065c6080916SEnric Balletbo i Serra
1066d3c306e3SBibby Hsieh		gce: mailbox@10238000 {
1067d3c306e3SBibby Hsieh			compatible = "mediatek,mt8183-gce";
1068d3c306e3SBibby Hsieh			reg = <0 0x10238000 0 0x4000>;
1069d3c306e3SBibby Hsieh			interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_LOW>;
1070e55c56dfSFabien Parent			#mbox-cells = <2>;
1071d3c306e3SBibby Hsieh			clocks = <&infracfg CLK_INFRA_GCE>;
1072d3c306e3SBibby Hsieh			clock-names = "gce";
1073d3c306e3SBibby Hsieh		};
1074d3c306e3SBibby Hsieh
1075eb59b353SZhiyong Tao		auxadc: auxadc@11001000 {
1076eb59b353SZhiyong Tao			compatible = "mediatek,mt8183-auxadc",
1077eb59b353SZhiyong Tao				     "mediatek,mt8173-auxadc";
1078eb59b353SZhiyong Tao			reg = <0 0x11001000 0 0x1000>;
1079eb59b353SZhiyong Tao			clocks = <&infracfg CLK_INFRA_AUXADC>;
1080eb59b353SZhiyong Tao			clock-names = "main";
1081eb59b353SZhiyong Tao			#io-channel-cells = <1>;
1082eb59b353SZhiyong Tao			status = "disabled";
1083eb59b353SZhiyong Tao		};
1084eb59b353SZhiyong Tao
1085e526c9bcSBen Ho		uart0: serial@11002000 {
1086e526c9bcSBen Ho			compatible = "mediatek,mt8183-uart",
1087e526c9bcSBen Ho				     "mediatek,mt6577-uart";
1088e526c9bcSBen Ho			reg = <0 0x11002000 0 0x1000>;
1089e526c9bcSBen Ho			interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_LOW>;
1090e526c9bcSBen Ho			clocks = <&clk26m>, <&infracfg CLK_INFRA_UART0>;
1091e526c9bcSBen Ho			clock-names = "baud", "bus";
1092e526c9bcSBen Ho			status = "disabled";
1093e526c9bcSBen Ho		};
1094e526c9bcSBen Ho
1095e526c9bcSBen Ho		uart1: serial@11003000 {
1096e526c9bcSBen Ho			compatible = "mediatek,mt8183-uart",
1097e526c9bcSBen Ho				     "mediatek,mt6577-uart";
1098e526c9bcSBen Ho			reg = <0 0x11003000 0 0x1000>;
1099e526c9bcSBen Ho			interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_LOW>;
1100e526c9bcSBen Ho			clocks = <&clk26m>, <&infracfg CLK_INFRA_UART1>;
1101e526c9bcSBen Ho			clock-names = "baud", "bus";
1102e526c9bcSBen Ho			status = "disabled";
1103e526c9bcSBen Ho		};
1104e526c9bcSBen Ho
1105e526c9bcSBen Ho		uart2: serial@11004000 {
1106e526c9bcSBen Ho			compatible = "mediatek,mt8183-uart",
1107e526c9bcSBen Ho				     "mediatek,mt6577-uart";
1108e526c9bcSBen Ho			reg = <0 0x11004000 0 0x1000>;
1109e526c9bcSBen Ho			interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_LOW>;
1110e526c9bcSBen Ho			clocks = <&clk26m>, <&infracfg CLK_INFRA_UART2>;
1111e526c9bcSBen Ho			clock-names = "baud", "bus";
1112e526c9bcSBen Ho			status = "disabled";
1113e526c9bcSBen Ho		};
1114e526c9bcSBen Ho
1115251137b8SQii Wang		i2c6: i2c@11005000 {
1116251137b8SQii Wang			compatible = "mediatek,mt8183-i2c";
1117251137b8SQii Wang			reg = <0 0x11005000 0 0x1000>,
1118251137b8SQii Wang			      <0 0x11000600 0 0x80>;
1119251137b8SQii Wang			interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_LOW>;
1120251137b8SQii Wang			clocks = <&infracfg CLK_INFRA_I2C6>,
1121251137b8SQii Wang				 <&infracfg CLK_INFRA_AP_DMA>;
1122251137b8SQii Wang			clock-names = "main", "dma";
1123251137b8SQii Wang			clock-div = <1>;
1124251137b8SQii Wang			#address-cells = <1>;
1125251137b8SQii Wang			#size-cells = <0>;
1126251137b8SQii Wang			status = "disabled";
1127251137b8SQii Wang		};
1128251137b8SQii Wang
1129251137b8SQii Wang		i2c0: i2c@11007000 {
1130251137b8SQii Wang			compatible = "mediatek,mt8183-i2c";
1131251137b8SQii Wang			reg = <0 0x11007000 0 0x1000>,
1132251137b8SQii Wang			      <0 0x11000080 0 0x80>;
1133251137b8SQii Wang			interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_LOW>;
1134251137b8SQii Wang			clocks = <&infracfg CLK_INFRA_I2C0>,
1135251137b8SQii Wang				 <&infracfg CLK_INFRA_AP_DMA>;
1136251137b8SQii Wang			clock-names = "main", "dma";
1137251137b8SQii Wang			clock-div = <1>;
1138251137b8SQii Wang			#address-cells = <1>;
1139251137b8SQii Wang			#size-cells = <0>;
1140251137b8SQii Wang			status = "disabled";
1141251137b8SQii Wang		};
1142251137b8SQii Wang
1143251137b8SQii Wang		i2c4: i2c@11008000 {
1144251137b8SQii Wang			compatible = "mediatek,mt8183-i2c";
1145251137b8SQii Wang			reg = <0 0x11008000 0 0x1000>,
1146251137b8SQii Wang			      <0 0x11000100 0 0x80>;
1147251137b8SQii Wang			interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_LOW>;
1148251137b8SQii Wang			clocks = <&infracfg CLK_INFRA_I2C1>,
1149251137b8SQii Wang				 <&infracfg CLK_INFRA_AP_DMA>,
1150251137b8SQii Wang				 <&infracfg CLK_INFRA_I2C1_ARBITER>;
1151251137b8SQii Wang			clock-names = "main", "dma","arb";
1152251137b8SQii Wang			clock-div = <1>;
1153251137b8SQii Wang			#address-cells = <1>;
1154251137b8SQii Wang			#size-cells = <0>;
1155251137b8SQii Wang			status = "disabled";
1156251137b8SQii Wang		};
1157251137b8SQii Wang
1158251137b8SQii Wang		i2c2: i2c@11009000 {
1159251137b8SQii Wang			compatible = "mediatek,mt8183-i2c";
1160251137b8SQii Wang			reg = <0 0x11009000 0 0x1000>,
1161251137b8SQii Wang			      <0 0x11000280 0 0x80>;
1162251137b8SQii Wang			interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_LOW>;
1163251137b8SQii Wang			clocks = <&infracfg CLK_INFRA_I2C2>,
1164251137b8SQii Wang				 <&infracfg CLK_INFRA_AP_DMA>,
1165251137b8SQii Wang				 <&infracfg CLK_INFRA_I2C2_ARBITER>;
1166251137b8SQii Wang			clock-names = "main", "dma", "arb";
1167251137b8SQii Wang			clock-div = <1>;
1168251137b8SQii Wang			#address-cells = <1>;
1169251137b8SQii Wang			#size-cells = <0>;
1170251137b8SQii Wang			status = "disabled";
1171251137b8SQii Wang		};
1172251137b8SQii Wang
11738e2dd0f9SErin Lo		spi0: spi@1100a000 {
11748e2dd0f9SErin Lo			compatible = "mediatek,mt8183-spi";
11758e2dd0f9SErin Lo			#address-cells = <1>;
11768e2dd0f9SErin Lo			#size-cells = <0>;
11778e2dd0f9SErin Lo			reg = <0 0x1100a000 0 0x1000>;
11788e2dd0f9SErin Lo			interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_LOW>;
11798e2dd0f9SErin Lo			clocks = <&topckgen CLK_TOP_SYSPLL_D5_D2>,
11808e2dd0f9SErin Lo				 <&topckgen CLK_TOP_MUX_SPI>,
11818e2dd0f9SErin Lo				 <&infracfg CLK_INFRA_SPI0>;
11828e2dd0f9SErin Lo			clock-names = "parent-clk", "sel-clk", "spi-clk";
11838e2dd0f9SErin Lo			status = "disabled";
11848e2dd0f9SErin Lo		};
11858e2dd0f9SErin Lo
118641131266SRoger Lu		svs: svs@1100b000 {
118741131266SRoger Lu			compatible = "mediatek,mt8183-svs";
118841131266SRoger Lu			reg = <0 0x1100b000 0 0x1000>;
118941131266SRoger Lu			interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_LOW>;
119041131266SRoger Lu			clocks = <&infracfg CLK_INFRA_THERM>;
119141131266SRoger Lu			clock-names = "main";
119241131266SRoger Lu			nvmem-cells = <&svs_calibration>,
119341131266SRoger Lu				      <&thermal_calibration>;
119441131266SRoger Lu			nvmem-cell-names = "svs-calibration-data",
119541131266SRoger Lu					   "t-calibration-data";
119641131266SRoger Lu		};
119741131266SRoger Lu
1198b325ce39Smichael.kao		thermal: thermal@1100b000 {
1199b325ce39Smichael.kao			#thermal-sensor-cells = <1>;
1200b325ce39Smichael.kao			compatible = "mediatek,mt8183-thermal";
1201b325ce39Smichael.kao			reg = <0 0x1100b000 0 0x1000>;
1202b325ce39Smichael.kao			clocks = <&infracfg CLK_INFRA_THERM>,
1203b325ce39Smichael.kao				 <&infracfg CLK_INFRA_AUXADC>;
1204b325ce39Smichael.kao			clock-names = "therm", "auxadc";
1205b325ce39Smichael.kao			resets = <&infracfg  MT8183_INFRACFG_AO_THERM_SW_RST>;
1206b325ce39Smichael.kao			interrupts = <0 76 IRQ_TYPE_LEVEL_LOW>;
1207b325ce39Smichael.kao			mediatek,auxadc = <&auxadc>;
1208b325ce39Smichael.kao			mediatek,apmixedsys = <&apmixedsys>;
1209b325ce39Smichael.kao			nvmem-cells = <&thermal_calibration>;
1210b325ce39Smichael.kao			nvmem-cell-names = "calibration-data";
1211b325ce39Smichael.kao		};
1212b325ce39Smichael.kao
1213507b1b28SMichael Kao		thermal_zones: thermal-zones {
1214624f1806SKrzysztof Kozlowski			cpu_thermal: cpu-thermal {
1215b325ce39Smichael.kao				polling-delay-passive = <100>;
1216b325ce39Smichael.kao				polling-delay = <500>;
1217b325ce39Smichael.kao				thermal-sensors = <&thermal 0>;
1218b325ce39Smichael.kao				sustainable-power = <5000>;
1219fccf4261SMatthias Kaehlcke
1220fccf4261SMatthias Kaehlcke				trips {
1221f538437bSMatthias Brugger					threshold: trip-point0 {
1222fccf4261SMatthias Kaehlcke						temperature = <68000>;
1223fccf4261SMatthias Kaehlcke						hysteresis = <2000>;
1224fccf4261SMatthias Kaehlcke						type = "passive";
1225fccf4261SMatthias Kaehlcke					};
1226fccf4261SMatthias Kaehlcke
1227f538437bSMatthias Brugger					target: trip-point1 {
1228fccf4261SMatthias Kaehlcke						temperature = <80000>;
1229fccf4261SMatthias Kaehlcke						hysteresis = <2000>;
1230fccf4261SMatthias Kaehlcke						type = "passive";
1231fccf4261SMatthias Kaehlcke					};
1232fccf4261SMatthias Kaehlcke
1233fccf4261SMatthias Kaehlcke					cpu_crit: cpu-crit {
1234fccf4261SMatthias Kaehlcke						temperature = <115000>;
1235fccf4261SMatthias Kaehlcke						hysteresis = <2000>;
1236fccf4261SMatthias Kaehlcke						type = "critical";
1237fccf4261SMatthias Kaehlcke					};
1238fccf4261SMatthias Kaehlcke				};
1239fccf4261SMatthias Kaehlcke
1240fccf4261SMatthias Kaehlcke				cooling-maps {
1241fccf4261SMatthias Kaehlcke					map0 {
1242fccf4261SMatthias Kaehlcke						trip = <&target>;
1243fccf4261SMatthias Kaehlcke						cooling-device = <&cpu0
1244fccf4261SMatthias Kaehlcke							THERMAL_NO_LIMIT
1245fccf4261SMatthias Kaehlcke							THERMAL_NO_LIMIT>,
1246fccf4261SMatthias Kaehlcke								 <&cpu1
1247fccf4261SMatthias Kaehlcke							THERMAL_NO_LIMIT
1248fccf4261SMatthias Kaehlcke							THERMAL_NO_LIMIT>,
1249fccf4261SMatthias Kaehlcke								 <&cpu2
1250fccf4261SMatthias Kaehlcke							THERMAL_NO_LIMIT
1251fccf4261SMatthias Kaehlcke							THERMAL_NO_LIMIT>,
1252fccf4261SMatthias Kaehlcke								 <&cpu3
1253fccf4261SMatthias Kaehlcke							THERMAL_NO_LIMIT
1254fccf4261SMatthias Kaehlcke							THERMAL_NO_LIMIT>;
1255fccf4261SMatthias Kaehlcke						contribution = <3072>;
1256fccf4261SMatthias Kaehlcke					};
1257fccf4261SMatthias Kaehlcke					map1 {
1258fccf4261SMatthias Kaehlcke						trip = <&target>;
1259fccf4261SMatthias Kaehlcke						cooling-device = <&cpu4
1260fccf4261SMatthias Kaehlcke							THERMAL_NO_LIMIT
1261fccf4261SMatthias Kaehlcke							THERMAL_NO_LIMIT>,
1262fccf4261SMatthias Kaehlcke								 <&cpu5
1263fccf4261SMatthias Kaehlcke							THERMAL_NO_LIMIT
1264fccf4261SMatthias Kaehlcke							THERMAL_NO_LIMIT>,
1265fccf4261SMatthias Kaehlcke								 <&cpu6
1266fccf4261SMatthias Kaehlcke							THERMAL_NO_LIMIT
1267fccf4261SMatthias Kaehlcke							THERMAL_NO_LIMIT>,
1268fccf4261SMatthias Kaehlcke								 <&cpu7
1269fccf4261SMatthias Kaehlcke							THERMAL_NO_LIMIT
1270fccf4261SMatthias Kaehlcke							THERMAL_NO_LIMIT>;
1271fccf4261SMatthias Kaehlcke						contribution = <1024>;
1272fccf4261SMatthias Kaehlcke					};
1273fccf4261SMatthias Kaehlcke				};
1274b325ce39Smichael.kao			};
1275b325ce39Smichael.kao
1276b325ce39Smichael.kao			/* The tzts1 ~ tzts6 don't need to polling */
1277b325ce39Smichael.kao			/* The tzts1 ~ tzts6 don't need to thermal throttle */
1278b325ce39Smichael.kao
1279b325ce39Smichael.kao			tzts1: tzts1 {
1280b325ce39Smichael.kao				polling-delay-passive = <0>;
1281b325ce39Smichael.kao				polling-delay = <0>;
1282b325ce39Smichael.kao				thermal-sensors = <&thermal 1>;
1283b325ce39Smichael.kao				sustainable-power = <5000>;
1284b325ce39Smichael.kao				trips {};
1285b325ce39Smichael.kao				cooling-maps {};
1286b325ce39Smichael.kao			};
1287b325ce39Smichael.kao
1288b325ce39Smichael.kao			tzts2: tzts2 {
1289b325ce39Smichael.kao				polling-delay-passive = <0>;
1290b325ce39Smichael.kao				polling-delay = <0>;
1291b325ce39Smichael.kao				thermal-sensors = <&thermal 2>;
1292b325ce39Smichael.kao				sustainable-power = <5000>;
1293b325ce39Smichael.kao				trips {};
1294b325ce39Smichael.kao				cooling-maps {};
1295b325ce39Smichael.kao			};
1296b325ce39Smichael.kao
1297b325ce39Smichael.kao			tzts3: tzts3 {
1298b325ce39Smichael.kao				polling-delay-passive = <0>;
1299b325ce39Smichael.kao				polling-delay = <0>;
1300b325ce39Smichael.kao				thermal-sensors = <&thermal 3>;
1301b325ce39Smichael.kao				sustainable-power = <5000>;
1302b325ce39Smichael.kao				trips {};
1303b325ce39Smichael.kao				cooling-maps {};
1304b325ce39Smichael.kao			};
1305b325ce39Smichael.kao
1306b325ce39Smichael.kao			tzts4: tzts4 {
1307b325ce39Smichael.kao				polling-delay-passive = <0>;
1308b325ce39Smichael.kao				polling-delay = <0>;
1309b325ce39Smichael.kao				thermal-sensors = <&thermal 4>;
1310b325ce39Smichael.kao				sustainable-power = <5000>;
1311b325ce39Smichael.kao				trips {};
1312b325ce39Smichael.kao				cooling-maps {};
1313b325ce39Smichael.kao			};
1314b325ce39Smichael.kao
1315b325ce39Smichael.kao			tzts5: tzts5 {
1316b325ce39Smichael.kao				polling-delay-passive = <0>;
1317b325ce39Smichael.kao				polling-delay = <0>;
1318b325ce39Smichael.kao				thermal-sensors = <&thermal 5>;
1319b325ce39Smichael.kao				sustainable-power = <5000>;
1320b325ce39Smichael.kao				trips {};
1321b325ce39Smichael.kao				cooling-maps {};
1322b325ce39Smichael.kao			};
1323b325ce39Smichael.kao
1324b325ce39Smichael.kao			tztsABB: tztsABB {
1325b325ce39Smichael.kao				polling-delay-passive = <0>;
1326b325ce39Smichael.kao				polling-delay = <0>;
1327b325ce39Smichael.kao				thermal-sensors = <&thermal 6>;
1328b325ce39Smichael.kao				sustainable-power = <5000>;
1329b325ce39Smichael.kao				trips {};
1330b325ce39Smichael.kao				cooling-maps {};
1331b325ce39Smichael.kao			};
1332b325ce39Smichael.kao		};
1333b325ce39Smichael.kao
1334f15722c0SHsin-Yi Wang		pwm0: pwm@1100e000 {
1335f15722c0SHsin-Yi Wang			compatible = "mediatek,mt8183-disp-pwm";
1336f15722c0SHsin-Yi Wang			reg = <0 0x1100e000 0 0x1000>;
1337f15722c0SHsin-Yi Wang			interrupts = <GIC_SPI 128 IRQ_TYPE_LEVEL_LOW>;
13382f99fb6eSEnric Balletbo i Serra			power-domains = <&spm MT8183_POWER_DOMAIN_DISP>;
1339f15722c0SHsin-Yi Wang			#pwm-cells = <2>;
1340f15722c0SHsin-Yi Wang			clocks = <&topckgen CLK_TOP_MUX_DISP_PWM>,
1341f15722c0SHsin-Yi Wang					<&infracfg CLK_INFRA_DISP_PWM>;
1342f15722c0SHsin-Yi Wang			clock-names = "main", "mm";
1343f15722c0SHsin-Yi Wang		};
1344f15722c0SHsin-Yi Wang
1345afca1c66SFabien Parent		pwm1: pwm@11006000 {
1346afca1c66SFabien Parent			compatible = "mediatek,mt8183-pwm";
1347afca1c66SFabien Parent			reg = <0 0x11006000 0 0x1000>;
1348afca1c66SFabien Parent			#pwm-cells = <2>;
1349afca1c66SFabien Parent			clocks = <&infracfg CLK_INFRA_PWM>,
1350afca1c66SFabien Parent				 <&infracfg CLK_INFRA_PWM_HCLK>,
1351afca1c66SFabien Parent				 <&infracfg CLK_INFRA_PWM1>,
1352afca1c66SFabien Parent				 <&infracfg CLK_INFRA_PWM2>,
1353afca1c66SFabien Parent				 <&infracfg CLK_INFRA_PWM3>,
1354afca1c66SFabien Parent				 <&infracfg CLK_INFRA_PWM4>;
1355afca1c66SFabien Parent			clock-names = "top", "main", "pwm1", "pwm2", "pwm3",
1356afca1c66SFabien Parent				      "pwm4";
1357afca1c66SFabien Parent		};
1358afca1c66SFabien Parent
1359251137b8SQii Wang		i2c3: i2c@1100f000 {
1360251137b8SQii Wang			compatible = "mediatek,mt8183-i2c";
1361251137b8SQii Wang			reg = <0 0x1100f000 0 0x1000>,
1362251137b8SQii Wang			      <0 0x11000400 0 0x80>;
1363251137b8SQii Wang			interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_LOW>;
1364251137b8SQii Wang			clocks = <&infracfg CLK_INFRA_I2C3>,
1365251137b8SQii Wang				 <&infracfg CLK_INFRA_AP_DMA>;
1366251137b8SQii Wang			clock-names = "main", "dma";
1367251137b8SQii Wang			clock-div = <1>;
1368251137b8SQii Wang			#address-cells = <1>;
1369251137b8SQii Wang			#size-cells = <0>;
1370251137b8SQii Wang			status = "disabled";
1371251137b8SQii Wang		};
1372251137b8SQii Wang
13738e2dd0f9SErin Lo		spi1: spi@11010000 {
13748e2dd0f9SErin Lo			compatible = "mediatek,mt8183-spi";
13758e2dd0f9SErin Lo			#address-cells = <1>;
13768e2dd0f9SErin Lo			#size-cells = <0>;
13778e2dd0f9SErin Lo			reg = <0 0x11010000 0 0x1000>;
13788e2dd0f9SErin Lo			interrupts = <GIC_SPI 124 IRQ_TYPE_LEVEL_LOW>;
13798e2dd0f9SErin Lo			clocks = <&topckgen CLK_TOP_SYSPLL_D5_D2>,
13808e2dd0f9SErin Lo				 <&topckgen CLK_TOP_MUX_SPI>,
13818e2dd0f9SErin Lo				 <&infracfg CLK_INFRA_SPI1>;
13828e2dd0f9SErin Lo			clock-names = "parent-clk", "sel-clk", "spi-clk";
13838e2dd0f9SErin Lo			status = "disabled";
13848e2dd0f9SErin Lo		};
13858e2dd0f9SErin Lo
1386251137b8SQii Wang		i2c1: i2c@11011000 {
1387251137b8SQii Wang			compatible = "mediatek,mt8183-i2c";
1388251137b8SQii Wang			reg = <0 0x11011000 0 0x1000>,
1389251137b8SQii Wang			      <0 0x11000480 0 0x80>;
1390251137b8SQii Wang			interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_LOW>;
1391251137b8SQii Wang			clocks = <&infracfg CLK_INFRA_I2C4>,
1392251137b8SQii Wang				 <&infracfg CLK_INFRA_AP_DMA>;
1393251137b8SQii Wang			clock-names = "main", "dma";
1394251137b8SQii Wang			clock-div = <1>;
1395251137b8SQii Wang			#address-cells = <1>;
1396251137b8SQii Wang			#size-cells = <0>;
1397251137b8SQii Wang			status = "disabled";
1398251137b8SQii Wang		};
1399251137b8SQii Wang
14008e2dd0f9SErin Lo		spi2: spi@11012000 {
14018e2dd0f9SErin Lo			compatible = "mediatek,mt8183-spi";
14028e2dd0f9SErin Lo			#address-cells = <1>;
14038e2dd0f9SErin Lo			#size-cells = <0>;
14048e2dd0f9SErin Lo			reg = <0 0x11012000 0 0x1000>;
14058e2dd0f9SErin Lo			interrupts = <GIC_SPI 129 IRQ_TYPE_LEVEL_LOW>;
14068e2dd0f9SErin Lo			clocks = <&topckgen CLK_TOP_SYSPLL_D5_D2>,
14078e2dd0f9SErin Lo				 <&topckgen CLK_TOP_MUX_SPI>,
14088e2dd0f9SErin Lo				 <&infracfg CLK_INFRA_SPI2>;
14098e2dd0f9SErin Lo			clock-names = "parent-clk", "sel-clk", "spi-clk";
14108e2dd0f9SErin Lo			status = "disabled";
14118e2dd0f9SErin Lo		};
14128e2dd0f9SErin Lo
14138e2dd0f9SErin Lo		spi3: spi@11013000 {
14148e2dd0f9SErin Lo			compatible = "mediatek,mt8183-spi";
14158e2dd0f9SErin Lo			#address-cells = <1>;
14168e2dd0f9SErin Lo			#size-cells = <0>;
14178e2dd0f9SErin Lo			reg = <0 0x11013000 0 0x1000>;
14188e2dd0f9SErin Lo			interrupts = <GIC_SPI 130 IRQ_TYPE_LEVEL_LOW>;
14198e2dd0f9SErin Lo			clocks = <&topckgen CLK_TOP_SYSPLL_D5_D2>,
14208e2dd0f9SErin Lo				 <&topckgen CLK_TOP_MUX_SPI>,
14218e2dd0f9SErin Lo				 <&infracfg CLK_INFRA_SPI3>;
14228e2dd0f9SErin Lo			clock-names = "parent-clk", "sel-clk", "spi-clk";
14238e2dd0f9SErin Lo			status = "disabled";
14248e2dd0f9SErin Lo		};
14258e2dd0f9SErin Lo
1426251137b8SQii Wang		i2c9: i2c@11014000 {
1427251137b8SQii Wang			compatible = "mediatek,mt8183-i2c";
1428251137b8SQii Wang			reg = <0 0x11014000 0 0x1000>,
1429251137b8SQii Wang			      <0 0x11000180 0 0x80>;
1430251137b8SQii Wang			interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_LOW>;
1431251137b8SQii Wang			clocks = <&infracfg CLK_INFRA_I2C1_IMM>,
1432251137b8SQii Wang				 <&infracfg CLK_INFRA_AP_DMA>,
1433251137b8SQii Wang				 <&infracfg CLK_INFRA_I2C1_ARBITER>;
1434251137b8SQii Wang			clock-names = "main", "dma", "arb";
1435251137b8SQii Wang			clock-div = <1>;
1436251137b8SQii Wang			#address-cells = <1>;
1437251137b8SQii Wang			#size-cells = <0>;
1438251137b8SQii Wang			status = "disabled";
1439251137b8SQii Wang		};
1440251137b8SQii Wang
1441251137b8SQii Wang		i2c10: i2c@11015000 {
1442251137b8SQii Wang			compatible = "mediatek,mt8183-i2c";
1443251137b8SQii Wang			reg = <0 0x11015000 0 0x1000>,
1444251137b8SQii Wang			      <0 0x11000300 0 0x80>;
1445251137b8SQii Wang			interrupts = <GIC_SPI 132 IRQ_TYPE_LEVEL_LOW>;
1446251137b8SQii Wang			clocks = <&infracfg CLK_INFRA_I2C2_IMM>,
1447251137b8SQii Wang				 <&infracfg CLK_INFRA_AP_DMA>,
1448251137b8SQii Wang				 <&infracfg CLK_INFRA_I2C2_ARBITER>;
1449251137b8SQii Wang			clock-names = "main", "dma", "arb";
1450251137b8SQii Wang			clock-div = <1>;
1451251137b8SQii Wang			#address-cells = <1>;
1452251137b8SQii Wang			#size-cells = <0>;
1453251137b8SQii Wang			status = "disabled";
1454251137b8SQii Wang		};
1455251137b8SQii Wang
1456251137b8SQii Wang		i2c5: i2c@11016000 {
1457251137b8SQii Wang			compatible = "mediatek,mt8183-i2c";
1458251137b8SQii Wang			reg = <0 0x11016000 0 0x1000>,
1459251137b8SQii Wang			      <0 0x11000500 0 0x80>;
1460251137b8SQii Wang			interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_LOW>;
1461251137b8SQii Wang			clocks = <&infracfg CLK_INFRA_I2C5>,
1462251137b8SQii Wang				 <&infracfg CLK_INFRA_AP_DMA>,
1463251137b8SQii Wang				 <&infracfg CLK_INFRA_I2C5_ARBITER>;
1464251137b8SQii Wang			clock-names = "main", "dma", "arb";
1465251137b8SQii Wang			clock-div = <1>;
1466251137b8SQii Wang			#address-cells = <1>;
1467251137b8SQii Wang			#size-cells = <0>;
1468251137b8SQii Wang			status = "disabled";
1469251137b8SQii Wang		};
1470251137b8SQii Wang
1471251137b8SQii Wang		i2c11: i2c@11017000 {
1472251137b8SQii Wang			compatible = "mediatek,mt8183-i2c";
1473251137b8SQii Wang			reg = <0 0x11017000 0 0x1000>,
1474251137b8SQii Wang			      <0 0x11000580 0 0x80>;
1475251137b8SQii Wang			interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_LOW>;
1476251137b8SQii Wang			clocks = <&infracfg CLK_INFRA_I2C5_IMM>,
1477251137b8SQii Wang				 <&infracfg CLK_INFRA_AP_DMA>,
1478251137b8SQii Wang				 <&infracfg CLK_INFRA_I2C5_ARBITER>;
1479251137b8SQii Wang			clock-names = "main", "dma", "arb";
1480251137b8SQii Wang			clock-div = <1>;
1481251137b8SQii Wang			#address-cells = <1>;
1482251137b8SQii Wang			#size-cells = <0>;
1483251137b8SQii Wang			status = "disabled";
1484251137b8SQii Wang		};
1485251137b8SQii Wang
14868e2dd0f9SErin Lo		spi4: spi@11018000 {
14878e2dd0f9SErin Lo			compatible = "mediatek,mt8183-spi";
14888e2dd0f9SErin Lo			#address-cells = <1>;
14898e2dd0f9SErin Lo			#size-cells = <0>;
14908e2dd0f9SErin Lo			reg = <0 0x11018000 0 0x1000>;
14918e2dd0f9SErin Lo			interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_LOW>;
14928e2dd0f9SErin Lo			clocks = <&topckgen CLK_TOP_SYSPLL_D5_D2>,
14938e2dd0f9SErin Lo				 <&topckgen CLK_TOP_MUX_SPI>,
14948e2dd0f9SErin Lo				 <&infracfg CLK_INFRA_SPI4>;
14958e2dd0f9SErin Lo			clock-names = "parent-clk", "sel-clk", "spi-clk";
14968e2dd0f9SErin Lo			status = "disabled";
14978e2dd0f9SErin Lo		};
14988e2dd0f9SErin Lo
14998e2dd0f9SErin Lo		spi5: spi@11019000 {
15008e2dd0f9SErin Lo			compatible = "mediatek,mt8183-spi";
15018e2dd0f9SErin Lo			#address-cells = <1>;
15028e2dd0f9SErin Lo			#size-cells = <0>;
15038e2dd0f9SErin Lo			reg = <0 0x11019000 0 0x1000>;
15048e2dd0f9SErin Lo			interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_LOW>;
15058e2dd0f9SErin Lo			clocks = <&topckgen CLK_TOP_SYSPLL_D5_D2>,
15068e2dd0f9SErin Lo				 <&topckgen CLK_TOP_MUX_SPI>,
15078e2dd0f9SErin Lo				 <&infracfg CLK_INFRA_SPI5>;
15088e2dd0f9SErin Lo			clock-names = "parent-clk", "sel-clk", "spi-clk";
15098e2dd0f9SErin Lo			status = "disabled";
15108e2dd0f9SErin Lo		};
15118e2dd0f9SErin Lo
1512251137b8SQii Wang		i2c7: i2c@1101a000 {
1513251137b8SQii Wang			compatible = "mediatek,mt8183-i2c";
1514251137b8SQii Wang			reg = <0 0x1101a000 0 0x1000>,
1515251137b8SQii Wang			      <0 0x11000680 0 0x80>;
1516251137b8SQii Wang			interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_LOW>;
1517251137b8SQii Wang			clocks = <&infracfg CLK_INFRA_I2C7>,
1518251137b8SQii Wang				 <&infracfg CLK_INFRA_AP_DMA>;
1519251137b8SQii Wang			clock-names = "main", "dma";
1520251137b8SQii Wang			clock-div = <1>;
1521251137b8SQii Wang			#address-cells = <1>;
1522251137b8SQii Wang			#size-cells = <0>;
1523251137b8SQii Wang			status = "disabled";
1524251137b8SQii Wang		};
1525251137b8SQii Wang
1526251137b8SQii Wang		i2c8: i2c@1101b000 {
1527251137b8SQii Wang			compatible = "mediatek,mt8183-i2c";
1528251137b8SQii Wang			reg = <0 0x1101b000 0 0x1000>,
1529251137b8SQii Wang			      <0 0x11000700 0 0x80>;
1530251137b8SQii Wang			interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_LOW>;
1531251137b8SQii Wang			clocks = <&infracfg CLK_INFRA_I2C8>,
1532251137b8SQii Wang				 <&infracfg CLK_INFRA_AP_DMA>;
1533251137b8SQii Wang			clock-names = "main", "dma";
1534251137b8SQii Wang			clock-div = <1>;
1535251137b8SQii Wang			#address-cells = <1>;
1536251137b8SQii Wang			#size-cells = <0>;
1537251137b8SQii Wang			status = "disabled";
1538251137b8SQii Wang		};
1539251137b8SQii Wang
15406b3bfa37SEnric Balletbo i Serra		ssusb: usb@11201000 {
15416b3bfa37SEnric Balletbo i Serra			compatible = "mediatek,mt8183-mtu3", "mediatek,mtu3";
15426b3bfa37SEnric Balletbo i Serra			reg = <0 0x11201000 0 0x2e00>,
15436b3bfa37SEnric Balletbo i Serra			      <0 0x11203e00 0 0x0100>;
15446b3bfa37SEnric Balletbo i Serra			reg-names = "mac", "ippc";
15456b3bfa37SEnric Balletbo i Serra			interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_LOW>;
15466b3bfa37SEnric Balletbo i Serra			phys = <&u2port0 PHY_TYPE_USB2>,
15476b3bfa37SEnric Balletbo i Serra			       <&u3port0 PHY_TYPE_USB3>;
15486b3bfa37SEnric Balletbo i Serra			clocks = <&infracfg CLK_INFRA_UNIPRO_SCK>,
15496b3bfa37SEnric Balletbo i Serra				 <&infracfg CLK_INFRA_USB>;
15506b3bfa37SEnric Balletbo i Serra			clock-names = "sys_ck", "ref_ck";
1551d3cbc7f8SChunfeng Yun			mediatek,syscon-wakeup = <&pericfg 0x420 101>;
15526b3bfa37SEnric Balletbo i Serra			#address-cells = <2>;
15536b3bfa37SEnric Balletbo i Serra			#size-cells = <2>;
15546b3bfa37SEnric Balletbo i Serra			ranges;
15556b3bfa37SEnric Balletbo i Serra			status = "disabled";
15566b3bfa37SEnric Balletbo i Serra
1557d1c9c70aSChunfeng Yun			usb_host: usb@11200000 {
15586b3bfa37SEnric Balletbo i Serra				compatible = "mediatek,mt8183-xhci",
15596b3bfa37SEnric Balletbo i Serra					     "mediatek,mtk-xhci";
15606b3bfa37SEnric Balletbo i Serra				reg = <0 0x11200000 0 0x1000>;
15616b3bfa37SEnric Balletbo i Serra				reg-names = "mac";
15626b3bfa37SEnric Balletbo i Serra				interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_LOW>;
15636b3bfa37SEnric Balletbo i Serra				clocks = <&infracfg CLK_INFRA_UNIPRO_SCK>,
15646b3bfa37SEnric Balletbo i Serra					 <&infracfg CLK_INFRA_USB>;
15656b3bfa37SEnric Balletbo i Serra				clock-names = "sys_ck", "ref_ck";
15666b3bfa37SEnric Balletbo i Serra				status = "disabled";
15676b3bfa37SEnric Balletbo i Serra			};
15686b3bfa37SEnric Balletbo i Serra		};
15696b3bfa37SEnric Balletbo i Serra
157013dd23cfSKansho Nishida		audiosys: audio-controller@11220000 {
1571e526c9bcSBen Ho			compatible = "mediatek,mt8183-audiosys", "syscon";
1572e526c9bcSBen Ho			reg = <0 0x11220000 0 0x1000>;
1573e526c9bcSBen Ho			#clock-cells = <1>;
157413dd23cfSKansho Nishida			afe: mt8183-afe-pcm {
157513dd23cfSKansho Nishida				compatible = "mediatek,mt8183-audio";
157613dd23cfSKansho Nishida				interrupts = <GIC_SPI 161 IRQ_TYPE_LEVEL_LOW>;
157713dd23cfSKansho Nishida				resets = <&watchdog MT8183_TOPRGU_AUDIO_SW_RST>;
157813dd23cfSKansho Nishida				reset-names = "audiosys";
157913dd23cfSKansho Nishida				power-domains =
158013dd23cfSKansho Nishida					<&spm MT8183_POWER_DOMAIN_AUDIO>;
158113dd23cfSKansho Nishida				clocks = <&audiosys CLK_AUDIO_AFE>,
158213dd23cfSKansho Nishida					 <&audiosys CLK_AUDIO_DAC>,
158313dd23cfSKansho Nishida					 <&audiosys CLK_AUDIO_DAC_PREDIS>,
158413dd23cfSKansho Nishida					 <&audiosys CLK_AUDIO_ADC>,
158513dd23cfSKansho Nishida					 <&audiosys CLK_AUDIO_PDN_ADDA6_ADC>,
158613dd23cfSKansho Nishida					 <&audiosys CLK_AUDIO_22M>,
158713dd23cfSKansho Nishida					 <&audiosys CLK_AUDIO_24M>,
158813dd23cfSKansho Nishida					 <&audiosys CLK_AUDIO_APLL_TUNER>,
158913dd23cfSKansho Nishida					 <&audiosys CLK_AUDIO_APLL2_TUNER>,
159013dd23cfSKansho Nishida					 <&audiosys CLK_AUDIO_I2S1>,
159113dd23cfSKansho Nishida					 <&audiosys CLK_AUDIO_I2S2>,
159213dd23cfSKansho Nishida					 <&audiosys CLK_AUDIO_I2S3>,
159313dd23cfSKansho Nishida					 <&audiosys CLK_AUDIO_I2S4>,
159413dd23cfSKansho Nishida					 <&audiosys CLK_AUDIO_TDM>,
159513dd23cfSKansho Nishida					 <&audiosys CLK_AUDIO_TML>,
159613dd23cfSKansho Nishida					 <&infracfg CLK_INFRA_AUDIO>,
159713dd23cfSKansho Nishida					 <&infracfg CLK_INFRA_AUDIO_26M_BCLK>,
159813dd23cfSKansho Nishida					 <&topckgen CLK_TOP_MUX_AUDIO>,
159913dd23cfSKansho Nishida					 <&topckgen CLK_TOP_MUX_AUD_INTBUS>,
160013dd23cfSKansho Nishida					 <&topckgen CLK_TOP_SYSPLL_D2_D4>,
160113dd23cfSKansho Nishida					 <&topckgen CLK_TOP_MUX_AUD_1>,
160213dd23cfSKansho Nishida					 <&topckgen CLK_TOP_APLL1_CK>,
160313dd23cfSKansho Nishida					 <&topckgen CLK_TOP_MUX_AUD_2>,
160413dd23cfSKansho Nishida					 <&topckgen CLK_TOP_APLL2_CK>,
160513dd23cfSKansho Nishida					 <&topckgen CLK_TOP_MUX_AUD_ENG1>,
160613dd23cfSKansho Nishida					 <&topckgen CLK_TOP_APLL1_D8>,
160713dd23cfSKansho Nishida					 <&topckgen CLK_TOP_MUX_AUD_ENG2>,
160813dd23cfSKansho Nishida					 <&topckgen CLK_TOP_APLL2_D8>,
160913dd23cfSKansho Nishida					 <&topckgen CLK_TOP_MUX_APLL_I2S0>,
161013dd23cfSKansho Nishida					 <&topckgen CLK_TOP_MUX_APLL_I2S1>,
161113dd23cfSKansho Nishida					 <&topckgen CLK_TOP_MUX_APLL_I2S2>,
161213dd23cfSKansho Nishida					 <&topckgen CLK_TOP_MUX_APLL_I2S3>,
161313dd23cfSKansho Nishida					 <&topckgen CLK_TOP_MUX_APLL_I2S4>,
161413dd23cfSKansho Nishida					 <&topckgen CLK_TOP_MUX_APLL_I2S5>,
161513dd23cfSKansho Nishida					 <&topckgen CLK_TOP_APLL12_DIV0>,
161613dd23cfSKansho Nishida					 <&topckgen CLK_TOP_APLL12_DIV1>,
161713dd23cfSKansho Nishida					 <&topckgen CLK_TOP_APLL12_DIV2>,
161813dd23cfSKansho Nishida					 <&topckgen CLK_TOP_APLL12_DIV3>,
161913dd23cfSKansho Nishida					 <&topckgen CLK_TOP_APLL12_DIV4>,
162013dd23cfSKansho Nishida					 <&topckgen CLK_TOP_APLL12_DIVB>,
162113dd23cfSKansho Nishida					 /*<&topckgen CLK_TOP_APLL12_DIV5>,*/
162213dd23cfSKansho Nishida					 <&clk26m>;
162313dd23cfSKansho Nishida				clock-names = "aud_afe_clk",
162413dd23cfSKansho Nishida						  "aud_dac_clk",
162513dd23cfSKansho Nishida						  "aud_dac_predis_clk",
162613dd23cfSKansho Nishida						  "aud_adc_clk",
162713dd23cfSKansho Nishida						  "aud_adc_adda6_clk",
162813dd23cfSKansho Nishida						  "aud_apll22m_clk",
162913dd23cfSKansho Nishida						  "aud_apll24m_clk",
163013dd23cfSKansho Nishida						  "aud_apll1_tuner_clk",
163113dd23cfSKansho Nishida						  "aud_apll2_tuner_clk",
163213dd23cfSKansho Nishida						  "aud_i2s1_bclk_sw",
163313dd23cfSKansho Nishida						  "aud_i2s2_bclk_sw",
163413dd23cfSKansho Nishida						  "aud_i2s3_bclk_sw",
163513dd23cfSKansho Nishida						  "aud_i2s4_bclk_sw",
163613dd23cfSKansho Nishida						  "aud_tdm_clk",
163713dd23cfSKansho Nishida						  "aud_tml_clk",
163813dd23cfSKansho Nishida						  "aud_infra_clk",
163913dd23cfSKansho Nishida						  "mtkaif_26m_clk",
164013dd23cfSKansho Nishida						  "top_mux_audio",
164113dd23cfSKansho Nishida						  "top_mux_aud_intbus",
164213dd23cfSKansho Nishida						  "top_syspll_d2_d4",
164313dd23cfSKansho Nishida						  "top_mux_aud_1",
164413dd23cfSKansho Nishida						  "top_apll1_ck",
164513dd23cfSKansho Nishida						  "top_mux_aud_2",
164613dd23cfSKansho Nishida						  "top_apll2_ck",
164713dd23cfSKansho Nishida						  "top_mux_aud_eng1",
164813dd23cfSKansho Nishida						  "top_apll1_d8",
164913dd23cfSKansho Nishida						  "top_mux_aud_eng2",
165013dd23cfSKansho Nishida						  "top_apll2_d8",
165113dd23cfSKansho Nishida						  "top_i2s0_m_sel",
165213dd23cfSKansho Nishida						  "top_i2s1_m_sel",
165313dd23cfSKansho Nishida						  "top_i2s2_m_sel",
165413dd23cfSKansho Nishida						  "top_i2s3_m_sel",
165513dd23cfSKansho Nishida						  "top_i2s4_m_sel",
165613dd23cfSKansho Nishida						  "top_i2s5_m_sel",
165713dd23cfSKansho Nishida						  "top_apll12_div0",
165813dd23cfSKansho Nishida						  "top_apll12_div1",
165913dd23cfSKansho Nishida						  "top_apll12_div2",
166013dd23cfSKansho Nishida						  "top_apll12_div3",
166113dd23cfSKansho Nishida						  "top_apll12_div4",
166213dd23cfSKansho Nishida						  "top_apll12_divb",
166313dd23cfSKansho Nishida						  /*"top_apll12_div5",*/
166413dd23cfSKansho Nishida						  "top_clk26m_clk";
166513dd23cfSKansho Nishida			};
1666e526c9bcSBen Ho		};
1667e526c9bcSBen Ho
16685e6cdf00Sjjian zhou		mmc0: mmc@11230000 {
16695e6cdf00Sjjian zhou			compatible = "mediatek,mt8183-mmc";
16705e6cdf00Sjjian zhou			reg = <0 0x11230000 0 0x1000>,
16715e6cdf00Sjjian zhou			      <0 0x11f50000 0 0x1000>;
16725e6cdf00Sjjian zhou			interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_LOW>;
16735e6cdf00Sjjian zhou			clocks = <&topckgen CLK_TOP_MUX_MSDC50_0>,
16745e6cdf00Sjjian zhou				 <&infracfg CLK_INFRA_MSDC0>,
16755e6cdf00Sjjian zhou				 <&infracfg CLK_INFRA_MSDC0_SCK>;
16765e6cdf00Sjjian zhou			clock-names = "source", "hclk", "source_cg";
16775e6cdf00Sjjian zhou			status = "disabled";
16785e6cdf00Sjjian zhou		};
16795e6cdf00Sjjian zhou
16805e6cdf00Sjjian zhou		mmc1: mmc@11240000 {
16815e6cdf00Sjjian zhou			compatible = "mediatek,mt8183-mmc";
16825e6cdf00Sjjian zhou			reg = <0 0x11240000 0 0x1000>,
16835e6cdf00Sjjian zhou			      <0 0x11e10000 0 0x1000>;
16845e6cdf00Sjjian zhou			interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_LOW>;
16855e6cdf00Sjjian zhou			clocks = <&topckgen CLK_TOP_MUX_MSDC30_1>,
16865e6cdf00Sjjian zhou				 <&infracfg CLK_INFRA_MSDC1>,
16875e6cdf00Sjjian zhou				 <&infracfg CLK_INFRA_MSDC1_SCK>;
16885e6cdf00Sjjian zhou			clock-names = "source", "hclk", "source_cg";
16895e6cdf00Sjjian zhou			status = "disabled";
16905e6cdf00Sjjian zhou		};
16915e6cdf00Sjjian zhou
1692d1c9c70aSChunfeng Yun		mipi_tx0: dsi-phy@11e50000 {
169388ec8402SJitao Shi			compatible = "mediatek,mt8183-mipi-tx";
169488ec8402SJitao Shi			reg = <0 0x11e50000 0 0x1000>;
169588ec8402SJitao Shi			clocks = <&apmixedsys CLK_APMIXED_MIPID0_26M>;
169688ec8402SJitao Shi			#clock-cells = <0>;
169788ec8402SJitao Shi			#phy-cells = <0>;
169888ec8402SJitao Shi			clock-output-names = "mipi_tx0_pll";
169988ec8402SJitao Shi			nvmem-cells = <&mipi_tx_calibration>;
170088ec8402SJitao Shi			nvmem-cell-names = "calibration-data";
170188ec8402SJitao Shi		};
170288ec8402SJitao Shi
1703de103388SMichael Mei		efuse: efuse@11f10000 {
1704de103388SMichael Mei			compatible = "mediatek,mt8183-efuse",
1705de103388SMichael Mei				     "mediatek,efuse";
1706de103388SMichael Mei			reg = <0 0x11f10000 0 0x1000>;
170788ec8402SJitao Shi			#address-cells = <1>;
170888ec8402SJitao Shi			#size-cells = <1>;
1709b325ce39Smichael.kao			thermal_calibration: calib@180 {
1710b325ce39Smichael.kao				reg = <0x180 0xc>;
1711b325ce39Smichael.kao			};
1712b325ce39Smichael.kao
171388ec8402SJitao Shi			mipi_tx_calibration: calib@190 {
171488ec8402SJitao Shi				reg = <0x190 0xc>;
171588ec8402SJitao Shi			};
171641131266SRoger Lu
171741131266SRoger Lu			svs_calibration: calib@580 {
171841131266SRoger Lu				reg = <0x580 0x64>;
171941131266SRoger Lu			};
1720de103388SMichael Mei		};
1721de103388SMichael Mei
1722d1c9c70aSChunfeng Yun		u3phy: t-phy@11f40000 {
17236b3bfa37SEnric Balletbo i Serra			compatible = "mediatek,mt8183-tphy",
17246b3bfa37SEnric Balletbo i Serra				     "mediatek,generic-tphy-v2";
17256b3bfa37SEnric Balletbo i Serra			#address-cells = <1>;
17266b3bfa37SEnric Balletbo i Serra			#size-cells = <1>;
17276b3bfa37SEnric Balletbo i Serra			ranges = <0 0 0x11f40000 0x1000>;
17286b3bfa37SEnric Balletbo i Serra			status = "okay";
17296b3bfa37SEnric Balletbo i Serra
17306b3bfa37SEnric Balletbo i Serra			u2port0: usb-phy@0 {
17316b3bfa37SEnric Balletbo i Serra				reg = <0x0 0x700>;
17326b3bfa37SEnric Balletbo i Serra				clocks = <&clk26m>;
17336b3bfa37SEnric Balletbo i Serra				clock-names = "ref";
17346b3bfa37SEnric Balletbo i Serra				#phy-cells = <1>;
17356b3bfa37SEnric Balletbo i Serra				mediatek,discth = <15>;
17366b3bfa37SEnric Balletbo i Serra				status = "okay";
17376b3bfa37SEnric Balletbo i Serra			};
17386b3bfa37SEnric Balletbo i Serra
1739f538437bSMatthias Brugger			u3port0: usb-phy@700 {
17406b3bfa37SEnric Balletbo i Serra				reg = <0x0700 0x900>;
17416b3bfa37SEnric Balletbo i Serra				clocks = <&clk26m>;
17426b3bfa37SEnric Balletbo i Serra				clock-names = "ref";
17436b3bfa37SEnric Balletbo i Serra				#phy-cells = <1>;
17446b3bfa37SEnric Balletbo i Serra				status = "okay";
17456b3bfa37SEnric Balletbo i Serra			};
17466b3bfa37SEnric Balletbo i Serra		};
17476b3bfa37SEnric Balletbo i Serra
1748e526c9bcSBen Ho		mfgcfg: syscon@13000000 {
1749e526c9bcSBen Ho			compatible = "mediatek,mt8183-mfgcfg", "syscon";
1750e526c9bcSBen Ho			reg = <0 0x13000000 0 0x1000>;
1751e526c9bcSBen Ho			#clock-cells = <1>;
1752e526c9bcSBen Ho		};
1753e526c9bcSBen Ho
1754a8168cebSNicolas Boichat		gpu: gpu@13040000 {
1755c78838d8SAngeloGioacchino Del Regno			compatible = "mediatek,mt8183b-mali", "arm,mali-bifrost";
1756a8168cebSNicolas Boichat			reg = <0 0x13040000 0 0x4000>;
1757a8168cebSNicolas Boichat			interrupts =
1758a8168cebSNicolas Boichat				<GIC_SPI 280 IRQ_TYPE_LEVEL_LOW>,
1759a8168cebSNicolas Boichat				<GIC_SPI 279 IRQ_TYPE_LEVEL_LOW>,
1760a8168cebSNicolas Boichat				<GIC_SPI 278 IRQ_TYPE_LEVEL_LOW>;
1761a8168cebSNicolas Boichat			interrupt-names = "job", "mmu", "gpu";
1762a8168cebSNicolas Boichat
1763ad2631b5SChen-Yu Tsai			clocks = <&mfgcfg CLK_MFG_BG3D>;
1764a8168cebSNicolas Boichat
1765a8168cebSNicolas Boichat			power-domains =
1766a8168cebSNicolas Boichat				<&spm MT8183_POWER_DOMAIN_MFG_CORE0>,
1767a8168cebSNicolas Boichat				<&spm MT8183_POWER_DOMAIN_MFG_CORE1>,
1768a8168cebSNicolas Boichat				<&spm MT8183_POWER_DOMAIN_MFG_2D>;
1769a8168cebSNicolas Boichat			power-domain-names = "core0", "core1", "core2";
1770a8168cebSNicolas Boichat
1771a8168cebSNicolas Boichat			operating-points-v2 = <&gpu_opp_table>;
1772a8168cebSNicolas Boichat		};
1773a8168cebSNicolas Boichat
1774e526c9bcSBen Ho		mmsys: syscon@14000000 {
1775e526c9bcSBen Ho			compatible = "mediatek,mt8183-mmsys", "syscon";
1776e526c9bcSBen Ho			reg = <0 0x14000000 0 0x1000>;
1777e526c9bcSBen Ho			#clock-cells = <1>;
17784bdb00edSEnric Balletbo i Serra			#reset-cells = <1>;
1779b7a8f50aSHsin-Yi Wang			mboxes = <&gce 0 CMDQ_THR_PRIO_HIGHEST>,
1780b7a8f50aSHsin-Yi Wang				 <&gce 1 CMDQ_THR_PRIO_HIGHEST>;
1781b7a8f50aSHsin-Yi Wang			mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0 0x1000>;
1782e526c9bcSBen Ho		};
1783e526c9bcSBen Ho
1784*188ffcd7SMoudy Ho		dma-controller0@14001000 {
178560a2fb8dSMoudy Ho			compatible = "mediatek,mt8183-mdp3-rdma";
178660a2fb8dSMoudy Ho			reg = <0 0x14001000 0 0x1000>;
178760a2fb8dSMoudy Ho			mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0x1000 0x1000>;
178860a2fb8dSMoudy Ho			mediatek,gce-events = <CMDQ_EVENT_MDP_RDMA0_SOF>,
178960a2fb8dSMoudy Ho					      <CMDQ_EVENT_MDP_RDMA0_EOF>;
179060a2fb8dSMoudy Ho			power-domains = <&spm MT8183_POWER_DOMAIN_DISP>;
179160a2fb8dSMoudy Ho			clocks = <&mmsys CLK_MM_MDP_RDMA0>,
179260a2fb8dSMoudy Ho				 <&mmsys CLK_MM_MDP_RSZ1>;
179360a2fb8dSMoudy Ho			iommus = <&iommu M4U_PORT_MDP_RDMA0>;
179460a2fb8dSMoudy Ho			mboxes = <&gce 20 CMDQ_THR_PRIO_LOWEST 0>,
179560a2fb8dSMoudy Ho				 <&gce 21 CMDQ_THR_PRIO_LOWEST 0>;
1796*188ffcd7SMoudy Ho			#dma-cells = <1>;
179760a2fb8dSMoudy Ho		};
179860a2fb8dSMoudy Ho
179960a2fb8dSMoudy Ho		mdp3-rsz0@14003000 {
180060a2fb8dSMoudy Ho			compatible = "mediatek,mt8183-mdp3-rsz";
180160a2fb8dSMoudy Ho			reg = <0 0x14003000 0 0x1000>;
180260a2fb8dSMoudy Ho			mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0x3000 0x1000>;
180360a2fb8dSMoudy Ho			mediatek,gce-events = <CMDQ_EVENT_MDP_RSZ0_SOF>,
180460a2fb8dSMoudy Ho					      <CMDQ_EVENT_MDP_RSZ0_EOF>;
180560a2fb8dSMoudy Ho			clocks = <&mmsys CLK_MM_MDP_RSZ0>;
180660a2fb8dSMoudy Ho		};
180760a2fb8dSMoudy Ho
180860a2fb8dSMoudy Ho		mdp3-rsz1@14004000 {
180960a2fb8dSMoudy Ho			compatible = "mediatek,mt8183-mdp3-rsz";
181060a2fb8dSMoudy Ho			reg = <0 0x14004000 0 0x1000>;
181160a2fb8dSMoudy Ho			mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0x4000 0x1000>;
181260a2fb8dSMoudy Ho			mediatek,gce-events = <CMDQ_EVENT_MDP_RSZ1_SOF>,
181360a2fb8dSMoudy Ho					      <CMDQ_EVENT_MDP_RSZ1_EOF>;
181460a2fb8dSMoudy Ho			clocks = <&mmsys CLK_MM_MDP_RSZ1>;
181560a2fb8dSMoudy Ho		};
181660a2fb8dSMoudy Ho
1817*188ffcd7SMoudy Ho		dma-controller@14005000 {
181860a2fb8dSMoudy Ho			compatible = "mediatek,mt8183-mdp3-wrot";
181960a2fb8dSMoudy Ho			reg = <0 0x14005000 0 0x1000>;
182060a2fb8dSMoudy Ho			mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0x5000 0x1000>;
182160a2fb8dSMoudy Ho			mediatek,gce-events = <CMDQ_EVENT_MDP_WROT0_SOF>,
182260a2fb8dSMoudy Ho					      <CMDQ_EVENT_MDP_WROT0_EOF>;
182360a2fb8dSMoudy Ho			power-domains = <&spm MT8183_POWER_DOMAIN_DISP>;
182460a2fb8dSMoudy Ho			clocks = <&mmsys CLK_MM_MDP_WROT0>;
182560a2fb8dSMoudy Ho			iommus = <&iommu M4U_PORT_MDP_WROT0>;
1826*188ffcd7SMoudy Ho			#dma-cells = <1>;
182760a2fb8dSMoudy Ho		};
182860a2fb8dSMoudy Ho
182960a2fb8dSMoudy Ho		mdp3-wdma@14006000 {
183060a2fb8dSMoudy Ho			compatible = "mediatek,mt8183-mdp3-wdma";
183160a2fb8dSMoudy Ho			reg = <0 0x14006000 0 0x1000>;
183260a2fb8dSMoudy Ho			mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0x6000 0x1000>;
183360a2fb8dSMoudy Ho			mediatek,gce-events = <CMDQ_EVENT_MDP_WDMA0_SOF>,
183460a2fb8dSMoudy Ho					      <CMDQ_EVENT_MDP_WDMA0_EOF>;
183560a2fb8dSMoudy Ho			power-domains = <&spm MT8183_POWER_DOMAIN_DISP>;
183660a2fb8dSMoudy Ho			clocks = <&mmsys CLK_MM_MDP_WDMA0>;
183760a2fb8dSMoudy Ho			iommus = <&iommu M4U_PORT_MDP_WDMA0>;
183860a2fb8dSMoudy Ho		};
183960a2fb8dSMoudy Ho
184091f9c963SEnric Balletbo i Serra		ovl0: ovl@14008000 {
184191f9c963SEnric Balletbo i Serra			compatible = "mediatek,mt8183-disp-ovl";
184291f9c963SEnric Balletbo i Serra			reg = <0 0x14008000 0 0x1000>;
184391f9c963SEnric Balletbo i Serra			interrupts = <GIC_SPI 225 IRQ_TYPE_LEVEL_LOW>;
184491f9c963SEnric Balletbo i Serra			power-domains = <&spm MT8183_POWER_DOMAIN_DISP>;
184591f9c963SEnric Balletbo i Serra			clocks = <&mmsys CLK_MM_DISP_OVL0>;
184691f9c963SEnric Balletbo i Serra			iommus = <&iommu M4U_PORT_DISP_OVL0>;
184791f9c963SEnric Balletbo i Serra			mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0x8000 0x1000>;
184891f9c963SEnric Balletbo i Serra		};
184991f9c963SEnric Balletbo i Serra
185091f9c963SEnric Balletbo i Serra		ovl_2l0: ovl@14009000 {
185191f9c963SEnric Balletbo i Serra			compatible = "mediatek,mt8183-disp-ovl-2l";
185291f9c963SEnric Balletbo i Serra			reg = <0 0x14009000 0 0x1000>;
185391f9c963SEnric Balletbo i Serra			interrupts = <GIC_SPI 226 IRQ_TYPE_LEVEL_LOW>;
185491f9c963SEnric Balletbo i Serra			power-domains = <&spm MT8183_POWER_DOMAIN_DISP>;
185591f9c963SEnric Balletbo i Serra			clocks = <&mmsys CLK_MM_DISP_OVL0_2L>;
185691f9c963SEnric Balletbo i Serra			iommus = <&iommu M4U_PORT_DISP_2L_OVL0_LARB0>;
185791f9c963SEnric Balletbo i Serra			mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0x9000 0x1000>;
185891f9c963SEnric Balletbo i Serra		};
185991f9c963SEnric Balletbo i Serra
186091f9c963SEnric Balletbo i Serra		ovl_2l1: ovl@1400a000 {
186191f9c963SEnric Balletbo i Serra			compatible = "mediatek,mt8183-disp-ovl-2l";
186291f9c963SEnric Balletbo i Serra			reg = <0 0x1400a000 0 0x1000>;
186391f9c963SEnric Balletbo i Serra			interrupts = <GIC_SPI 227 IRQ_TYPE_LEVEL_LOW>;
186491f9c963SEnric Balletbo i Serra			power-domains = <&spm MT8183_POWER_DOMAIN_DISP>;
186591f9c963SEnric Balletbo i Serra			clocks = <&mmsys CLK_MM_DISP_OVL1_2L>;
186691f9c963SEnric Balletbo i Serra			iommus = <&iommu M4U_PORT_DISP_2L_OVL1_LARB0>;
186791f9c963SEnric Balletbo i Serra			mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0xa000 0x1000>;
186891f9c963SEnric Balletbo i Serra		};
186991f9c963SEnric Balletbo i Serra
187091f9c963SEnric Balletbo i Serra		rdma0: rdma@1400b000 {
187191f9c963SEnric Balletbo i Serra			compatible = "mediatek,mt8183-disp-rdma";
187291f9c963SEnric Balletbo i Serra			reg = <0 0x1400b000 0 0x1000>;
187391f9c963SEnric Balletbo i Serra			interrupts = <GIC_SPI 228 IRQ_TYPE_LEVEL_LOW>;
187491f9c963SEnric Balletbo i Serra			power-domains = <&spm MT8183_POWER_DOMAIN_DISP>;
187591f9c963SEnric Balletbo i Serra			clocks = <&mmsys CLK_MM_DISP_RDMA0>;
187691f9c963SEnric Balletbo i Serra			iommus = <&iommu M4U_PORT_DISP_RDMA0>;
1877431368c2SYongqiang Niu			mediatek,rdma-fifo-size = <5120>;
187891f9c963SEnric Balletbo i Serra			mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0xb000 0x1000>;
187991f9c963SEnric Balletbo i Serra		};
188091f9c963SEnric Balletbo i Serra
188191f9c963SEnric Balletbo i Serra		rdma1: rdma@1400c000 {
188291f9c963SEnric Balletbo i Serra			compatible = "mediatek,mt8183-disp-rdma";
188391f9c963SEnric Balletbo i Serra			reg = <0 0x1400c000 0 0x1000>;
188491f9c963SEnric Balletbo i Serra			interrupts = <GIC_SPI 229 IRQ_TYPE_LEVEL_LOW>;
188591f9c963SEnric Balletbo i Serra			power-domains = <&spm MT8183_POWER_DOMAIN_DISP>;
188691f9c963SEnric Balletbo i Serra			clocks = <&mmsys CLK_MM_DISP_RDMA1>;
188791f9c963SEnric Balletbo i Serra			iommus = <&iommu M4U_PORT_DISP_RDMA1>;
1888431368c2SYongqiang Niu			mediatek,rdma-fifo-size = <2048>;
188991f9c963SEnric Balletbo i Serra			mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0xc000 0x1000>;
189091f9c963SEnric Balletbo i Serra		};
189191f9c963SEnric Balletbo i Serra
189291f9c963SEnric Balletbo i Serra		color0: color@1400e000 {
189391f9c963SEnric Balletbo i Serra			compatible = "mediatek,mt8183-disp-color",
189491f9c963SEnric Balletbo i Serra				     "mediatek,mt8173-disp-color";
189591f9c963SEnric Balletbo i Serra			reg = <0 0x1400e000 0 0x1000>;
189691f9c963SEnric Balletbo i Serra			interrupts = <GIC_SPI 231 IRQ_TYPE_LEVEL_LOW>;
189791f9c963SEnric Balletbo i Serra			power-domains = <&spm MT8183_POWER_DOMAIN_DISP>;
189891f9c963SEnric Balletbo i Serra			clocks = <&mmsys CLK_MM_DISP_COLOR0>;
189991f9c963SEnric Balletbo i Serra			mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0xe000 0x1000>;
190091f9c963SEnric Balletbo i Serra		};
190191f9c963SEnric Balletbo i Serra
190291f9c963SEnric Balletbo i Serra		ccorr0: ccorr@1400f000 {
190391f9c963SEnric Balletbo i Serra			compatible = "mediatek,mt8183-disp-ccorr";
190491f9c963SEnric Balletbo i Serra			reg = <0 0x1400f000 0 0x1000>;
190591f9c963SEnric Balletbo i Serra			interrupts = <GIC_SPI 232 IRQ_TYPE_LEVEL_LOW>;
190691f9c963SEnric Balletbo i Serra			power-domains = <&spm MT8183_POWER_DOMAIN_DISP>;
190791f9c963SEnric Balletbo i Serra			clocks = <&mmsys CLK_MM_DISP_CCORR0>;
1908b7a8f50aSHsin-Yi Wang			mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0xf000 0x1000>;
190991f9c963SEnric Balletbo i Serra		};
191091f9c963SEnric Balletbo i Serra
191191f9c963SEnric Balletbo i Serra		aal0: aal@14010000 {
191271b946e9SRex-BC Chen			compatible = "mediatek,mt8183-disp-aal";
191391f9c963SEnric Balletbo i Serra			reg = <0 0x14010000 0 0x1000>;
191491f9c963SEnric Balletbo i Serra			interrupts = <GIC_SPI 233 IRQ_TYPE_LEVEL_LOW>;
191591f9c963SEnric Balletbo i Serra			power-domains = <&spm MT8183_POWER_DOMAIN_DISP>;
191691f9c963SEnric Balletbo i Serra			clocks = <&mmsys CLK_MM_DISP_AAL0>;
1917b7a8f50aSHsin-Yi Wang			mediatek,gce-client-reg = <&gce SUBSYS_1401XXXX 0 0x1000>;
191891f9c963SEnric Balletbo i Serra		};
191991f9c963SEnric Balletbo i Serra
192091f9c963SEnric Balletbo i Serra		gamma0: gamma@14011000 {
19219a2cb5ebSYongqiang Niu			compatible = "mediatek,mt8183-disp-gamma";
192291f9c963SEnric Balletbo i Serra			reg = <0 0x14011000 0 0x1000>;
192391f9c963SEnric Balletbo i Serra			interrupts = <GIC_SPI 234 IRQ_TYPE_LEVEL_LOW>;
192491f9c963SEnric Balletbo i Serra			power-domains = <&spm MT8183_POWER_DOMAIN_DISP>;
192591f9c963SEnric Balletbo i Serra			clocks = <&mmsys CLK_MM_DISP_GAMMA0>;
1926b7a8f50aSHsin-Yi Wang			mediatek,gce-client-reg = <&gce SUBSYS_1401XXXX 0x1000 0x1000>;
192791f9c963SEnric Balletbo i Serra		};
192891f9c963SEnric Balletbo i Serra
192991f9c963SEnric Balletbo i Serra		dither0: dither@14012000 {
193091f9c963SEnric Balletbo i Serra			compatible = "mediatek,mt8183-disp-dither";
193191f9c963SEnric Balletbo i Serra			reg = <0 0x14012000 0 0x1000>;
193291f9c963SEnric Balletbo i Serra			interrupts = <GIC_SPI 235 IRQ_TYPE_LEVEL_LOW>;
193391f9c963SEnric Balletbo i Serra			power-domains = <&spm MT8183_POWER_DOMAIN_DISP>;
193491f9c963SEnric Balletbo i Serra			clocks = <&mmsys CLK_MM_DISP_DITHER0>;
1935b7a8f50aSHsin-Yi Wang			mediatek,gce-client-reg = <&gce SUBSYS_1401XXXX 0x2000 0x1000>;
193691f9c963SEnric Balletbo i Serra		};
193791f9c963SEnric Balletbo i Serra
193888ec8402SJitao Shi		dsi0: dsi@14014000 {
193988ec8402SJitao Shi			compatible = "mediatek,mt8183-dsi";
194088ec8402SJitao Shi			reg = <0 0x14014000 0 0x1000>;
194188ec8402SJitao Shi			interrupts = <GIC_SPI 236 IRQ_TYPE_LEVEL_LOW>;
194288ec8402SJitao Shi			power-domains = <&spm MT8183_POWER_DOMAIN_DISP>;
194388ec8402SJitao Shi			clocks = <&mmsys CLK_MM_DSI0_MM>,
194488ec8402SJitao Shi				 <&mmsys CLK_MM_DSI0_IF>,
194588ec8402SJitao Shi				 <&mipi_tx0>;
194688ec8402SJitao Shi			clock-names = "engine", "digital", "hs";
19474bdb00edSEnric Balletbo i Serra			resets = <&mmsys MT8183_MMSYS_SW0_RST_B_DISP_DSI0>;
194888ec8402SJitao Shi			phys = <&mipi_tx0>;
194988ec8402SJitao Shi			phy-names = "dphy";
195088ec8402SJitao Shi		};
195188ec8402SJitao Shi
195291f9c963SEnric Balletbo i Serra		mutex: mutex@14016000 {
195391f9c963SEnric Balletbo i Serra			compatible = "mediatek,mt8183-disp-mutex";
195491f9c963SEnric Balletbo i Serra			reg = <0 0x14016000 0 0x1000>;
195591f9c963SEnric Balletbo i Serra			interrupts = <GIC_SPI 217 IRQ_TYPE_LEVEL_LOW>;
195691f9c963SEnric Balletbo i Serra			power-domains = <&spm MT8183_POWER_DOMAIN_DISP>;
195702912fb7SHsin-Yi Wang			mediatek,gce-events = <CMDQ_EVENT_MUTEX_STREAM_DONE0>,
195802912fb7SHsin-Yi Wang					      <CMDQ_EVENT_MUTEX_STREAM_DONE1>;
19590be021f9SMoudy Ho			mediatek,gce-client-reg = <&gce SUBSYS_1401XXXX 0x6000 0x1000>;
196091f9c963SEnric Balletbo i Serra		};
196191f9c963SEnric Balletbo i Serra
1962c6080916SEnric Balletbo i Serra		larb0: larb@14017000 {
1963c6080916SEnric Balletbo i Serra			compatible = "mediatek,mt8183-smi-larb";
1964c6080916SEnric Balletbo i Serra			reg = <0 0x14017000 0 0x1000>;
1965c6080916SEnric Balletbo i Serra			mediatek,smi = <&smi_common>;
1966c6080916SEnric Balletbo i Serra			clocks = <&mmsys CLK_MM_SMI_LARB0>,
1967c6080916SEnric Balletbo i Serra				 <&mmsys CLK_MM_SMI_LARB0>;
1968c6080916SEnric Balletbo i Serra			power-domains = <&spm MT8183_POWER_DOMAIN_DISP>;
1969c6080916SEnric Balletbo i Serra			clock-names = "apb", "smi";
1970c6080916SEnric Balletbo i Serra		};
1971c6080916SEnric Balletbo i Serra
1972ddebdbadSEnric Balletbo i Serra		smi_common: smi@14019000 {
1973946437cfSHsin-Yi Wang			compatible = "mediatek,mt8183-smi-common";
1974ddebdbadSEnric Balletbo i Serra			reg = <0 0x14019000 0 0x1000>;
1975ddebdbadSEnric Balletbo i Serra			clocks = <&mmsys CLK_MM_SMI_COMMON>,
1976ddebdbadSEnric Balletbo i Serra				 <&mmsys CLK_MM_SMI_COMMON>,
1977ddebdbadSEnric Balletbo i Serra				 <&mmsys CLK_MM_GALS_COMM0>,
1978ddebdbadSEnric Balletbo i Serra				 <&mmsys CLK_MM_GALS_COMM1>;
1979ddebdbadSEnric Balletbo i Serra			clock-names = "apb", "smi", "gals0", "gals1";
1980946437cfSHsin-Yi Wang			power-domains = <&spm MT8183_POWER_DOMAIN_DISP>;
1981ddebdbadSEnric Balletbo i Serra		};
1982ddebdbadSEnric Balletbo i Serra
198360a2fb8dSMoudy Ho		mdp3-ccorr@1401c000 {
198460a2fb8dSMoudy Ho			compatible = "mediatek,mt8183-mdp3-ccorr";
198560a2fb8dSMoudy Ho			reg = <0 0x1401c000 0 0x1000>;
198660a2fb8dSMoudy Ho			mediatek,gce-client-reg = <&gce SUBSYS_1401XXXX 0xc000 0x1000>;
198760a2fb8dSMoudy Ho			mediatek,gce-events = <CMDQ_EVENT_MDP_CCORR_SOF>,
198860a2fb8dSMoudy Ho					      <CMDQ_EVENT_MDP_CCORR_EOF>;
198960a2fb8dSMoudy Ho			clocks = <&mmsys CLK_MM_MDP_CCORR>;
199060a2fb8dSMoudy Ho		};
199160a2fb8dSMoudy Ho
1992e526c9bcSBen Ho		imgsys: syscon@15020000 {
1993e526c9bcSBen Ho			compatible = "mediatek,mt8183-imgsys", "syscon";
1994e526c9bcSBen Ho			reg = <0 0x15020000 0 0x1000>;
1995e526c9bcSBen Ho			#clock-cells = <1>;
1996e526c9bcSBen Ho		};
1997e526c9bcSBen Ho
1998c6080916SEnric Balletbo i Serra		larb5: larb@15021000 {
1999c6080916SEnric Balletbo i Serra			compatible = "mediatek,mt8183-smi-larb";
2000c6080916SEnric Balletbo i Serra			reg = <0 0x15021000 0 0x1000>;
2001c6080916SEnric Balletbo i Serra			mediatek,smi = <&smi_common>;
2002c6080916SEnric Balletbo i Serra			clocks = <&imgsys CLK_IMG_LARB5>, <&imgsys CLK_IMG_LARB5>,
2003c6080916SEnric Balletbo i Serra				 <&mmsys CLK_MM_GALS_IMG2MM>;
2004c6080916SEnric Balletbo i Serra			clock-names = "apb", "smi", "gals";
2005c6080916SEnric Balletbo i Serra			power-domains = <&spm MT8183_POWER_DOMAIN_ISP>;
2006c6080916SEnric Balletbo i Serra		};
2007c6080916SEnric Balletbo i Serra
2008c6080916SEnric Balletbo i Serra		larb2: larb@1502f000 {
2009c6080916SEnric Balletbo i Serra			compatible = "mediatek,mt8183-smi-larb";
2010c6080916SEnric Balletbo i Serra			reg = <0 0x1502f000 0 0x1000>;
2011c6080916SEnric Balletbo i Serra			mediatek,smi = <&smi_common>;
2012c6080916SEnric Balletbo i Serra			clocks = <&imgsys CLK_IMG_LARB2>, <&imgsys CLK_IMG_LARB2>,
2013c6080916SEnric Balletbo i Serra				 <&mmsys CLK_MM_GALS_IPU2MM>;
2014c6080916SEnric Balletbo i Serra			clock-names = "apb", "smi", "gals";
2015c6080916SEnric Balletbo i Serra			power-domains = <&spm MT8183_POWER_DOMAIN_ISP>;
2016c6080916SEnric Balletbo i Serra		};
2017c6080916SEnric Balletbo i Serra
2018e526c9bcSBen Ho		vdecsys: syscon@16000000 {
2019e526c9bcSBen Ho			compatible = "mediatek,mt8183-vdecsys", "syscon";
2020e526c9bcSBen Ho			reg = <0 0x16000000 0 0x1000>;
2021e526c9bcSBen Ho			#clock-cells = <1>;
2022e526c9bcSBen Ho		};
2023e526c9bcSBen Ho
202489ce5a09SYunfei Dong		vcodec_dec: video-codec@16020000 {
202589ce5a09SYunfei Dong			compatible = "mediatek,mt8183-vcodec-dec";
202689ce5a09SYunfei Dong			reg = <0 0x16020000 0 0x1000>,		/* VDEC_MISC */
202789ce5a09SYunfei Dong			      <0 0x16021000 0 0x800>,		/* VDEC_VLD */
202889ce5a09SYunfei Dong			      <0 0x16021800 0 0x800>,		/* VDEC_TOP */
202989ce5a09SYunfei Dong			      <0 0x16022000 0 0x1000>,		/* VDEC_MC */
203089ce5a09SYunfei Dong			      <0 0x16023000 0 0x1000>,		/* VDEC_AVCVLD */
203189ce5a09SYunfei Dong			      <0 0x16024000 0 0x1000>,		/* VDEC_AVCMV */
203289ce5a09SYunfei Dong			      <0 0x16025000 0 0x1000>,		/* VDEC_PP */
203389ce5a09SYunfei Dong			      <0 0x16026800 0 0x800>,		/* VP8_VD */
203489ce5a09SYunfei Dong			      <0 0x16027000 0 0x800>,		/* VP6_VD */
203589ce5a09SYunfei Dong			      <0 0x16027800 0 0x800>,		/* VP8_VL */
203689ce5a09SYunfei Dong			      <0 0x16028400 0 0x400>;		/* VP9_VD */
203789ce5a09SYunfei Dong			reg-names = "misc", "ld", "top", "cm", "ad", "av", "pp",
203889ce5a09SYunfei Dong				    "hwd", "hwq", "hwb", "hwg";
203989ce5a09SYunfei Dong			interrupts = <GIC_SPI 250 IRQ_TYPE_LEVEL_LOW>;
204089ce5a09SYunfei Dong			iommus = <&iommu M4U_PORT_HW_VDEC_MC_EXT>,
204189ce5a09SYunfei Dong				 <&iommu M4U_PORT_HW_VDEC_PP_EXT>,
204289ce5a09SYunfei Dong				 <&iommu M4U_PORT_HW_VDEC_VLD_EXT>,
204389ce5a09SYunfei Dong				 <&iommu M4U_PORT_HW_VDEC_AVC_MV_EXT>,
204489ce5a09SYunfei Dong				 <&iommu M4U_PORT_HW_VDEC_PRED_RD_EXT>,
204589ce5a09SYunfei Dong				 <&iommu M4U_PORT_HW_VDEC_PRED_WR_EXT>,
204689ce5a09SYunfei Dong				 <&iommu M4U_PORT_HW_VDEC_PPWRAP_EXT>;
204789ce5a09SYunfei Dong			mediatek,scp = <&scp>;
204889ce5a09SYunfei Dong			mediatek,vdecsys = <&vdecsys>;
204989ce5a09SYunfei Dong			power-domains = <&spm MT8183_POWER_DOMAIN_VDEC>;
205089ce5a09SYunfei Dong			clocks = <&vdecsys CLK_VDEC_VDEC>;
205189ce5a09SYunfei Dong			clock-names = "vdec";
205289ce5a09SYunfei Dong		};
205389ce5a09SYunfei Dong
2054c6080916SEnric Balletbo i Serra		larb1: larb@16010000 {
2055c6080916SEnric Balletbo i Serra			compatible = "mediatek,mt8183-smi-larb";
2056c6080916SEnric Balletbo i Serra			reg = <0 0x16010000 0 0x1000>;
2057c6080916SEnric Balletbo i Serra			mediatek,smi = <&smi_common>;
2058c6080916SEnric Balletbo i Serra			clocks = <&vdecsys CLK_VDEC_VDEC>, <&vdecsys CLK_VDEC_LARB1>;
2059c6080916SEnric Balletbo i Serra			clock-names = "apb", "smi";
2060c6080916SEnric Balletbo i Serra			power-domains = <&spm MT8183_POWER_DOMAIN_VDEC>;
2061c6080916SEnric Balletbo i Serra		};
2062c6080916SEnric Balletbo i Serra
2063e526c9bcSBen Ho		vencsys: syscon@17000000 {
2064e526c9bcSBen Ho			compatible = "mediatek,mt8183-vencsys", "syscon";
2065e526c9bcSBen Ho			reg = <0 0x17000000 0 0x1000>;
2066e526c9bcSBen Ho			#clock-cells = <1>;
2067e526c9bcSBen Ho		};
2068e526c9bcSBen Ho
2069c6080916SEnric Balletbo i Serra		larb4: larb@17010000 {
2070c6080916SEnric Balletbo i Serra			compatible = "mediatek,mt8183-smi-larb";
2071c6080916SEnric Balletbo i Serra			reg = <0 0x17010000 0 0x1000>;
2072c6080916SEnric Balletbo i Serra			mediatek,smi = <&smi_common>;
2073c6080916SEnric Balletbo i Serra			clocks = <&vencsys CLK_VENC_LARB>,
2074c6080916SEnric Balletbo i Serra				 <&vencsys CLK_VENC_LARB>;
2075c6080916SEnric Balletbo i Serra			clock-names = "apb", "smi";
2076c6080916SEnric Balletbo i Serra			power-domains = <&spm MT8183_POWER_DOMAIN_VENC>;
2077c6080916SEnric Balletbo i Serra		};
2078c6080916SEnric Balletbo i Serra
2079462f6c4aSMaoguang Meng		venc_jpg: venc_jpg@17030000 {
2080462f6c4aSMaoguang Meng			compatible = "mediatek,mt8183-jpgenc", "mediatek,mtk-jpgenc";
2081462f6c4aSMaoguang Meng			reg = <0 0x17030000 0 0x1000>;
2082462f6c4aSMaoguang Meng			interrupts = <GIC_SPI 249 IRQ_TYPE_LEVEL_LOW>;
2083462f6c4aSMaoguang Meng			iommus = <&iommu M4U_PORT_JPGENC_RDMA>,
2084462f6c4aSMaoguang Meng				 <&iommu M4U_PORT_JPGENC_BSDMA>;
2085462f6c4aSMaoguang Meng			power-domains = <&spm MT8183_POWER_DOMAIN_VENC>;
2086462f6c4aSMaoguang Meng			clocks = <&vencsys CLK_VENC_JPGENC>;
2087462f6c4aSMaoguang Meng			clock-names = "jpgenc";
2088462f6c4aSMaoguang Meng		};
2089462f6c4aSMaoguang Meng
2090e526c9bcSBen Ho		ipu_conn: syscon@19000000 {
2091e526c9bcSBen Ho			compatible = "mediatek,mt8183-ipu_conn", "syscon";
2092e526c9bcSBen Ho			reg = <0 0x19000000 0 0x1000>;
2093e526c9bcSBen Ho			#clock-cells = <1>;
2094e526c9bcSBen Ho		};
2095e526c9bcSBen Ho
2096e526c9bcSBen Ho		ipu_adl: syscon@19010000 {
2097e526c9bcSBen Ho			compatible = "mediatek,mt8183-ipu_adl", "syscon";
2098e526c9bcSBen Ho			reg = <0 0x19010000 0 0x1000>;
2099e526c9bcSBen Ho			#clock-cells = <1>;
2100e526c9bcSBen Ho		};
2101e526c9bcSBen Ho
2102e526c9bcSBen Ho		ipu_core0: syscon@19180000 {
2103e526c9bcSBen Ho			compatible = "mediatek,mt8183-ipu_core0", "syscon";
2104e526c9bcSBen Ho			reg = <0 0x19180000 0 0x1000>;
2105e526c9bcSBen Ho			#clock-cells = <1>;
2106e526c9bcSBen Ho		};
2107e526c9bcSBen Ho
2108e526c9bcSBen Ho		ipu_core1: syscon@19280000 {
2109e526c9bcSBen Ho			compatible = "mediatek,mt8183-ipu_core1", "syscon";
2110e526c9bcSBen Ho			reg = <0 0x19280000 0 0x1000>;
2111e526c9bcSBen Ho			#clock-cells = <1>;
2112e526c9bcSBen Ho		};
2113e526c9bcSBen Ho
2114e526c9bcSBen Ho		camsys: syscon@1a000000 {
2115e526c9bcSBen Ho			compatible = "mediatek,mt8183-camsys", "syscon";
2116e526c9bcSBen Ho			reg = <0 0x1a000000 0 0x1000>;
2117e526c9bcSBen Ho			#clock-cells = <1>;
2118e526c9bcSBen Ho		};
2119c6080916SEnric Balletbo i Serra
2120c6080916SEnric Balletbo i Serra		larb6: larb@1a001000 {
2121c6080916SEnric Balletbo i Serra			compatible = "mediatek,mt8183-smi-larb";
2122c6080916SEnric Balletbo i Serra			reg = <0 0x1a001000 0 0x1000>;
2123c6080916SEnric Balletbo i Serra			mediatek,smi = <&smi_common>;
2124c6080916SEnric Balletbo i Serra			clocks = <&camsys CLK_CAM_LARB6>, <&camsys CLK_CAM_LARB6>,
2125c6080916SEnric Balletbo i Serra				 <&mmsys CLK_MM_GALS_CAM2MM>;
2126c6080916SEnric Balletbo i Serra			clock-names = "apb", "smi", "gals";
2127c6080916SEnric Balletbo i Serra			power-domains = <&spm MT8183_POWER_DOMAIN_CAM>;
2128c6080916SEnric Balletbo i Serra		};
2129c6080916SEnric Balletbo i Serra
2130c6080916SEnric Balletbo i Serra		larb3: larb@1a002000 {
2131c6080916SEnric Balletbo i Serra			compatible = "mediatek,mt8183-smi-larb";
2132c6080916SEnric Balletbo i Serra			reg = <0 0x1a002000 0 0x1000>;
2133c6080916SEnric Balletbo i Serra			mediatek,smi = <&smi_common>;
2134c6080916SEnric Balletbo i Serra			clocks = <&camsys CLK_CAM_LARB3>, <&camsys CLK_CAM_LARB3>,
2135c6080916SEnric Balletbo i Serra				 <&mmsys CLK_MM_GALS_IPU12MM>;
2136c6080916SEnric Balletbo i Serra			clock-names = "apb", "smi", "gals";
2137c6080916SEnric Balletbo i Serra			power-domains = <&spm MT8183_POWER_DOMAIN_CAM>;
2138c6080916SEnric Balletbo i Serra		};
2139e526c9bcSBen Ho	};
2140e526c9bcSBen Ho};
2141