summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2018-04-03 01:19:59 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2018-04-03 01:19:59 -0700
commit660f3d97f20e4d1f92856af55196d17f565537d6 (patch)
treeb2ebbf5092b5c923a9a69eb09a56563d0a29acb4
parent225f40883b25079e415cf4e4effa8dce3c2dffda (diff)
parent169f31f159ef8929a08f819f6a055bbc4c41d78b (diff)
Merge "adv7481: Enable ADV7481 driver on Auto CDP"
-rw-r--r--arch/arm/boot/dts/qcom/msm8996-auto-cdp.dtsi82
-rw-r--r--arch/arm/boot/dts/qcom/msm8996-camera-sensor-auto-cdp.dtsi41
2 files changed, 113 insertions, 10 deletions
diff --git a/arch/arm/boot/dts/qcom/msm8996-auto-cdp.dtsi b/arch/arm/boot/dts/qcom/msm8996-auto-cdp.dtsi
index 5c08acbbcd19..bbc0f37af17d 100644
--- a/arch/arm/boot/dts/qcom/msm8996-auto-cdp.dtsi
+++ b/arch/arm/boot/dts/qcom/msm8996-auto-cdp.dtsi
@@ -1018,17 +1018,75 @@
pinctrl-0 = <&quat_tdm_dout_active>;
pinctrl-1 = <&quat_tdm_dout_sleep>;
};
+
+ qcom,adv7481@70 {
+ compatible = "qcom,adv7481";
+ reg = <0x70 0xff>;
+ cam_vdig-supply = <&pm8994_s3>;
+ tx-lanes = <4 2 1>;
+ settle-count = <16 16 16>;
+ res-array = "RES_1080P", "RES_720P", "RES_576P_480P";
+ /* Cameras powered by PMIC: */
+ cam_vio-supply = <&pm8994_lvs1>;
+ cam_vana-supply = <&pm8994_l17>;
+ /* Self-powered cameras: */
+ qcom,cam-vreg-name = "cam_vdig", "cam_vio", "cam_vana";
+ qcom,cam-vreg-min-voltage = <1300000 0 1800000>;
+ qcom,cam-vreg-max-voltage = <1300000 0 1800000>;
+ qcom,cam-vreg-op-mode = <105000 0 80000>;
+
+ qcom,cci-master = <0>;
+ gpios = <&tlmm 17 0>, /* I2C SDA */
+ <&tlmm 18 0>, /* I2C SCL */
+ <&pm8994_gpios 4 0>, /* RST */
+ <&pm8994_gpios 5 0>, /* INT1 */
+ <&pm8994_gpios 6 0>, /* INT2 */
+ <&pm8994_gpios 7 0>; /* INT3 */
+ };
+
+ qcom,tv-tuner {
+ compatible = "qcom,tv-tuner";
+ };
+
+ qcom,msm-ba {
+ compatible = "qcom,msm-ba";
+ qcom,ba-input-profile-0 {
+ qcom,type = <4>; /* input type */
+ qcom,name = "HDMI-1"; /* input name */
+ qcom,ba-input = <13>; /* ba input id */
+ qcom,ba-output = <0>; /* ba output id */
+ qcom,sd-name = "adv7481"; /* sd name */
+ qcom,ba-node = <0>; /* ba node */
+ qcom,user-type = <1>; /* user type */
+ };
+
+ qcom,ba-input-profile-1 {
+ qcom,type = <0>; /* input type */
+ qcom,name = "CVBS-0"; /* input name */
+ qcom,ba-input = <0>; /* ba input id */
+ qcom,ba-output = <0>; /* ba output id */
+ qcom,sd-name = "adv7481"; /* sd name */
+ qcom,ba-node = <1>; /* ba node */
+ qcom,user-type = <1>; /* user type */
+ };
+
+ qcom,ba-input-profile-2 {
+ qcom,type = <8>; /* input type */
+ qcom,name = "TUNER-2"; /* input name */
+ qcom,ba-input = <16>; /* ba input id */
+ qcom,ba-output = <0>; /* ba output id */
+ qcom,sd-name = "tv-tuner"; /* sd name */
+ qcom,ba-node = <2>; /* ba node */
+ qcom,user-type = <1>; /* user type */
+ };
+ };
};
&pm8994_gpios {
- gpio@c600 { /* GPIO 7 - NFC DWL REQ */
- qcom,mode = <1>;
- qcom,output-type = <0>;
- qcom,pull = <5>;
+ gpio@c600 { /* GPIO 7 - adv7481 INT3*/
+ qcom,mode = <0>;
qcom,vin-sel = <2>;
- qcom,out-strength = <3>;
qcom,src-sel = <0>;
- qcom,master-en = <1>;
status = "okay";
};
@@ -1071,7 +1129,7 @@
status = "okay";
};
- gpio@c300 { /* GPIO 4 */
+ gpio@c300 { /* GPIO 4 - adv7481 RST */
qcom,mode = <0>;
qcom,pull = <0>;
qcom,vin-sel = <2>;
@@ -1079,9 +1137,15 @@
status = "okay";
};
- gpio@c400 { /* GPIO 5 */
+ gpio@c400 { /* GPIO 5 - adv7481 INT1 */
+ qcom,mode = <0>;
+ qcom,vin-sel = <2>;
+ qcom,src-sel = <0>;
+ status = "okay";
+ };
+
+ gpio@c500 { /* GPIO 6 - adv7481 INT2*/
qcom,mode = <0>;
- qcom,pull = <0>;
qcom,vin-sel = <2>;
qcom,src-sel = <0>;
status = "okay";
diff --git a/arch/arm/boot/dts/qcom/msm8996-camera-sensor-auto-cdp.dtsi b/arch/arm/boot/dts/qcom/msm8996-camera-sensor-auto-cdp.dtsi
index 2843700ac168..ce3cb19effbd 100644
--- a/arch/arm/boot/dts/qcom/msm8996-camera-sensor-auto-cdp.dtsi
+++ b/arch/arm/boot/dts/qcom/msm8996-camera-sensor-auto-cdp.dtsi
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015-2017, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2015-2018, 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
@@ -128,6 +128,45 @@
qcom,clock-rates = <19200000 0>;
};
+ qcom,camera@1 {
+ cell-index = <1>;
+ compatible = "qcom,camera";
+ reg = <0x1>;
+ qcom,csiphy-sd-index = <1>;
+ qcom,csid-sd-index = <1>;
+ qcom,mount-angle = <90>;
+ cam_vdig-supply = <&pm8994_l27>;
+ cam_vio-supply = <&pm8994_lvs1>;
+ cam_vana-supply = <&pmi8994_boostbypass>;
+ qcom,cam-vreg-name = "cam_vdig", "cam_vio", "cam_vana";
+ qcom,cam-vreg-min-voltage = <800000 0 3150000>;
+ qcom,cam-vreg-max-voltage = <800000 0 3600000>;
+ qcom,cam-vreg-op-mode = <800000 0 80000>;
+ qcom,gpio-no-mux = <0>;
+ pinctrl-names = "cam_default", "cam_suspend";
+ 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 63 0>,
+ <&tlmm 62 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_MCLK1",
+ "CAM_RESET1",
+ "CAM_STANDBY1";
+ qcom,sensor-position = <0>;
+ qcom,sensor-mode = <0>;
+ qcom,cci-master = <0>;
+ status = "ok";
+ clocks = <&clock_mmss clk_mclk1_clk_src>,
+ <&clock_mmss clk_camss_mclk1_clk>;
+ clock-names = "cam_src_clk", "cam_clk";
+ qcom,clock-rates = <24000000 0>;
+ };
+
qcom,camera@2 {
cell-index = <2>;
compatible = "qcom,camera";