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

Commit 57f37b05 authored by daopingl's avatar daopingl Committed by Gerrit - the friendly Code Review server
Browse files

ARM:dts:msm: Add new camera dtsi file for sdm845 rb3 device



currently RB3 project is using the same dtsi as MTP device
but actually the RB3 device have many diffirent from MTP
devices in camera side, such as camera control pins. in
order to avoid the confliction with MTP device when camera
sensor bring up, add new camera dtsi file for RB3 device.

Change-Id: I491ec598257b841cdd36390e663edabd2997a24f
Signed-off-by: default avatarDaoping Lin <cdaopin@codeaurora.org>
parent 409330d3
Loading
Loading
Loading
Loading
+465 −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.
 */

&soc {
	led_flash_rear: qcom,camera-flash@0 {
		cell-index = <0>;
		reg = <0x00 0x00>;
		compatible = "qcom,camera-flash";
		flash-source = <&pmi8998_flash0 &pmi8998_flash1>;
		torch-source = <&pmi8998_torch0 &pmi8998_torch1>;
		switch-source = <&pmi8998_switch0>;
		status = "ok";
	};

	led_flash_rear_aux: qcom,camera-flash@1 {
		cell-index = <1>;
		reg = <0x01 0x00>;
		compatible = "qcom,camera-flash";
		flash-source = <&pmi8998_flash0 &pmi8998_flash1>;
		torch-source = <&pmi8998_torch0 &pmi8998_torch1>;
		switch-source = <&pmi8998_switch0>;
		status = "ok";
	};

	led_flash_front: qcom,camera-flash@2 {
		cell-index = <2>;
		reg = <0x02 0x00>;
		compatible = "qcom,camera-flash";
		flash-source = <&pmi8998_flash2>;
		torch-source = <&pmi8998_torch2>;
		switch-source = <&pmi8998_switch1>;
		status = "ok";
	};

	led_flash_iris: qcom,camera-flash@3 {
		cell-index = <3>;
		reg = <0x03 0x00>;
		compatible = "qcom,camera-flash";
		flash-source = <&pmi8998_flash2>;
		torch-source = <&pmi8998_torch2>;
		switch-source = <&pmi8998_switch2>;
		status = "ok";
	};

	actuator_regulator: gpio-regulator@0 {
		compatible = "regulator-fixed";
		reg = <0x00 0x00>;
		regulator-name = "actuator_regulator";
		regulator-min-microvolt = <2800000>;
		regulator-max-microvolt = <2800000>;
		regulator-enable-ramp-delay = <100>;
		enable-active-high;
		gpio = <&tlmm 27 0>;
		vin-supply = <&pmi8998_bob>;
	};

	camera_rear_ldo: gpio-regulator@1 {
		compatible = "regulator-fixed";
		reg = <0x01 0x00>;
		regulator-name = "camera_rear_ldo";
		regulator-min-microvolt = <1050000>;
		regulator-max-microvolt = <1050000>;
		regulator-enable-ramp-delay = <135>;
		enable-active-high;
		gpio = <&pm8998_gpios 12 0>;
		pinctrl-names = "default";
		pinctrl-0 = <&camera_rear_dvdd_en_default>;
		vin-supply = <&pm8998_s3>;
	};

	camera_ldo: gpio-regulator@2 {
		compatible = "regulator-fixed";
		reg = <0x02 0x00>;
		regulator-name = "camera_ldo";
		regulator-min-microvolt = <1050000>;
		regulator-max-microvolt = <1050000>;
		regulator-enable-ramp-delay = <233>;
		enable-active-high;
		gpio = <&pm8998_gpios 9 0>;
		pinctrl-names = "default";
		pinctrl-0 = <&camera_dvdd_en_default>;
		vin-supply = <&pm8998_s3>;
	};

	camera_vana_ldo: gpio-regulator@4 {
		compatible = "regulator-fixed";
		reg = <0x04 0x00>;
		regulator-name = "camera_vana_ldo";
		regulator-min-microvolt = <2850000>;
		regulator-max-microvolt = <2850000>;
		regulator-enable-ramp-delay = <233>;
		enable-active-high;
		gpio = <&tlmm 10 0>;
		pinctrl-names = "default";
		pinctrl-0 = <&cam_sensor_rear_vana>;
		vin-supply = <&pmi8998_bob>;
	};
};

&cam_cci {
	qcom,cam-res-mgr {
		compatible = "qcom,cam-res-mgr";
		status = "ok";
	};

	actuator_rear: qcom,actuator@0 {
		cell-index = <0>;
		reg = <0x0>;
		compatible = "qcom,actuator";
		cci-master = <0>;
		cam_vaf-supply = <&actuator_regulator>;
		regulator-names = "cam_vaf";
		rgltr-cntrl-support;
		rgltr-min-voltage = <2800000>;
		rgltr-max-voltage = <2800000>;
		rgltr-load-current = <0>;
	};

	actuator_rear_aux: qcom,actuator@1 {
		cell-index = <1>;
		reg = <0x1>;
		compatible = "qcom,actuator";
		cci-master = <1>;
		cam_vaf-supply = <&actuator_regulator>;
		regulator-names = "cam_vaf";
		rgltr-cntrl-support;
		rgltr-min-voltage = <2800000>;
		rgltr-max-voltage = <2800000>;
		rgltr-load-current = <0>;
	};

	actuator_front: qcom,actuator@2 {
		cell-index = <2>;
		reg = <0x2>;
		compatible = "qcom,actuator";
		cci-master = <1>;
		cam_vaf-supply = <&actuator_regulator>;
		regulator-names = "cam_vaf";
		rgltr-cntrl-support;
		rgltr-min-voltage = <2800000>;
		rgltr-max-voltage = <2800000>;
		rgltr-load-current = <0>;
	};

	ois_rear: qcom,ois@0 {
		cell-index = <0>;
		reg = <0x0>;
		compatible = "qcom,ois";
		cci-master = <0>;
		cam_vaf-supply = <&actuator_regulator>;
		regulator-names = "cam_vaf";
		rgltr-cntrl-support;
		rgltr-min-voltage = <2800000>;
		rgltr-max-voltage = <2800000>;
		rgltr-load-current = <0>;
		status = "ok";
	};

	eeprom_rear: qcom,eeprom@0 {
		cell-index = <0>;
		reg = <0>;
		compatible = "qcom,eeprom";
		cam_vio-supply = <&pm8998_lvs1>;
		cam_vana-supply = <&pmi8998_bob>;
		cam_vdig-supply = <&camera_rear_ldo>;
		cam_clk-supply = <&titan_top_gdsc>;
		cam_vaf-supply = <&actuator_regulator>;
		regulator-names = "cam_vio", "cam_vana", "cam_vdig",
			"cam_clk", "cam_vaf";
		rgltr-cntrl-support;
		rgltr-min-voltage = <0 3312000 1050000 0 2800000>;
		rgltr-max-voltage = <0 3600000 1050000 0 2800000>;
		rgltr-load-current = <0 80000 105000 0 0>;
		gpio-no-mux = <0>;
		pinctrl-names = "cam_default", "cam_suspend";
		pinctrl-0 = <&cam_sensor_mclk0_active
				&cam_sensor_rear_active>;
		pinctrl-1 = <&cam_sensor_mclk0_suspend
				&cam_sensor_rear_suspend>;
		gpios = <&tlmm 13 0>,
			<&tlmm 80 0>,
			<&tlmm 79 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_MCLK0",
					"CAM_RESET0",
					"CAM_VANA0";
		sensor-position = <0>;
		sensor-mode = <0>;
		cci-master = <0>;
		status = "ok";
		clocks = <&clock_camcc CAM_CC_MCLK0_CLK>;
		clock-names = "cam_clk";
		clock-cntl-level = "turbo";
		clock-rates = <24000000>;
	};

	eeprom_tof: qcom,eeprom@1 {
		cell-index = <1>;
		reg = <0x1>;
		compatible = "qcom,eeprom";
		slave-addr = <0xac>;
		num-blocks = <1>;
		i2c-freq-mode = <1>;

		page0 = <0 0x0 2 0x0 1 0>;
		poll0 = <0 0x0 2 0x0 1 0>;
		mem0 = <0x870 0x0 2 0x0 1 0>;

		cam_vio-supply = <&pm8998_lvs1>;
		cam_clk-supply = <&titan_top_gdsc>;
		regulator-names = "cam_vio", "cam_clk";
		rgltr-cntrl-support;
		rgltr-min-voltage = <0 0>;
		rgltr-max-voltage = <0 0>;
		rgltr-load-current = <0 0>;
		gpio-no-mux = <0>;
		pinctrl-names = "cam_default", "cam_suspend";
		pinctrl-0 = <&cam_sensor_mclk1_active
			&cam_sensor_tof_active>;
		pinctrl-1 = <&cam_sensor_mclk1_suspend
			&cam_sensor_tof_suspend>;
		gpios = <&tlmm 14 0>,
		      <&tlmm 8 0>;
		gpio-reset = <1>;
		gpio-req-tbl-num = <0 1>;
		gpio-req-tbl-flags = <1 0>;
		gpio-req-tbl-label = "CAMIF_MCLK1","CAM_RESET1";
		cci-master = <0>;

		qcom,cam-power-seq-type ="cam_reset","cam_vio",
			"cam_clk","cam_reset";
		qcom,cam-power-seq-val = "cam_reset","cam_vio",
			"cam_mclk","cam_reset";
		qcom,cam-power-seq-cfg-val = <0 1 24000000 1>;
		qcom,cam-power-seq-delay = <1 0 1 18>;

		status = "ok";
		clocks = <&clock_camcc CAM_CC_MCLK1_CLK>;
		clock-names = "cam_clk";
		clock-cntl-level = "turbo";
		clock-rates = <24000000>;
	};

	eeprom_front: qcom,eeprom@2 {
		cell-index = <2>;
		reg = <0x2>;
		compatible = "qcom,eeprom";
		cam_vio-supply = <&pm8998_lvs1>;
		cam_vana-supply = <&pmi8998_bob>;
		cam_vdig-supply = <&camera_ldo>;
		cam_clk-supply = <&titan_top_gdsc>;
		cam_vaf-supply = <&actuator_regulator>;
		regulator-names = "cam_vio", "cam_vana", "cam_vdig",
			"cam_clk", "cam_vaf";
		rgltr-cntrl-support;
		rgltr-min-voltage = <0 3312000 1050000 0 2800000>;
		rgltr-max-voltage = <0 3600000 1050000 0 2800000>;
		rgltr-load-current = <0 80000 105000 0 0>;
		gpio-no-mux = <0>;
		pinctrl-names = "cam_default", "cam_suspend";
		pinctrl-0 = <&cam_sensor_mclk1_active
				 &cam_sensor_front_active>;
		pinctrl-1 = <&cam_sensor_mclk1_suspend
				 &cam_sensor_front_suspend>;
		gpios = <&tlmm 14 0>,
			<&tlmm 28 0>,
			<&tlmm 8 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_MCLK2",
					"CAM_RESET2",
					"CAM_VANA2";
		sensor-position = <1>;
		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@0 {
		cell-index = <0>;
		compatible = "qcom,cam-sensor";
		reg = <0x0>;
		csiphy-sd-index = <0>;
		sensor-position-roll = <270>;
		sensor-position-pitch = <0>;
		sensor-position-yaw = <180>;
		led-flash-src = <&led_flash_rear>;
		actuator-src = <&actuator_rear>;
		ois-src = <&ois_rear>;
		eeprom-src = <&eeprom_rear>;
		cam_vio-supply = <&pm8998_lvs1>;
		cam_vana-supply = <&pmi8998_bob>;
		cam_vdig-supply = <&camera_rear_ldo>;
		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_mclk0_active
				&cam_sensor_rear_active>;
		pinctrl-1 = <&cam_sensor_mclk0_suspend
				&cam_sensor_rear_suspend>;
		gpios = <&tlmm 13 0>,
			<&tlmm 80 0>,
			<&tlmm 79 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_MCLK0",
					"CAM_RESET0",
					"CAM_VANA";
		sensor-mode = <0>;
		cci-master = <0>;
		status = "ok";
		clocks = <&clock_camcc CAM_CC_MCLK0_CLK>;
		clock-names = "cam_clk";
		clock-cntl-level = "turbo";
		clock-rates = <24000000>;
	};

	qcom,cam-sensor@1 {
		cell-index = <1>;
		compatible = "qcom,cam-sensor";
		reg = <0x1>;
		csiphy-sd-index = <1>;
		sensor-position-roll = <270>;
		sensor-position-pitch = <0>;
		sensor-position-yaw = <180>;
		eeprom-src = <&eeprom_tof>;
		cam_vio-supply = <&pm8998_lvs1>;
		cam_clk-supply = <&titan_top_gdsc>;
		regulator-names = "cam_vio", "cam_clk";
		rgltr-cntrl-support;
		rgltr-min-voltage = <0 0>;
		rgltr-max-voltage = <0 0>;
		rgltr-load-current = <0 0>;
		gpio-no-mux = <0>;
		pinctrl-names = "cam_default", "cam_suspend";
		pinctrl-0 = <&cam_sensor_mclk1_active
						&cam_sensor_tof_active>;
		pinctrl-1 = <&cam_sensor_mclk1_suspend
						&cam_sensor_tof_suspend>;
		gpios = <&tlmm 14 0>,
				<&tlmm 8 0>;
		gpio-reset = <1>;
		gpio-req-tbl-num = <0 1>;
		gpio-req-tbl-flags = <1 0>;
		gpio-req-tbl-label = "CAMIF_MCLK1","CAM_RESET1";
		sensor-mode = <0>;
		cci-master = <0>;
		status = "ok";
		clocks = <&clock_camcc CAM_CC_MCLK1_CLK>;
		clock-names = "cam_clk";
		clock-cntl-level = "turbo";
		clock-rates = <24000000>;
	};

	qcom,cam-sensor@2 {
		cell-index = <2>;
		compatible = "qcom,cam-sensor";
		reg = <0x02>;
		csiphy-sd-index = <2>;
		sensor-position-roll = <270>;
		sensor-position-pitch = <0>;
		sensor-position-yaw = <0>;
		eeprom-src = <&eeprom_front>;
		actuator-src = <&actuator_front>;
		led-flash-src = <&led_flash_front>;
		cam_vio-supply = <&pm8998_lvs1>;
		cam_vana-supply = <&camera_vana_ldo>;
		cam_vdig-supply = <&camera_ldo>;
		cam_clk-supply = <&titan_top_gdsc>;
		regulator-names = "cam_vio", "cam_vana", "cam_vdig",
			"cam_clk";
		rgltr-cntrl-support;
		rgltr-min-voltage = <0 2850000 1050000 0>;
		rgltr-max-voltage = <0 2850000 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_front_active>;
		pinctrl-1 = <&cam_sensor_mclk1_suspend
				 &cam_sensor_front_suspend>;
		gpios = <&tlmm 14 0>,
			<&tlmm 28 0>;
		gpio-reset = <1>;
		gpio-req-tbl-num = <0 1>;
		gpio-req-tbl-flags = <1 0>;
		gpio-req-tbl-label = "CAMIF_MCLK2",
					"CAM_RESET2";
		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@3 {
		cell-index = <3>;
		compatible = "qcom,cam-sensor";
		reg = <0x03>;
		csiphy-sd-index = <3>;
		sensor-position-roll = <270>;
		sensor-position-pitch = <0>;
		sensor-position-yaw = <0>;
		led-flash-src = <&led_flash_iris>;
		cam_vio-supply = <&pm8998_lvs1>;
		cam_vana-supply = <&camera_vana_ldo>;
		cam_vdig-supply = <&camera_ldo>;
		cam_clk-supply = <&titan_top_gdsc>;
		regulator-names = "cam_vio", "cam_vana", "cam_vdig",
			"cam_clk";
		rgltr-cntrl-support;
		rgltr-min-voltage = <0 2850000 1050000 0>;
		rgltr-max-voltage = <0 2850000 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
				 &cam_sensor_iris_active>;
		pinctrl-1 = <&cam_sensor_mclk3_suspend
				 &cam_sensor_iris_suspend>;
		gpios = <&tlmm 16 0>,
			<&tlmm 9 0>;
		gpio-reset = <1>;
		gpio-req-tbl-num = <0 1>;
		gpio-req-tbl-flags = <1 0>;
		gpio-req-tbl-label = "CAMIF_MCLK3",
					"CAM_RESET3";
		sensor-mode = <0>;
		cci-master = <1>;
		status = "ok";
		clocks = <&clock_camcc CAM_CC_MCLK3_CLK>;
		clock-names = "cam_clk";
		clock-cntl-level = "turbo";
		clock-rates = <24000000>;
	};
};
+28 −0
Original line number Diff line number Diff line
@@ -3407,6 +3407,34 @@
			};
		};

		cam_sensor_tof_active: cam_sensor_tof_active {
			/* RESET*/
			mux {
				pins = "gpio8";
				function = "gpio";
			};

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

		cam_sensor_tof_suspend: cam_sensor_tof_suspend {
			/* RESET*/
			mux {
				pins = "gpio8";
				function = "gpio";
			};

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

		trigout_a: trigout_a {
			mux {
+543 −0

File added.

Preview size limit exceeded, changes collapsed.

+1 −1
Original line number Diff line number Diff line
@@ -18,7 +18,7 @@

#include "sda845-v2.1.dtsi"
#include "sdm845-sde-display.dtsi"
#include "sdm845-mtp.dtsi"
#include "sdm845-rb3.dtsi"
#include "sdm845-audio-overlay.dtsi"

&labibb {