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

Commit 96837580 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "ARM: dts: msm : add camera node for vr cameras in sdm845 qvr board"

parents 889d5371 aafa6ce2
Loading
Loading
Loading
Loading
+209 −2
Original line number Diff line number Diff line
/*
 * Copyright (c) 2017, The Linux Foundation. All rights reserved.
 * Copyright (c) 2017-2018, 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
@@ -71,6 +71,30 @@
		pinctrl-0 = <&camera_dvdd_en_default>;
		vin-supply = <&pm8998_s3>;
	};

	camera_eyetracking_force: gpio-regulator@3 {
		compatible = "regulator-fixed";
		reg = <0x03 0x00>;
		regulator-name = "camera_eyetracking_force";
		regulator-min-microvolt = <1050000>;
		regulator-max-microvolt = <1050000>;
		regulator-enable-ramp-delay = <100>;
		enable-active-high;
		gpio = <&tlmm 77 0>;
		vin-supply = <&pm8998_s3>;
	};

	camera_eyetracking_force_front: gpio-regulator@4 {
		compatible = "regulator-fixed";
		reg = <0x04 0x00>;
		regulator-name = "camera_eyetracking_force_front";
		regulator-min-microvolt = <1050000>;
		regulator-max-microvolt = <1050000>;
		regulator-enable-ramp-delay = <100>;
		enable-active-high;
		gpio = <&tlmm 77 0>;
		vin-supply = <&pm8998_lvs1>;
	};
};

&cam_cci {
@@ -343,7 +367,7 @@
		sensor-position-yaw = <0>;
		eeprom-src = <&eeprom_front>;
		cam_vdig-supply = <&camera_ldo>;
		cam_vio-supply = <&pm8998_lvs1>;
		cam_vio-supply = <&camera_eyetracking_force_front>;
		cam_vana-supply = <&pmi8998_bob>;
		cam_clk-supply = <&titan_top_gdsc>;
		regulator-names = "cam_vdig", "cam_vio", "cam_vana",
@@ -376,4 +400,187 @@
		clock-cntl-level = "turbo";
		clock-rates = <24000000>;
	};

	qcom,camera@3 {
		cell-index = <3>;
		compatible = "qcom,cam-sensor";
		reg = <0x3>;
		csiphy-sd-index = <2>;
		sensor-position-roll = <270>;
		sensor-position-pitch = <0>;
		sensor-position-yaw = <0>;
		cam_vio-supply = <&pm8998_lvs1>;
		cam_vana-supply = <&pmi8998_bob>;
		cam_vdig-supply = <&pm8998_s3>;
		cam_clk-supply = <&titan_top_gdsc>;
		regulator-names = "cam_vio", "cam_vana", "cam_vdig",
					"cam_clk";
		rgltr-cntrl-support;
		rgltr-min-voltage = <0 3312000 1050000 0>;
		rgltr-max-voltage = <0 3600000 1050000 0>;
		rgltr-load-current = <0 80000 105000 0>;
		gpio-no-mux = <0>;
		pinctrl-names = "cam_default", "cam_suspend";
		pinctrl-0 = <&cam_sensor_mclk2_active
				&max_rst_active>;
		pinctrl-1 = <&cam_sensor_mclk2_suspend
				&max_rst_suspend>;
		gpios = <&tlmm 15 0>,
			<&tlmm 31 0>,
			<&tlmm 77 0>,
			<&tlmm 78 0>,
			<&tlmm 32 0>;
		gpio-reset = <1>;
		gpio-vana = <2>;
		gpio-custom1 = <3>;
		gpio-custom2 = <4>;
		gpio-req-tbl-num = <0 1 2 3 4>;
		gpio-req-tbl-flags = <1 0 0 0 0>;
		gpio-req-tbl-label = "CAMIF_MCLK2",
					"CAM_RESET2",
					"CAM_VANA2",
					"CAM_CUSTOM1",
					"CAM_CUSTOM2";
		sensor-mode = <0>;
		cci-master = <1>;
		status = "ok";
		clocks = <&clock_camcc CAM_CC_MCLK2_CLK>;
		clock-names = "cam_clk";
		clock-cntl-level = "turbo";
		clock-rates = <24000000>;
	};

	qcom,cam-sensor@5 {
		cell-index = <5>;
		compatible = "qcom,cam-sensor";
		reg = <0x05>;
		csiphy-sd-index = <1>;
		sensor-position-roll = <270>;
		sensor-position-pitch = <0>;
		sensor-position-yaw = <0>;
		cam_vio-supply = <&pm8998_lvs1>;
		cam_vana-supply = <&pmi8998_bob>;
		cam_vdig-supply = <&camera_eyetracking_force>;
		cam_clk-supply = <&titan_top_gdsc>;
		regulator-names = "cam_vio", "cam_vana", "cam_vdig",
			"cam_clk";
		rgltr-cntrl-support;
		rgltr-min-voltage = <0 3312000 1050000 0>;
		rgltr-max-voltage = <0 3600000 1050000 0>;
		rgltr-load-current = <0 80000 105000 0>;
		gpio-no-mux = <0>;
		pinctrl-names = "cam_default", "cam_suspend";
		pinctrl-0 = <&cam_sensor_mclk1_active
				 &cam_sensor_fisheye_active>;
		pinctrl-1 = <&cam_sensor_mclk1_suspend
				 &cam_sensor_fisheye_suspend>;
		gpios = <&tlmm 14 0>,
			<&tlmm 76 0>,
			<&tlmm 75 0>;
		gpio-reset = <1>;
		gpio-vana = <2>;
		gpio-req-tbl-num = <0 1 2>;
		gpio-req-tbl-flags = <1 0 0>;
		gpio-req-tbl-label = "CAMIF_MCLK1",
					"CAM_RESET1",
					"CAM_VANA1";
		sensor-mode = <0>;
		cci-master = <1>;
		status = "ok";
		clocks = <&clock_camcc CAM_CC_MCLK1_CLK>;
		clock-names = "cam_clk";
		clock-cntl-level = "turbo";
		clock-rates = <24000000>;
	};

	qcom,cam-sensor@4 {
		cell-index = <4>;
		compatible = "qcom,cam-sensor";
		reg = <0x4>;
		csiphy-sd-index = <1>;
		sensor-position-roll = <270>; /* checked, MTP845 */
		sensor-position-pitch = <0>; /* checked, MTP845 */
		sensor-position-yaw = <180>; /* checked, MTP845 */
		cam_vio-supply = <&pm8998_lvs1>; /* checked, MTP845 */
		cam_vana-supply = <&pmi8998_bob>;
		cam_vdig-supply = <&camera_eyetracking_force>;
		cam_clk-supply = <&titan_top_gdsc>;
		regulator-names = "cam_vio", "cam_vana", "cam_vdig", "cam_clk";
		rgltr-cntrl-support;
		rgltr-min-voltage = <0 3312000 1050000 0>;
		rgltr-max-voltage = <0 3600000 1050000 0>;
		rgltr-load-current = <0 80000 105000 0>;
		gpio-no-mux = <0>;
		pinctrl-names = "cam_default", "cam_suspend";
		pinctrl-0 = <&cam_sensor_mclk1_active
				&cam_sensor_depth_active>;
		pinctrl-1 = <&cam_sensor_mclk1_suspend
				&cam_sensor_depth_suspend>;
		gpios = <&tlmm 14 0>, //MCLK1
			    <&tlmm 28 0>, //RESET
			    <&tlmm 23 0>, //vana
			    <&tlmm 24 0>;
		gpio-reset = <1>;   //RESET
		gpio-vana = <2>;
		gpio-vdig = <3>;
		gpio-req-tbl-num = <0 1 2 3> ;
		gpio-req-tbl-flags = <1 0 0 0>;
		gpio-req-tbl-label = "CAMIF_MCLK1",
					"CAM_RESET1",
					"CAM_VANA1",
					"CAM_VDIG1";
		sensor-mode = <0>; // 0 -> back camera 2D
		cci-master = <1>; /* checked, MTP845 we are on I2C 0 */
		status = "ok";
		clocks = <&clock_camcc CAM_CC_MCLK1_CLK>;
		clock-names = "cam_clk";
		clock-cntl-level = "turbo";
		clock-rates = <24000000>;
	};

	qcom,camera@6 {
		cell-index = <6>;
		compatible = "qcom,cam-sensor";
		reg = <0x6>;
		csiphy-sd-index = <3>;
		sensor-position-roll = <270>;
		sensor-position-pitch = <0>;
		sensor-position-yaw = <0>;
		cam_vio-supply = <&pm8998_lvs1>;
		cam_vana-supply = <&pmi8998_bob>;
		cam_vdig-supply = <&pm8998_s3>;
		cam_clk-supply = <&titan_top_gdsc>;
		regulator-names = "cam_vio", "cam_vana", "cam_vdig",
					"cam_clk";
		rgltr-cntrl-support;
		rgltr-min-voltage = <0 3312000 1050000 0>;
		rgltr-max-voltage = <0 3600000 1050000 0>;
		rgltr-load-current = <0 80000 105000 0>;
		gpio-no-mux = <0>;
		pinctrl-names = "cam_default", "cam_suspend";
		pinctrl-0 = <&cam_sensor_mclk3_active
				&max_6dof_active>;
		pinctrl-1 = <&cam_sensor_mclk3_suspend
				&max_6dof_suspend>;
		gpios = <&tlmm 16 0>,
			<&tlmm 30 0>,
			<&tlmm 95 0>,
			<&tlmm 94 0>;
		gpio-reset = <1>;
		gpio-vana = <2>;
		gpio-vdig = <3>;
		gpio-req-tbl-num = <0 1 2 3 >;
		gpio-req-tbl-flags = <1 0 0 0>;
		gpio-req-tbl-label = "CAMIF_MCLK3",
					"CAM_RESET3",
					"CAM_VANA3",
					"CAM_VDIG3" ;
		sensor-mode = <0>;
		cci-master = <0>;
		status = "ok";
		clocks = <&clock_camcc CAM_CC_MCLK3_CLK>;
		clock-names = "cam_clk";
		clock-cntl-level = "turbo";
		clock-rates = <24000000>;
	};
};
+114 −1
Original line number Diff line number Diff line
@@ -2993,6 +2993,119 @@
			};
		};

		cam_sensor_fisheye_active: cam_sensor_fisheye_active {
			/* RESET, AVDD LO */
			mux {
				pins = "gpio76","gpio75";
				function = "gpio";
			};

			config {
				pins = "gpio76","gpio75";
				bias-disable; /* No PULL */
				drive-strength = <2>; /* 2 MA */
			};
		};

		cam_sensor_fisheye_suspend: cam_sensor_fisheye_suspend {
			/* RESET, AVDD LO*/
			mux {
				pins = "gpio76","gpio75";
				function = "gpio";
			};

			config {
				pins = "gpio76","gpio75";
				bias-pull-down; /* PULL DOWN */
				drive-strength = <2>; /* 2 MA */
				output-low;
			};
		};

		cam_sensor_depth_active: cam_sensor_depth_active {
			/* RESET,AVDD LO ,IMG_START, ILLU_EN */
			mux {
				pins = "gpio28","gpio23","gpio24";
				function = "gpio";
			};

			config {
				pins = "gpio28","gpio23","gpio24";
				bias-disable; /* No PULL */
				drive-strength = <2>; /* 2 MA */
			};
		};

		cam_sensor_depth_suspend: cam_sensor_depth_suspend {
			/* RESET, AVDD LO ,IMG_START, ILLU_EN */
			mux {
				pins = "gpio28","gpio23","gpio24";
				function = "gpio";
			};

			config {
				pins = "gpio28","gpio23","gpio24";
				bias-pull-down; /* PULL DOWN */
				drive-strength = <2>; /* 2 MA */
			};
		};

		max_rst_active: max_rst_active {
			/* RESET */
			mux {
				pins = "gpio31","gpio77","gpio78","gpio32";
				function = "gpio";
			};

			config {
				pins = "gpio31","gpio77","gpio78","gpio32";
				bias-disable; /* No PULL */
				drive-strength = <8>; /* 2 MA */
			};
		};

		max_rst_suspend: max_rst_suspend {
			/* RESET */
			mux {
				pins = "gpio31","gpio77","gpio78","gpio32";
				function = "gpio";
			};

			config {
				pins = "gpio31","gpio77","gpio78","gpio32";
				bias-pull-down; /* PULL DOWN */
				drive-strength = <8>; /* 2 MA */
			};
		};

		max_6dof_active: max_6dof_active {
			/* RESET */
			mux {
				pins = "gpio30","gpio95","gpio94";
				function = "gpio";
			};

			config {
				pins = "gpio30","gpio95","gpio94";
				bias-disable; /* No PULL */
				drive-strength = <8>; /* 2 MA */
			};
		};

		max_6dof_suspend: max_6dof_suspend {
			/* RESET */
			mux {
				pins = "gpio30","gpio95","gpio94";
				function = "gpio";
			};

			config {
				pins = "gpio30","gpio95","gpio94";
				bias-pull-down; /* PULL DOWN */
				drive-strength = <8>; /* 2 MA */
			};
		};

		cam_sensor_mclk0_active: cam_sensor_mclk0_active {
			/* MCLK0 */
			mux {
@@ -3159,7 +3272,7 @@

			config {
				pins = "gpio9";
				bias-disable; /* No PULL */
				bias-pull-down; /* PULL DOWN */
				drive-strength = <2>; /* 2 MA */
				output-low;
			};