summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arch/arm/boot/dts/qcom/msm8998-camera-sensor-qrd-vr1.dtsi56
-rw-r--r--arch/arm/boot/dts/qcom/msm8998-pinctrl.dtsi80
2 files changed, 135 insertions, 1 deletions
diff --git a/arch/arm/boot/dts/qcom/msm8998-camera-sensor-qrd-vr1.dtsi b/arch/arm/boot/dts/qcom/msm8998-camera-sensor-qrd-vr1.dtsi
index 14567c3b5010..2af3bf277096 100644
--- a/arch/arm/boot/dts/qcom/msm8998-camera-sensor-qrd-vr1.dtsi
+++ b/arch/arm/boot/dts/qcom/msm8998-camera-sensor-qrd-vr1.dtsi
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2016-2017, 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
@@ -345,6 +345,60 @@
clock-names = "cam_src_clk", "cam_clk";
qcom,clock-rates = <24000000 0>;
};
+
+ /* ToF Camera*/
+ qcom,camera@3 {
+ cell-index = <3>;
+ compatible = "qcom,camera";
+ reg = <0x3>;
+ qcom,csiphy-sd-index = <1>;
+ qcom,csid-sd-index = <3>;
+ qcom,mount-angle = <90>;
+ cam_vio-supply = <&pm8998_lvs1>;
+ qcom,cam-vreg-name = "cam_vio";
+ qcom,cam-vreg-min-voltage = <1800000>;
+ qcom,cam-vreg-max-voltage = <1800000>;
+ qcom,cam-vreg-op-mode = <80000>;
+ qcom,gpio-no-mux = <0>;
+ pinctrl-names = "cam_default", "cam_suspend";
+ pinctrl-0 = <&cam_sensor_mclk3_active
+ &cam_sensor_depth_v1_active
+ &cam_sensor_depth_v2_active
+ &cam_sensor_depth_default>;
+ pinctrl-1 = <&cam_sensor_mclk3_suspend
+ &cam_sensor_depth_v1_sleep
+ &cam_sensor_depth_v2_sleep
+ &cam_sensor_depth_sleep>;
+ gpios = <&tlmm 16 0>,
+ <&tlmm 24 0>,
+ <&tlmm 21 0>,
+ <&tlmm 28 0>,
+ <&tlmm 23 0>,
+ <&tlmm 7 0>;
+ qcom,gpio-vana = <1>;
+ qcom,gpio-custom2 = <2>;
+ qcom,gpio-reset = <3>;
+ qcom,gpio-custom3 = <4>;
+ qcom,gpio-custom1 = <5>;
+ qcom,gpio-req-tbl-num = <0 1 2 3 4 5>;
+ qcom,gpio-req-tbl-flags = <1 0 0 0 1 1>;
+ qcom,gpio-req-tbl-label =
+ "CAMIF_MCLK3",
+ "CAM_VANA",
+ "CAM_CUSTOM2",
+ "CAM_RESET1",
+ "CAM_CUSTOM3",
+ "CAM_CUSTOM1";
+ qcom,sensor-position = <1>; /* 0 rear */
+ qcom,sensor-mode = <0>;
+ qcom,cci-master = <1>; /* I2C 1 */
+ status = "ok";
+ clocks = <&clock_mmss clk_mclk3_clk_src>,
+ <&clock_mmss clk_mmss_camss_mclk3_clk>;
+ clock-names = "cam_src_clk", "cam_clk";
+ qcom,clock-rates = <24000000 0>;
+ };
+
};
&pm8998_gpios {
diff --git a/arch/arm/boot/dts/qcom/msm8998-pinctrl.dtsi b/arch/arm/boot/dts/qcom/msm8998-pinctrl.dtsi
index 71593012148d..ed1259918620 100644
--- a/arch/arm/boot/dts/qcom/msm8998-pinctrl.dtsi
+++ b/arch/arm/boot/dts/qcom/msm8998-pinctrl.dtsi
@@ -993,6 +993,86 @@
};
};
+ cam_sensor_depth_default: cam_sensor_depth_default {
+ mux {
+ pins = "gpio28","gpio23","gpio7";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio28","gpio23","gpio7";
+ bias-disable; /* No PULL */
+ drive-strength = <2>; /* 2 MA */
+ };
+ };
+
+ cam_sensor_depth_sleep: cam_sensor_depth_sleep {
+ mux {
+ pins = "gpio28","gpio23","gpio7";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio28","gpio23","gpio7";
+ bias-disable; /* No PULL */
+ drive-strength = <2>; /* 2 MA */
+ };
+ };
+
+ cam_sensor_depth_v1_active: cam_sensor_depth_v1_active {
+ /* Depth VANA */
+ mux {
+ pins = "gpio24";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio24";
+ bias-disable; /* No PULL */
+ drive-strength = <2>; /* 2 MA */
+ };
+ };
+
+ cam_sensor_depth_v1_sleep: cam_sensor_depth_v1_sleep {
+ mux {
+ pins = "gpio24";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio24";
+ bias-disable; /* No PULL */
+ drive-strength = <2>; /* 2 MA */
+ };
+ };
+
+ cam_sensor_depth_v2_active: cam_sensor_depth_v2_active {
+ /* Depth CUSTOM2 */
+ mux {
+ pins = "gpio21";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio21";
+ bias-disable; /* No PULL */
+ drive-strength = <2>; /* 2 MA */
+ };
+ };
+
+ cam_sensor_depth_v2_sleep: cam_sensor_depth_v2_sleep {
+ mux {
+ pins = "gpio21";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio21";
+ bias-disable; /* No PULL */
+ drive-strength = <2>; /* 2 MA */
+ };
+ };
+
cam_sensor_mclk0_active: cam_sensor_mclk0_active {
/* MCLK0 */
mux {