Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 12063046 authored by zhaochen's avatar zhaochen Committed by Gerrit - the friendly Code Review server
Browse files

ARM: dts: msm: add device tree for SDM429 spyro EVT and DVT



Add device tree for SDM429 spyro EVT and DVT devices.

Change-Id: I4ca078fa904f81b269414f2bc74036c7d06c58d3
Signed-off-by: default avatarzhaochen <zhaochen@codeaurora.org>
parent de5b1d1f
Loading
Loading
Loading
Loading
+7 −4
Original line number Diff line number Diff line
@@ -393,7 +393,8 @@ dtbo-$(CONFIG_ARCH_SDM439) += sdm439-mtp-overlay.dtbo \
dtbo-$(CONFIG_ARCH_SDM429) += sdm429-mtp-overlay.dtbo \
	sdm429-cdp-overlay.dtbo \
	sdm429-qrd-overlay.dtbo \
	sdm429-qrd-spyro-evt-overlay.dtbo
	sdm429-spyro-qrd-evt-overlay.dtbo \
	sdm429-spyro-qrd-dvt-overlay.dtbo

msm8940-mtp-overlay.dtbo-base := msm8940-pmi8950.dtb \
	msm8940-pmi8937.dtb \
@@ -512,8 +513,8 @@ sdm429-cdp-overlay.dtbo-base := sdm429.dtb \
	msm8937-interposer-sdm429.dtb
sdm429-qrd-overlay.dtbo-base := sdm429.dtb \
	msm8937-interposer-sdm429.dtb
sdm429-qrd-spyro-evt-overlay.dtbo-base := sdm429.dtb \
        msm8937-interposer-sdm429.dtb
sdm429-spyro-qrd-evt-overlay.dtbo-base := sdm429-spyro.dtb
sdm429-spyro-qrd-dvt-overlay.dtbo-base := sdm429-spyro-dvt.dtb
else
dtb-$(CONFIG_ARCH_MSM8953) += msm8953-cdp.dtb \
	msm8953-mtp.dtb \
@@ -644,7 +645,9 @@ dtb-$(CONFIG_ARCH_SDM429) += sdm429-mtp.dtb \
	sdm429-cdp.dtb \
	sdm429-qrd.dtb \
	sda429-mtp.dtb \
	sda429-cdp.dtb
	sda429-cdp.dtb \
	sdm429-spyro.dtb \
	sdm429-spyro-dvt.dtb

endif

+24 −0
Original line number Diff line number Diff line
/*
 * Copyright (c) 2019, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
 * only version 2 as published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 */

/dts-v1/;

#include "sdm429-spyro.dtsi"

/ {
	model = "Qualcomm Technologies, Inc. SDM429 QRD DVT Spyro";
	compatible = "qcom,sdm429w-qrd", "qcom,sdm429w", "qcom,qrd";
	qcom,msm-id = <416 0x0>;
	qcom,board-id = <0x01000b 6>;
	qcom,pmic-id = <0x0002001b 0x0 0x0 0x0>;
};
+37 −0
Original line number Diff line number Diff line
/*
 * Copyright (c) 2019, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
 * only version 2 as published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 */

/dts-v1/;
/plugin/;

#include "sdm429-spyro-qrd-evt.dtsi"

/ {
	model = "Qualcomm Technologies, Inc. SDM429 QRD Spyro DVT Overlay";
	compatible = "qcom,sdm429w-qrd", "qcom,sdm429w", "qcom,qrd";
	qcom,msm-id = <416 0x0>;
	qcom,board-id = <0x01000b 6>;
	qcom,pmic-id = <0x0002001b 0x0 0x0 0x0>;
};

&usb_otg {
	HSUSB_3p3-supply = <&L16A>;
};

&msm_dig_codec {
	cdc-vdd-digital-supply = <&pm660_l11>;
};

&ext_smart_pa {
	dvdd-supply = <&pm660_l11>;
};
+163 −0
Original line number Diff line number Diff line
/*
 * Copyright (c) 2019, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
 * only version 2 as published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 */

&int_codec {
	compatible = "qcom,msm8952-dig-asoc-snd";
	status = "okay";
	qcom,model = "sdm429-qrd-snd-card";
	qcom,msm-ext-pa = "quaternary";
	/delete-property/ qcom,split-a2dp;
	asoc-wsa-codec-names;
	asoc-wsa-codec-prefixes;
	ext_pa_aw8896;
	qcom,audio-routing =
		"CDC_CONN", "MCLK",
		"QUAT_MI2S_RX", "DIGITAL_REGULATOR",
		"TX_I2S_CLK", "DIGITAL_REGULATOR",
		"DMIC1", "Digital Mic1",
		"DMIC2", "Digital Mic2";
	qcom,cdc-dmic-gpios = <&cdc_dmic_gpios>;
	qcom,quat-mi2s-gpios = <&cdc_quat_mi2s_gpios>;
	qcom,msm-gpios =
		"quat_i2s",
		"dmic";
	qcom,pinctrl-names =
		"all_off",
		"quat_i2s_act",
		"dmic_act",
		"quat_i2s_dmic_act";
	pinctrl-names =
		"all_off",
		"quat_i2s_act",
		"dmic_act",
		"quat_i2s_dmic_act";
	pinctrl-0 = <&quat_mi2s_sleep &quat_mi2s_din_sleep
		&cdc_dmic0_clk_sus &cdc_dmic0_data_sus>;
	pinctrl-1 = <&quat_mi2s_active &quat_mi2s_din_active
		&cdc_dmic0_clk_sus &cdc_dmic0_data_sus>;
	pinctrl-2 = <&quat_mi2s_sleep &quat_mi2s_din_sleep
		&cdc_dmic0_clk_act &cdc_dmic0_data_act>;
	pinctrl-3 = <&quat_mi2s_active &quat_mi2s_din_active
		&cdc_dmic0_clk_act &cdc_dmic0_data_act>;
	/delete-property/qcom,cdc-us-euro-gpios;
	/delete-property/qcom,pri-mi2s-gpios;
	/delete-property/qcom,cdc-us-eu-gpios;

	asoc-codec = <&stub_codec>, <&msm_dig_codec>, <&ext_smart_pa>;
	asoc-codec-names = "msm-stub-codec.1", "msm-dig-codec", "ext-smart-pa";
};

&soc {
	msm_dig_codec: msm_dig_codec {
		compatible = "qcom,msm-digital-codec";
		reg = <0xc0f0000 0x0>;
		qcom,no-analog-codec;
		cdc-vdd-digital-supply = <&pm660_l9>;
		qcom,cdc-vdd-digital-voltage = <1800000 1800000>;
		qcom,cdc-vdd-digital-current = <10000>;
		qcom,cdc-on-demand-supplies = "cdc-vdd-digital";
	};

	cdc_dmic_gpios: cdc_dmic_pinctrl {
		compatible = "qcom,msm-cdc-pinctrl";
		pinctrl-names = "aud_active", "aud_sleep";
		pinctrl-0 = <&cdc_dmic0_clk_act &cdc_dmic0_data_act>;
		pinctrl-1 = <&cdc_dmic0_clk_sus &cdc_dmic0_data_sus>;
	};

	cdc_quat_mi2s_gpios: msm_cdc_pinctrl_quat {
		compatible = "qcom,msm-cdc-pinctrl";
		pinctrl-names = "aud_active", "aud_sleep";
		pinctrl-0 = <&quat_mi2s_active &quat_mi2s_din_active>;
		pinctrl-1 = <&quat_mi2s_sleep &quat_mi2s_din_sleep>;
	};
};

&tlmm {
	smart_pa_int {
		pa_int_default: pa_int_default {
			mux {
				pins = "gpio73", "gpio73";
				function = "gpio";
			};

			config {
				pins = "gpio73", "gpio73";
				drive-strength = <4>;
				bias-disable;
			};
		};
	};

	smart_pa_rst {
		pa_rst_default: pa_rst_default {
			mux {
				pins = "gpio68", "gpio68";
				function = "gpio";
			};

			config {
				pins = "gpio68", "gpio68";
				drive-strength = <4>;
				bias-disable;
			};
		};
	};
};

&wsa881x_i2c_f {
	status = "disabled";
};

&wsa881x_i2c_45 {
	status = "disabled";
};

&wsa881x_analog_vi_gpio {
	status = "disabled";
};

&wsa881x_analog_clk_gpio {
	status = "disabled";
};

&wsa881x_analog_reset_gpio {
	status = "disabled";
};

&cdc_us_euro_sw {
	status = "disabled";
};

&cdc_pri_mi2s_gpios {
	status = "disabled";
};

&cdc_quin_mi2s_gpios {
	status = "disabled";
};

&i2c_2 {
	ext_smart_pa: aw8896_smartpa@34 {
		status = "okay";
		compatible = "awinic,aw8896_smartpa";
		reg = <0x34>;
		reset-gpio = <&tlmm 68 0>;
		irq-gpio = <&tlmm 73 0>;
		pinctrl-names = "default";
		pinctrl-0 = <&pa_int_default &pa_rst_default>;
		dvdd-supply = <&pm660_l9>;
		dvdd-voltage = <1800000 1800000>;
		dvdd-current = <15000>;
	};
};
+418 −0
Original line number Diff line number Diff line
/*
 * Copyright (c) 2019 The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
 * only version 2 as published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 */

#include <dt-bindings/clock/msm-clocks-8952.h>

&cam_sensor_rear_standby {
	/* STANDBY */
	mux {
		/delete-property/ pins;
		pins = "gpio92";
		function = "gpio";
	};

	config {
		/delete-property/ pins;
		pins = "gpio92";
		bias-disable; /* No PULL */
		drive-strength = <2>; /* 2 MA */
	};
};

&cam_sensor_rear_standby_sleep {
	/* STANDBY */
	mux {
		/delete-property/ pins;
		pins = "gpio92";
		function = "gpio";
	};

	config {
		/delete-property/ pins;
		pins = "gpio92";
		bias-disable; /* No PULL */
		drive-strength = <2>; /* 2 MA */
	};
};

&cam_sensor_rear_vana {
	/* VANA */
	mux {
		/delete-property/ pins;
		pins = "gpio58";
		function = "gpio";
	};

	config {
		/delete-property/ pins;
		pins = "gpio58";
		bias-disable; /* No PULL */
		drive-strength = <2>; /* 2 MA */
	};
};

&cam_sensor_rear_vana_sleep {
	/* VANA */
	mux {
		/delete-property/ pins;
		pins = "gpio58";
		function = "gpio";
	};

	config {
		/delete-property/ pins;
		pins = "gpio58";
		bias-disable; /* No PULL */
		drive-strength = <2>; /* 2 MA */
	};
};

&soc {
	/delete-node/ qcom,cci@1b0c000;
	cci: qcom,cci@1b0c000 {
		status = "ok";
		cell-index = <0>;
		compatible = "qcom,cci";
		reg = <0x1b0c000 0x4000>;
		#address-cells = <1>;
		#size-cells = <0>;
		reg-names = "cci";
		interrupts = <0 50 0>;
		interrupt-names = "cci";
		clocks = <&clock_gcc clk_gcc_camss_ispif_ahb_clk>,
			<&clock_gcc clk_cci_clk_src>,
			<&clock_gcc clk_gcc_camss_cci_ahb_clk>,
			<&clock_gcc clk_gcc_camss_cci_clk>,
			<&clock_gcc clk_gcc_camss_ahb_clk>,
			<&clock_gcc clk_gcc_camss_top_ahb_clk>;
		clock-names = "ispif_ahb_clk", "cci_src_clk",
			"cci_ahb_clk", "camss_cci_clk",
			"camss_ahb_clk", "camss_top_ahb_clk";
		qcom,clock-rates = <61540000 19200000 0 0 0 0>,
				<61540000 37500000 0 0 0 0>;
		pinctrl-names = "cci_default", "cci_suspend";
			pinctrl-0 = <&cci0_active &cci1_active>;
			pinctrl-1 = <&cci0_suspend &cci1_suspend>;
		gpios = <&tlmm 29 0>,
			<&tlmm 30 0>,
			<&tlmm 31 0>,
			<&tlmm 32 0>;
		qcom,gpio-tbl-num = <0 1 2 3>;
		qcom,gpio-tbl-flags = <1 1 1 1>;
		qcom,gpio-tbl-label = "CCI_I2C_DATA0",
								"CCI_I2C_CLK0",
								"CCI_I2C_DATA1",
								"CCI_I2C_CLK1";
		i2c_freq_100Khz: qcom,i2c_standard_mode {
			status = "disabled";
		};
		i2c_freq_400Khz: qcom,i2c_fast_mode {
			status = "disabled";
		};
		i2c_freq_custom: qcom,i2c_custom_mode {
			status = "disabled";
		};

		i2c_freq_1Mhz: qcom,i2c_fast_plus_mode {
			status = "disabled";
		};
	};
};

&cci {
	#address-cells = <1>;
	#size-cells = <0>;

	actuator_spyro0: qcom,actuator@0 {
		cell-index = <0>;
		reg = <0x0>;
		compatible = "qcom,actuator";
		qcom,cci-master = <0>;
		cam_vaf-supply = <&pm660_l19>;
		qcom,cam-vreg-name = "cam_vaf";
		qcom,cam-vreg-min-voltage = <2850000>;
		qcom,cam-vreg-max-voltage = <3200000>;
		qcom,cam-vreg-op-mode = <80000>;
	};

	actuator_spyro1: qcom,actuator@1 {
		cell-index = <1>;
		reg = <0x1>;
		compatible = "qcom,actuator";
		qcom,cci-master = <0>;
		cam_vaf-supply = <&pm660_l19>;
		qcom,cam-vreg-name = "cam_vaf";
		qcom,cam-vreg-min-voltage = <2850000>;
		qcom,cam-vreg-max-voltage = <3200000>;
		qcom,cam-vreg-op-mode = <80000>;
	};

	eeprom_spyro0: qcom,eeprom@0 {
		cell-index = <0>;
		compatible = "qcom,eeprom";
		qcom,cci-master = <0>;
		reg = <0x0>;
		cam_vana-supply = <&pm660_l6>;
		cam_vio-supply = <&pm660_l14>;
		cam_vaf-supply = <&pm660_l19>;
		cam_vdig-supply = <&pm660_l2>;
		qcom,cam-vreg-name = "cam_vana", "cam_vio",
					"cam_vdig", "cam_vaf";
		qcom,cam-vreg-min-voltage = <2800000 1800000 1050000 2850000>;
		qcom,cam-vreg-max-voltage = <2800000 1800000 1050000 3200000>;
		qcom,cam-vreg-op-mode = <80000 0 200000 100000>;
		pinctrl-names = "cam_default", "cam_suspend";
		pinctrl-0 = <&cam_sensor_mclk0_default
				&cam_sensor_rear_reset
				&cam_sensor_rear_vana
				&cam_sensor_rear_standby>;
		pinctrl-1 = <&cam_sensor_mclk0_sleep
				&cam_sensor_rear_reset_sleep
				&cam_sensor_rear_vana_sleep
				&cam_sensor_rear_standby_sleep>;
		gpios = <&tlmm 26 0>,
			<&tlmm 36 0>,
			<&tlmm 58 0>,
			<&tlmm 92 0>;
		qcom,gpio-reset = <1>;
		qcom,gpio-vana = <2>;
		qcom,gpio-standby = <3>;
		qcom,gpio-req-tbl-num = <0 1 2 3>;
		qcom,gpio-req-tbl-flags = <1 0 0 0>;
		qcom,gpio-req-tbl-label = "CAMIF_MCLK0",
			"CAM_RESET0",
			"CAM_VANA",
			"CAM_STANDBY";
		status = "ok";
		clocks = <&clock_gcc clk_mclk0_clk_src>,
			<&clock_gcc clk_gcc_camss_mclk0_clk>;
		clock-names = "cam_src_clk", "cam_clk";
		qcom,clock-rates = <19200000 0>;
	};

	eeprom_spyro1: qcom,eeprom@1 {
		cell-index = <1>;
		reg = <0x1>;
		qcom,eeprom-name = "sunny_8865";
		compatible = "qcom,eeprom";
		qcom,slave-addr = <0x6c>;
		qcom,cci-master = <0>;
		qcom,num-blocks = <8>;

		qcom,page0 = <1 0x0100 2 0x01 1 1>;
		qcom,poll0 = <0 0x0 2 0x0 1 0>;
		qcom,mem0 = <0 0x0 2 0x0 1 0>;

		qcom,page1 = <1 0x5002 2 0x00 1 0>;
		qcom,poll1 = <0 0x0 2 0x0 1 0>;
		qcom,mem1 = <0 0x0 2 0x0 1 0>;

		qcom,page2 = <1 0x3d84 2 0xc0 1 0>;
		qcom,poll2 = <0 0x0 2 0x0 1 0>;
		qcom,mem2 = <0 0x0 2 0x0 1 0>;

		qcom,page3 = <1 0x3d88 2 0x70 1 0>;
		qcom,poll3 = <0 0x0 2 0x0 1 0>;
		qcom,mem3 = <0 0x0 2 0x0 1 0>;

		qcom,page4 = <1 0x3d89 2 0x10 1 0>;
		qcom,poll4 = <0 0x0 2 0x0 1 0>;
		qcom,mem4 = <0 0x0 2 0x0 1 0>;

		qcom,page5 = <1 0x3d8a 2 0x70 1 0>;
		qcom,poll5 = <0 0x0 2 0x0 1 0>;
		qcom,mem5 = <0 0x0 2 0x0 1 0>;

		qcom,page6 = <1 0x3d8b 2 0xf4 1 0>;
		qcom,poll6 = <0 0x0 2 0x0 1 0>;
		qcom,mem6 = <0 0x0 2 0x0 1 0>;

		qcom,page7 = <1 0x3d81 2 0x01 1 10>;
		qcom,poll7 = <0 0x0 2 0x0 1 1>;
		qcom,mem7 = <1536 0x7010 2 0 1 0>;

		cam_vdig-supply = <&pm660_l3>;
		cam_vana-supply = <&pm660_l7>;
		cam_vio-supply = <&pm660_l6>;
		cam_vaf-supply = <&pm660_l17>;
		qcom,cam-vreg-name = "cam_vdig", "cam_vio",
				"cam_vana", "cam_vaf";
		qcom,cam-vreg-min-voltage = <1200000 0 2800000 2850000>;
		qcom,cam-vreg-max-voltage = <1200000 0 2800000 3200000>;
		qcom,cam-vreg-op-mode = <105000 0 80000 100000>;
		qcom,gpio-no-mux = <0>;
		pinctrl-names = "cam_default", "cam_suspend";
		pinctrl-0 = <&cam_sensor_mclk2_default
			&cam_sensor_front1_default>;
		pinctrl-1 = <&cam_sensor_mclk2_sleep
			&cam_sensor_front1_sleep>;
		gpios = <&tlmm 28 0>,
			<&tlmm 40 0>,
			<&tlmm 39 0>;
		qcom,gpio-reset = <1>;
		qcom,gpio-standby = <2>;
		qcom,gpio-req-tbl-num = <0 1 2>;
		qcom,gpio-req-tbl-flags = <1 0 0>;
		qcom,gpio-req-tbl-label = "CAMIF_MCLK2",
					  "CAM_RESET2",
					  "CAM_STANDBY2";
		qcom,cam-power-seq-type = "sensor_vreg", "sensor_vreg",
			"sensor_vreg",
			"sensor_gpio", "sensor_gpio" , "sensor_clk";
		qcom,cam-power-seq-val = "cam_vdig", "cam_vana", "cam_vio",
			"sensor_gpio_reset", "sensor_gpio_standby",
			"sensor_cam_mclk";
		qcom,cam-power-seq-cfg-val = <1 1 1 1 1 24000000>;
		qcom,cam-power-seq-delay = <1 1 1 30 30 5>;
		status = "ok";
		clocks = <&clock_gcc clk_mclk2_clk_src>,
			<&clock_gcc clk_gcc_camss_mclk2_clk>;
		clock-names = "cam_src_clk", "cam_clk";
		qcom,clock-rates = <19200000 0>;
	};

	qcom,camera@0 {
		cell-index = <0>;
		compatible = "qcom,camera";
		reg = <0x0>;
		qcom,csiphy-sd-index = <0>;
		qcom,csid-sd-index = <0>;
		qcom,mount-angle = <90>;
		qcom,eeprom-src = <&eeprom_spyro0>;
		qcom,actuator-src = <&actuator_spyro0>;
		cam_vio-supply = <&pm660_l14>;
		cam_vaf-supply = <&L19A>;
		cam_vdig-supply = <&pm660_l2>;
		qcom,cam-vreg-name = "cam_vana", "cam_vio",
				"cam_vdig", "cam_vaf";
		qcom,cam-vreg-min-voltage = <2800000 1800000 1050000 2850000>;
		qcom,cam-vreg-max-voltage = <2800000 1800000 1050000 3200000>;
		qcom,cam-vreg-op-mode = <80000 0 200000 100000>;
		pinctrl-names = "cam_default", "cam_suspend";
		pinctrl-0 = <&cam_sensor_mclk0_default
				&cam_sensor_rear_reset
				&cam_sensor_rear_vana
				&cam_sensor_rear_standby>;
		pinctrl-1 = <&cam_sensor_mclk0_sleep
				&cam_sensor_rear_reset_sleep
				&cam_sensor_rear_vana_sleep
				&cam_sensor_rear_standby_sleep>;
		gpios = <&tlmm 26 0>,
			<&tlmm 36 0>,
			<&tlmm 58 0>,
			<&tlmm 92 0>;
		qcom,gpio-reset = <1>;
		qcom,gpio-vana = <2>;
		qcom,gpio-standby = <3>;
		qcom,gpio-req-tbl-num = <0 1 2 3>;
		qcom,gpio-req-tbl-flags = <1 0 0 0>;
		qcom,gpio-req-tbl-label = "CAMIF_MCLK0",
								"CAM_RESET0",
								"CAM_VANA",
								"CAM_STANDBY";
		qcom,sensor-position = <0>;
		qcom,sensor-mode = <0>;
		qcom,cci-master = <0>;
		status = "ok";
		clocks = <&clock_gcc clk_mclk0_clk_src>,
					<&clock_gcc clk_gcc_camss_mclk0_clk>;
		clock-names = "cam_src_clk", "cam_clk";
		qcom,clock-rates = <24000000 0>;
	};

	qcom,camera@1 {
		cell-index = <1>;
		compatible = "qcom,camera";
		reg = <0x1>;
		qcom,csiphy-sd-index = <1>;
		qcom,csid-sd-index = <1>;
		qcom,mount-angle = <270>;
		cam_vdig-supply = <&pm660_l3>;
		cam_vio-supply = <&pm660_l14>;
		cam_vaf-supply = <&pm660_l19>;
		qcom,cam-vreg-name = "cam_vdig", "cam_vio", "cam_vana",
							"cam_vaf";
		qcom,cam-vreg-min-voltage = <1200000 1800000 2800000 2850000>;
		qcom,cam-vreg-max-voltage = <1200000 1800000 2800000 3200000>;
		qcom,cam-vreg-op-mode = <200000 0 80000 100000>;
		pinctrl-names = "cam_default", "cam_suspend";
		pinctrl-0 = <&cam_sensor_mclk1_default
				&cam_sensor_front_default>;
		pinctrl-1 = <&cam_sensor_mclk1_sleep
				&cam_sensor_front_sleep>;
		gpios = <&tlmm 27 0>,
			<&tlmm 33 0>,
			<&tlmm 66 0>,
			<&tlmm 38 0>;
		qcom,gpio-vana= <1>;
		qcom,gpio-vdig= <2>;
		qcom,gpio-reset = <3>;
		qcom,gpio-req-tbl-num = <0 1 2 3>;
		qcom,gpio-req-tbl-flags = <1 0 0 0>;
		qcom,gpio-req-tbl-label = "CAMIF_MCLK1",
								"CAM_AVDD1",
								"CAM_DVDD1",
								"CAM_RESET1";
		qcom,sensor-position = <0x1>;
		qcom,sensor-mode = <0>;
		qcom,cci-master = <1>;
		clocks = <&clock_gcc clk_mclk1_clk_src>,
					<&clock_gcc clk_gcc_camss_mclk1_clk>;
		clock-names = "cam_src_clk", "cam_clk";
		qcom,clock-rates = <24000000 0>;
	};

	qcom,camera@2 {
		cell-index = <2>;
		compatible = "qcom,camera";
		reg = <0x02>;
		qcom,csiphy-sd-index = <1>;
		qcom,csid-sd-index = <1>;
		qcom,mount-angle = <270>;
		qcom,eeprom-src = <&eeprom_spyro1>;
		qcom,actuator-src = <&actuator_spyro1>;
		cam_vdig-supply = <&pm660_l3>;
		cam_vana-supply = <&pm660_l7>;
		cam_vio-supply = <&pm660_l6>;
		cam_vaf-supply = <&pm660_l19>;
		qcom,cam-vreg-name = "cam_vdig", "cam_vio", "cam_vana",
					"cam_vaf";
		qcom,cam-vreg-min-voltage = <1200000 0 2800000 2850000>;
		qcom,cam-vreg-max-voltage = <1200000 0 2800000 3200000>;
		qcom,cam-vreg-op-mode = <105000 0 80000 100000>;
		qcom,gpio-no-mux = <0>;
		pinctrl-names = "cam_default", "cam_suspend";
		pinctrl-0 = <&cam_sensor_mclk2_default
				&cam_sensor_front1_default>;
		pinctrl-1 = <&cam_sensor_mclk2_sleep
				&cam_sensor_front1_sleep>;
		gpios = <&tlmm 27 0>,
			<&tlmm 38 0>,
			<&tlmm 39 0>;
		qcom,gpio-reset = <1>;
		qcom,gpio-standby = <2>;
		qcom,gpio-req-tbl-num = <0 1 2>;
		qcom,gpio-req-tbl-flags = <1 0 0>;
		qcom,gpio-req-tbl-label = "CAMIF_MCLK2",
					  "CAM_RESET2",
					  "CAM_STANDBY2";
		qcom,sensor-position = <1>;
		qcom,sensor-mode = <0>;
		qcom,cci-master = <0>;
		status = "ok";
		clocks = <&clock_gcc clk_mclk2_clk_src>,
			<&clock_gcc clk_gcc_camss_mclk2_clk>;
		clock-names = "cam_src_clk", "cam_clk";
		qcom,clock-rates = <24000000 0>;
	};
};
Loading