diff options
author | Pengfei Liu <pengfeiliu@codeaurora.org> | 2016-12-09 14:02:57 +0800 |
---|---|---|
committer | Pengfei Liu <pengfeiliu@codeaurora.org> | 2016-12-19 10:51:18 +0800 |
commit | 601e0dc02f4cf8ce8465d5a15d4e50eda12e74c5 (patch) | |
tree | f784f7d5ad616971428fa1fee8410a07de701d20 | |
parent | 3162449f7d245d45f007d4ea3224576ddf1bcc63 (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>
-rw-r--r-- | arch/arm/boot/dts/qcom/msm8998-camera-sensor-skuk.dtsi | 204 |
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>; |