summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorPengfei Liu <pengfeiliu@codeaurora.org>2016-12-09 14:02:57 +0800
committerPengfei Liu <pengfeiliu@codeaurora.org>2016-12-19 10:51:18 +0800
commit601e0dc02f4cf8ce8465d5a15d4e50eda12e74c5 (patch)
treef784f7d5ad616971428fa1fee8410a07de701d20 /arch
parent3162449f7d245d45f007d4ea3224576ddf1bcc63 (diff)
ARM: dts: msm: Add dual camera support for qrd8998 skuk board
Add dual camera related modifications for qrd8998 skuk board. The modifications includes rear/aux camera device node and corresponding eeprom/actuator/ois device node. Change-Id: I21110b930cf5a74a656e40f2f3210cc57ae91b95 Signed-off-by: Pengfei Liu <pengfeiliu@codeaurora.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/boot/dts/qcom/msm8998-camera-sensor-skuk.dtsi204
1 files changed, 157 insertions, 47 deletions
diff --git a/arch/arm/boot/dts/qcom/msm8998-camera-sensor-skuk.dtsi b/arch/arm/boot/dts/qcom/msm8998-camera-sensor-skuk.dtsi
index 36441f9aa15a..69b0286dba09 100644
--- a/arch/arm/boot/dts/qcom/msm8998-camera-sensor-skuk.dtsi
+++ b/arch/arm/boot/dts/qcom/msm8998-camera-sensor-skuk.dtsi
@@ -29,6 +29,89 @@
};
};
+&tlmm{
+ cam_sensor_front_active: cam_sensor_front_active {
+ /* RESET */
+ mux {
+ pins = "gpio9";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio9";
+ bias-disable; /* No PULL */
+ drive-strength = <2>; /* 2 MA */
+ };
+ };
+
+ cam_sensor_front_suspend: cam_sensor_front_suspend {
+ /* RESET */
+ mux {
+ pins = "gpio9";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio9";
+ bias-disable; /* No PULL */
+ drive-strength = <2>; /* 2 MA */
+ };
+ };
+
+ cam_sensor_rear2_active: cam_sensor_rear2_active {
+ /* RESET, STANDBY */
+ mux {
+ pins = "gpio28","gpio27";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio28","gpio27";
+ bias-disable; /* No PULL */
+ drive-strength = <2>; /* 2 MA */
+ };
+ };
+
+ cam_sensor_rear2_suspend: cam_sensor_rear2_suspend {
+ /* RESET, STANDBY */
+ mux {
+ pins = "gpio28","gpio27";
+ function = "gpio";
+ };
+ config {
+ pins = "gpio28","gpio27";
+ bias-disable; /* No PULL */
+ drive-strength = <2>; /* 2 MA */
+ };
+ };
+
+ cam_sensor_rear_active: cam_sensor_rear_active {
+ /* RESET, STANDBY */
+ mux {
+ pins = "gpio30","gpio29";
+ function = "gpio";
+ };
+ config {
+ pins = "gpio30","gpio29";
+ bias-disable; /* No PULL */
+ drive-strength = <2>; /* 2 MA */
+ };
+ };
+
+ cam_sensor_rear_suspend: cam_sensor_rear_suspend {
+ /* RESET, STANDBY */
+ mux {
+ pins = "gpio30","gpio29";
+ function = "gpio";
+ };
+ config {
+ pins = "gpio30","gpio29";
+ bias-disable; /* No PULL */
+ drive-strength = <2>; /* 2 MA */
+ };
+ };
+};
+
&cci {
actuator0: qcom,actuator@0 {
cell-index = <0>;
@@ -50,7 +133,22 @@
reg = <0x1>;
compatible = "qcom,actuator";
qcom,cci-master = <0>;
- gpios = <&tlmm 29 0>;
+ gpios = <&tlmm 27 0>;
+ qcom,gpio-vaf = <0>;
+ qcom,gpio-req-tbl-num = <0>;
+ qcom,gpio-req-tbl-flags = <0>;
+ qcom,gpio-req-tbl-label = "CAM_VAF";
+ pinctrl-names = "cam_default", "cam_suspend";
+ pinctrl-0 = <&cam_actuator_vaf_active>;
+ pinctrl-1 = <&cam_actuator_vaf_suspend>;
+ };
+
+ ois0: qcom,ois@0 {
+ cell-index = <0>;
+ reg = <0x0>;
+ compatible = "qcom,ois";
+ qcom,cci-master = <0>;
+ gpios = <&tlmm 27 0>;
qcom,gpio-vaf = <0>;
qcom,gpio-req-tbl-num = <0>;
qcom,gpio-req-tbl-flags = <0>;
@@ -58,6 +156,7 @@
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_actuator_vaf_active>;
pinctrl-1 = <&cam_actuator_vaf_suspend>;
+ status = "disabled";
};
eeprom0: qcom,eeprom@0 {
@@ -104,35 +203,38 @@
cell-index = <1>;
reg = <0x1>;
compatible = "qcom,eeprom";
- cam_vdig-supply = <&pm8998_lvs1>;
cam_vio-supply = <&pm8998_lvs1>;
cam_vana-supply = <&pmi8998_bob>;
- qcom,cam-vreg-name = "cam_vdig", "cam_vio", "cam_vana";
- qcom,cam-vreg-min-voltage = <0 0 3312000>;
- qcom,cam-vreg-max-voltage = <0 0 3600000>;
- qcom,cam-vreg-op-mode = <0 0 80000>;
+ cam_vdig-supply = <&pm8998_s3>;
+ qcom,cam-vreg-name = "cam_vio", "cam_vana", "cam_vdig";
+ qcom,cam-vreg-min-voltage = <0 3312000 1352000>;
+ qcom,cam-vreg-max-voltage = <0 3600000 1352000>;
+ qcom,cam-vreg-op-mode = <0 80000 105000>;
qcom,gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
- pinctrl-0 = <&cam_sensor_mclk2_active
- &cam_sensor_rear2_active>;
- pinctrl-1 = <&cam_sensor_mclk2_suspend
- &cam_sensor_rear2_suspend>;
- gpios = <&tlmm 15 0>,
- <&tlmm 9 0>,
- <&tlmm 8 0>;
+ pinctrl-0 = <&cam_sensor_mclk1_active
+ &cam_sensor_rear2_active>;
+ pinctrl-1 = <&cam_sensor_mclk1_suspend
+ &cam_sensor_rear2_suspend>;
+ gpios = <&tlmm 14 0>,
+ <&tlmm 28 0>,
+ <&pm8998_gpios 20 0>,
+ <&tlmm 29 0>;
qcom,gpio-reset = <1>;
- qcom,gpio-vana = <2>;
- qcom,gpio-req-tbl-num = <0 1 2>;
- qcom,gpio-req-tbl-flags = <1 0 0>;
+ qcom,gpio-vdig = <2>;
+ qcom,gpio-vana = <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_RESET1",
- "CAM_VANA1";
+ "CAM_VDIG",
+ "CAM_VANA";
qcom,sensor-position = <0>;
qcom,sensor-mode = <0>;
- qcom,cci-master = <1>;
+ qcom,cci-master = <0>;
status = "ok";
- clocks = <&clock_mmss clk_mclk2_clk_src>,
- <&clock_mmss clk_mmss_camss_mclk2_clk>;
+ clocks = <&clock_mmss clk_mclk1_clk_src>,
+ <&clock_mmss clk_mmss_camss_mclk1_clk>;
clock-names = "cam_src_clk", "cam_clk";
qcom,clock-rates = <24000000 0>;
};
@@ -152,12 +254,12 @@
qcom,cam-vreg-op-mode = <0 80000 105000>;
qcom,gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
- pinctrl-0 = <&cam_sensor_mclk1_active
+ pinctrl-0 = <&cam_sensor_mclk2_active
&cam_sensor_front_active>;
- pinctrl-1 = <&cam_sensor_mclk1_suspend
+ pinctrl-1 = <&cam_sensor_mclk2_suspend
&cam_sensor_front_suspend>;
- gpios = <&tlmm 14 0>,
- <&tlmm 28 0>,
+ gpios = <&tlmm 15 0>,
+ <&tlmm 9 0>,
<&pm8998_gpios 9 0>;
qcom,gpio-reset = <1>;
qcom,gpio-vdig = <2>;
@@ -170,8 +272,8 @@
qcom,sensor-mode = <0>;
qcom,cci-master = <1>;
status = "ok";
- clocks = <&clock_mmss clk_mclk1_clk_src>,
- <&clock_mmss clk_mmss_camss_mclk1_clk>;
+ clocks = <&clock_mmss clk_mclk2_clk_src>,
+ <&clock_mmss clk_mmss_camss_mclk2_clk>;
clock-names = "cam_src_clk", "cam_clk";
qcom,clock-rates = <24000000 0>;
};
@@ -180,7 +282,8 @@
cell-index = <0>;
compatible = "qcom,camera";
reg = <0x0>;
- qcom,special-support-sensors = "imx362_gt24c64a";
+ qcom,special-support-sensors = "imx362_gt24c64a",
+ "s5k3m3sm", "s5k2l7sx";
qcom,csiphy-sd-index = <0>;
qcom,csid-sd-index = <0>;
qcom,mount-angle = <270>;
@@ -230,36 +333,42 @@
qcom,csiphy-sd-index = <1>;
qcom,csid-sd-index = <1>;
qcom,mount-angle = <90>;
+ qcom,led-flash-src = <&led_flash0>;
+ qcom,actuator-src = <&actuator1>;
qcom,eeprom-src = <&eeprom1>;
- cam_vdig-supply = <&pm8998_lvs1>;
+ qcom,ois-src = <&ois0>;
cam_vio-supply = <&pm8998_lvs1>;
cam_vana-supply = <&pmi8998_bob>;
- qcom,cam-vreg-name = "cam_vdig", "cam_vio", "cam_vana";
- qcom,cam-vreg-min-voltage = <0 0 3312000>;
- qcom,cam-vreg-max-voltage = <0 0 3600000>;
- qcom,cam-vreg-op-mode = <0 0 80000>;
+ cam_vdig-supply = <&pm8998_s3>;
+ qcom,cam-vreg-name = "cam_vio", "cam_vana", "cam_vdig";
+ qcom,cam-vreg-min-voltage = <0 3312000 1352000>;
+ qcom,cam-vreg-max-voltage = <0 3600000 1352000>;
+ qcom,cam-vreg-op-mode = <0 80000 105000>;
qcom,gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
- pinctrl-0 = <&cam_sensor_mclk2_active
- &cam_sensor_rear2_active>;
- pinctrl-1 = <&cam_sensor_mclk2_suspend
- &cam_sensor_rear2_suspend>;
- gpios = <&tlmm 15 0>,
- <&tlmm 9 0>,
- <&tlmm 8 0>;
+ pinctrl-0 = <&cam_sensor_mclk1_active
+ &cam_sensor_rear2_active>;
+ pinctrl-1 = <&cam_sensor_mclk1_suspend
+ &cam_sensor_rear2_suspend>;
+ gpios = <&tlmm 14 0>,
+ <&tlmm 28 0>,
+ <&pm8998_gpios 20 0>,
+ <&tlmm 29 0>;
qcom,gpio-reset = <1>;
- qcom,gpio-vana = <2>;
- qcom,gpio-req-tbl-num = <0 1 2>;
- qcom,gpio-req-tbl-flags = <1 0 0>;
+ qcom,gpio-vdig = <2>;
+ qcom,gpio-vana = <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_RESET1",
- "CAM_VANA1";
+ "CAM_VDIG",
+ "CAM_VANA";
qcom,sensor-position = <0>;
qcom,sensor-mode = <0>;
qcom,cci-master = <0>;
status = "ok";
- clocks = <&clock_mmss clk_mclk2_clk_src>,
- <&clock_mmss clk_mmss_camss_mclk2_clk>;
+ clocks = <&clock_mmss clk_mclk1_clk_src>,
+ <&clock_mmss clk_mmss_camss_mclk1_clk>;
clock-names = "cam_src_clk", "cam_clk";
qcom,clock-rates = <24000000 0>;
};
@@ -271,6 +380,7 @@
qcom,csiphy-sd-index = <2>;
qcom,csid-sd-index = <2>;
qcom,mount-angle = <90>;
+ qcom,eeprom-src = <&eeprom2>;
cam_vio-supply = <&pm8998_lvs1>;
cam_vana-supply = <&pm8998_l22>;
cam_vdig-supply = <&pm8998_s3>;
@@ -283,9 +393,9 @@
qcom,gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk2_active
- &cam_sensor_rear2_active>;
+ &cam_sensor_front_active>;
pinctrl-1 = <&cam_sensor_mclk2_suspend
- &cam_sensor_rear2_suspend>;
+ &cam_sensor_front_suspend>;
gpios = <&tlmm 15 0>,
<&tlmm 9 0>,
<&pm8998_gpios 9 0>;