xref: /linux/arch/arm64/boot/dts/mediatek/mt8390-grinn-genio-sbc.dtsi (revision 0cac5ce06e524755b3dac1e0a060b05992076d93)
1*f4d1eaceSMateusz Koza// SPDX-License-Identifier: (GPL-2.0 OR MIT)
2*f4d1eaceSMateusz Koza/*
3*f4d1eaceSMateusz Koza * Copyright (C) 2025 Grinn sp. z o.o.
4*f4d1eaceSMateusz Koza * Author: Mateusz Koza <mateusz.koza@grinn-global.com>
5*f4d1eaceSMateusz Koza */
6*f4d1eaceSMateusz Koza
7*f4d1eaceSMateusz Koza#include <dt-bindings/gpio/gpio.h>
8*f4d1eaceSMateusz Koza
9*f4d1eaceSMateusz Koza/ {
10*f4d1eaceSMateusz Koza	chassis-type = "embedded";
11*f4d1eaceSMateusz Koza
12*f4d1eaceSMateusz Koza	aliases {
13*f4d1eaceSMateusz Koza		ethernet0 = &eth;
14*f4d1eaceSMateusz Koza		i2c0 = &i2c0;
15*f4d1eaceSMateusz Koza		i2c2 = &i2c2;
16*f4d1eaceSMateusz Koza		i2c3 = &i2c3;
17*f4d1eaceSMateusz Koza		i2c5 = &i2c5;
18*f4d1eaceSMateusz Koza		i2c6 = &i2c6;
19*f4d1eaceSMateusz Koza		serial0 = &uart0;
20*f4d1eaceSMateusz Koza	};
21*f4d1eaceSMateusz Koza
22*f4d1eaceSMateusz Koza	chosen {
23*f4d1eaceSMateusz Koza		stdout-path = "serial0:921600n8";
24*f4d1eaceSMateusz Koza	};
25*f4d1eaceSMateusz Koza
26*f4d1eaceSMateusz Koza	firmware {
27*f4d1eaceSMateusz Koza		optee {
28*f4d1eaceSMateusz Koza			compatible = "linaro,optee-tz";
29*f4d1eaceSMateusz Koza			method = "smc";
30*f4d1eaceSMateusz Koza		};
31*f4d1eaceSMateusz Koza	};
32*f4d1eaceSMateusz Koza
33*f4d1eaceSMateusz Koza	reserved-memory {
34*f4d1eaceSMateusz Koza		#address-cells = <2>;
35*f4d1eaceSMateusz Koza		#size-cells = <2>;
36*f4d1eaceSMateusz Koza		ranges;
37*f4d1eaceSMateusz Koza
38*f4d1eaceSMateusz Koza		/*
39*f4d1eaceSMateusz Koza		 * 12 MiB reserved for OP-TEE (BL32)
40*f4d1eaceSMateusz Koza		 * +-----------------------+ 0x43e0_0000
41*f4d1eaceSMateusz Koza		 * |      SHMEM 2MiB       |
42*f4d1eaceSMateusz Koza		 * +-----------------------+ 0x43c0_0000
43*f4d1eaceSMateusz Koza		 * |        | TA_RAM  8MiB |
44*f4d1eaceSMateusz Koza		 * + TZDRAM +--------------+ 0x4340_0000
45*f4d1eaceSMateusz Koza		 * |        | TEE_RAM 2MiB |
46*f4d1eaceSMateusz Koza		 * +-----------------------+ 0x4320_0000
47*f4d1eaceSMateusz Koza		 */
48*f4d1eaceSMateusz Koza		optee_reserved: optee@43200000 {
49*f4d1eaceSMateusz Koza			no-map;
50*f4d1eaceSMateusz Koza			reg = <0 0x43200000 0 0x00c00000>;
51*f4d1eaceSMateusz Koza		};
52*f4d1eaceSMateusz Koza
53*f4d1eaceSMateusz Koza		scp_mem: memory@50000000 {
54*f4d1eaceSMateusz Koza			compatible = "shared-dma-pool";
55*f4d1eaceSMateusz Koza			reg = <0 0x50000000 0 0x2900000>;
56*f4d1eaceSMateusz Koza			no-map;
57*f4d1eaceSMateusz Koza		};
58*f4d1eaceSMateusz Koza
59*f4d1eaceSMateusz Koza		/* 2 MiB reserved for ARM Trusted Firmware (BL31) */
60*f4d1eaceSMateusz Koza		bl31_secmon_reserved: memory@54600000 {
61*f4d1eaceSMateusz Koza			no-map;
62*f4d1eaceSMateusz Koza			reg = <0 0x54600000 0x0 0x200000>;
63*f4d1eaceSMateusz Koza		};
64*f4d1eaceSMateusz Koza
65*f4d1eaceSMateusz Koza		apu_mem: memory@55000000 {
66*f4d1eaceSMateusz Koza			compatible = "shared-dma-pool";
67*f4d1eaceSMateusz Koza			reg = <0 0x55000000 0 0x1400000>; /* 20 MB */
68*f4d1eaceSMateusz Koza		};
69*f4d1eaceSMateusz Koza
70*f4d1eaceSMateusz Koza		vpu_mem: memory@57000000 {
71*f4d1eaceSMateusz Koza			compatible = "shared-dma-pool";
72*f4d1eaceSMateusz Koza			reg = <0 0x57000000 0 0x1400000>; /* 20 MB */
73*f4d1eaceSMateusz Koza		};
74*f4d1eaceSMateusz Koza
75*f4d1eaceSMateusz Koza		adsp_mem: memory@60000000 {
76*f4d1eaceSMateusz Koza			compatible = "shared-dma-pool";
77*f4d1eaceSMateusz Koza			reg = <0 0x60000000 0 0xf00000>;
78*f4d1eaceSMateusz Koza			no-map;
79*f4d1eaceSMateusz Koza		};
80*f4d1eaceSMateusz Koza
81*f4d1eaceSMateusz Koza		afe_dma_mem: memory@60f00000 {
82*f4d1eaceSMateusz Koza			compatible = "shared-dma-pool";
83*f4d1eaceSMateusz Koza			reg = <0 0x60f00000 0 0x100000>;
84*f4d1eaceSMateusz Koza			no-map;
85*f4d1eaceSMateusz Koza		};
86*f4d1eaceSMateusz Koza
87*f4d1eaceSMateusz Koza		adsp_dma_mem: memory@61000000 {
88*f4d1eaceSMateusz Koza			compatible = "shared-dma-pool";
89*f4d1eaceSMateusz Koza			reg = <0 0x61000000 0 0x100000>;
90*f4d1eaceSMateusz Koza			no-map;
91*f4d1eaceSMateusz Koza		};
92*f4d1eaceSMateusz Koza	};
93*f4d1eaceSMateusz Koza
94*f4d1eaceSMateusz Koza	reg_sbc_vsys: regulator-vsys {
95*f4d1eaceSMateusz Koza		compatible = "regulator-fixed";
96*f4d1eaceSMateusz Koza		regulator-name = "vsys";
97*f4d1eaceSMateusz Koza		regulator-always-on;
98*f4d1eaceSMateusz Koza		regulator-boot-on;
99*f4d1eaceSMateusz Koza	};
100*f4d1eaceSMateusz Koza
101*f4d1eaceSMateusz Koza	reg_fixed_5v: regulator-0 {
102*f4d1eaceSMateusz Koza		compatible = "regulator-fixed";
103*f4d1eaceSMateusz Koza		regulator-name = "fixed-5v0";
104*f4d1eaceSMateusz Koza		regulator-min-microvolt = <5000000>;
105*f4d1eaceSMateusz Koza		regulator-max-microvolt = <5000000>;
106*f4d1eaceSMateusz Koza		enable-active-high;
107*f4d1eaceSMateusz Koza		regulator-always-on;
108*f4d1eaceSMateusz Koza		vin-supply = <&reg_sbc_vsys>;
109*f4d1eaceSMateusz Koza	};
110*f4d1eaceSMateusz Koza
111*f4d1eaceSMateusz Koza	reg_fixed_4v2: regulator-1 {
112*f4d1eaceSMateusz Koza		compatible = "regulator-fixed";
113*f4d1eaceSMateusz Koza		regulator-name = "fixed-4v2";
114*f4d1eaceSMateusz Koza		regulator-min-microvolt = <4200000>;
115*f4d1eaceSMateusz Koza		regulator-max-microvolt = <4200000>;
116*f4d1eaceSMateusz Koza		enable-active-high;
117*f4d1eaceSMateusz Koza		regulator-always-on;
118*f4d1eaceSMateusz Koza		vin-supply = <&reg_sbc_vsys>;
119*f4d1eaceSMateusz Koza	};
120*f4d1eaceSMateusz Koza
121*f4d1eaceSMateusz Koza	reg_fixed_3v3: regulator-2 {
122*f4d1eaceSMateusz Koza		compatible = "regulator-fixed";
123*f4d1eaceSMateusz Koza		regulator-name = "fixed-3v3";
124*f4d1eaceSMateusz Koza		regulator-min-microvolt = <3300000>;
125*f4d1eaceSMateusz Koza		regulator-max-microvolt = <3300000>;
126*f4d1eaceSMateusz Koza		enable-active-high;
127*f4d1eaceSMateusz Koza		regulator-always-on;
128*f4d1eaceSMateusz Koza		vin-supply = <&reg_sbc_vsys>;
129*f4d1eaceSMateusz Koza	};
130*f4d1eaceSMateusz Koza};
131*f4d1eaceSMateusz Koza
132*f4d1eaceSMateusz Koza&pio {
133*f4d1eaceSMateusz Koza	gpio-line-names =
134*f4d1eaceSMateusz Koza	/*  0 -  4   */ "RPI_GPIO0", "RPI_GPIO1", "", "", "RPI_GPIO4",
135*f4d1eaceSMateusz Koza	/*  5 -  9   */ "", "RPI_GPIO6", "", "", "RPI_GPIO9",
136*f4d1eaceSMateusz Koza	/* 10 - 14   */ "RPI_GPIO10", "RPI_GPIO11", "", "", "",
137*f4d1eaceSMateusz Koza	/* 15 - 19   */ "", "", "", "", "",
138*f4d1eaceSMateusz Koza	/* 20 - 24   */ "", "RPI_GPIO21", "", "RPI_GPIO23", "",
139*f4d1eaceSMateusz Koza	/* 25 - 29   */ "", "", "", "", "",
140*f4d1eaceSMateusz Koza	/* 30 - 34   */ "RPI_GPIO30", "", "", "", "",
141*f4d1eaceSMateusz Koza	/* 35 - 39   */ "RPI_GPIO35", "RPI_GPIO36", "", "", "",
142*f4d1eaceSMateusz Koza	/* 40 - 44   */ "", "", "", "", "",
143*f4d1eaceSMateusz Koza	/* 45 - 49   */ "", "", "", "", "",
144*f4d1eaceSMateusz Koza	/* 50 - 54   */ "", "", "", "", "",
145*f4d1eaceSMateusz Koza	/* 55 - 59   */ "RPI_GPIO55", "RPI_GPIO56", "", "", "RPI_GPIO59",
146*f4d1eaceSMateusz Koza	/* 60 - 64   */ "RPI_GPIO60", "", "", "", "",
147*f4d1eaceSMateusz Koza	/* 65 - 69   */ "", "", "", "", "RPI_GPIO69",
148*f4d1eaceSMateusz Koza	/* 70 - 74   */ "", "", "RPI_GPIO72", "RPI_GPIO73", "RPI_GPIO74",
149*f4d1eaceSMateusz Koza	/* 75 - 79   */ "", "", "", "", "RPI_GPIO79",
150*f4d1eaceSMateusz Koza	/* 80 - 84   */ "RPI_GPIO80", "RPI_GPIO81", "RPI_GPIO82", "", "",
151*f4d1eaceSMateusz Koza	/* 85 - 89   */ "", "", "", "", "",
152*f4d1eaceSMateusz Koza	/* 90 - 94   */ "", "", "", "", "",
153*f4d1eaceSMateusz Koza	/* 95 - 99   */ "", "", "", "", "",
154*f4d1eaceSMateusz Koza	/*100 - 104  */ "", "", "", "", "",
155*f4d1eaceSMateusz Koza	/*105 - 109  */ "", "", "", "", "",
156*f4d1eaceSMateusz Koza	/*110 - 114  */ "", "", "", "", "",
157*f4d1eaceSMateusz Koza	/*115 - 119  */ "", "", "", "", "",
158*f4d1eaceSMateusz Koza	/*120 - 124  */ "", "RPI_GPIO121", "RPI_GPIO122", "RPI_GPIO123", "RPI_GPIO124";
159*f4d1eaceSMateusz Koza
160*f4d1eaceSMateusz Koza	i2c0_pins: i2c0-pins {
161*f4d1eaceSMateusz Koza		pins {
162*f4d1eaceSMateusz Koza			pinmux = <PINMUX_GPIO56__FUNC_B1_SDA0>,
163*f4d1eaceSMateusz Koza				 <PINMUX_GPIO55__FUNC_B1_SCL0>;
164*f4d1eaceSMateusz Koza			bias-pull-up = <MTK_PULL_SET_RSEL_011>;
165*f4d1eaceSMateusz Koza			drive-strength-microamp = <1000>;
166*f4d1eaceSMateusz Koza		};
167*f4d1eaceSMateusz Koza	};
168*f4d1eaceSMateusz Koza
169*f4d1eaceSMateusz Koza	i2c2_pins: i2c2-pins {
170*f4d1eaceSMateusz Koza		pins {
171*f4d1eaceSMateusz Koza			pinmux = <PINMUX_GPIO60__FUNC_B1_SDA2>,
172*f4d1eaceSMateusz Koza				 <PINMUX_GPIO59__FUNC_B1_SCL2>;
173*f4d1eaceSMateusz Koza			bias-pull-up = <MTK_PULL_SET_RSEL_011>;
174*f4d1eaceSMateusz Koza			drive-strength-microamp = <1000>;
175*f4d1eaceSMateusz Koza		};
176*f4d1eaceSMateusz Koza	};
177*f4d1eaceSMateusz Koza
178*f4d1eaceSMateusz Koza	i2c3_pins: i2c3-pins {
179*f4d1eaceSMateusz Koza		pins {
180*f4d1eaceSMateusz Koza			pinmux = <PINMUX_GPIO62__FUNC_B1_SDA3>,
181*f4d1eaceSMateusz Koza				 <PINMUX_GPIO61__FUNC_B1_SCL3>;
182*f4d1eaceSMateusz Koza			bias-pull-up = <MTK_PULL_SET_RSEL_011>;
183*f4d1eaceSMateusz Koza			drive-strength-microamp = <1000>;
184*f4d1eaceSMateusz Koza		};
185*f4d1eaceSMateusz Koza	};
186*f4d1eaceSMateusz Koza
187*f4d1eaceSMateusz Koza	i2c5_pins: i2c5-pins {
188*f4d1eaceSMateusz Koza		pins {
189*f4d1eaceSMateusz Koza			pinmux = <PINMUX_GPIO66__FUNC_B1_SDA5>,
190*f4d1eaceSMateusz Koza				 <PINMUX_GPIO65__FUNC_B1_SCL5>;
191*f4d1eaceSMateusz Koza			bias-pull-up = <MTK_PULL_SET_RSEL_011>;
192*f4d1eaceSMateusz Koza			drive-strength-microamp = <1000>;
193*f4d1eaceSMateusz Koza		};
194*f4d1eaceSMateusz Koza	};
195*f4d1eaceSMateusz Koza
196*f4d1eaceSMateusz Koza	i2c6_pins: i2c6-pins {
197*f4d1eaceSMateusz Koza		pins {
198*f4d1eaceSMateusz Koza			pinmux = <PINMUX_GPIO68__FUNC_B1_SDA6>,
199*f4d1eaceSMateusz Koza				 <PINMUX_GPIO67__FUNC_B1_SCL6>;
200*f4d1eaceSMateusz Koza			bias-pull-up = <MTK_PULL_SET_RSEL_011>;
201*f4d1eaceSMateusz Koza			drive-strength-microamp = <1000>;
202*f4d1eaceSMateusz Koza		};
203*f4d1eaceSMateusz Koza	};
204*f4d1eaceSMateusz Koza
205*f4d1eaceSMateusz Koza	uart0_pins: uart0-pins {
206*f4d1eaceSMateusz Koza		pins {
207*f4d1eaceSMateusz Koza			pinmux = <PINMUX_GPIO31__FUNC_O_UTXD0>,
208*f4d1eaceSMateusz Koza				 <PINMUX_GPIO32__FUNC_I1_URXD0>;
209*f4d1eaceSMateusz Koza			bias-pull-up;
210*f4d1eaceSMateusz Koza		};
211*f4d1eaceSMateusz Koza	};
212*f4d1eaceSMateusz Koza
213*f4d1eaceSMateusz Koza	uart1_pins: uart1-pins {
214*f4d1eaceSMateusz Koza		pins {
215*f4d1eaceSMateusz Koza			pinmux = <PINMUX_GPIO86__FUNC_O_UTXD1>,
216*f4d1eaceSMateusz Koza				 <PINMUX_GPIO87__FUNC_I1_URXD1>;
217*f4d1eaceSMateusz Koza			bias-pull-up;
218*f4d1eaceSMateusz Koza		};
219*f4d1eaceSMateusz Koza	};
220*f4d1eaceSMateusz Koza
221*f4d1eaceSMateusz Koza	uart2_pins: uart2-pins {
222*f4d1eaceSMateusz Koza		pins {
223*f4d1eaceSMateusz Koza			pinmux = <PINMUX_GPIO35__FUNC_O_UTXD2>,
224*f4d1eaceSMateusz Koza				 <PINMUX_GPIO36__FUNC_I1_URXD2>;
225*f4d1eaceSMateusz Koza			bias-pull-up;
226*f4d1eaceSMateusz Koza		};
227*f4d1eaceSMateusz Koza	};
228*f4d1eaceSMateusz Koza
229*f4d1eaceSMateusz Koza	pcie_pins_default: pcie-default {
230*f4d1eaceSMateusz Koza		mux {
231*f4d1eaceSMateusz Koza			pinmux = <PINMUX_GPIO47__FUNC_I1_WAKEN>,
232*f4d1eaceSMateusz Koza				 <PINMUX_GPIO48__FUNC_O_PERSTN>,
233*f4d1eaceSMateusz Koza				 <PINMUX_GPIO49__FUNC_B1_CLKREQN>;
234*f4d1eaceSMateusz Koza			bias-pull-up;
235*f4d1eaceSMateusz Koza		};
236*f4d1eaceSMateusz Koza	};
237*f4d1eaceSMateusz Koza
238*f4d1eaceSMateusz Koza	eth_default_pins: eth-default-pins {
239*f4d1eaceSMateusz Koza		pins-cc {
240*f4d1eaceSMateusz Koza			pinmux = <PINMUX_GPIO139__FUNC_B0_GBE_TXC>,
241*f4d1eaceSMateusz Koza				 <PINMUX_GPIO140__FUNC_I0_GBE_RXC>,
242*f4d1eaceSMateusz Koza				 <PINMUX_GPIO141__FUNC_I0_GBE_RXDV>,
243*f4d1eaceSMateusz Koza				 <PINMUX_GPIO142__FUNC_O_GBE_TXEN>;
244*f4d1eaceSMateusz Koza			drive-strength = <8>;
245*f4d1eaceSMateusz Koza		};
246*f4d1eaceSMateusz Koza
247*f4d1eaceSMateusz Koza		pins-mdio {
248*f4d1eaceSMateusz Koza			pinmux = <PINMUX_GPIO143__FUNC_O_GBE_MDC>,
249*f4d1eaceSMateusz Koza				 <PINMUX_GPIO144__FUNC_B1_GBE_MDIO>;
250*f4d1eaceSMateusz Koza			drive-strength = <8>;
251*f4d1eaceSMateusz Koza			input-enable;
252*f4d1eaceSMateusz Koza		};
253*f4d1eaceSMateusz Koza
254*f4d1eaceSMateusz Koza		pins-power {
255*f4d1eaceSMateusz Koza			pinmux = <PINMUX_GPIO145__FUNC_B_GPIO145>,
256*f4d1eaceSMateusz Koza				 <PINMUX_GPIO146__FUNC_B_GPIO146>;
257*f4d1eaceSMateusz Koza			output-high;
258*f4d1eaceSMateusz Koza		};
259*f4d1eaceSMateusz Koza
260*f4d1eaceSMateusz Koza		pins-rxd {
261*f4d1eaceSMateusz Koza			pinmux = <PINMUX_GPIO135__FUNC_I0_GBE_RXD3>,
262*f4d1eaceSMateusz Koza				 <PINMUX_GPIO136__FUNC_I0_GBE_RXD2>,
263*f4d1eaceSMateusz Koza				 <PINMUX_GPIO137__FUNC_I0_GBE_RXD1>,
264*f4d1eaceSMateusz Koza				 <PINMUX_GPIO138__FUNC_I0_GBE_RXD0>;
265*f4d1eaceSMateusz Koza			drive-strength = <8>;
266*f4d1eaceSMateusz Koza		};
267*f4d1eaceSMateusz Koza
268*f4d1eaceSMateusz Koza		pins-txd {
269*f4d1eaceSMateusz Koza			pinmux = <PINMUX_GPIO131__FUNC_O_GBE_TXD3>,
270*f4d1eaceSMateusz Koza				 <PINMUX_GPIO132__FUNC_O_GBE_TXD2>,
271*f4d1eaceSMateusz Koza				 <PINMUX_GPIO133__FUNC_O_GBE_TXD1>,
272*f4d1eaceSMateusz Koza				 <PINMUX_GPIO134__FUNC_O_GBE_TXD0>;
273*f4d1eaceSMateusz Koza			drive-strength = <8>;
274*f4d1eaceSMateusz Koza		};
275*f4d1eaceSMateusz Koza	};
276*f4d1eaceSMateusz Koza
277*f4d1eaceSMateusz Koza	eth_sleep_pins: eth-sleep-pins {
278*f4d1eaceSMateusz Koza		pins-cc {
279*f4d1eaceSMateusz Koza			pinmux = <PINMUX_GPIO139__FUNC_B_GPIO139>,
280*f4d1eaceSMateusz Koza				 <PINMUX_GPIO140__FUNC_B_GPIO140>,
281*f4d1eaceSMateusz Koza				 <PINMUX_GPIO141__FUNC_B_GPIO141>,
282*f4d1eaceSMateusz Koza				 <PINMUX_GPIO142__FUNC_B_GPIO142>;
283*f4d1eaceSMateusz Koza		};
284*f4d1eaceSMateusz Koza
285*f4d1eaceSMateusz Koza		pins-mdio {
286*f4d1eaceSMateusz Koza			pinmux = <PINMUX_GPIO143__FUNC_B_GPIO143>,
287*f4d1eaceSMateusz Koza				 <PINMUX_GPIO144__FUNC_B_GPIO144>;
288*f4d1eaceSMateusz Koza			input-disable;
289*f4d1eaceSMateusz Koza			bias-disable;
290*f4d1eaceSMateusz Koza		};
291*f4d1eaceSMateusz Koza
292*f4d1eaceSMateusz Koza		pins-rxd {
293*f4d1eaceSMateusz Koza			pinmux = <PINMUX_GPIO135__FUNC_B_GPIO135>,
294*f4d1eaceSMateusz Koza				 <PINMUX_GPIO136__FUNC_B_GPIO136>,
295*f4d1eaceSMateusz Koza				 <PINMUX_GPIO137__FUNC_B_GPIO137>,
296*f4d1eaceSMateusz Koza				 <PINMUX_GPIO138__FUNC_B_GPIO138>;
297*f4d1eaceSMateusz Koza		};
298*f4d1eaceSMateusz Koza
299*f4d1eaceSMateusz Koza		pins-txd {
300*f4d1eaceSMateusz Koza			pinmux = <PINMUX_GPIO131__FUNC_B_GPIO131>,
301*f4d1eaceSMateusz Koza				 <PINMUX_GPIO132__FUNC_B_GPIO132>,
302*f4d1eaceSMateusz Koza				 <PINMUX_GPIO133__FUNC_B_GPIO133>,
303*f4d1eaceSMateusz Koza				 <PINMUX_GPIO134__FUNC_B_GPIO134>;
304*f4d1eaceSMateusz Koza		};
305*f4d1eaceSMateusz Koza	};
306*f4d1eaceSMateusz Koza
307*f4d1eaceSMateusz Koza	spi2_pins: spi2-pins {
308*f4d1eaceSMateusz Koza		pins-spi {
309*f4d1eaceSMateusz Koza			pinmux = <PINMUX_GPIO79__FUNC_O_SPIM2_CSB>,
310*f4d1eaceSMateusz Koza				<PINMUX_GPIO80__FUNC_O_SPIM2_CLK>,
311*f4d1eaceSMateusz Koza				<PINMUX_GPIO81__FUNC_B0_SPIM2_MOSI>,
312*f4d1eaceSMateusz Koza				<PINMUX_GPIO82__FUNC_B0_SPIM2_MISO>;
313*f4d1eaceSMateusz Koza			bias-disable;
314*f4d1eaceSMateusz Koza		};
315*f4d1eaceSMateusz Koza	};
316*f4d1eaceSMateusz Koza
317*f4d1eaceSMateusz Koza	audio_default_pins: audio-default-pins {
318*f4d1eaceSMateusz Koza		pins-cmd-dat {
319*f4d1eaceSMateusz Koza			pinmux = <PINMUX_GPIO121__FUNC_B0_PCM_CLK>,
320*f4d1eaceSMateusz Koza				 <PINMUX_GPIO122__FUNC_B0_PCM_SYNC>,
321*f4d1eaceSMateusz Koza				 <PINMUX_GPIO123__FUNC_O_PCM_DO>,
322*f4d1eaceSMateusz Koza				 <PINMUX_GPIO124__FUNC_I0_PCM_DI>;
323*f4d1eaceSMateusz Koza		};
324*f4d1eaceSMateusz Koza	};
325*f4d1eaceSMateusz Koza
326*f4d1eaceSMateusz Koza	usb_default_pins: usb-default-pins {
327*f4d1eaceSMateusz Koza		pins-valid {
328*f4d1eaceSMateusz Koza			pinmux = <PINMUX_GPIO85__FUNC_I0_VBUSVALID>;
329*f4d1eaceSMateusz Koza			input-enable;
330*f4d1eaceSMateusz Koza		};
331*f4d1eaceSMateusz Koza	};
332*f4d1eaceSMateusz Koza};
333*f4d1eaceSMateusz Koza
334*f4d1eaceSMateusz Koza&eth {
335*f4d1eaceSMateusz Koza	phy-mode = "rgmii-id";
336*f4d1eaceSMateusz Koza	phy-handle = <&ethernet_phy0>;
337*f4d1eaceSMateusz Koza	pinctrl-names = "default", "sleep";
338*f4d1eaceSMateusz Koza	pinctrl-0 = <&eth_default_pins>;
339*f4d1eaceSMateusz Koza	pinctrl-1 = <&eth_sleep_pins>;
340*f4d1eaceSMateusz Koza	mediatek,mac-wol;
341*f4d1eaceSMateusz Koza	mediatek,tx-delay-ps = <30>;
342*f4d1eaceSMateusz Koza	snps,reset-active-low;
343*f4d1eaceSMateusz Koza	snps,reset-delays-us = <0 11000 200000>;
344*f4d1eaceSMateusz Koza	snps,reset-gpio = <&pio 147 GPIO_ACTIVE_LOW>;
345*f4d1eaceSMateusz Koza	status = "okay";
346*f4d1eaceSMateusz Koza};
347*f4d1eaceSMateusz Koza
348*f4d1eaceSMateusz Koza&eth_mdio {
349*f4d1eaceSMateusz Koza	ethernet_phy0: ethernet-phy@3 {
350*f4d1eaceSMateusz Koza		compatible = "ethernet-phy-ieee802.3-c22";
351*f4d1eaceSMateusz Koza		reg = <3>;
352*f4d1eaceSMateusz Koza		interrupts-extended = <&pio 148 IRQ_TYPE_LEVEL_LOW>;
353*f4d1eaceSMateusz Koza		eee-broken-1000t;
354*f4d1eaceSMateusz Koza	};
355*f4d1eaceSMateusz Koza};
356*f4d1eaceSMateusz Koza
357*f4d1eaceSMateusz Koza&i2c0 {
358*f4d1eaceSMateusz Koza	pinctrl-names = "default";
359*f4d1eaceSMateusz Koza	pinctrl-0 = <&i2c0_pins>;
360*f4d1eaceSMateusz Koza	clock-frequency = <400000>;
361*f4d1eaceSMateusz Koza	status = "okay";
362*f4d1eaceSMateusz Koza};
363*f4d1eaceSMateusz Koza
364*f4d1eaceSMateusz Koza&i2c2 {
365*f4d1eaceSMateusz Koza	pinctrl-names = "default";
366*f4d1eaceSMateusz Koza	pinctrl-0 = <&i2c2_pins>;
367*f4d1eaceSMateusz Koza	clock-frequency = <400000>;
368*f4d1eaceSMateusz Koza	status = "okay";
369*f4d1eaceSMateusz Koza};
370*f4d1eaceSMateusz Koza
371*f4d1eaceSMateusz Koza&i2c3 {
372*f4d1eaceSMateusz Koza	pinctrl-names = "default";
373*f4d1eaceSMateusz Koza	pinctrl-0 = <&i2c3_pins>;
374*f4d1eaceSMateusz Koza	clock-frequency = <400000>;
375*f4d1eaceSMateusz Koza	status = "okay";
376*f4d1eaceSMateusz Koza};
377*f4d1eaceSMateusz Koza
378*f4d1eaceSMateusz Koza&i2c5 {
379*f4d1eaceSMateusz Koza	pinctrl-names = "default";
380*f4d1eaceSMateusz Koza	pinctrl-0 = <&i2c5_pins>;
381*f4d1eaceSMateusz Koza	clock-frequency = <400000>;
382*f4d1eaceSMateusz Koza	status = "okay";
383*f4d1eaceSMateusz Koza};
384*f4d1eaceSMateusz Koza
385*f4d1eaceSMateusz Koza&i2c6 {
386*f4d1eaceSMateusz Koza	pinctrl-names = "default";
387*f4d1eaceSMateusz Koza	pinctrl-0 = <&i2c6_pins>;
388*f4d1eaceSMateusz Koza	clock-frequency = <400000>;
389*f4d1eaceSMateusz Koza	status = "okay";
390*f4d1eaceSMateusz Koza};
391*f4d1eaceSMateusz Koza
392*f4d1eaceSMateusz Koza&uart0 {
393*f4d1eaceSMateusz Koza	pinctrl-names = "default";
394*f4d1eaceSMateusz Koza	pinctrl-0 = <&uart0_pins>;
395*f4d1eaceSMateusz Koza	status = "okay";
396*f4d1eaceSMateusz Koza};
397*f4d1eaceSMateusz Koza
398*f4d1eaceSMateusz Koza&uart1 {
399*f4d1eaceSMateusz Koza	pinctrl-names = "default";
400*f4d1eaceSMateusz Koza	pinctrl-0 = <&uart1_pins>;
401*f4d1eaceSMateusz Koza	status = "okay";
402*f4d1eaceSMateusz Koza};
403*f4d1eaceSMateusz Koza
404*f4d1eaceSMateusz Koza&uart2 {
405*f4d1eaceSMateusz Koza	pinctrl-names = "default";
406*f4d1eaceSMateusz Koza	pinctrl-0 = <&uart2_pins>;
407*f4d1eaceSMateusz Koza	status = "okay";
408*f4d1eaceSMateusz Koza};
409*f4d1eaceSMateusz Koza
410*f4d1eaceSMateusz Koza&pcie {
411*f4d1eaceSMateusz Koza	pinctrl-names = "default";
412*f4d1eaceSMateusz Koza	pinctrl-0 = <&pcie_pins_default>;
413*f4d1eaceSMateusz Koza	status = "okay";
414*f4d1eaceSMateusz Koza};
415*f4d1eaceSMateusz Koza
416*f4d1eaceSMateusz Koza&pciephy {
417*f4d1eaceSMateusz Koza	status = "okay";
418*f4d1eaceSMateusz Koza};
419*f4d1eaceSMateusz Koza
420*f4d1eaceSMateusz Koza&spi2 {
421*f4d1eaceSMateusz Koza	pinctrl-names = "default";
422*f4d1eaceSMateusz Koza	pinctrl-0 = <&spi2_pins>;
423*f4d1eaceSMateusz Koza	mediatek,pad-select = <0>;
424*f4d1eaceSMateusz Koza	#address-cells = <1>;
425*f4d1eaceSMateusz Koza	#size-cells = <0>;
426*f4d1eaceSMateusz Koza	status = "okay";
427*f4d1eaceSMateusz Koza};
428*f4d1eaceSMateusz Koza
429*f4d1eaceSMateusz Koza&u3phy0 {
430*f4d1eaceSMateusz Koza	status = "okay";
431*f4d1eaceSMateusz Koza};
432*f4d1eaceSMateusz Koza
433*f4d1eaceSMateusz Koza&u3phy1 {
434*f4d1eaceSMateusz Koza	status = "okay";
435*f4d1eaceSMateusz Koza};
436*f4d1eaceSMateusz Koza
437*f4d1eaceSMateusz Koza&u3phy2 {
438*f4d1eaceSMateusz Koza	status = "okay";
439*f4d1eaceSMateusz Koza};
440*f4d1eaceSMateusz Koza
441*f4d1eaceSMateusz Koza&xhci1 {
442*f4d1eaceSMateusz Koza	#address-cells = <1>;
443*f4d1eaceSMateusz Koza	#size-cells = <0>;
444*f4d1eaceSMateusz Koza	vusb33-supply = <&mt6359_vusb_ldo_reg>;
445*f4d1eaceSMateusz Koza	status = "okay";
446*f4d1eaceSMateusz Koza
447*f4d1eaceSMateusz Koza	hub_2_0: hub@1 {
448*f4d1eaceSMateusz Koza		compatible = "usb451,8027";
449*f4d1eaceSMateusz Koza		reg = <1>;
450*f4d1eaceSMateusz Koza		peer-hub = <&hub_3_0>;
451*f4d1eaceSMateusz Koza		reset-gpios = <&pio 7 GPIO_ACTIVE_HIGH>;
452*f4d1eaceSMateusz Koza		vdd-supply = <&reg_fixed_3v3>;
453*f4d1eaceSMateusz Koza	};
454*f4d1eaceSMateusz Koza
455*f4d1eaceSMateusz Koza	hub_3_0: hub@2 {
456*f4d1eaceSMateusz Koza		compatible = "usb451,8025";
457*f4d1eaceSMateusz Koza		reg = <2>;
458*f4d1eaceSMateusz Koza		peer-hub = <&hub_2_0>;
459*f4d1eaceSMateusz Koza		reset-gpios = <&pio 7 GPIO_ACTIVE_HIGH>;
460*f4d1eaceSMateusz Koza		vdd-supply = <&reg_fixed_3v3>;
461*f4d1eaceSMateusz Koza	};
462*f4d1eaceSMateusz Koza};
463*f4d1eaceSMateusz Koza
464*f4d1eaceSMateusz Koza&xhci2 {
465*f4d1eaceSMateusz Koza	#address-cells = <1>;
466*f4d1eaceSMateusz Koza	#size-cells = <0>;
467*f4d1eaceSMateusz Koza	vusb33-supply = <&mt6359_vusb_ldo_reg>;
468*f4d1eaceSMateusz Koza	status = "okay";
469*f4d1eaceSMateusz Koza
470*f4d1eaceSMateusz Koza	hub@1 {
471*f4d1eaceSMateusz Koza		compatible = "microchip,usb2513bi";
472*f4d1eaceSMateusz Koza		reg = <1>;
473*f4d1eaceSMateusz Koza		vdd-supply = <&reg_fixed_3v3>;
474*f4d1eaceSMateusz Koza	};
475*f4d1eaceSMateusz Koza};
476*f4d1eaceSMateusz Koza
477*f4d1eaceSMateusz Koza&ssusb0 {
478*f4d1eaceSMateusz Koza	dr_mode = "peripheral";
479*f4d1eaceSMateusz Koza	pinctrl-names = "default";
480*f4d1eaceSMateusz Koza	pinctrl-0 = <&usb_default_pins>;
481*f4d1eaceSMateusz Koza	vusb33-supply = <&mt6359_vusb_ldo_reg>;
482*f4d1eaceSMateusz Koza	status = "okay";
483*f4d1eaceSMateusz Koza};
484*f4d1eaceSMateusz Koza
485*f4d1eaceSMateusz Koza&ssusb1 {
486*f4d1eaceSMateusz Koza	dr_mode = "host";
487*f4d1eaceSMateusz Koza	maximum-speed = "super-speed";
488*f4d1eaceSMateusz Koza	vusb33-supply = <&mt6359_vusb_ldo_reg>;
489*f4d1eaceSMateusz Koza	status = "okay";
490*f4d1eaceSMateusz Koza};
491*f4d1eaceSMateusz Koza
492*f4d1eaceSMateusz Koza&ssusb2 {
493*f4d1eaceSMateusz Koza	dr_mode = "host";
494*f4d1eaceSMateusz Koza	maximum-speed = "high-speed";
495*f4d1eaceSMateusz Koza	vusb33-supply = <&mt6359_vusb_ldo_reg>;
496*f4d1eaceSMateusz Koza	status = "okay";
497*f4d1eaceSMateusz Koza};
498*f4d1eaceSMateusz Koza
499*f4d1eaceSMateusz Koza&scp_cluster {
500*f4d1eaceSMateusz Koza	status = "okay";
501*f4d1eaceSMateusz Koza};
502*f4d1eaceSMateusz Koza
503*f4d1eaceSMateusz Koza&scp_c0 {
504*f4d1eaceSMateusz Koza	memory-region = <&scp_mem>;
505*f4d1eaceSMateusz Koza	status = "okay";
506*f4d1eaceSMateusz Koza};
507*f4d1eaceSMateusz Koza
508*f4d1eaceSMateusz Koza&gpu {
509*f4d1eaceSMateusz Koza	mali-supply = <&mt6359_vproc2_buck_reg>;
510*f4d1eaceSMateusz Koza	status = "okay";
511*f4d1eaceSMateusz Koza};
512*f4d1eaceSMateusz Koza
513*f4d1eaceSMateusz Koza&adsp {
514*f4d1eaceSMateusz Koza	memory-region = <&adsp_dma_mem>, <&adsp_mem>;
515*f4d1eaceSMateusz Koza	status = "okay";
516*f4d1eaceSMateusz Koza};
517*f4d1eaceSMateusz Koza
518*f4d1eaceSMateusz Koza&afe {
519*f4d1eaceSMateusz Koza	memory-region = <&afe_dma_mem>;
520*f4d1eaceSMateusz Koza	status = "okay";
521*f4d1eaceSMateusz Koza};
522*f4d1eaceSMateusz Koza
523*f4d1eaceSMateusz Koza&sound {
524*f4d1eaceSMateusz Koza	compatible = "mediatek,mt8390-mt6359-evk", "mediatek,mt8188-mt6359-evb";
525*f4d1eaceSMateusz Koza	model = "mt8390-evk";
526*f4d1eaceSMateusz Koza	pinctrl-names = "default";
527*f4d1eaceSMateusz Koza	pinctrl-0 = <&audio_default_pins>;
528*f4d1eaceSMateusz Koza	audio-routing =
529*f4d1eaceSMateusz Koza		"Headphone", "Headphone L",
530*f4d1eaceSMateusz Koza		"Headphone", "Headphone R",
531*f4d1eaceSMateusz Koza		"AP DMIC", "AUDGLB",
532*f4d1eaceSMateusz Koza		"AP DMIC", "MIC_BIAS_0",
533*f4d1eaceSMateusz Koza		"AP DMIC", "MIC_BIAS_2",
534*f4d1eaceSMateusz Koza		"DMIC_INPUT", "AP DMIC";
535*f4d1eaceSMateusz Koza
536*f4d1eaceSMateusz Koza	mediatek,adsp = <&adsp>;
537*f4d1eaceSMateusz Koza	status = "okay";
538*f4d1eaceSMateusz Koza};
539