From 8e0abb409a1c1b58d5de3d3c0ddca0a6ec977b5a Mon Sep 17 00:00:00 2001 From: Mukund Madhusudan Atre Date: Fri, 28 Feb 2020 12:09:51 -0800 Subject: [PATCH] ARM: dts: msm: Add support for other sensors on Lahaina Add sensor dtsi nodes for cell index 0 for Lahaina DC and cell index 8 and 9 for other DC. Add custom gpio to enable external regulators. CRs-Fixed: 2584631 Change-Id: Iae945932005bcb76550655e700bf0c10719ff19a --- lahaina-camera-sensor-cdp.dtsi | 200 ++++++++++++++++++++++++++++++++- lahaina-camera-sensor-mtp.dtsi | 200 ++++++++++++++++++++++++++++++++- 2 files changed, 392 insertions(+), 8 deletions(-) diff --git a/lahaina-camera-sensor-cdp.dtsi b/lahaina-camera-sensor-cdp.dtsi index eca5277709d0..4400dc562d50 100644 --- a/lahaina-camera-sensor-cdp.dtsi +++ b/lahaina-camera-sensor-cdp.dtsi @@ -165,6 +165,41 @@ clock-rates = <24000000>; }; + eeprom_ext_rgb0: qcom,eeprom7 { + cell-index = <8>; + compatible = "qcom,eeprom"; + cam_clk-supply = <&cam_cc_titan_top_gdsc>; + regulator-names = "cam_clk"; + rgltr-cntrl-support; + rgltr-min-voltage = <0>; + rgltr-max-voltage = <0>; + rgltr-load-current = <0>; + gpio-no-mux = <0>; + pinctrl-names = "cam_default", "cam_suspend"; + pinctrl-0 = <&cam_sensor_mclk3_active + &cam_sensor_active_rst3 + &cam_sensor_active_ext_regs0>; + pinctrl-1 = <&cam_sensor_mclk3_suspend + &cam_sensor_suspend_rst3 + &cam_sensor_suspend_ext_regs0>; + gpios = <&tlmm 105 0>, + <&tlmm 115 0>, + <&tlmm 28 0>; + gpio-reset = <1>; + gpio-custom1 = <2>; + gpio-req-tbl-num = <0 1 2>; + gpio-req-tbl-flags = <1 0 0>; + gpio-req-tbl-label = "CAMIF_MCLK3", + "CAM_RESET3", + "CAM_EXT_REGS0"; + cci-master = <0>; + status = "ok"; + clocks = <&clock_camcc CAM_CC_MCLK3_CLK>; + clock-names = "cam_clk"; + clock-cntl-level = "nominal"; + clock-rates = <24000000>; + }; + qcom,cam-sensor0 { cell-index = <5>; compatible = "qcom,cam-sensor"; @@ -183,7 +218,6 @@ regulator-names = "cam_vio", "cam_vana", "cam_vdig", "cam_clk", "cam_bob"; rgltr-cntrl-support; - pwm-switch; rgltr-min-voltage = <1800000 2700000 950000 0 3200000>; rgltr-max-voltage = <1800000 2900000 1150000 0 3960000>; rgltr-load-current = <10000 52000 140000 0 2000000>; @@ -227,7 +261,6 @@ regulator-names = "cam_vio", "cam_vana", "cam_v_custom1", "cam_vdig","cam_clk", "cam_bob"; rgltr-cntrl-support; - pwm-switch; rgltr-min-voltage = <1800000 2700000 1700000 1000000 0 3200000>; rgltr-max-voltage = <1800000 3000000 1900000 1200000 0 3960000>; rgltr-load-current = <5000 68000 74000 805000 0 2000000>; @@ -291,6 +324,90 @@ clock-cntl-level = "nominal"; clock-rates = <24000000>; }; + + qcom,cam-sensor6 { + cell-index = <0>; + compatible = "qcom,cam-sensor"; + csiphy-sd-index = <0>; + sensor-position-roll = <90>; + sensor-position-pitch = <0>; + sensor-position-yaw = <180>; + eeprom-src = <&eeprom_triple_tele>; + actuator-src = <&actuator_triple_tele>; + led-flash-src = <&led_flash_triple_rear_aux>; + cam_vio-supply = <&pm8008j_l3>; + cam_vana-supply = <&pm8008i_l4>; + cam_vdig-supply = <&pm8008i_l2>; + cam_clk-supply = <&cam_cc_titan_top_gdsc>; + cam_bob-supply = <&pm8350c_bob>; + regulator-names = "cam_vio", "cam_vana", "cam_vdig", + "cam_clk", "cam_bob"; + rgltr-cntrl-support; + rgltr-min-voltage = <1800000 2700000 950000 0 3200000>; + rgltr-max-voltage = <1800000 2900000 1150000 0 3960000>; + rgltr-load-current = <10000 52000 140000 0 2000000>; + gpio-no-mux = <0>; + pinctrl-names = "cam_default", "cam_suspend"; + pinctrl-0 = <&cam_sensor_mclk0_active + &cam_sensor_active_rst0>; + pinctrl-1 = <&cam_sensor_mclk0_suspend + &cam_sensor_suspend_rst0>; + gpios = <&tlmm 100 0>, + <&tlmm 17 0>; + gpio-reset = <1>; + gpio-req-tbl-num = <0 1>; + gpio-req-tbl-flags = <1 0>; + gpio-req-tbl-label = "CAMIF_MCLK0", + "CAM_RESET0"; + cci-master = <0>; + status = "ok"; + clocks = <&clock_camcc CAM_CC_MCLK0_CLK>; + clock-names = "cam_clk"; + clock-cntl-level = "nominal"; + clock-rates = <24000000>; + }; + + qcom,cam-sensor7 { + cell-index = <8>; + compatible = "qcom,cam-sensor"; + csiphy-sd-index = <3>; + sensor-position-roll = <90>; + sensor-position-pitch = <0>; + sensor-position-yaw = <180>; + eeprom-src = <&eeprom_ext_rgb0>; + actuator-src = <&actuator_triple_tele>; + led-flash-src = <&led_flash_triple_rear_aux>; + cam_clk-supply = <&cam_cc_titan_top_gdsc>; + regulator-names = "cam_clk"; + rgltr-cntrl-support; + rgltr-min-voltage = <0>; + rgltr-max-voltage = <0>; + rgltr-load-current = <0>; + gpio-no-mux = <0>; + pinctrl-names = "cam_default", "cam_suspend"; + pinctrl-0 = <&cam_sensor_mclk3_active + &cam_sensor_active_rst3 + &cam_sensor_active_ext_regs0>; + pinctrl-1 = <&cam_sensor_mclk3_suspend + &cam_sensor_suspend_rst3 + &cam_sensor_suspend_ext_regs0>; + gpios = <&tlmm 103 0>, + <&tlmm 117 0>, + <&tlmm 28 0>; + gpio-reset = <1>; + gpio-custom1 = <2>; + gpio-req-tbl-num = <0 1 2>; + gpio-req-tbl-flags = <1 0 0>; + gpio-req-tbl-label = "CAMIF_MCLK3", + "CAM_RESET3", + "CAM_EXT_REGS0"; + cci-master = <0>; + status = "ok"; + clocks = <&clock_camcc CAM_CC_MCLK3_CLK>; + clock-names = "cam_clk"; + clock-cntl-level = "nominal"; + clock-rates = <24000000>; + }; }; &cam_cci1 { @@ -406,6 +523,41 @@ clock-rates = <24000000>; }; + eeprom_ext_rgb1: qcom,eeprom8 { + cell-index = <9>; + compatible = "qcom,eeprom"; + cam_clk-supply = <&cam_cc_titan_top_gdsc>; + regulator-names = "cam_clk"; + rgltr-cntrl-support; + rgltr-min-voltage = <0>; + rgltr-max-voltage = <0>; + rgltr-load-current = <0>; + gpio-no-mux = <0>; + pinctrl-names = "cam_default", "cam_suspend"; + pinctrl-0 = <&cam_sensor_mclk4_active + &cam_sensor_active_rst4 + &cam_sensor_active_ext_regs1>; + pinctrl-1 = <&cam_sensor_mclk4_suspend + &cam_sensor_suspend_rst4 + &cam_sensor_suspend_ext_regs1>; + gpios = <&tlmm 105 0>, + <&tlmm 115 0>, + <&tlmm 29 0>; + gpio-reset = <1>; + gpio-custom1 = <2>; + gpio-req-tbl-num = <0 1 2>; + gpio-req-tbl-flags = <1 0 0>; + gpio-req-tbl-label = "CAMIF_MCLK4", + "CAM_RESET4", + "CAM_EXT_REGS1"; + cci-master = <0>; + status = "ok"; + clocks = <&clock_camcc CAM_CC_MCLK4_CLK>; + clock-names = "cam_clk"; + clock-cntl-level = "nominal"; + clock-rates = <24000000>; + }; + qcom,cam-sensor2 { cell-index = <6>; compatible = "qcom,cam-sensor"; @@ -424,7 +576,6 @@ regulator-names = "cam_vio", "cam_vana", "cam_vdig", "cam_clk", "cam_bob"; rgltr-cntrl-support; - pwm-switch; rgltr-min-voltage = <1800000 2700000 950000 0 3200000>; rgltr-max-voltage = <1800000 2900000 1150000 0 3960000>; rgltr-load-current = <3000 52000 257000 0 2000000>; @@ -501,7 +652,6 @@ regulator-names = "cam_vio", "cam_vana", "cam_vdig", "cam_clk", "cam_bob"; rgltr-cntrl-support; - pwm-switch; rgltr-min-voltage = <1800000 2700000 950000 0 3200000>; rgltr-max-voltage = <1800000 2900000 1150000 0 3960000>; rgltr-load-current = <5000 35000 301000 0 2000000>; @@ -525,4 +675,46 @@ clock-cntl-level = "nominal"; clock-rates = <24000000>; }; + + qcom,cam-sensor8 { + cell-index = <9>; + compatible = "qcom,cam-sensor"; + csiphy-sd-index = <4>; + sensor-position-roll = <90>; + sensor-position-pitch = <0>; + sensor-position-yaw = <180>; + eeprom-src = <&eeprom_ext_rgb1>; + actuator-src = <&actuator_triple_uw>; + led-flash-src = <&led_flash_triple_rear_aux>; + cam_clk-supply = <&cam_cc_titan_top_gdsc>; + regulator-names = "cam_clk"; + rgltr-cntrl-support; + rgltr-min-voltage = <0>; + rgltr-max-voltage = <0>; + rgltr-load-current = <0>; + gpio-no-mux = <0>; + pinctrl-names = "cam_default", "cam_suspend"; + pinctrl-0 = <&cam_sensor_mclk4_active + &cam_sensor_active_rst4 + &cam_sensor_active_ext_regs1>; + pinctrl-1 = <&cam_sensor_mclk4_suspend + &cam_sensor_suspend_rst4 + &cam_sensor_suspend_ext_regs1>; + gpios = <&tlmm 105 0>, + <&tlmm 115 0>, + <&tlmm 29 0>; + gpio-reset = <1>; + gpio-custom1 = <2>; + gpio-req-tbl-num = <0 1 2>; + gpio-req-tbl-flags = <1 0 0>; + gpio-req-tbl-label = "CAMIF_MCLK4", + "CAM_RESET4", + "CAM_EXT_REGS1"; + cci-master = <0>; + status = "ok"; + clocks = <&clock_camcc CAM_CC_MCLK4_CLK>; + clock-names = "cam_clk"; + clock-cntl-level = "nominal"; + clock-rates = <24000000>; + }; }; diff --git a/lahaina-camera-sensor-mtp.dtsi b/lahaina-camera-sensor-mtp.dtsi index eca5277709d0..4400dc562d50 100644 --- a/lahaina-camera-sensor-mtp.dtsi +++ b/lahaina-camera-sensor-mtp.dtsi @@ -165,6 +165,41 @@ clock-rates = <24000000>; }; + eeprom_ext_rgb0: qcom,eeprom7 { + cell-index = <8>; + compatible = "qcom,eeprom"; + cam_clk-supply = <&cam_cc_titan_top_gdsc>; + regulator-names = "cam_clk"; + rgltr-cntrl-support; + rgltr-min-voltage = <0>; + rgltr-max-voltage = <0>; + rgltr-load-current = <0>; + gpio-no-mux = <0>; + pinctrl-names = "cam_default", "cam_suspend"; + pinctrl-0 = <&cam_sensor_mclk3_active + &cam_sensor_active_rst3 + &cam_sensor_active_ext_regs0>; + pinctrl-1 = <&cam_sensor_mclk3_suspend + &cam_sensor_suspend_rst3 + &cam_sensor_suspend_ext_regs0>; + gpios = <&tlmm 105 0>, + <&tlmm 115 0>, + <&tlmm 28 0>; + gpio-reset = <1>; + gpio-custom1 = <2>; + gpio-req-tbl-num = <0 1 2>; + gpio-req-tbl-flags = <1 0 0>; + gpio-req-tbl-label = "CAMIF_MCLK3", + "CAM_RESET3", + "CAM_EXT_REGS0"; + cci-master = <0>; + status = "ok"; + clocks = <&clock_camcc CAM_CC_MCLK3_CLK>; + clock-names = "cam_clk"; + clock-cntl-level = "nominal"; + clock-rates = <24000000>; + }; + qcom,cam-sensor0 { cell-index = <5>; compatible = "qcom,cam-sensor"; @@ -183,7 +218,6 @@ regulator-names = "cam_vio", "cam_vana", "cam_vdig", "cam_clk", "cam_bob"; rgltr-cntrl-support; - pwm-switch; rgltr-min-voltage = <1800000 2700000 950000 0 3200000>; rgltr-max-voltage = <1800000 2900000 1150000 0 3960000>; rgltr-load-current = <10000 52000 140000 0 2000000>; @@ -227,7 +261,6 @@ regulator-names = "cam_vio", "cam_vana", "cam_v_custom1", "cam_vdig","cam_clk", "cam_bob"; rgltr-cntrl-support; - pwm-switch; rgltr-min-voltage = <1800000 2700000 1700000 1000000 0 3200000>; rgltr-max-voltage = <1800000 3000000 1900000 1200000 0 3960000>; rgltr-load-current = <5000 68000 74000 805000 0 2000000>; @@ -291,6 +324,90 @@ clock-cntl-level = "nominal"; clock-rates = <24000000>; }; + + qcom,cam-sensor6 { + cell-index = <0>; + compatible = "qcom,cam-sensor"; + csiphy-sd-index = <0>; + sensor-position-roll = <90>; + sensor-position-pitch = <0>; + sensor-position-yaw = <180>; + eeprom-src = <&eeprom_triple_tele>; + actuator-src = <&actuator_triple_tele>; + led-flash-src = <&led_flash_triple_rear_aux>; + cam_vio-supply = <&pm8008j_l3>; + cam_vana-supply = <&pm8008i_l4>; + cam_vdig-supply = <&pm8008i_l2>; + cam_clk-supply = <&cam_cc_titan_top_gdsc>; + cam_bob-supply = <&pm8350c_bob>; + regulator-names = "cam_vio", "cam_vana", "cam_vdig", + "cam_clk", "cam_bob"; + rgltr-cntrl-support; + rgltr-min-voltage = <1800000 2700000 950000 0 3200000>; + rgltr-max-voltage = <1800000 2900000 1150000 0 3960000>; + rgltr-load-current = <10000 52000 140000 0 2000000>; + gpio-no-mux = <0>; + pinctrl-names = "cam_default", "cam_suspend"; + pinctrl-0 = <&cam_sensor_mclk0_active + &cam_sensor_active_rst0>; + pinctrl-1 = <&cam_sensor_mclk0_suspend + &cam_sensor_suspend_rst0>; + gpios = <&tlmm 100 0>, + <&tlmm 17 0>; + gpio-reset = <1>; + gpio-req-tbl-num = <0 1>; + gpio-req-tbl-flags = <1 0>; + gpio-req-tbl-label = "CAMIF_MCLK0", + "CAM_RESET0"; + cci-master = <0>; + status = "ok"; + clocks = <&clock_camcc CAM_CC_MCLK0_CLK>; + clock-names = "cam_clk"; + clock-cntl-level = "nominal"; + clock-rates = <24000000>; + }; + + qcom,cam-sensor7 { + cell-index = <8>; + compatible = "qcom,cam-sensor"; + csiphy-sd-index = <3>; + sensor-position-roll = <90>; + sensor-position-pitch = <0>; + sensor-position-yaw = <180>; + eeprom-src = <&eeprom_ext_rgb0>; + actuator-src = <&actuator_triple_tele>; + led-flash-src = <&led_flash_triple_rear_aux>; + cam_clk-supply = <&cam_cc_titan_top_gdsc>; + regulator-names = "cam_clk"; + rgltr-cntrl-support; + rgltr-min-voltage = <0>; + rgltr-max-voltage = <0>; + rgltr-load-current = <0>; + gpio-no-mux = <0>; + pinctrl-names = "cam_default", "cam_suspend"; + pinctrl-0 = <&cam_sensor_mclk3_active + &cam_sensor_active_rst3 + &cam_sensor_active_ext_regs0>; + pinctrl-1 = <&cam_sensor_mclk3_suspend + &cam_sensor_suspend_rst3 + &cam_sensor_suspend_ext_regs0>; + gpios = <&tlmm 103 0>, + <&tlmm 117 0>, + <&tlmm 28 0>; + gpio-reset = <1>; + gpio-custom1 = <2>; + gpio-req-tbl-num = <0 1 2>; + gpio-req-tbl-flags = <1 0 0>; + gpio-req-tbl-label = "CAMIF_MCLK3", + "CAM_RESET3", + "CAM_EXT_REGS0"; + cci-master = <0>; + status = "ok"; + clocks = <&clock_camcc CAM_CC_MCLK3_CLK>; + clock-names = "cam_clk"; + clock-cntl-level = "nominal"; + clock-rates = <24000000>; + }; }; &cam_cci1 { @@ -406,6 +523,41 @@ clock-rates = <24000000>; }; + eeprom_ext_rgb1: qcom,eeprom8 { + cell-index = <9>; + compatible = "qcom,eeprom"; + cam_clk-supply = <&cam_cc_titan_top_gdsc>; + regulator-names = "cam_clk"; + rgltr-cntrl-support; + rgltr-min-voltage = <0>; + rgltr-max-voltage = <0>; + rgltr-load-current = <0>; + gpio-no-mux = <0>; + pinctrl-names = "cam_default", "cam_suspend"; + pinctrl-0 = <&cam_sensor_mclk4_active + &cam_sensor_active_rst4 + &cam_sensor_active_ext_regs1>; + pinctrl-1 = <&cam_sensor_mclk4_suspend + &cam_sensor_suspend_rst4 + &cam_sensor_suspend_ext_regs1>; + gpios = <&tlmm 105 0>, + <&tlmm 115 0>, + <&tlmm 29 0>; + gpio-reset = <1>; + gpio-custom1 = <2>; + gpio-req-tbl-num = <0 1 2>; + gpio-req-tbl-flags = <1 0 0>; + gpio-req-tbl-label = "CAMIF_MCLK4", + "CAM_RESET4", + "CAM_EXT_REGS1"; + cci-master = <0>; + status = "ok"; + clocks = <&clock_camcc CAM_CC_MCLK4_CLK>; + clock-names = "cam_clk"; + clock-cntl-level = "nominal"; + clock-rates = <24000000>; + }; + qcom,cam-sensor2 { cell-index = <6>; compatible = "qcom,cam-sensor"; @@ -424,7 +576,6 @@ regulator-names = "cam_vio", "cam_vana", "cam_vdig", "cam_clk", "cam_bob"; rgltr-cntrl-support; - pwm-switch; rgltr-min-voltage = <1800000 2700000 950000 0 3200000>; rgltr-max-voltage = <1800000 2900000 1150000 0 3960000>; rgltr-load-current = <3000 52000 257000 0 2000000>; @@ -501,7 +652,6 @@ regulator-names = "cam_vio", "cam_vana", "cam_vdig", "cam_clk", "cam_bob"; rgltr-cntrl-support; - pwm-switch; rgltr-min-voltage = <1800000 2700000 950000 0 3200000>; rgltr-max-voltage = <1800000 2900000 1150000 0 3960000>; rgltr-load-current = <5000 35000 301000 0 2000000>; @@ -525,4 +675,46 @@ clock-cntl-level = "nominal"; clock-rates = <24000000>; }; + + qcom,cam-sensor8 { + cell-index = <9>; + compatible = "qcom,cam-sensor"; + csiphy-sd-index = <4>; + sensor-position-roll = <90>; + sensor-position-pitch = <0>; + sensor-position-yaw = <180>; + eeprom-src = <&eeprom_ext_rgb1>; + actuator-src = <&actuator_triple_uw>; + led-flash-src = <&led_flash_triple_rear_aux>; + cam_clk-supply = <&cam_cc_titan_top_gdsc>; + regulator-names = "cam_clk"; + rgltr-cntrl-support; + rgltr-min-voltage = <0>; + rgltr-max-voltage = <0>; + rgltr-load-current = <0>; + gpio-no-mux = <0>; + pinctrl-names = "cam_default", "cam_suspend"; + pinctrl-0 = <&cam_sensor_mclk4_active + &cam_sensor_active_rst4 + &cam_sensor_active_ext_regs1>; + pinctrl-1 = <&cam_sensor_mclk4_suspend + &cam_sensor_suspend_rst4 + &cam_sensor_suspend_ext_regs1>; + gpios = <&tlmm 105 0>, + <&tlmm 115 0>, + <&tlmm 29 0>; + gpio-reset = <1>; + gpio-custom1 = <2>; + gpio-req-tbl-num = <0 1 2>; + gpio-req-tbl-flags = <1 0 0>; + gpio-req-tbl-label = "CAMIF_MCLK4", + "CAM_RESET4", + "CAM_EXT_REGS1"; + cci-master = <0>; + status = "ok"; + clocks = <&clock_camcc CAM_CC_MCLK4_CLK>; + clock-names = "cam_clk"; + clock-cntl-level = "nominal"; + clock-rates = <24000000>; + }; };