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

Commit c7817c53 authored by Shivaramraje Nimbalkar Joshi's avatar Shivaramraje Nimbalkar Joshi
Browse files

ARM: dts: msm: Support camera on APQ8084 platforms



Add new camera DT file for 8084 liquid board and
Add generic DT entries to camera dtsi files for
cdp liquid and mtp targets to support userspace
only sensor lib for sensors mounted on
generic camera SLOTS 0 1 2 available on targets.
These entries enable userspace sensor library
to dynamically detect initilize and power up a sensor
during bootup

Change-Id: Ib1c455e4ed85aab3a5de20bda60f11cb80cf4f75
Signed-off-by: default avatarShivaramraje Nimbalkar Joshi <nimbalkars@codeaurora.org>
parent c255ffa1
Loading
Loading
Loading
Loading
+7 −7
Original line number Diff line number Diff line
@@ -58,17 +58,12 @@ Required properties:
    - "shinetech,hi256"
    - "shinetech,s5k4e1"
- reg : should contain i2c slave address of the device
- qcom,slave-id : should contain i2c slave address, device id address
    and expected id read value
- qcom,csiphy-sd-index : should contain csiphy instance that will used to
    receive sensor data
    - 0, 1, 2
- qcom,csid-sd-index : should contain csid core instance that will used to
    receive sensor data
    - 0, 1, 2, 3
- qcom,sensor-name : should contain unique sensor name to differentiate from
    other sensor
    - "s5k3l1yx"
- cam_vdig-supply : should contain regulator from which digital voltage is
    supplied
- cam_vana-supply : should contain regulator from which analog voltage is
@@ -86,6 +81,13 @@ Required properties:
    regulators mentioned in qcom,cam-vreg-name property (in the same order)
- qcom,cam-vreg-op-mode : should contain optimum voltage level for regulators
    mentioned in qcom,cam-vreg-name property (in the same order)

Optional properties:
- qcom,slave-id : should contain i2c slave address, device id address
    and expected id read value
- qcom,sensor-name : should contain unique sensor name to differentiate from
    other sensor
    - "s5k3l1yx"
- qcom,sensor-mode : should contain sensor mode supported
    - 0 -> back camera 2D
    - 1 -> front camera 2D
@@ -94,8 +96,6 @@ Required properties:
- qcom,sensor-type : should contain format of data that sensor streams
    - 0 -> bayer format
    - 1 -> yuv format

Optional properties:
- qcom,is-vpe : should be enabled if VPE module is required for post processing
    of this sensor
    - 1 if required, 0 otherwise
+28 −0
Original line number Diff line number Diff line
@@ -156,4 +156,32 @@
		qcom,cci-master = <0>;
		status = "ok";
	};

	qcom,camera@2 {
		cell-index = <2>;
		compatible = "qcom,camera";
		reg = <0x2>;
		qcom,csiphy-sd-index = <2>;
		qcom,csid-sd-index = <2>;
		cam_vana-supply = <&pma8084_l17>;
		cam_vdig-supply = <&pma8084_l15>;
		cam_vio-supply = <&pma8084_lvs4>;
		qcom,cam-vreg-name = "cam_vdig", "cam_vana", "cam_vio";
		qcom,cam-vreg-type = <0 0 1>;
		qcom,cam-vreg-min-voltage = <1225000 2850000 0>;
		qcom,cam-vreg-max-voltage = <1225000 2850000 0>;
		qcom,cam-vreg-op-mode = <105000 80000 0>;
		qcom,gpio-no-mux = <0>;
		gpios = <&msmgpio 17 0>,
			<&msmgpio 18 0>,
			<&msmgpio 28 0>;
		qcom,gpio-reset = <1>;
		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,cci-master = <0>;
		status = "ok";
	};
};
+187 −0
Original line number Diff line number Diff line
/*
 * Copyright (c) 2013, 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.
 */

&cci {

	actuator0: qcom,actuator@36 {
		cell-index = <1>;
		reg = <0x36>;
		compatible = "qcom,actuator";
		qcom,cci-master = <0>;
	};

	qcom,camera@20 {
		compatible = "qcom,imx135";
		reg = <0x20>;
		qcom,slave-id = <0x20 0x0016 0x0135>;
		qcom,csiphy-sd-index = <0>;
		qcom,csid-sd-index = <0>;
		qcom,mount-angle = <90>;
		qcom,sensor-name = "imx135";
		qcom,actuator-src = <&actuator0>;
		cam_vdig-supply = <&pma8084_l27>;
		cam_vio-supply = <&pma8084_lvs4>;
		cam_vana-supply = <&pma8084_l17>;
		cam_vaf-supply = <&pma8084_l23>;
		qcom,cam-vreg-name = "cam_vdig", "cam_vio", "cam_vana",
				"cam_vaf";
		qcom,cam-vreg-type = <0 1 0 0>;
		qcom,cam-vreg-min-voltage = <1050000 0 2800000 2700000>;
		qcom,cam-vreg-max-voltage = <1050000 0 2800000 2700000>;
		qcom,cam-vreg-op-mode = <105000 0 80000 100000>;
		qcom,gpio-no-mux = <0>;
		gpios = <&msmgpio 15 0>,
			<&msmgpio 36 0>,
			<&msmgpio 35 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_MCLK",
				"CAM_RESET1",
				"CAM_STANDBY";
		qcom,gpio-set-tbl-num = <1 1>;
		qcom,gpio-set-tbl-flags = <0 2>;
		qcom,gpio-set-tbl-delay = <1000 30000>;
		qcom,csi-lane-assign = <0x4320>;
		qcom,csi-lane-mask = <0x1F>;
		qcom,sensor-position = <0>;
		qcom,sensor-mode = <0>;
		qcom,sensor-type = <0>;
		qcom,cci-master = <0>;
		status = "ok";
	};

	qcom,camera@6d {
		compatible = "qcom,imx132";
		reg = <0x6d>;
		qcom,slave-id = <0x6c 0x0 0x0132>;
		qcom,csiphy-sd-index = <2>;
		qcom,csid-sd-index = <2>;
		qcom,mount-angle = <0>;
		qcom,sensor-name = "imx132";
		cam_vana-supply = <&pma8084_l17>;
		cam_vdig-supply = <&pma8084_l15>;
		cam_vio-supply = <&pma8084_lvs4>;
		qcom,cam-vreg-name =  "cam_vana", "cam_vdig", "cam_vio";
		qcom,cam-vreg-type = <0 0 1>;
		qcom,cam-vreg-min-voltage = <2800000 1200000 0>;
		qcom,cam-vreg-max-voltage = <2800000 1200000 0>;
		qcom,cam-vreg-op-mode = <80000 105000 0>;
		qcom,gpio-no-mux = <0>;
		gpios = <&msmgpio 17 0>,
			<&msmgpio 25 0>;
		qcom,gpio-reset = <1>;
		qcom,gpio-req-tbl-num = <0 1>;
		qcom,gpio-req-tbl-flags = <1 0>;
		qcom,gpio-req-tbl-label = "CAMIF_MCLK2",
				"CAM_XSHUTDOWN";
		qcom,gpio-set-tbl-num = <1 1>;
		qcom,gpio-set-tbl-flags = <0 2>;
		qcom,gpio-set-tbl-delay = <1000 4000>;
		qcom,csi-lane-assign = <0x4320>;
		qcom,csi-lane-mask = <0x7>;
		qcom,sensor-position = <1>;
		qcom,sensor-mode = <1>;
		qcom,cci-master = <0>;
		status = "ok";
	};

	qcom,camera@0 {
		cell-index = <0>;
		compatible = "qcom,camera";
		reg = <0x00>;
		qcom,csiphy-sd-index = <0>;
		qcom,csid-sd-index = <0>;
		qcom,mount-angle = <90>;
		qcom,actuator-src = <&actuator0>;
		cam_vdig-supply = <&pma8084_l27>;
		cam_vio-supply = <&pma8084_lvs4>;
		cam_vana-supply = <&pma8084_l17>;
		cam_vaf-supply = <&pma8084_l23>;
		qcom,cam-vreg-name = "cam_vdig", "cam_vio", "cam_vana",
				     "cam_vaf";
		qcom,cam-vreg-type = <0 1 0 0>;
		qcom,cam-vreg-min-voltage = <1050000 0 2800000 2700000>;
		qcom,cam-vreg-max-voltage = <1050000 0 2800000 2700000>;
		qcom,cam-vreg-op-mode = <105000 0 80000 100000>;
		qcom,gpio-no-mux = <0>;
		gpios = <&msmgpio 15 0>,
			<&msmgpio 36 0>,
			<&msmgpio 35 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_MCLK",
					  "CAM_RESET1",
					  "CAM_STANDBY";
		qcom,cci-master = <0>;
		status = "ok";
	};

	qcom,camera@1 {
		cell-index = <1>;
		compatible = "qcom,camera";
		reg = <0x01>;
		qcom,csiphy-sd-index = <2>;
		qcom,csid-sd-index = <2>;
		qcom,mount-angle = <270>;
		cam_vana-supply = <&pma8084_l17>;
		cam_vdig-supply = <&pma8084_l15>;
		cam_vio-supply = <&pma8084_lvs4>;
		qcom,cam-vreg-name =  "cam_vana", "cam_vdig", "cam_vio";
		qcom,cam-vreg-type = <0 0 1>;
		qcom,cam-vreg-min-voltage = <2850000 1225000 0>;
		qcom,cam-vreg-max-voltage = <2850000 1225000 0>;
		qcom,cam-vreg-op-mode = <80000 105000 0>;
		qcom,gpio-no-mux = <0>;
		gpios = <&msmgpio 17 0>,
			<&msmgpio 25 0>;
		qcom,gpio-reset = <1>;
		qcom,gpio-req-tbl-num = <0 1>;
		qcom,gpio-req-tbl-flags = <1 0>;
		qcom,gpio-req-tbl-label = "CAMIF_MCLK2",
					  "CAM_XSHUTDOWN";
		qcom,cci-master = <0>;
		status = "ok";
	};

	qcom,camera@2 {
		cell-index = <2>;
		compatible = "qcom,camera";
		reg = <0x2>;
		qcom,csiphy-sd-index = <2>;
		qcom,csid-sd-index = <2>;
		cam_vana-supply = <&pma8084_l17>;
		cam_vdig-supply = <&pma8084_l15>;
		cam_vio-supply = <&pma8084_lvs4>;
		qcom,cam-vreg-name = "cam_vdig", "cam_vana", "cam_vio";
		qcom,cam-vreg-type = <0 0 1>;
		qcom,cam-vreg-min-voltage = <1225000 2850000 0>;
		qcom,cam-vreg-max-voltage = <1225000 2850000 0>;
		qcom,cam-vreg-op-mode = <105000 80000 0>;
		qcom,gpio-no-mux = <0>;
		gpios = <&msmgpio 17 0>,
			<&msmgpio 18 0>,
			<&msmgpio 28 0>;
		qcom,gpio-reset = <1>;
		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,cci-master = <0>;
		status = "ok";
	};
};
+28 −0
Original line number Diff line number Diff line
@@ -156,4 +156,32 @@
		qcom,cci-master = <0>;
		status = "ok";
	};

	qcom,camera@2 {
		cell-index = <2>;
		compatible = "qcom,camera";
		reg = <0x2>;
		qcom,csiphy-sd-index = <2>;
		qcom,csid-sd-index = <2>;
		cam_vana-supply = <&pma8084_l17>;
		cam_vdig-supply = <&pma8084_l15>;
		cam_vio-supply = <&pma8084_lvs4>;
		qcom,cam-vreg-name = "cam_vdig", "cam_vana", "cam_vio";
		qcom,cam-vreg-type = <0 0 1>;
		qcom,cam-vreg-min-voltage = <1225000 2850000 0>;
		qcom,cam-vreg-max-voltage = <1225000 2850000 0>;
		qcom,cam-vreg-op-mode = <105000 80000 0>;
		qcom,gpio-no-mux = <0>;
		gpios = <&msmgpio 17 0>,
			<&msmgpio 18 0>,
			<&msmgpio 28 0>;
		qcom,gpio-reset = <1>;
		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,cci-master = <0>;
		status = "ok";
	};
};
+1 −0
Original line number Diff line number Diff line
@@ -14,6 +14,7 @@

#include "apq8084.dtsi"
#include "apq8084-liquid.dtsi"
#include "apq8084-camera-sensor-liquid.dtsi"

/ {
	model = "Qualcomm APQ 8084 LIQUID";