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

Commit 1e3598bc authored by Linux Build Service Account's avatar Linux Build Service Account
Browse files

Merge 48730035 on remote branch

Change-Id: I35e7d992ffde42b7d036b03f48817996bfceec55
parents 26bc206a 48730035
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -19,6 +19,8 @@ First Level Node - CCI device
  Usage: required
  Value type: <string>
  Definition: Should be "qcom,cci".
        In case of cci version 1.2,
        use "qcom,cci-v1.2".

- cell-index: cci hardware core index
  Usage: required
+2 −1
Original line number Diff line number Diff line
@@ -57,7 +57,8 @@ to CDM interface node.
  Definition: Should be "qcom,cam170-cpas-cdm0", "qcom,cam480-cpas-cdm0",
	"qcom,cam480-cpas-cdm1", "qcom,cam480-cpas-cdm2", "qcom,cam-cpas-cdm1_0",
	"qcom,cam-cpas-cdm1_1", "qcom,cam-cpas-cdm1_2", "qcom,cam-ife-cdm1_2",
	"qcom,cam-cpas-cdm2_0" or "qcom,cam-ope-cdm2_0"
	"qcom,cam-cpas-cdm2_0", "qcom,cam-ope-cdm2_0", "qcom,cam-cpas-cdm2_1",
	"qcom,cam-ope-cdm2_1"

- label
  Usage: required
+5 −0
Original line number Diff line number Diff line
@@ -71,6 +71,11 @@ First Level Node - CAM CPAS device
  Definition: List of fuse based features and respective
	fuse info.

- custom-id
  Usage: optinal
  Value type <u32>
  Definition: Custom id to differentiate same CPAS

- interrupt-names
  Usage: optional
  Value type: <string>
+85 −0
Original line number Diff line number Diff line
* Qualcomm Technologies, Inc. MSM Camera CSID PPI

Camera CSID PPI device provides the definitions for enabling
the CSID PPI hardware. It also provides the functions for the client
to control the CSID PPI hardware.

=======================
Required Node Structure
=======================
The CSID PPI device is described in one level of the device node.

======================================
First Level Node - CAM CSID PPI device
======================================
- compatible
  Usage: required
  Value type: <string>
  Definition: Should be "qcom,ppi100"

- cell-index
  Usage: required
  Value type: <u32>
  Definition: Should specify the hardware index id.

- reg-names
  Usage: required
  Value type: <string>
  Definition: Should specify the name of the register block.

- reg
  Usage: required
  Value type: <u32>
  Definition: Register values.

- interrupt-names
  Usage: Required
  Value type: <string>
  Definition: Name of the interrupt.

- interrupts
  Usage: Required
  Value type: <u32>
  Definition: Interrupt associated with CSID PPI HW.

- regulator-names
  Usage: required
  Value type: <string>
  Definition: Name of the regulator resources for CSID PPI HW.

- clock-names
  Usage: required
  Value type: <string>
  Definition: List of clock names required for CSID PPI HW.

- clocks
  Usage: required
  Value type: <phandle>
  Definition: List of clocks used for CSID PPI HW.

- clock-rates
  Usage: required
  Value type: <u32>
  Definition: List of clocks rates.

- clock-cntl-level
  Usage: required
  Value type: <string>
  Definition: All different clock level node can support.

Example:

	cam_ppi0: qcom,ppi0@5cb3000 {
		cell-index = <0>;
		compatible = "qcom,ppi100";
		reg-names = "ppi0";
		reg = <0x5cb3000 0x200>;
		interrupt-names = "ppi0";
		interrupts = <GIC_SPI 214 IRQ_TYPE_EDGE_RISING>;
		clocks = <&gcc GCC_CAMSS_CPHY_0_CLK>;
		clock-names = "gcc_camss_cphy_0_clk";
		clock-cntl-level = "svs";
		clock-rates = <0>;
		status = "ok";
	};
+373 −0
Original line number Diff line number Diff line
#include <dt-bindings/clock/qcom,gcc-khaje.h>
#include <dt-bindings/msm/msm-camera.h>

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

&cam_cci0 {
	actuator_rear: qcom,actuator0 {
		cell-index = <0>;
		compatible = "qcom,actuator";
		cci-master = <0>;
		cam_vaf-supply = <&L5P>;
		regulator-names = "cam_vaf";
		rgltr-cntrl-support;
		rgltr-min-voltage = <2800000>;
		rgltr-max-voltage = <2800000>;
		rgltr-load-current = <100000>;
		status = "ok";
	};

	actuator_rear_aux: qcom,actuator1 {
		cell-index = <1>;
		compatible = "qcom,actuator";
		cci-master = <1>;
		cam_vaf-supply = <&L5P>;
		regulator-names = "cam_vaf";
		rgltr-cntrl-support;
		rgltr-min-voltage = <2800000>;
		rgltr-max-voltage = <2800000>;
		rgltr-load-current = <100000>;
		status = "ok";
	};

	eeprom_rear: qcom,eeprom0 {
		cell-index = <0>;
		compatible = "qcom,eeprom";
		cam_vio-supply = <&L7P>;
		cam_vana-supply = <&L4P>;
		cam_vdig-supply = <&L2P>;
		cam_vaf-supply = <&L5P>;
		cam_clk-supply = <&gcc_camss_top_gdsc>;
		regulator-names = "cam_vio", "cam_vana", "cam_vdig",
			"cam_clk", "cam_vaf";
		rgltr-cntrl-support;
		pwm-switch;
		rgltr-min-voltage = <1800000 2800000 1056000 0 2800000>;
		rgltr-max-voltage = <1800000 2800000 1056000 0 2800000>;
		rgltr-load-current = <120000 80000 1200000 0 100000>;
		gpio-no-mux = <0>;
		pinctrl-names = "cam_default", "cam_suspend";
		pinctrl-0 = <&cam_sensor_mclk0_active
				&cam_sensor_rear0_reset_active>;
		pinctrl-1 = <&cam_sensor_mclk0_suspend
				&cam_sensor_rear0_reset_suspend>;
		gpios = <&tlmm 20 0>,
			<&tlmm 18 0>;
		gpio-reset = <1>;
		gpio-req-tbl-num = <0 1>;
		gpio-req-tbl-flags = <1 0>;
		gpio-req-tbl-label = "CAMIF_MCLK0",
					"CAM_RESET0";
		sensor-mode = <0>;
		cci-master = <0>;
		status = "ok";
		clocks = <&gcc GCC_CAMSS_MCLK0_CLK>;
		clock-names = "cam_clk";
		clock-cntl-level = "turbo";
		clock-rates = <19200000>;
	};

	eeprom_rear_aux: qcom,eeprom1 {
		cell-index = <1>;
		compatible = "qcom,eeprom";
		cam_vio-supply = <&L7P>;
		cam_vana-supply = <&L3P>;
		cam_vdig-supply = <&L1P>;
		cam_vaf-supply = <&L5P>;
		cam_clk-supply = <&gcc_camss_top_gdsc>;
		regulator-names = "cam_vio", "cam_vana", "cam_vdig",
			"cam_clk", "cam_vaf";
		rgltr-cntrl-support;
		pwm-switch;
		rgltr-min-voltage = <1800000 2800000 1200000 0 2800000>;
		rgltr-max-voltage = <1800000 2800000 1200000 0 2800000>;
		rgltr-load-current = <120000 80000 1200000 0 100000>;
		gpio-no-mux = <0>;
		pinctrl-names = "cam_default", "cam_suspend";
		pinctrl-0 = <&cam_sensor_mclk1_active
				&cam_sensor_rear1_reset_active>;
		pinctrl-1 = <&cam_sensor_mclk1_suspend
				&cam_sensor_rear1_reset_suspend>;
		gpios = <&tlmm 21 0>,
			<&tlmm 19 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 = <1>;
		status = "ok";
		clocks = <&gcc GCC_CAMSS_MCLK1_CLK>;
		clock-names = "cam_clk";
		clock-cntl-level = "turbo";
		clock-rates = <19200000>;
	};

	eeprom_front: qcom,eeprom2 {
		cell-index = <2>;
		compatible = "qcom,eeprom";
		cam_vio-supply = <&L7P>;
		cam_vana-supply = <&L6P>;
		cam_vdig-supply = <&L2P>;
		cam_clk-supply = <&gcc_camss_top_gdsc>;
		regulator-names = "cam_vio", "cam_vana", "cam_vdig",
			"cam_clk";
		rgltr-cntrl-support;
		pwm-switch;
		rgltr-min-voltage = <1800000 2800000 1056000 0>;
		rgltr-max-voltage = <1800000 2800000 1056000 0>;
		rgltr-load-current = <0 80000 105000 0>;
		gpio-no-mux = <0>;
		pinctrl-names = "cam_default", "cam_suspend";
		pinctrl-0 = <&cam_sensor_mclk2_active
				&cam_sensor_front0_reset_active>;
		pinctrl-1 = <&cam_sensor_mclk2_suspend
				&cam_sensor_front0_reset_suspend>;
		gpios = <&tlmm 27 0>,
			<&tlmm 24 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 = <&gcc GCC_CAMSS_MCLK2_CLK>;
		clock-names = "cam_clk";
		clock-cntl-level = "turbo";
		clock-rates = <24000000>;
	};

	eeprom_rear_aux2: qcom,eeprom3 {
		cell-index = <3>;
		compatible = "qcom,eeprom";
		cam_vio-supply = <&L7P>;
		cam_vana-supply = <&L6P>;
		cam_vdig-supply = <&L1P>;
		cam_clk-supply = <&gcc_camss_top_gdsc>;
		regulator-names = "cam_vio", "cam_vana", "cam_vdig",
			"cam_clk";
		rgltr-cntrl-support;
		pwm-switch;
		rgltr-min-voltage = <1800000 2800000 1200000 0>;
		rgltr-max-voltage = <1800000 2800000 1200000 0>;
		rgltr-load-current = <120000 80000 1200000 0>;
		gpio-no-mux = <0>;
		pinctrl-names = "cam_default", "cam_suspend";
		pinctrl-0 = <&cam_sensor_mclk3_active
				&cam_sensor_rear2_reset_active>;
		pinctrl-1 = <&cam_sensor_mclk3_suspend
				&cam_sensor_rear2_reset_suspend>;
		gpios = <&tlmm 28 0>,
			<&tlmm 65 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 = <0>;
		status = "ok";
		clocks = <&gcc GCC_CAMSS_MCLK3_CLK>;
		clock-names = "cam_clk";
		clock-cntl-level = "turbo";
		clock-rates = <19200000>;
	};

	 /* Rear*/
	qcom,cam-sensor0 {
		cell-index = <0>;
		compatible = "qcom,cam-sensor";
		csiphy-sd-index = <0>;
		sensor-position-roll = <270>;
		sensor-position-pitch = <0>;
		sensor-position-yaw = <180>;
		actuator-src = <&actuator_rear>;
		eeprom-src = <&eeprom_rear>;
		cam_vio-supply = <&L7P>;
		cam_vana-supply = <&L4P>;
		cam_vdig-supply = <&L2P>;
		cam_clk-supply = <&gcc_camss_top_gdsc>;
		regulator-names = "cam_vio", "cam_vana", "cam_vdig",
			"cam_clk";
		rgltr-cntrl-support;
		pwm-switch;
		rgltr-min-voltage = <1800000 2800000 1056000 0>;
		rgltr-max-voltage = <1800000 2800000 1056000 0>;
		rgltr-load-current = <120000 80000 1200000 0>;
		gpio-no-mux = <0>;
		pinctrl-names = "cam_default", "cam_suspend";
		pinctrl-0 = <&cam_sensor_mclk0_active
				&cam_sensor_rear0_reset_active>;
		pinctrl-1 = <&cam_sensor_mclk0_suspend
				&cam_sensor_rear0_reset_suspend>;
		gpios = <&tlmm 20 0>,
			<&tlmm 18 0>;
		gpio-reset = <1>;
		gpio-req-tbl-num = <0 1>;
		gpio-req-tbl-flags = <1 0>;
		gpio-req-tbl-label = "CAMIF_MCLK0",
					"CAM_RESET0";
		sensor-mode = <0>;
		cci-master = <0>;
		status = "ok";
		clocks = <&gcc GCC_CAMSS_MCLK0_CLK>;
		clock-names = "cam_clk";
		clock-cntl-level = "turbo";
		clock-rates = <19200000>;
	};

	/*Rear Aux*/
	qcom,cam-sensor1 {
		cell-index = <1>;
		compatible = "qcom,cam-sensor";
		csiphy-sd-index = <1>;
		sensor-position-roll = <270>;
		sensor-position-pitch = <0>;
		sensor-position-yaw = <180>;
		actuator-src = <&actuator_rear_aux>;
		eeprom-src = <&eeprom_rear_aux>;
		cam_vio-supply = <&L7P>;
		cam_vana-supply = <&L3P>;
		cam_vdig-supply = <&L1P>;
		cam_clk-supply = <&gcc_camss_top_gdsc>;
		regulator-names = "cam_vio", "cam_vana", "cam_vdig",
			"cam_clk";
		rgltr-cntrl-support;
		pwm-switch;
		rgltr-min-voltage = <1800000 2800000 1200000 0>;
		rgltr-max-voltage = <1800000 2800000 1200000 0>;
		rgltr-load-current = <120000 80000 1200000 0>;
		gpio-no-mux = <0>;
		pinctrl-names = "cam_default", "cam_suspend";
		pinctrl-0 = <&cam_sensor_mclk1_active
				&cam_sensor_rear1_reset_active>;
		pinctrl-1 = <&cam_sensor_mclk1_suspend
				&cam_sensor_rear1_reset_suspend>;
		gpios = <&tlmm 21 0>,
			<&tlmm 19 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 = <1>;
		status = "ok";
		clocks = <&gcc GCC_CAMSS_MCLK1_CLK>;
		clock-names = "cam_clk";
		clock-cntl-level = "turbo";
		clock-rates = <19200000>;
	};

	/*Front*/
	qcom,cam-sensor2 {
		cell-index = <2>;
		compatible = "qcom,cam-sensor";
		csiphy-sd-index = <2>;
		sensor-position-roll = <270>;
		sensor-position-pitch = <0>;
		sensor-position-yaw = <0>;
		eeprom-src = <&eeprom_front>;
		cam_vio-supply = <&L7P>;
		cam_vana-supply = <&L6P>;
		cam_vdig-supply = <&L2P>;
		cam_clk-supply = <&gcc_camss_top_gdsc>;
		regulator-names = "cam_vio", "cam_vana", "cam_vdig",
			"cam_clk";
		rgltr-cntrl-support;
		pwm-switch;
		rgltr-min-voltage = <1800000 2800000 1056000 0>;
		rgltr-max-voltage = <1800000 2800000 1056000 0>;
		rgltr-load-current = <0 80000 105000 0>;
		gpio-no-mux = <0>;
		pinctrl-names = "cam_default", "cam_suspend";
		pinctrl-0 = <&cam_sensor_mclk2_active
				&cam_sensor_front0_reset_active
				&cam_sensor_csi_mux_oe_active
				&cam_sensor_csi_mux_sel_active>;
		pinctrl-1 = <&cam_sensor_mclk2_suspend
				&cam_sensor_front0_reset_suspend
				&cam_sensor_csi_mux_oe_suspend
				&cam_sensor_csi_mux_sel_suspend>;
		gpios = <&tlmm 27 0>,
			<&tlmm 24 0>,
			<&tlmm 66 0>,
			<&tlmm 67 0>;
		gpio-reset = <1>;
		gpio-custom1 = <2>;
		gpio-custom2 = <3>;
		gpio-req-tbl-num = <0 1>;
		gpio-req-tbl-flags = <1 0>;
		gpio-req-tbl-label = "CAMIF_MCLK2",
					"CAM_RESET2",
					"CAM_CSIMUX_OE0",
					"CAM_CSIMUX_SEL0";
		sensor-mode = <0>;
		cci-master = <1>;
		status = "ok";
		clocks = <&gcc GCC_CAMSS_MCLK2_CLK>;
		clock-names = "cam_clk";
		clock-cntl-level = "turbo";
		clock-rates = <24000000>;
	};

	/*Rear Aux2*/
	qcom,cam-sensor3 {
		cell-index = <3>;
		compatible = "qcom,cam-sensor";
		csiphy-sd-index = <2>;
		sensor-position-roll = <270>;
		sensor-position-pitch = <0>;
		sensor-position-yaw = <180>;
		eeprom-src = <&eeprom_rear_aux2>;
		cam_vio-supply = <&L7P>;
		cam_vana-supply = <&L6P>;
		cam_vdig-supply = <&L1P>;
		cam_clk-supply = <&gcc_camss_top_gdsc>;
		regulator-names = "cam_vio", "cam_vana", "cam_vdig",
			"cam_clk";
		rgltr-cntrl-support;
		pwm-switch;
		rgltr-min-voltage = <1800000 2800000 1200000 0>;
		rgltr-max-voltage = <1800000 2800000 1200000 0>;
		rgltr-load-current = <120000 80000 1200000 0>;
		gpio-no-mux = <0>;
		pinctrl-names = "cam_default", "cam_suspend";
		pinctrl-0 = <&cam_sensor_mclk3_active
				&cam_sensor_rear2_reset_active
				&cam_sensor_csi_mux_oe_active
				&cam_sensor_csi_mux_sel_active>;
		pinctrl-1 = <&cam_sensor_mclk3_suspend
				&cam_sensor_rear2_reset_suspend
				&cam_sensor_csi_mux_oe_suspend
				&cam_sensor_csi_mux_sel_suspend>;
		gpios = <&tlmm 28 0>,
			<&tlmm 65 0>,
			<&tlmm 66 0>,
			<&tlmm 67 0>;
		gpio-reset = <1>;
		gpio-custom1 = <2>;
		gpio-custom2 = <3>;
		gpio-req-tbl-num = <0 1>;
		gpio-req-tbl-flags = <1 0>;
		gpio-req-tbl-label = "CAMIF_MCLK3",
					"CAM_RESET3",
					"CAM_CSIMUX_OE1",
					"CAM_CSIMUX_SEL1";
		sensor-mode = <0>;
		cci-master = <0>;
		status = "ok";
		clocks = <&gcc GCC_CAMSS_MCLK3_CLK>;
		clock-names = "cam_clk";
		clock-cntl-level = "turbo";
		clock-rates = <19200000>;
	};
};
Loading