// SPDX-License-Identifier: BSD-3-Clause
/*
 * Copyright (c) 2021, Konrad Dybcio <konrad.dybcio@somainline.org>
 */

/dts-v1/;

#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
#include "sm8150.dtsi"
#include "pm8150.dtsi"
#include "pm8150b.dtsi"
#include "pm8150l.dtsi"

/delete-node/ &cdsp_mem;
/delete-node/ &gpu_mem;
/delete-node/ &ipa_fw_mem;
/delete-node/ &ipa_gsi_mem;
/delete-node/ &mpss_mem;
/delete-node/ &slpi_mem;
/delete-node/ &spss_mem;
/delete-node/ &venus_mem;

/ {
	qcom,msm-id = <339 0x20000>; /* SM8150 v2 */
	qcom,board-id = <8 0>;

	chosen {
		#address-cells = <2>;
		#size-cells = <2>;
		ranges;

		framebuffer: framebuffer@9c000000 {
			compatible = "simple-framebuffer";
			reg = <0 0x9c000000 0 0x2300000>;
			/* Griffin BL initializes in 2.5k mode, not 4k */
			width = <1096>;
			height = <2560>;
			stride = <(1096 * 4)>;
			format = "a8r8g8b8";
			/*
			 * That's (going to be) a lot of clocks, but it's necessary due
			 * to unused clk cleanup & no panel driver yet (& no dispcc either)..
			 */
			clocks = <&gcc GCC_DISP_HF_AXI_CLK>,
				 <&gcc GCC_DISP_SF_AXI_CLK>;
		};
	};

	gpio-keys {
		compatible = "gpio-keys";

		pinctrl-names = "default";
		pinctrl-0 = <&focus_n &snapshot_n &vol_down_n>;

		key-camera-focus {
			label = "Camera Focus";
			linux,code = <KEY_CAMERA_FOCUS>;
			gpios = <&pm8150b_gpios 2 GPIO_ACTIVE_LOW>;
			debounce-interval = <15>;
			linux,can-disable;
			wakeup-source;
		};

		key-camera-snapshot {
			label = "Camera Snapshot";
			linux,code = <KEY_CAMERA>;
			gpios = <&pm8150b_gpios 1 GPIO_ACTIVE_LOW>;
			debounce-interval = <15>;
			linux,can-disable;
			wakeup-source;
		};

		key-vol-down {
			label = "Volume Down";
			linux,code = <KEY_VOLUMEDOWN>;
			gpios = <&pm8150_gpios 1 GPIO_ACTIVE_LOW>;
			debounce-interval = <15>;
			linux,can-disable;
			wakeup-source;
		};
	};

	cam0_vdig_vreg: cam0-vdig-regulator {
		compatible = "regulator-fixed";
		regulator-name = "camera0_vdig_vreg";
		gpio = <&tlmm 22 GPIO_ACTIVE_HIGH>;
		enable-active-high;

		pinctrl-0 = <&main_cam_pwr_en>;
		pinctrl-names = "default";
	};

	cam1_vdig_vreg: cam1-vdig-regulator {
		compatible = "regulator-fixed";
		regulator-name = "camera1_vdig_vreg";
		gpio = <&tlmm 79 GPIO_ACTIVE_HIGH>;
		enable-active-high;

		pinctrl-0 = <&sub_cam_pwr_en>;
		pinctrl-names = "default";
	};

	cam2_vdig_vreg: cam2-vdig-regulator {
		compatible = "regulator-fixed";
		regulator-name = "camera2_vdig_vreg";
		gpio = <&tlmm 25 GPIO_ACTIVE_HIGH>;
		enable-active-high;

		pinctrl-0 = <&chat_cam_pwr_en>;
		pinctrl-names = "default";
	};

	cam3_vdig_vreg: cam3-vdig-regulator {
		compatible = "regulator-fixed";
		regulator-name = "camera3_vdig_vreg";
		gpio = <&pm8150_gpios 7 GPIO_ACTIVE_HIGH>;
		enable-active-high;

		pinctrl-0 = <&supwc_pwr_en>;
		pinctrl-names = "default";
	};

	cam_vmdr_vreg: cam-vmdr-regulator {
		compatible = "regulator-fixed";
		regulator-name = "camera_vmdr_vreg";
		gpio = <&pm8150l_gpios 3 GPIO_ACTIVE_HIGH>;
		enable-active-high;

		pinctrl-0 = <&main_cam_pwr_vmdr_en>;
		pinctrl-names = "default";
	};

	rgbcir_vreg: rgbcir-regulator {
		compatible = "regulator-fixed";
		regulator-name = "rgbcir_vreg";
		gpio = <&tlmm 29 GPIO_ACTIVE_HIGH>;
		enable-active-high;

		pinctrl-0 = <&rgbc_ir_pwr_en>;
		pinctrl-names = "default";
	};

	vph_pwr: vph-pwr-regulator {
		compatible = "regulator-fixed";
		regulator-name = "vph_pwr";
		regulator-min-microvolt = <3700000>;
		regulator-max-microvolt = <3700000>;
	};

	/*
	 * Apparently RPMh does not provide support for PM8150 S4 because it
	 * is always-on; model it as a fixed regulator.
	 */
	vreg_s4a_1p8: pm8150-s4 {
		compatible = "regulator-fixed";
		regulator-name = "vreg_s4a_1p8";

		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <1800000>;

		regulator-always-on;
		regulator-boot-on;

		vin-supply = <&vph_pwr>;
	};

	reserved-memory {
		mpss_mem: memory@8dc00000 {
			reg = <0x0 0x8dc00000 0x0 0x9600000>;
			no-map;
		};

		venus_mem: memory@97200000 {
			reg = <0x0 0x97200000 0x0 0x500000>;
			no-map;
		};

		slpi_mem: memory@97700000 {
			reg = <0x0 0x97700000 0x0 0x1400000>;
			no-map;
		};

		ipa_fw_mem: memory@98b00000 {
			reg = <0x0 0x98b00000 0x0 0x10000>;
			no-map;
		};

		ipa_gsi_mem: memory@98b10000 {
			reg = <0x0 0x98b10000 0x0 0x5000>;
			no-map;
		};

		gpu_mem: memory@98b15000 {
			reg = <0x0 0x98b15000 0x0 0x2000>;
			no-map;
		};

		spss_mem: memory@98c00000 {
			reg = <0x0 0x98c00000 0x0 0x100000>;
			no-map;
		};

		cdsp_mem: memory@98d00000 {
			reg = <0x0 0x98d00000 0x0 0x1400000>;
			no-map;
		};

		cont_splash_mem: memory@9c000000 {
			reg = <0x0 0x9c000000 0x0 0x2400000>;
			no-map;
		};

		cdsp_sec_mem: memory@a4c00000 {
			reg = <0x0 0xa4c00000 0x0 0x3c00000>;
			no-map;
		};

		ramoops@ffc00000 {
			compatible = "ramoops";
			reg = <0x0 0xffc00000 0x0 0x100000>;
			record-size = <0x1000>;
			console-size = <0x40000>;
			pmsg-size = <0x20000>;
			ecc-size = <16>;
			no-map;
		};
	};
};

&adsp_mem {
	reg = <0x0 0x8be00000 0x0 0x1e00000>;
};

&apps_rsc {
	regulators-0 {
		compatible = "qcom,pm8150-rpmh-regulators";
		qcom,pmic-id = "a";

		vdd-s1-supply = <&vph_pwr>;
		vdd-s2-supply = <&vph_pwr>;
		vdd-s3-supply = <&vph_pwr>;
		vdd-s4-supply = <&vph_pwr>;
		vdd-s5-supply = <&vph_pwr>;
		vdd-s6-supply = <&vph_pwr>;
		vdd-s7-supply = <&vph_pwr>;
		vdd-s8-supply = <&vph_pwr>;
		vdd-s9-supply = <&vph_pwr>;
		vdd-s10-supply = <&vph_pwr>;

		vdd-l1-l8-l11-supply = <&vreg_s6a_0p9>;
		vdd-l2-l10-supply = <&vreg_bob>;
		vdd-l3-l4-l5-l18-supply = <&vreg_s6a_0p9>;
		vdd-l6-l9-supply = <&vreg_s8c_1p3>;
		vdd-l7-l12-l14-l15-supply = <&vreg_s5a_1p9>;
		vdd-l13-l16-l17-supply = <&vreg_bob>;

		vreg_s2a_0p6: smps2 {
			regulator-min-microvolt = <600000>;
			regulator-max-microvolt = <600000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_s5a_1p9: smps5 {
			regulator-min-microvolt = <1904000>;
			regulator-max-microvolt = <2040000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_s6a_0p9: smps6 {
			regulator-min-microvolt = <920000>;
			regulator-max-microvolt = <1128000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l1a_0p75: ldo1 {
			regulator-min-microvolt = <752000>;
			regulator-max-microvolt = <752000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l2a_3p1: ldo2 {
			regulator-min-microvolt = <3072000>;
			regulator-max-microvolt = <3072000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l3a_0p8: ldo3 {
			regulator-min-microvolt = <480000>;
			regulator-max-microvolt = <932000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l5a_0p875: ldo5 {
			regulator-min-microvolt = <880000>;
			regulator-max-microvolt = <880000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l6a_1p2: ldo6 {
			regulator-min-microvolt = <1200000>;
			regulator-max-microvolt = <1200000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l7a_1p8: ldo7 {
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l9a_1p2: ldo9 {
			regulator-min-microvolt = <1200000>;
			regulator-max-microvolt = <1200000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l10a_2p5: ldo10 {
			regulator-min-microvolt = <2504000>;
			regulator-max-microvolt = <2960000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l11a_0p8: ldo11 {
			regulator-min-microvolt = <800000>;
			regulator-max-microvolt = <800000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l12a_1p8: ldo12 {
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		/* L13 is unused. */

		vreg_l14a_1p8: ldo14 {
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l15a_1p7: ldo15 {
			regulator-min-microvolt = <1704000>;
			regulator-max-microvolt = <1704000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l16a_2p7: ldo16 {
			regulator-min-microvolt = <2704000>;
			regulator-max-microvolt = <2960000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l17a_3p0: ldo17 {
			regulator-min-microvolt = <2856000>;
			regulator-max-microvolt = <3008000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l18a_0p8: ldo18 {
			regulator-min-microvolt = <880000>;
			regulator-max-microvolt = <912000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};
	};

	regulators-1 {
		compatible = "qcom,pm8150l-rpmh-regulators";
		qcom,pmic-id = "c";

		vdd-s1-supply = <&vph_pwr>;
		vdd-s2-supply = <&vph_pwr>;
		vdd-s3-supply = <&vph_pwr>;
		vdd-s4-supply = <&vph_pwr>;
		vdd-s5-supply = <&vph_pwr>;
		vdd-s6-supply = <&vph_pwr>;
		vdd-s7-supply = <&vph_pwr>;
		vdd-s8-supply = <&vph_pwr>;

		vdd-l1-l8-supply = <&vreg_s4a_1p8>;
		vdd-l2-l3-supply = <&vreg_s8c_1p3>;
		vdd-l4-l5-l6-supply = <&vreg_bob>;
		vdd-l7-l11-supply = <&vreg_bob>;
		vdd-l9-l10-supply = <&vreg_bob>;

		vdd-bob-supply = <&vph_pwr>;
		vdd-flash-supply = <&vreg_bob>;
		vdd-rgb-supply = <&vreg_bob>;

		vreg_bob: bob {
			regulator-min-microvolt = <3350000>;
			regulator-max-microvolt = <4000000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
			regulator-allow-bypass;
		};

		vreg_s1c_1p1: smps1 {
			regulator-min-microvolt = <1128000>;
			regulator-max-microvolt = <1128000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_s8c_1p3: smps8 {
			regulator-min-microvolt = <1352000>;
			regulator-max-microvolt = <1352000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l1c_1p8: ldo1 {
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l2c_1p3: ldo2 {
			regulator-min-microvolt = <1304000>;
			regulator-max-microvolt = <1304000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l3c_1p2: ldo3 {
			regulator-min-microvolt = <1200000>;
			regulator-max-microvolt = <1200000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l4c_1p8: ldo4 {
			regulator-min-microvolt = <1704000>;
			regulator-max-microvolt = <2928000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l5c_1p8: ldo5 {
			regulator-min-microvolt = <1704000>;
			regulator-max-microvolt = <2928000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l6c_2p9: ldo6 {
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <2960000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
			regulator-allow-set-load;
			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
						   RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l7c_3p0: ldo7 {
			regulator-min-microvolt = <2856000>;
			regulator-max-microvolt = <3104000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l8c_1p8: ldo8 {
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l9c_2p9: ldo9 {
			regulator-min-microvolt = <2704000>;
			regulator-max-microvolt = <2960000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
			regulator-allow-set-load;
			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
						   RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l10c_3p3: ldo10 {
			regulator-min-microvolt = <3000000>;
			regulator-max-microvolt = <3312000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l11c_3p3: ldo11 {
			regulator-min-microvolt = <3000000>;
			regulator-max-microvolt = <3312000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};
	};

	/* PM8009 is not present on these boards, even if downstream sources suggest so. */
};

&i2c4 {
	status = "okay";

	/* Qcom SMB1355 @ c */
	/* Qcom SMB1390 @ 10 */
	/* Qcom FSA4480 USB-C audio switch @ 43 */

	nfc@28 {
		compatible = "nxp,nxp-nci-i2c";
		reg = <0x28>;

		interrupt-parent = <&tlmm>;
		interrupts = <47 IRQ_TYPE_EDGE_RISING>;

		enable-gpios = <&tlmm 41 GPIO_ACTIVE_HIGH>;
		firmware-gpios = <&tlmm 48 GPIO_ACTIVE_HIGH>;
	};
};

&i2c7 {
	status = "okay";

	/* AMS TCS3490 RGB+IR color sensor @ 72 */
};

&i2c10 {
	status = "okay";

	/* Samsung touchscreen @ 48 */
};

&pm8150_gpios {
	gpio-line-names = "VOL_DOWN_N", /* GPIO_1 */
			  "",
			  "NC",
			  "NC",
			  "",
			  "NC",
			  "SUPWC_PWR_EN",
			  "",
			  "NC",
			  "NC"; /* GPIO_10 */

	vol_down_n: vol-down-n-state {
		pins = "gpio1";
		function = "normal";
		power-source = <0>;
		bias-pull-up;
		input-enable;
	};

	supwc_pwr_en: supwc-pwr-en-state {
		pins = "gpio7";
		function = "normal";
		qcom,drive-strength = <1>;
		power-source = <1>;
		drive-push-pull;
		output-low;
	};
};

&pm8150b_gpios {
	gpio-line-names = "SNAPSHOT_N", /* GPIO_1 */
			  "FOCUS_N",
			  "NC",
			  "NC",
			  "RF_LCD_ID_EN",
			  "NC",
			  "TS_VDDH_EN",
			  "LCD_ID",
			  "",
			  "NC", /* GPIO_10 */
			  "NC",
			  "RF_ID";

	snapshot_n: snapshot-n-state {
		pins = "gpio1";
		function = "normal";
		power-source = <0>;
		bias-pull-up;
		input-enable;
	};

	focus_n: focus-n-state {
		pins = "gpio2";
		function = "normal";
		power-source = <0>;
		bias-pull-up;
		input-enable;
	};
};

&pm8150l_gpios {
	gpio-line-names = "TS_VDDIO_EN", /* GPIO_1 */
			  "NC",
			  "MAIN_CAM_PWR_VMDR_EN",
			  "NC",
			  "",
			  "NC",
			  "NC",
			  "FP_LDO_EN",
			  "NC",
			  "NC", /* GPIO_10 */
			  "NC",
			  "NC";

	main_cam_pwr_vmdr_en: main-cam-pwr-vmdr-en-state {
		pins = "gpio3";
		function = "normal";
		qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
		power-source = <0>;
		drive-push-pull;
		output-low;
	};
};

&pon_pwrkey {
	status = "okay";
};

&pon_resin {
	linux,code = <KEY_VOLUMEUP>;
	status = "okay";
};

&qupv3_id_0 {
	status = "okay";
};

&qupv3_id_1 {
	status = "okay";
};

&sdhc_2 {
	vmmc-supply = <&vreg_l9c_2p9>;
	vqmmc-supply = <&vreg_l6c_2p9>;
	cd-gpios = <&tlmm 96 GPIO_ACTIVE_HIGH>;
	bus-width = <4>;
	no-sdio;
	no-mmc;

	status = "okay";
};

&tlmm {
	gpio-reserved-ranges = <126 4>;
	gpio-line-names = "NFC_ESE_SPI_MISO", /* GPIO_0 */
			  "NFC_ESE_SPI_MOSI",
			  "NFC_ESE_SPI_SCLK",
			  "NFC_ESE_SPI_CS_N",
			  "NC",
			  "NC",
			  "DISP_RESET_N",
			  "DEBUG_GPIO0",
			  "MDP_VSYNC_P",
			  "TS_I2C_SDA",
			  "TS_I2C_SCL", /* GPIO_10 */
			  "CAM_SOF",
			  "CAM2_RST_N",
			  "CAM_MCLK0",
			  "CAM_MCLK1",
			  "CAM_MCLK2",
			  "CAM_MCLK3",
			  "CCI_I2C_SDA0",
			  "CCI_I2C_SCL0",
			  "CCI_I2C_SDA1",
			  "CCI_I2C_SCL1", /* GPIO_20 */
			  "NC",
			  "MAIN_CAM_PWR_EN",
			  "CAM3_RST_N",
			  "NC",
			  "CHAT_CAM_PWR_EN",
			  "NC",
			  "NC",
			  "CAM0_RST_N",
			  "RGBC_IR_PWR_EN",
			  "CAM1_RST_N", /* GPIO_30 */
			  "CCI_I2C_SDA2",
			  "CCI_I2C_SCL2",
			  "CCI_I2C_SDA3",
			  "CCI_I2C_SCL3",
			  "NC",
			  "DEBUG_GPIO1",
			  "RGBC_IR_INT",
			  "USB_CC_DIR",
			  "NC",
			  "NC", /* GPIO_40 */
			  "NFC_EN",
			  "NFC_ESE_PWR_REQ",
			  "BT_HCI_UART_CTS_N",
			  "BT_HCI_UART_RFR_N",
			  "BT_HCI_UART_TXD",
			  "BT_HCI_UART_RXD",
			  "NFC_IRQ",
			  "NFC_DWL_REQ",
			  "UIM2_DETECT_EN",
			  "WLAN_SW_CTRL", /* GPIO_50 */
			  "APPS_I2C_SDA",
			  "APPS_I2C_SCL",
			  "NC",
			  "TS_RESET_N",
			  "NC",
			  "NC",
			  "NC",
			  "NC",
			  "HW_ID_0",
			  "NC", /* GPIO_60 */
			  "QLINK_REQUEST",
			  "QLINK_ENABLE",
			  "WMSS_RESET_N",
			  "SDM_GRFC_8",
			  "WDOG_DISABLE",
			  "NC",
			  "NC",
			  "PA_INDICATOR_OR",
			  "MSS_LTE_COXM_TXD",
			  "MSS_LTE_COXM_RXD", /* GPIO_70 */
			  "SDM_RFFE0_DATA",
			  "SDM_RFFE0_CLK",
			  "SDM_RFFE1_DATA",
			  "SDM_RFFE1_CLK",
			  "SDM_RFFE2_DATA",
			  "SDM_RFFE2_CLK",
			  "SDM_RFFE3_DATA",
			  "SDM_RFFE3_CLK",
			  "SUB_CAM_PWR_EN",
			  "FP_RESET_N", /* GPIO_80 */
			  "NC",
			  "NC",
			  "NC",
			  "NC",
			  "DEBUG_UART_TX",
			  "DEBUG_UART_RX",
			  "DVDT_WRT_DET_AND",
			  "NC",
			  "NC",
			  "NC", /* GPIO_90 */
			  "NC",
			  "NC",
			  "NC",
			  "NC",
			  "UDON_SWITCH_SEL",
			  "SD_CARD_DET_N",
			  "NC",
			  "CAMSENSOR_I2C_SDA",
			  "CAMSENSOR_I2C_SCL",
			  "USB_AUDIO_EN1", /* GPIO_100 */
			  "DISP_ERR_FG",
			  "NC",
			  "NC",
			  "NC",
			  "UIM2_DATA",
			  "UIM2_CLK",
			  "UIM2_RESET",
			  "UIM2_DET",
			  "UIM1_DATA",
			  "UIM1_CLK", /* GPIO_110 */
			  "UIM1_RESET",
			  "UIM1_PRESENT",
			  "NFC_CLK_REQ",
			  "SW_SERVICE",
			  "NC",
			  "RF_ID_EXTENSION",
			  "ALS_PROX_INT_N",
			  "FP_INT",
			  "DVDT_WRT_DET_OR",
			  "BAROMETER_INT", /* GPIO_120 */
			  "ACC_COVER_OPEN",
			  "TS_INT_N",
			  "CODEC_INT1_N",
			  "CODEC_INT2_N",
			  "TX_GTR_THRES_IN",
			  "FP_SPI_MISO",
			  "FP_SPI_MOSI",
			  "FP_SPI_SCLK",
			  "FP_SPI_CS_N",
			  "NC", /* GPIO_130 */
			  "DVDT_ENABLE",
			  "ACCEL_INT",
			  "NC",
			  "MAG_INT_N",
			  "NC",
			  "FORCED_USB_BOOT",
			  "NC",
			  "NC",
			  "HW_ID_1",
			  "NC", /* GPIO_140 */
			  "NC",
			  "NC",
			  "CODEC_RST_N",
			  "CDC_SPI_MISO",
			  "CDC_SPI_MOSI",
			  "CDC_SPI_SCLK",
			  "CDC_SPI_CS_N",
			  "NC",
			  "LPASS_SLIMBUS_CLK",
			  "LPASS_SLIMBUS_DATA0", /* GPIO_150 */
			  "LPASS_SLIMBUS_DATA1",
			  "USB_AUDIO_EN2",
			  "BT_FM_SLIMBUS_DATA",
			  "BT_FM_SLIMBUS_CLK",
			  "COMPASS_I2C_SDA",
			  "COMPASS_I2C_SCL",
			  "SSC_SPI_1_MISO",
			  "SSC_SPI_1_MOSI",
			  "SSC_SPI_1_CLK",
			  "SSC_SPI_1_CS_N", /* GPIO_160 */
			  "SSC_SENSOR_I2C_SDA",
			  "SSC_SENSOR_I2C_SCL",
			  "NC",
			  "NC",
			  "NC",
			  "NC",
			  "SSC_UART_1_TX",
			  "SSC_UART_1_RX",
			  "WL_CMD_CLK_CHAIN0",
			  "WL_CMD_DATA_CHAIN0", /* GPIO_170 */
			  "WL_CMD_CLK_CHAIN1",
			  "WL_CMD_DATA_CHAIN1",
			  "WL_BT_COEX_CLK",
			  "WL_BT_COEX_DATA";

	main_cam_pwr_en: main-cam-pwr-en-state {
		pins = "gpio22";
		function = "gpio";
		drive-strength = <2>;
		bias-disable;
		output-low;
	};

	chat_cam_pwr_en: chat-cam-pwr-en-state {
		pins = "gpio25";
		function = "gpio";
		drive-strength = <2>;
		bias-disable;
		output-low;
	};

	rgbc_ir_pwr_en: rgbc-ir-pwr-en-state {
		pins = "gpio29";
		function = "gpio";
		drive-strength = <2>;
		bias-disable;
		output-low;
	};

	sub_cam_pwr_en: sub-cam-pwr-en-state {
		pins = "gpio79";
		function = "gpio";
		drive-strength = <2>;
		bias-pull-down;
	};
};

&uart2 {
	status = "okay";
};

/* BIG WARNING! DO NOT TOUCH UFS, YOUR DEVICE WILL DIE! */
&ufs_mem_hc { status = "disabled"; };
&ufs_mem_phy { status = "disabled"; };

&usb_1 {
	status = "okay";
};

&usb_1_dwc3 {
	dr_mode = "peripheral";
};

&usb_1_hsphy {
	status = "okay";
	vdda-pll-supply = <&vreg_l5a_0p875>;
	vdda33-supply = <&vreg_l2a_3p1>;
	vdda18-supply = <&vreg_l12a_1p8>;
};

&usb_1_qmpphy {
	status = "okay";
	vdda-phy-supply = <&vreg_l3c_1p2>;
	vdda-pll-supply = <&vreg_l18a_0p8>;
};
