1// SPDX-License-Identifier: BSD-3-Clause
2/*
3 * Copyright (c) 2022, Konrad Dybcio <konrad.dybcio@somainline.org>
4 * Copyright (c) 2022, Linaro Limited
5 */
6
7/dts-v1/;
8
9#include "sm8450-sony-xperia-nagara.dtsi"
10
11/ {
12	model = "Sony Xperia 5 IV";
13	compatible = "sony,pdx224", "qcom,sm8450";
14
15	imx563_vdig_regulator: imx563-vdig-regulator {
16		compatible = "regulator-fixed";
17		regulator-name = "imx563_vdig_regulator";
18		gpio = <&tlmm 22 GPIO_ACTIVE_HIGH>;
19		enable-active-high;
20
21		pinctrl-names = "default";
22		pinctrl-0 = <&uwidec_pwr_en>;
23	};
24};
25
26&pm8350b_gpios {
27	gpio-line-names = "CAM_PWR_A_CS", /* GPIO_1 */
28			  "NC",
29			  "NC",
30			  "NC",
31			  "SNAPSHOT_N",
32			  "NC",
33			  "NC",
34			  "FOCUS_N";
35};
36
37&pm8350c_gpios {
38	gpio-line-names = "FL_STROBE_TRIG_WIDE", /* GPIO_1 */
39			  "FL_STROBE_TRIG_TELE",
40			  "WLC_ID",
41			  "WLC_TXPWR_EN",
42			  "NC",
43			  "NC", /* RGBCIR uses a PMIC vreg, so it's most likely NC. */
44			  "NC",
45			  "NC",
46			  "WIDEC_PWR_EN";
47};
48
49&tlmm {
50	gpio-line-names = "TELE_SPI_MISO", /* GPIO_0 */
51			  "TELE_SPI_MOSI", /* SONY says NC, but it only makes sense this way.. */
52			  "TELE_SPI_CLK",
53			  "TELE_SPI_CS_N",
54			  "WLC_I2C_SDA",
55			  "WLC_I2C_SCL",
56			  "NC",
57			  "PM8010_1_RESET_N",
58			  "WLC_INT_N",
59			  "NC",
60			  "NC", /* GPIO_10 */
61			  "NC",
62			  "DISP_ERR_FG",
63			  "HALL_INT_N",
64			  "ALS_PROX_INT_N",
65			  "IMU1_INT",
66			  "TS_I2C_SDA",
67			  "TS_I2C_SCL",
68			  "DISP_RESET_N",
69			  "DISP_VDDR_EN",
70			  "TS_RESET_N", /* GPIO_20 */
71			  "TS_INT_N",
72			  "UWIDEC_PWR_EN",
73			  "TELEC_PWR_EN",
74			  "CAM1_RESET_N",
75			  "LEO_CAM0_RESET_N",
76			  "DEBUG_UART_TX",
77			  "DEBUG_UART_RX",
78			  "FP_SPI_MISO",
79			  "FP_SPI_MOSI",
80			  "FP_SPI_CLK", /* GPIO_30 */
81			  "FP_SPI_CS_N",
82			  "NFC_I2C_SDA",
83			  "NFC_I2C_SCL",
84			  "NFC_EN",
85			  "NFC_CLK_REQ",
86			  "NFC_ESE_SPI_MISO",
87			  "NFC_ESE_SPI_MOSI",
88			  "NFC_ESE_SPI_CLK",
89			  "NFC_ESE_SPI_CS",
90			  "FP_INT_N", /* GPIO_40 */
91			  "NC",
92			  "FP_RESET_N",
93			  "WCD_RST_N",
94			  "NC",
95			  "NFC_DWL_REQ",
96			  "NFC_IRQ",
97			  "FORCE_USB_BOOT",
98			  "APPS_I2C_1_SDA",
99			  "APPS_I2C_1_SCL",
100			  "SBU_SW_OE", /* GPIO_50 */
101			  "SBU_SW_SEL",
102			  "SPK_AMP_I2C_SDA",
103			  "SPK_AMP_I2C_SCL",
104			  "NC",
105			  "NC",
106			  "CAMSENSOR_I2C_SDA",
107			  "CAMSENSOR_I2C_SCL",
108			  "GNSS_ELNA_EN0",
109			  "NC",
110			  "NC", /* GPIO_60 */
111			  "NC",
112			  "NC",
113			  "NC",
114			  "NC",
115			  "NC",
116			  "RGBC_IR_INT",
117			  "NC",
118			  "NC",
119			  "NC",
120			  "NC", /* GPIO_70 */
121			  "NC",
122			  "HAP_I2C_SDA",
123			  "HAP_I2C_SCL",
124			  "HAP_RST_N",
125			  "HAP_INT_N",
126			  "HST_BT_UART_CTS",
127			  "HST_BT_UART_RFR",
128			  "HST_BT_UART_TX",
129			  "HST_BT_UART_RX",
130			  "HST_WLAN_EN", /* GPIO_80 */
131			  "HST_BT_EN",
132			  "HST_SW_CTRL",
133			  "NC",
134			  "NC",
135			  "NC",
136			  "DISP_VSYNC",
137			  "NC",
138			  "NC",
139			  "HW_ID_0",
140			  "HW_ID_1", /* GPIO_90 */
141			  "USB_CC_DIR",
142			  "TRAY_DET",
143			  "SW_SERVICE",
144			  "PCIE0_RESET_N",
145			  "PCIE0_CLK_REQ_N",
146			  "PCIE0_WAKE_N",
147			  "OIS_ENABLE_WIDE",
148			  "DEBUG_GPIO0",
149			  "NC",
150			  "CAM_MCLK0", /* GPIO_100 */
151			  "CAM_MCLK1",
152			  "CAM_MCLK2",
153			  "CAM_MCLK3",
154			  "NC",
155			  "NC",
156			  "NC", /* SONY didn't rename this, but there's no ToF so it's likely NC */
157			  "CAM_SOF",
158			  "NC",
159			  "AFEXPTMG_TELE",
160			  "CCI_I2C0_SDA", /* GPIO_110 */
161			  "CCI_I2C0_SCL",
162			  "CCI_I2C1_SDA",
163			  "CCI_I2C1_SCL",
164			  "CCI_I2C2_SDA",
165			  "CCI_I2C2_SCL",
166			  "NC",
167			  "CAM2_RESET_N",
168			  "NC",
169			  "EXT_VD0_XVS",
170			  "CAM3_RESET_N", /* GPIO_120 */
171			  "NC",
172			  "NC",
173			  "NC",
174			  "NC",
175			  "RF_ID_EXTENSION_2",
176			  "HAP_I2S_CLK",
177			  "HAP_I2S_DOUT",
178			  "HAP_TRG1",
179			  "HAP_I2S_SYNC",
180			  "UIM1_DATA", /* GPIO_130 */
181			  "UIM1_CLK",
182			  "UIM1_RESET",
183			  "TRAY_DET",
184			  "UIM2_DATA",
185			  "UIM2_CLK",
186			  "UIM2_RESET",
187			  "UIM2_PRESENT",
188			  "SM_RFFE0_CLK",
189			  "SM_RFFE0_DATA",
190			  "SM_RFFE1_CLK", /* GPIO_140 */
191			  "SM_RFFE1_DATA",
192			  "SM_MSS_GRFC4",
193			  "HST_AS_EN",
194			  "LAA_RX_EN",
195			  "NC",
196			  "SM_RFFE4_CLK",
197			  "SM_RFFE4_DATA",
198			  "WLAN_COEX_UART1_RX",
199			  "WLAN_COEX_UART1_TX",
200			  "RF_LCD_ID_EN", /* GPIO_150 */
201			  "RF_ID_EXTENSION",
202			  "SM_MSS_GRFC12",
203			  "NFC_COLD_RST",
204			  "NC",
205			  "NC",
206			  "SDR1_QLINK0_REQ",
207			  "SDR1_QLINK0_EN",
208			  "SDR1_QLINK0_WMSS_RESET_N",
209			  "NC",
210			  "NC", /* GPIO_160 */
211			  "NC",
212			  "SDR2_QLINK2_REQ",
213			  "SDR2_QLINK2_EN",
214			  "SDR2_QLINK2_WMSS_RESET_N",
215			  "WCD_SWR_TX_CLK",
216			  "WCD_SWR_TX_DATA0",
217			  "WCD_SWR_TX_DATA1",
218			  "WCD_SWR_RX_CLK",
219			  "WCD_SWR_RX_DATA0",
220			  "WCD_SWR_RX_DATA1", /* GPIO_170 */
221			  "SM_DMIC1_CLK",
222			  "SM_DMIC1_DATA",
223			  "SM_DMIC2_CLK",
224			  "SM_DMIC2_DATA",
225			  "SPK_AMP_I2S_CLK",
226			  "SPK_AMP_I2S_WS",
227			  "NC",
228			  "NC",
229			  "WCD_SWR_TX_DATA2",
230			  "SPK_AMP_I2S_ASP_DIN", /* GPIO_180 */
231			  "SPK_AMP_I2S_ASP_DOUT",
232			  "SPK_AMP_INT_N",
233			  "SPK_AMP_RESET_N",
234			  "HST_BT_WLAN_SLIMBUS_CLK",
235			  "HST_BT_WLAN_SLIMBUS_DAT0",
236			  "NC",
237			  "NC",
238			  "NC",
239			  "NC",
240			  "MAG_I2C_SDA", /* GPIO_190 */
241			  "MAG_I2C_SCL",
242			  "IMU_SPI_MISO",
243			  "IMU_SPI_MOSI",
244			  "IMU_SPI_CLK",
245			  "IMU_SPI_CS_N",
246			  "SENSOR_I2C_SDA",
247			  "SENSOR_I2C_SCL",
248			  "OIS_TELE_I2C_SDA",
249			  "OIS_TELE_I2C_SCL",
250			  "NC", /* GPIO_200 */
251			  "OIS_ENABLE_TELE",
252			  "HST_BLE_UART_TX",
253			  "HST_BLE_UART_RX",
254			  "HSTP_CLK_CFG_SEL",
255			  "NC",
256			  "APPS_I2C_0_SDA",
257			  "APPS_I2C_0_SCL",
258			  "CCI_I2C3_SDA",
259			  "CCI_I2C3_SCL";
260
261	uwidec_pwr_en: uwidec-pwr-en-state {
262		pins = "gpio22";
263		function = "gpio";
264		drive-strength = <2>;
265		bias-disable;
266		output-low;
267	};
268};
269