xref: /freebsd/sys/contrib/device-tree/src/arm64/mediatek/mt8188-geralt-ciri.dtsi (revision 2846c90520eb4cc74e24d586a0ea0f4a0006bc73)
1*2846c905SEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0 OR MIT)
2*2846c905SEmmanuel Vadot/*
3*2846c905SEmmanuel Vadot * Copyright 2023 Google LLC
4*2846c905SEmmanuel Vadot */
5*2846c905SEmmanuel Vadot/dts-v1/;
6*2846c905SEmmanuel Vadot#include "mt8188-geralt.dtsi"
7*2846c905SEmmanuel Vadot
8*2846c905SEmmanuel Vadot&aud_etdm_hp_on {
9*2846c905SEmmanuel Vadot	pins-mclk {
10*2846c905SEmmanuel Vadot		pinmux = <PINMUX_GPIO114__FUNC_O_I2SO2_MCK>;
11*2846c905SEmmanuel Vadot	};
12*2846c905SEmmanuel Vadot};
13*2846c905SEmmanuel Vadot
14*2846c905SEmmanuel Vadot&aud_etdm_hp_off {
15*2846c905SEmmanuel Vadot	pins-mclk {
16*2846c905SEmmanuel Vadot		pinmux = <PINMUX_GPIO114__FUNC_B_GPIO114>;
17*2846c905SEmmanuel Vadot		bias-pull-down;
18*2846c905SEmmanuel Vadot		input-enable;
19*2846c905SEmmanuel Vadot	};
20*2846c905SEmmanuel Vadot};
21*2846c905SEmmanuel Vadot
22*2846c905SEmmanuel Vadot&i2c0 {
23*2846c905SEmmanuel Vadot	rt5682s: audio-codec@1a {
24*2846c905SEmmanuel Vadot		compatible = "realtek,rt5682s";
25*2846c905SEmmanuel Vadot		reg = <0x1a>;
26*2846c905SEmmanuel Vadot		interrupts-extended = <&pio 108 IRQ_TYPE_EDGE_BOTH>;
27*2846c905SEmmanuel Vadot		pinctrl-names = "default";
28*2846c905SEmmanuel Vadot		pinctrl-0 = <&audio_codec_pins>;
29*2846c905SEmmanuel Vadot		#sound-dai-cells = <1>;
30*2846c905SEmmanuel Vadot
31*2846c905SEmmanuel Vadot		AVDD-supply = <&mt6359_vio18_ldo_reg>;
32*2846c905SEmmanuel Vadot		DBVDD-supply = <&mt6359_vio18_ldo_reg>;
33*2846c905SEmmanuel Vadot		LDO1-IN-supply = <&mt6359_vio18_ldo_reg>;
34*2846c905SEmmanuel Vadot		MICVDD-supply = <&pp3300_s3>;
35*2846c905SEmmanuel Vadot		realtek,jd-src = <1>;
36*2846c905SEmmanuel Vadot	};
37*2846c905SEmmanuel Vadot
38*2846c905SEmmanuel Vadot	max98390_38: amplifier@38 {
39*2846c905SEmmanuel Vadot		compatible = "maxim,max98390";
40*2846c905SEmmanuel Vadot		reg = <0x38>;
41*2846c905SEmmanuel Vadot		sound-name-prefix = "Front Right";
42*2846c905SEmmanuel Vadot		reset-gpios = <&pio 118 GPIO_ACTIVE_LOW>;
43*2846c905SEmmanuel Vadot		pinctrl-names = "default";
44*2846c905SEmmanuel Vadot		pinctrl-0 = <&speaker_en>;
45*2846c905SEmmanuel Vadot		#sound-dai-cells = <0>;
46*2846c905SEmmanuel Vadot	};
47*2846c905SEmmanuel Vadot
48*2846c905SEmmanuel Vadot	max98390_39: amplifier@39 {
49*2846c905SEmmanuel Vadot		compatible = "maxim,max98390";
50*2846c905SEmmanuel Vadot		reg = <0x39>;
51*2846c905SEmmanuel Vadot		sound-name-prefix = "Front Left";
52*2846c905SEmmanuel Vadot		#sound-dai-cells = <0>;
53*2846c905SEmmanuel Vadot	};
54*2846c905SEmmanuel Vadot};
55*2846c905SEmmanuel Vadot
56*2846c905SEmmanuel Vadot&i2c_tunnel {
57*2846c905SEmmanuel Vadot	/*
58*2846c905SEmmanuel Vadot	 * The virtual battery I2C addr is 0xf on Ciri, so we describe it
59*2846c905SEmmanuel Vadot	 * manually instead of including 'arm/cros-ec-sbs.dtsi'.
60*2846c905SEmmanuel Vadot	 **/
61*2846c905SEmmanuel Vadot	battery: sbs-battery@f {
62*2846c905SEmmanuel Vadot		compatible = "sbs,sbs-battery";
63*2846c905SEmmanuel Vadot		reg = <0xf>;
64*2846c905SEmmanuel Vadot		sbs,i2c-retry-count = <2>;
65*2846c905SEmmanuel Vadot		sbs,poll-retry-count = <1>;
66*2846c905SEmmanuel Vadot	};
67*2846c905SEmmanuel Vadot};
68*2846c905SEmmanuel Vadot
69*2846c905SEmmanuel Vadot&mipi_tx_config0 {
70*2846c905SEmmanuel Vadot	drive-strength-microamp = <5200>;
71*2846c905SEmmanuel Vadot};
72*2846c905SEmmanuel Vadot
73*2846c905SEmmanuel Vadot&mt6359_vm18_ldo_reg {
74*2846c905SEmmanuel Vadot	regulator-min-microvolt = <1800000>;
75*2846c905SEmmanuel Vadot	regulator-max-microvolt = <1900000>;
76*2846c905SEmmanuel Vadot	regulator-microvolt-offset = <100000>;
77*2846c905SEmmanuel Vadot};
78*2846c905SEmmanuel Vadot
79*2846c905SEmmanuel Vadot&sound {
80*2846c905SEmmanuel Vadot	dai-link-0 {
81*2846c905SEmmanuel Vadot		link-name = "ETDM1_IN_BE";
82*2846c905SEmmanuel Vadot		dai-format = "i2s";
83*2846c905SEmmanuel Vadot		mediatek,clk-provider = "cpu";
84*2846c905SEmmanuel Vadot	};
85*2846c905SEmmanuel Vadot
86*2846c905SEmmanuel Vadot	dai-link-1 {
87*2846c905SEmmanuel Vadot		link-name = "ETDM1_OUT_BE";
88*2846c905SEmmanuel Vadot		dai-format = "i2s";
89*2846c905SEmmanuel Vadot		mediatek,clk-provider = "cpu";
90*2846c905SEmmanuel Vadot
91*2846c905SEmmanuel Vadot		codec {
92*2846c905SEmmanuel Vadot			sound-dai = <&max98390_38>,
93*2846c905SEmmanuel Vadot				    <&max98390_39>;
94*2846c905SEmmanuel Vadot		};
95*2846c905SEmmanuel Vadot	};
96*2846c905SEmmanuel Vadot
97*2846c905SEmmanuel Vadot	dai-link-2 {
98*2846c905SEmmanuel Vadot		link-name = "ETDM2_IN_BE";
99*2846c905SEmmanuel Vadot		mediatek,clk-provider = "cpu";
100*2846c905SEmmanuel Vadot
101*2846c905SEmmanuel Vadot		codec {
102*2846c905SEmmanuel Vadot			sound-dai = <&rt5682s 0>;
103*2846c905SEmmanuel Vadot		};
104*2846c905SEmmanuel Vadot	};
105*2846c905SEmmanuel Vadot
106*2846c905SEmmanuel Vadot	dai-link-3 {
107*2846c905SEmmanuel Vadot		link-name = "ETDM2_OUT_BE";
108*2846c905SEmmanuel Vadot		mediatek,clk-provider = "cpu";
109*2846c905SEmmanuel Vadot
110*2846c905SEmmanuel Vadot		codec {
111*2846c905SEmmanuel Vadot			sound-dai = <&rt5682s 0>;
112*2846c905SEmmanuel Vadot		};
113*2846c905SEmmanuel Vadot	};
114*2846c905SEmmanuel Vadot
115*2846c905SEmmanuel Vadot	dai-link-4 {
116*2846c905SEmmanuel Vadot		link-name = "DPTX_BE";
117*2846c905SEmmanuel Vadot
118*2846c905SEmmanuel Vadot		codec {
119*2846c905SEmmanuel Vadot			sound-dai = <&dp_tx>;
120*2846c905SEmmanuel Vadot		};
121*2846c905SEmmanuel Vadot	};
122*2846c905SEmmanuel Vadot};
123*2846c905SEmmanuel Vadot
124*2846c905SEmmanuel Vadot&pio {
125*2846c905SEmmanuel Vadot	gpio-line-names =
126*2846c905SEmmanuel Vadot		"GSC_AP_INT_ODL",
127*2846c905SEmmanuel Vadot		"AP_DISP_BKLTEN",
128*2846c905SEmmanuel Vadot		"",
129*2846c905SEmmanuel Vadot		"EN_PPVAR_MIPI_DISP",
130*2846c905SEmmanuel Vadot		"EN_PPVAR_MIPI_DISP_150MA",
131*2846c905SEmmanuel Vadot		"TCHSCR_RST_1V8_L",
132*2846c905SEmmanuel Vadot		"",
133*2846c905SEmmanuel Vadot		"",
134*2846c905SEmmanuel Vadot		"",
135*2846c905SEmmanuel Vadot		"",
136*2846c905SEmmanuel Vadot		"",
137*2846c905SEmmanuel Vadot		"I2S_SPKR_DATAOUT",
138*2846c905SEmmanuel Vadot		"EN_PP3300_WLAN_X",
139*2846c905SEmmanuel Vadot		"WIFI_KILL_1V8_L",
140*2846c905SEmmanuel Vadot		"BT_KILL_1V8_L",
141*2846c905SEmmanuel Vadot		"AP_FLASH_WP_L", /* ... is crossystem ABI. Rev1 schematics call it AP_WP_ODL. */
142*2846c905SEmmanuel Vadot		"",
143*2846c905SEmmanuel Vadot		"",
144*2846c905SEmmanuel Vadot		"WCAM_PWDN_L",
145*2846c905SEmmanuel Vadot		"WCAM_RST_L",
146*2846c905SEmmanuel Vadot		"UCAM_PWDM_L",
147*2846c905SEmmanuel Vadot		"UCAM_RST_L",
148*2846c905SEmmanuel Vadot		"WCAM_24M_CLK",
149*2846c905SEmmanuel Vadot		"UCAM_24M_CLK",
150*2846c905SEmmanuel Vadot		"MT6319_INT",
151*2846c905SEmmanuel Vadot		"DISP_RST_1V8_L",
152*2846c905SEmmanuel Vadot		"DSIO_DSI_TE",
153*2846c905SEmmanuel Vadot		"",
154*2846c905SEmmanuel Vadot		"TP",
155*2846c905SEmmanuel Vadot		"MIPI_BL_PWM_1V8",
156*2846c905SEmmanuel Vadot		"",
157*2846c905SEmmanuel Vadot		"UART_AP_TX_GSC_RX",
158*2846c905SEmmanuel Vadot		"UART_GSC_TX_AP_RX",
159*2846c905SEmmanuel Vadot		"UART_SSPM_TX_DBGCON_RX",
160*2846c905SEmmanuel Vadot		"UART_DBGCON_TX_SSPM_RX",
161*2846c905SEmmanuel Vadot		"UART_ADSP_TX_DBGCON_RX",
162*2846c905SEmmanuel Vadot		"UART_DBGCON_TX_ADSP_RX",
163*2846c905SEmmanuel Vadot		"JTAG_AP_TMS",
164*2846c905SEmmanuel Vadot		"JTAG_AP_TCK",
165*2846c905SEmmanuel Vadot		"JTAG_AP_TDI",
166*2846c905SEmmanuel Vadot		"JTAG_AP_TDO",
167*2846c905SEmmanuel Vadot		"JTAG_AP_TRST",
168*2846c905SEmmanuel Vadot		"AP_KPCOL0",
169*2846c905SEmmanuel Vadot		"TP",
170*2846c905SEmmanuel Vadot		"",
171*2846c905SEmmanuel Vadot		"TP",
172*2846c905SEmmanuel Vadot		"EC_AP_HPD_OD",
173*2846c905SEmmanuel Vadot		"PCIE_WAKE_1V8_ODL",
174*2846c905SEmmanuel Vadot		"PCIE_RST_1V8_L",
175*2846c905SEmmanuel Vadot		"PCIE_CLKREQ_1V8_ODL",
176*2846c905SEmmanuel Vadot		"",
177*2846c905SEmmanuel Vadot		"",
178*2846c905SEmmanuel Vadot		"",
179*2846c905SEmmanuel Vadot		"",
180*2846c905SEmmanuel Vadot		"",
181*2846c905SEmmanuel Vadot		"AP_I2C_AUD_SCL_1V8",
182*2846c905SEmmanuel Vadot		"AP_I2C_AUD_SDA_1V8",
183*2846c905SEmmanuel Vadot		"AP_I2C_TPM_SCL_1V8",
184*2846c905SEmmanuel Vadot		"AP_I2C_TPM_SDA_1V8",
185*2846c905SEmmanuel Vadot		"AP_I2C_TCHSCR_SCL_1V8",
186*2846c905SEmmanuel Vadot		"AP_I2C_TCHSCR_SDA_1V8",
187*2846c905SEmmanuel Vadot		"AP_I2C_PMIC_SAR_SCL_1V8",
188*2846c905SEmmanuel Vadot		"AP_I2C_PMIC_SAR_SDA_1V8",
189*2846c905SEmmanuel Vadot		"AP_I2C_EC_HID_KB_SCL_1V8",
190*2846c905SEmmanuel Vadot		"AP_I2C_EC_HID_KB_SDA_1V8",
191*2846c905SEmmanuel Vadot		"AP_I2C_UCAM_SCL_1V8",
192*2846c905SEmmanuel Vadot		"AP_I2C_UCAM_SDA_1V8",
193*2846c905SEmmanuel Vadot		"AP_I2C_WCAM_SCL_1V8",
194*2846c905SEmmanuel Vadot		"AP_I2C_WCAM_SDA_1V8",
195*2846c905SEmmanuel Vadot		"SPI_AP_CS_EC_L",
196*2846c905SEmmanuel Vadot		"SPI_AP_CLK_EC",
197*2846c905SEmmanuel Vadot		"SPI_AP_DO_EC_DI",
198*2846c905SEmmanuel Vadot		"SPI_AP_DI_EC_DO",
199*2846c905SEmmanuel Vadot		"TP",
200*2846c905SEmmanuel Vadot		"TP",
201*2846c905SEmmanuel Vadot		"SPI_AP_CS_TCHSCR_L",
202*2846c905SEmmanuel Vadot		"SPI_AP_CLK_TCHSCR",
203*2846c905SEmmanuel Vadot		"SPI_AP_DO_TCHSCR_DI",
204*2846c905SEmmanuel Vadot		"SPI_AP_DI_TCHSCR_DO",
205*2846c905SEmmanuel Vadot		"TP",
206*2846c905SEmmanuel Vadot		"TP",
207*2846c905SEmmanuel Vadot		"TP",
208*2846c905SEmmanuel Vadot		"TP",
209*2846c905SEmmanuel Vadot		"",
210*2846c905SEmmanuel Vadot		"",
211*2846c905SEmmanuel Vadot		"",
212*2846c905SEmmanuel Vadot		"TP",
213*2846c905SEmmanuel Vadot		"",
214*2846c905SEmmanuel Vadot		"",
215*2846c905SEmmanuel Vadot		"",
216*2846c905SEmmanuel Vadot		"",
217*2846c905SEmmanuel Vadot		"",
218*2846c905SEmmanuel Vadot		"PWRAP_SPI_CS_L",
219*2846c905SEmmanuel Vadot		"PWRAP_SPI_CK",
220*2846c905SEmmanuel Vadot		"PWRAP_SPI_MOSI",
221*2846c905SEmmanuel Vadot		"PWRAP_SPI_MISO",
222*2846c905SEmmanuel Vadot		"SRCLKENA0",
223*2846c905SEmmanuel Vadot		"SRCLKENA1",
224*2846c905SEmmanuel Vadot		"SCP_VREQ_VAO",
225*2846c905SEmmanuel Vadot		"AP_RTC_CLK32K",
226*2846c905SEmmanuel Vadot		"AP_PMIC_WDTRST_L",
227*2846c905SEmmanuel Vadot		"AUD_CLK_MOSI",
228*2846c905SEmmanuel Vadot		"AUD_SYNC_MOSI",
229*2846c905SEmmanuel Vadot		"AUD_DAT_MOSI0",
230*2846c905SEmmanuel Vadot		"AUD_DAT_MOSI1",
231*2846c905SEmmanuel Vadot		"AUD_DAT_MISO0",
232*2846c905SEmmanuel Vadot		"AUD_DAT_MISO1",
233*2846c905SEmmanuel Vadot		"",
234*2846c905SEmmanuel Vadot		"HP_INT_ODL",
235*2846c905SEmmanuel Vadot		"SPKR_INT_ODL",
236*2846c905SEmmanuel Vadot		"I2S_HP_DATAIN",
237*2846c905SEmmanuel Vadot		"EN_SPKR",
238*2846c905SEmmanuel Vadot		"I2S_SPKR_MCLK",
239*2846c905SEmmanuel Vadot		"I2S_SPKR_BCLK",
240*2846c905SEmmanuel Vadot		"I2S_HP_MCLK",
241*2846c905SEmmanuel Vadot		"I2S_HP_BCLK",
242*2846c905SEmmanuel Vadot		"I2S_HP_LRCK",
243*2846c905SEmmanuel Vadot		"I2S_HP_DATAOUT",
244*2846c905SEmmanuel Vadot		"RST_SPKR_L",
245*2846c905SEmmanuel Vadot		"I2S_SPKR_LRCK",
246*2846c905SEmmanuel Vadot		"I2S_SPKR_DATAIN",
247*2846c905SEmmanuel Vadot		"",
248*2846c905SEmmanuel Vadot		"",
249*2846c905SEmmanuel Vadot		"",
250*2846c905SEmmanuel Vadot		"",
251*2846c905SEmmanuel Vadot		"SPI_AP_CLK_ROM",
252*2846c905SEmmanuel Vadot		"SPI_AP_CS_ROM_L",
253*2846c905SEmmanuel Vadot		"SPI_AP_DO_ROM_DI",
254*2846c905SEmmanuel Vadot		"SPI_AP_DI_ROM_DO",
255*2846c905SEmmanuel Vadot		"TP",
256*2846c905SEmmanuel Vadot		"TP",
257*2846c905SEmmanuel Vadot		"",
258*2846c905SEmmanuel Vadot		"",
259*2846c905SEmmanuel Vadot		"",
260*2846c905SEmmanuel Vadot		"",
261*2846c905SEmmanuel Vadot		"",
262*2846c905SEmmanuel Vadot		"",
263*2846c905SEmmanuel Vadot		"",
264*2846c905SEmmanuel Vadot		"",
265*2846c905SEmmanuel Vadot		"EN_PP2800A_UCAM_X",
266*2846c905SEmmanuel Vadot		"EN_PP1200_UCAM_X",
267*2846c905SEmmanuel Vadot		"EN_PP2800A_WCAM_X",
268*2846c905SEmmanuel Vadot		"EN_PP1100_WCAM_X",
269*2846c905SEmmanuel Vadot		"TCHSCR_INT_1V8_L",
270*2846c905SEmmanuel Vadot		"",
271*2846c905SEmmanuel Vadot		"MT7921_PMU_EN_1V8",
272*2846c905SEmmanuel Vadot		"",
273*2846c905SEmmanuel Vadot		"AP_EC_WARM_RST_REQ",
274*2846c905SEmmanuel Vadot		"EC_AP_HID_INT_ODL",
275*2846c905SEmmanuel Vadot		"EC_AP_INT_ODL",
276*2846c905SEmmanuel Vadot		"AP_XHCI_INIT_DONE",
277*2846c905SEmmanuel Vadot		"EMMC_DAT7",
278*2846c905SEmmanuel Vadot		"EMMC_DAT6",
279*2846c905SEmmanuel Vadot		"EMMC_DAT5",
280*2846c905SEmmanuel Vadot		"EMMC_DAT4",
281*2846c905SEmmanuel Vadot		"EMMC_RST_L",
282*2846c905SEmmanuel Vadot		"EMMC_CMD",
283*2846c905SEmmanuel Vadot		"EMMC_CLK",
284*2846c905SEmmanuel Vadot		"EMMC_DAT3",
285*2846c905SEmmanuel Vadot		"EMMC_DAT2",
286*2846c905SEmmanuel Vadot		"EMMC_DAT1",
287*2846c905SEmmanuel Vadot		"EMMC_DAT0",
288*2846c905SEmmanuel Vadot		"EMMC_DSL",
289*2846c905SEmmanuel Vadot		"",
290*2846c905SEmmanuel Vadot		"",
291*2846c905SEmmanuel Vadot		"",
292*2846c905SEmmanuel Vadot		"",
293*2846c905SEmmanuel Vadot		"",
294*2846c905SEmmanuel Vadot		"",
295*2846c905SEmmanuel Vadot		"",
296*2846c905SEmmanuel Vadot		"",
297*2846c905SEmmanuel Vadot		"USB3_HUB_RST_L",
298*2846c905SEmmanuel Vadot		"EC_AP_RSVD0_ODL",
299*2846c905SEmmanuel Vadot		"",
300*2846c905SEmmanuel Vadot		"",
301*2846c905SEmmanuel Vadot		"SPMI_SCL",
302*2846c905SEmmanuel Vadot		"SPMI_SDA";
303*2846c905SEmmanuel Vadot
304*2846c905SEmmanuel Vadot	audio_codec_pins: audio-codec-pins {
305*2846c905SEmmanuel Vadot		pins-hp-int-odl {
306*2846c905SEmmanuel Vadot			pinmux = <PINMUX_GPIO108__FUNC_B_GPIO108>;
307*2846c905SEmmanuel Vadot			input-enable;
308*2846c905SEmmanuel Vadot		};
309*2846c905SEmmanuel Vadot	};
310*2846c905SEmmanuel Vadot
311*2846c905SEmmanuel Vadot	speaker_en: speaker-en-pins {
312*2846c905SEmmanuel Vadot		pins-en-spkr {
313*2846c905SEmmanuel Vadot			pinmux = <PINMUX_GPIO111__FUNC_B_GPIO111>;
314*2846c905SEmmanuel Vadot		};
315*2846c905SEmmanuel Vadot	};
316*2846c905SEmmanuel Vadot};
317