17d54cdf5SKonrad Dybcio// SPDX-License-Identifier: BSD-3-Clause
27d54cdf5SKonrad Dybcio/*
37d54cdf5SKonrad Dybcio * Copyright (c) 2022, Konrad Dybcio <konrad.dybcio@somainline.org>
47d54cdf5SKonrad Dybcio * Copyright (c) 2022, Linaro Limited
57d54cdf5SKonrad Dybcio */
67d54cdf5SKonrad Dybcio
77d54cdf5SKonrad Dybcio/dts-v1/;
87d54cdf5SKonrad Dybcio
97d54cdf5SKonrad Dybcio#include "sm8450-sony-xperia-nagara.dtsi"
107d54cdf5SKonrad Dybcio
117d54cdf5SKonrad Dybcio/ {
127d54cdf5SKonrad Dybcio	model = "Sony Xperia 5 IV";
137d54cdf5SKonrad Dybcio	compatible = "sony,pdx224", "qcom,sm8450";
147d54cdf5SKonrad Dybcio
15*40430a7cSKonrad Dybcio	imx563_vdig_regulator: imx563-vdig-regulator {
167d54cdf5SKonrad Dybcio		compatible = "regulator-fixed";
17*40430a7cSKonrad Dybcio		regulator-name = "imx563_vdig_regulator";
187d54cdf5SKonrad Dybcio		gpio = <&tlmm 22 GPIO_ACTIVE_HIGH>;
197d54cdf5SKonrad Dybcio		enable-active-high;
20*40430a7cSKonrad Dybcio
21*40430a7cSKonrad Dybcio		pinctrl-names = "default";
22*40430a7cSKonrad Dybcio		pinctrl-0 = <&uwidec_pwr_en>;
237d54cdf5SKonrad Dybcio	};
247d54cdf5SKonrad Dybcio};
2515245c93SKonrad Dybcio
264c5ab70dSKonrad Dybcio&pm8350b_gpios {
274c5ab70dSKonrad Dybcio	gpio-line-names = "CAM_PWR_A_CS", /* GPIO_1 */
284c5ab70dSKonrad Dybcio			  "NC",
294c5ab70dSKonrad Dybcio			  "NC",
304c5ab70dSKonrad Dybcio			  "NC",
314c5ab70dSKonrad Dybcio			  "SNAPSHOT_N",
324c5ab70dSKonrad Dybcio			  "NC",
334c5ab70dSKonrad Dybcio			  "NC",
344c5ab70dSKonrad Dybcio			  "FOCUS_N";
354c5ab70dSKonrad Dybcio};
364c5ab70dSKonrad Dybcio
374c5ab70dSKonrad Dybcio&pm8350c_gpios {
384c5ab70dSKonrad Dybcio	gpio-line-names = "FL_STROBE_TRIG_WIDE", /* GPIO_1 */
394c5ab70dSKonrad Dybcio			  "FL_STROBE_TRIG_TELE",
404c5ab70dSKonrad Dybcio			  "WLC_ID",
414c5ab70dSKonrad Dybcio			  "WLC_TXPWR_EN",
424c5ab70dSKonrad Dybcio			  "NC",
434c5ab70dSKonrad Dybcio			  "NC", /* RGBCIR uses a PMIC vreg, so it's most likely NC. */
444c5ab70dSKonrad Dybcio			  "NC",
454c5ab70dSKonrad Dybcio			  "NC",
464c5ab70dSKonrad Dybcio			  "WIDEC_PWR_EN";
474c5ab70dSKonrad Dybcio};
484c5ab70dSKonrad Dybcio
4915245c93SKonrad Dybcio&tlmm {
5015245c93SKonrad Dybcio	gpio-line-names = "TELE_SPI_MISO", /* GPIO_0 */
5115245c93SKonrad Dybcio			  "TELE_SPI_MOSI", /* SONY says NC, but it only makes sense this way.. */
5215245c93SKonrad Dybcio			  "TELE_SPI_CLK",
5315245c93SKonrad Dybcio			  "TELE_SPI_CS_N",
5415245c93SKonrad Dybcio			  "WLC_I2C_SDA",
5515245c93SKonrad Dybcio			  "WLC_I2C_SCL",
5615245c93SKonrad Dybcio			  "NC",
5715245c93SKonrad Dybcio			  "PM8010_1_RESET_N",
5815245c93SKonrad Dybcio			  "WLC_INT_N",
5915245c93SKonrad Dybcio			  "NC",
6015245c93SKonrad Dybcio			  "NC", /* GPIO_10 */
6115245c93SKonrad Dybcio			  "NC",
6215245c93SKonrad Dybcio			  "DISP_ERR_FG",
6315245c93SKonrad Dybcio			  "HALL_INT_N",
6415245c93SKonrad Dybcio			  "ALS_PROX_INT_N",
6515245c93SKonrad Dybcio			  "IMU1_INT",
6615245c93SKonrad Dybcio			  "TS_I2C_SDA",
6715245c93SKonrad Dybcio			  "TS_I2C_SCL",
6815245c93SKonrad Dybcio			  "DISP_RESET_N",
6915245c93SKonrad Dybcio			  "DISP_VDDR_EN",
7015245c93SKonrad Dybcio			  "TS_RESET_N", /* GPIO_20 */
7115245c93SKonrad Dybcio			  "TS_INT_N",
7215245c93SKonrad Dybcio			  "UWIDEC_PWR_EN",
7315245c93SKonrad Dybcio			  "TELEC_PWR_EN",
7415245c93SKonrad Dybcio			  "CAM1_RESET_N",
7515245c93SKonrad Dybcio			  "LEO_CAM0_RESET_N",
7615245c93SKonrad Dybcio			  "DEBUG_UART_TX",
7715245c93SKonrad Dybcio			  "DEBUG_UART_RX",
7815245c93SKonrad Dybcio			  "FP_SPI_MISO",
7915245c93SKonrad Dybcio			  "FP_SPI_MOSI",
8015245c93SKonrad Dybcio			  "FP_SPI_CLK", /* GPIO_30 */
8115245c93SKonrad Dybcio			  "FP_SPI_CS_N",
8215245c93SKonrad Dybcio			  "NFC_I2C_SDA",
8315245c93SKonrad Dybcio			  "NFC_I2C_SCL",
8415245c93SKonrad Dybcio			  "NFC_EN",
8515245c93SKonrad Dybcio			  "NFC_CLK_REQ",
8615245c93SKonrad Dybcio			  "NFC_ESE_SPI_MISO",
8715245c93SKonrad Dybcio			  "NFC_ESE_SPI_MOSI",
8815245c93SKonrad Dybcio			  "NFC_ESE_SPI_CLK",
8915245c93SKonrad Dybcio			  "NFC_ESE_SPI_CS",
9015245c93SKonrad Dybcio			  "FP_INT_N", /* GPIO_40 */
9115245c93SKonrad Dybcio			  "NC",
9215245c93SKonrad Dybcio			  "FP_RESET_N",
9315245c93SKonrad Dybcio			  "WCD_RST_N",
9415245c93SKonrad Dybcio			  "NC",
9515245c93SKonrad Dybcio			  "NFC_DWL_REQ",
9615245c93SKonrad Dybcio			  "NFC_IRQ",
9715245c93SKonrad Dybcio			  "FORCE_USB_BOOT",
9815245c93SKonrad Dybcio			  "APPS_I2C_1_SDA",
9915245c93SKonrad Dybcio			  "APPS_I2C_1_SCL",
10015245c93SKonrad Dybcio			  "SBU_SW_OE", /* GPIO_50 */
10115245c93SKonrad Dybcio			  "SBU_SW_SEL",
10215245c93SKonrad Dybcio			  "SPK_AMP_I2C_SDA",
10315245c93SKonrad Dybcio			  "SPK_AMP_I2C_SCL",
10415245c93SKonrad Dybcio			  "NC",
10515245c93SKonrad Dybcio			  "NC",
10615245c93SKonrad Dybcio			  "CAMSENSOR_I2C_SDA",
10715245c93SKonrad Dybcio			  "CAMSENSOR_I2C_SCL",
10815245c93SKonrad Dybcio			  "GNSS_ELNA_EN0",
10915245c93SKonrad Dybcio			  "NC",
11015245c93SKonrad Dybcio			  "NC", /* GPIO_60 */
11115245c93SKonrad Dybcio			  "NC",
11215245c93SKonrad Dybcio			  "NC",
11315245c93SKonrad Dybcio			  "NC",
11415245c93SKonrad Dybcio			  "NC",
11515245c93SKonrad Dybcio			  "NC",
11615245c93SKonrad Dybcio			  "RGBC_IR_INT",
11715245c93SKonrad Dybcio			  "NC",
11815245c93SKonrad Dybcio			  "NC",
11915245c93SKonrad Dybcio			  "NC",
12015245c93SKonrad Dybcio			  "NC", /* GPIO_70 */
12115245c93SKonrad Dybcio			  "NC",
12215245c93SKonrad Dybcio			  "HAP_I2C_SDA",
12315245c93SKonrad Dybcio			  "HAP_I2C_SCL",
12415245c93SKonrad Dybcio			  "HAP_RST_N",
12515245c93SKonrad Dybcio			  "HAP_INT_N",
12615245c93SKonrad Dybcio			  "HST_BT_UART_CTS",
12715245c93SKonrad Dybcio			  "HST_BT_UART_RFR",
12815245c93SKonrad Dybcio			  "HST_BT_UART_TX",
12915245c93SKonrad Dybcio			  "HST_BT_UART_RX",
13015245c93SKonrad Dybcio			  "HST_WLAN_EN", /* GPIO_80 */
13115245c93SKonrad Dybcio			  "HST_BT_EN",
13215245c93SKonrad Dybcio			  "HST_SW_CTRL",
13315245c93SKonrad Dybcio			  "NC",
13415245c93SKonrad Dybcio			  "NC",
13515245c93SKonrad Dybcio			  "NC",
13615245c93SKonrad Dybcio			  "DISP_VSYNC",
13715245c93SKonrad Dybcio			  "NC",
13815245c93SKonrad Dybcio			  "NC",
13915245c93SKonrad Dybcio			  "HW_ID_0",
14015245c93SKonrad Dybcio			  "HW_ID_1", /* GPIO_90 */
14115245c93SKonrad Dybcio			  "USB_CC_DIR",
14215245c93SKonrad Dybcio			  "TRAY_DET",
14315245c93SKonrad Dybcio			  "SW_SERVICE",
14415245c93SKonrad Dybcio			  "PCIE0_RESET_N",
14515245c93SKonrad Dybcio			  "PCIE0_CLK_REQ_N",
14615245c93SKonrad Dybcio			  "PCIE0_WAKE_N",
14715245c93SKonrad Dybcio			  "OIS_ENABLE_WIDE",
14815245c93SKonrad Dybcio			  "DEBUG_GPIO0",
14915245c93SKonrad Dybcio			  "NC",
15015245c93SKonrad Dybcio			  "CAM_MCLK0", /* GPIO_100 */
15115245c93SKonrad Dybcio			  "CAM_MCLK1",
15215245c93SKonrad Dybcio			  "CAM_MCLK2",
15315245c93SKonrad Dybcio			  "CAM_MCLK3",
15415245c93SKonrad Dybcio			  "NC",
15515245c93SKonrad Dybcio			  "NC",
15615245c93SKonrad Dybcio			  "NC", /* SONY didn't rename this, but there's no ToF so it's likely NC */
15715245c93SKonrad Dybcio			  "CAM_SOF",
15815245c93SKonrad Dybcio			  "NC",
15915245c93SKonrad Dybcio			  "AFEXPTMG_TELE",
16015245c93SKonrad Dybcio			  "CCI_I2C0_SDA", /* GPIO_110 */
16115245c93SKonrad Dybcio			  "CCI_I2C0_SCL",
16215245c93SKonrad Dybcio			  "CCI_I2C1_SDA",
16315245c93SKonrad Dybcio			  "CCI_I2C1_SCL",
16415245c93SKonrad Dybcio			  "CCI_I2C2_SDA",
16515245c93SKonrad Dybcio			  "CCI_I2C2_SCL",
16615245c93SKonrad Dybcio			  "NC",
16715245c93SKonrad Dybcio			  "CAM2_RESET_N",
16815245c93SKonrad Dybcio			  "NC",
16915245c93SKonrad Dybcio			  "EXT_VD0_XVS",
17015245c93SKonrad Dybcio			  "CAM3_RESET_N", /* GPIO_120 */
17115245c93SKonrad Dybcio			  "NC",
17215245c93SKonrad Dybcio			  "NC",
17315245c93SKonrad Dybcio			  "NC",
17415245c93SKonrad Dybcio			  "NC",
17515245c93SKonrad Dybcio			  "RF_ID_EXTENSION_2",
17615245c93SKonrad Dybcio			  "HAP_I2S_CLK",
17715245c93SKonrad Dybcio			  "HAP_I2S_DOUT",
17815245c93SKonrad Dybcio			  "HAP_TRG1",
17915245c93SKonrad Dybcio			  "HAP_I2S_SYNC",
18015245c93SKonrad Dybcio			  "UIM1_DATA", /* GPIO_130 */
18115245c93SKonrad Dybcio			  "UIM1_CLK",
18215245c93SKonrad Dybcio			  "UIM1_RESET",
18315245c93SKonrad Dybcio			  "TRAY_DET",
18415245c93SKonrad Dybcio			  "UIM2_DATA",
18515245c93SKonrad Dybcio			  "UIM2_CLK",
18615245c93SKonrad Dybcio			  "UIM2_RESET",
18715245c93SKonrad Dybcio			  "UIM2_PRESENT",
18815245c93SKonrad Dybcio			  "SM_RFFE0_CLK",
18915245c93SKonrad Dybcio			  "SM_RFFE0_DATA",
19015245c93SKonrad Dybcio			  "SM_RFFE1_CLK", /* GPIO_140 */
19115245c93SKonrad Dybcio			  "SM_RFFE1_DATA",
19215245c93SKonrad Dybcio			  "SM_MSS_GRFC4",
19315245c93SKonrad Dybcio			  "HST_AS_EN",
19415245c93SKonrad Dybcio			  "LAA_RX_EN",
19515245c93SKonrad Dybcio			  "NC",
19615245c93SKonrad Dybcio			  "SM_RFFE4_CLK",
19715245c93SKonrad Dybcio			  "SM_RFFE4_DATA",
19815245c93SKonrad Dybcio			  "WLAN_COEX_UART1_RX",
19915245c93SKonrad Dybcio			  "WLAN_COEX_UART1_TX",
20015245c93SKonrad Dybcio			  "RF_LCD_ID_EN", /* GPIO_150 */
20115245c93SKonrad Dybcio			  "RF_ID_EXTENSION",
20215245c93SKonrad Dybcio			  "SM_MSS_GRFC12",
20315245c93SKonrad Dybcio			  "NFC_COLD_RST",
20415245c93SKonrad Dybcio			  "NC",
20515245c93SKonrad Dybcio			  "NC",
20615245c93SKonrad Dybcio			  "SDR1_QLINK0_REQ",
20715245c93SKonrad Dybcio			  "SDR1_QLINK0_EN",
20815245c93SKonrad Dybcio			  "SDR1_QLINK0_WMSS_RESET_N",
20915245c93SKonrad Dybcio			  "NC",
21015245c93SKonrad Dybcio			  "NC", /* GPIO_160 */
21115245c93SKonrad Dybcio			  "NC",
21215245c93SKonrad Dybcio			  "SDR2_QLINK2_REQ",
21315245c93SKonrad Dybcio			  "SDR2_QLINK2_EN",
21415245c93SKonrad Dybcio			  "SDR2_QLINK2_WMSS_RESET_N",
21515245c93SKonrad Dybcio			  "WCD_SWR_TX_CLK",
21615245c93SKonrad Dybcio			  "WCD_SWR_TX_DATA0",
21715245c93SKonrad Dybcio			  "WCD_SWR_TX_DATA1",
21815245c93SKonrad Dybcio			  "WCD_SWR_RX_CLK",
21915245c93SKonrad Dybcio			  "WCD_SWR_RX_DATA0",
22015245c93SKonrad Dybcio			  "WCD_SWR_RX_DATA1", /* GPIO_170 */
22115245c93SKonrad Dybcio			  "SM_DMIC1_CLK",
22215245c93SKonrad Dybcio			  "SM_DMIC1_DATA",
22315245c93SKonrad Dybcio			  "SM_DMIC2_CLK",
22415245c93SKonrad Dybcio			  "SM_DMIC2_DATA",
22515245c93SKonrad Dybcio			  "SPK_AMP_I2S_CLK",
22615245c93SKonrad Dybcio			  "SPK_AMP_I2S_WS",
22715245c93SKonrad Dybcio			  "NC",
22815245c93SKonrad Dybcio			  "NC",
22915245c93SKonrad Dybcio			  "WCD_SWR_TX_DATA2",
23015245c93SKonrad Dybcio			  "SPK_AMP_I2S_ASP_DIN", /* GPIO_180 */
23115245c93SKonrad Dybcio			  "SPK_AMP_I2S_ASP_DOUT",
23215245c93SKonrad Dybcio			  "SPK_AMP_INT_N",
23315245c93SKonrad Dybcio			  "SPK_AMP_RESET_N",
23415245c93SKonrad Dybcio			  "HST_BT_WLAN_SLIMBUS_CLK",
23515245c93SKonrad Dybcio			  "HST_BT_WLAN_SLIMBUS_DAT0",
23615245c93SKonrad Dybcio			  "NC",
23715245c93SKonrad Dybcio			  "NC",
23815245c93SKonrad Dybcio			  "NC",
23915245c93SKonrad Dybcio			  "NC",
24015245c93SKonrad Dybcio			  "MAG_I2C_SDA", /* GPIO_190 */
24115245c93SKonrad Dybcio			  "MAG_I2C_SCL",
24215245c93SKonrad Dybcio			  "IMU_SPI_MISO",
24315245c93SKonrad Dybcio			  "IMU_SPI_MOSI",
24415245c93SKonrad Dybcio			  "IMU_SPI_CLK",
24515245c93SKonrad Dybcio			  "IMU_SPI_CS_N",
24615245c93SKonrad Dybcio			  "SENSOR_I2C_SDA",
24715245c93SKonrad Dybcio			  "SENSOR_I2C_SCL",
24815245c93SKonrad Dybcio			  "OIS_TELE_I2C_SDA",
24915245c93SKonrad Dybcio			  "OIS_TELE_I2C_SCL",
25015245c93SKonrad Dybcio			  "NC", /* GPIO_200 */
25115245c93SKonrad Dybcio			  "OIS_ENABLE_TELE",
25215245c93SKonrad Dybcio			  "HST_BLE_UART_TX",
25315245c93SKonrad Dybcio			  "HST_BLE_UART_RX",
25415245c93SKonrad Dybcio			  "HSTP_CLK_CFG_SEL",
25515245c93SKonrad Dybcio			  "NC",
25615245c93SKonrad Dybcio			  "APPS_I2C_0_SDA",
25715245c93SKonrad Dybcio			  "APPS_I2C_0_SCL",
25815245c93SKonrad Dybcio			  "CCI_I2C3_SDA",
25915245c93SKonrad Dybcio			  "CCI_I2C3_SCL";
260*40430a7cSKonrad Dybcio
261*40430a7cSKonrad Dybcio	uwidec_pwr_en: uwidec-pwr-en-state {
262*40430a7cSKonrad Dybcio		pins = "gpio22";
263*40430a7cSKonrad Dybcio		function = "gpio";
264*40430a7cSKonrad Dybcio		drive-strength = <2>;
265*40430a7cSKonrad Dybcio		bias-disable;
266*40430a7cSKonrad Dybcio		output-low;
267*40430a7cSKonrad Dybcio	};
26815245c93SKonrad Dybcio};
269