From 4f476ed18b5a8f12e358892ee3be24ec1a0689ed Mon Sep 17 00:00:00 2001 From: Yulei Yao Date: Mon, 31 May 2021 15:15:30 +0800 Subject: [PATCH 1/4] ARM: dts: msm: Add camera definition for blair QRD add camera node on blair QRD CRs-Fixed: 2958083 External Impact: No. Change-Id: Ifb813d75c68f8e44654e813a9c2792f2f71c3789 --- blair-camera-sensor-qrd.dtsi | 426 +++++++++++++++++++++++++++++++++++ 1 file changed, 426 insertions(+) create mode 100644 blair-camera-sensor-qrd.dtsi diff --git a/blair-camera-sensor-qrd.dtsi b/blair-camera-sensor-qrd.dtsi new file mode 100644 index 000000000000..a75dd3c094d9 --- /dev/null +++ b/blair-camera-sensor-qrd.dtsi @@ -0,0 +1,426 @@ +#include + +&soc { + qcom,cam-res-mgr { + compatible = "qcom,cam-res-mgr"; + status = "ok"; + }; +}; + +&cam_cci0 { + actuator_rear: qcom,actuator0 { + cell-index = <0>; + compatible = "qcom,actuator"; + cci-master = <0>; + cam_vaf-supply = <&L5P>; + regulator-names = "cam_vaf"; + rgltr-cntrl-support; + rgltr-min-voltage = <2800000>; + rgltr-max-voltage = <2800000>; + rgltr-load-current = <100000>; + status = "ok"; + }; + + eeprom_rear: qcom,eeprom0 { + cell-index = <0>; + compatible = "qcom,eeprom"; + cam_vio-supply = <&L6P>; + cam_vana-supply = <&L4P>; + cam_vdig-supply = <&L2P>; + cam_clk-supply = <&gcc_camss_top_gdsc>; + cam_vaf-supply = <&L5P>; + regulator-names = "cam_vio", "cam_vana", "cam_vdig", + "cam_clk", "cam_vaf"; + rgltr-cntrl-support; + pwm-switch; + rgltr-min-voltage = <1800000 2880000 1056000 0 2800000>; + rgltr-max-voltage = <1800000 2880000 1056000 0 2800000>; + rgltr-load-current = <120000 80000 1200000 0 100000>; + gpio-no-mux = <0>; + pinctrl-names = "cam_default", "cam_suspend"; + pinctrl-0 = <&cam_sensor_mclk0_active + &cam_sensor_rear0_reset_active>; + pinctrl-1 = <&cam_sensor_mclk0_suspend + &cam_sensor_rear0_reset_suspend>; + gpios = <&tlmm 29 0>, + <&tlmm 34 0>; + gpio-reset = <1>; + gpio-req-tbl-num = <0 1>; + gpio-req-tbl-flags = <1 0>; + gpio-req-tbl-label = "CAMIF_MCLK0", + "CAM_RESET0"; + sensor-mode = <0>; + cci-master = <0>; + status = "ok"; + clocks = <&gcc GCC_CAMSS_MCLK0_CLK>; + clock-names = "cam_clk"; + clock-cntl-level = "turbo"; + clock-rates = <19200000>; + }; + + eeprom_rear_aux2: qcom,eeprom3 { + cell-index = <3>; + compatible = "qcom,eeprom"; + cam_vio-supply = <&L6P>; + cam_vana-supply = <&L3P>; + cam_vdig-supply = <&L1P>; + cam_clk-supply = <&gcc_camss_top_gdsc>; + regulator-names = "cam_vio", "cam_vana", "cam_vdig", + "cam_clk"; + rgltr-cntrl-support; + pwm-switch; + rgltr-min-voltage = <1800000 2800000 1200000 0>; + rgltr-max-voltage = <1800000 2800000 1200000 0>; + rgltr-load-current = <120000 80000 1200000 0>; + gpio-no-mux = <0>; + pinctrl-names = "cam_default", "cam_suspend"; + pinctrl-0 = <&cam_sensor_mclk1_active + &cam_sensor_rear1_reset_active>; + pinctrl-1 = <&cam_sensor_mclk1_suspend + &cam_sensor_rear1_reset_suspend>; + gpios = <&tlmm 30 0>, + <&tlmm 35 0>; + gpio-reset = <1>; + gpio-req-tbl-num = <0 1>; + gpio-req-tbl-flags = <1 0>; + gpio-req-tbl-label = "CAMIF_MCLK1", + "CAM_RESET1"; + sensor-mode = <0>; + cci-master = <1>; + status = "ok"; + clocks = <&gcc GCC_CAMSS_MCLK1_CLK>; + clock-names = "cam_clk"; + clock-cntl-level = "turbo"; + clock-rates = <19200000>; + }; + + /* Rear*/ + qcom,cam-sensor0 { + cell-index = <0>; + compatible = "qcom,cam-sensor"; + csiphy-sd-index = <0>; + sensor-position-roll = <270>; + sensor-position-pitch = <0>; + sensor-position-yaw = <180>; + actuator-src = <&actuator_rear>; + eeprom-src = <&eeprom_rear>; + cam_vio-supply = <&L6P>; + cam_vana-supply = <&L4P>; + cam_vaf-supply = <&L5P>; + cam_vdig-supply = <&L2P>; + cam_clk-supply = <&gcc_camss_top_gdsc>; + regulator-names = "cam_vio", "cam_vana", "cam_vaf", "cam_vdig", + "cam_clk"; + rgltr-cntrl-support; + pwm-switch; + rgltr-min-voltage = <1800000 2880000 2800000 1056000 0>; + rgltr-max-voltage = <1800000 2880000 2800000 1056000 0>; + rgltr-load-current = <120000 80000 100000 1200000 0>; + gpio-no-mux = <0>; + pinctrl-names = "cam_default", "cam_suspend"; + pinctrl-0 = <&cam_sensor_mclk0_active + &cam_sensor_rear0_reset_active>; + pinctrl-1 = <&cam_sensor_mclk0_suspend + &cam_sensor_rear0_reset_suspend>; + gpios = <&tlmm 29 0>, + <&tlmm 34 0>; + gpio-reset = <1>; + gpio-req-tbl-num = <0 1>; + gpio-req-tbl-flags = <1 0>; + gpio-req-tbl-label = "CAMIF_MCLK0", + "CAM_RESET0"; + sensor-mode = <0>; + cci-master = <0>; + status = "ok"; + clocks = <&gcc GCC_CAMSS_MCLK0_CLK>; + clock-names = "cam_clk"; + clock-cntl-level = "turbo"; + clock-rates = <19200000>; + }; + + /*Rear Aux2*/ + qcom,cam-sensor3 { + cell-index = <3>; + compatible = "qcom,cam-sensor"; + csiphy-sd-index = <1>; + sensor-position-roll = <270>; + sensor-position-pitch = <0>; + sensor-position-yaw = <180>; + eeprom-src = <&eeprom_rear_aux2>; + cam_vio-supply = <&L6P>; + cam_vana-supply = <&L3P>; + cam_vdig-supply = <&L1P>; + cam_clk-supply = <&gcc_camss_top_gdsc>; + regulator-names = "cam_vio", "cam_vana", "cam_vdig", + "cam_clk"; + rgltr-cntrl-support; + pwm-switch; + rgltr-min-voltage = <1800000 2800000 1200000 0>; + rgltr-max-voltage = <1800000 2800000 1200000 0>; + rgltr-load-current = <120000 80000 1200000 0>; + gpio-no-mux = <0>; + pinctrl-names = "cam_default", "cam_suspend"; + pinctrl-0 = <&cam_sensor_mclk1_active + &cam_sensor_rear1_reset_active>; + pinctrl-1 = <&cam_sensor_mclk1_suspend + &cam_sensor_rear1_reset_suspend>; + gpios = <&tlmm 30 0>, + <&tlmm 35 0>; + gpio-reset = <1>; + gpio-req-tbl-num = <0 1>; + gpio-req-tbl-flags = <1 0>; + gpio-req-tbl-label = "CAMIF_MCLK1", + "CAM_RESET1"; + sensor-mode = <0>; + cci-master = <1>; + status = "ok"; + clocks = <&gcc GCC_CAMSS_MCLK1_CLK>; + clock-names = "cam_clk"; + clock-cntl-level = "turbo"; + clock-rates = <19200000>; + }; + + /*TPG0*/ + qcom,cam-tpg0 { + cell-index = <4>; + compatible = "qcom,cam-sensor"; + csiphy-sd-index = <4>; + sensor-position-roll = <270>; + sensor-position-pitch = <0>; + sensor-position-yaw = <180>; + gpios = <&tlmm 30 0>, + <&tlmm 35 0>; + gpio-reset = <1>; + gpio-req-tbl-num = <0 1>; + gpio-req-tbl-flags = <1 0>; + gpio-req-tbl-label = "CAMIF_MCLK1", + "CAM_RESET1"; + sensor-mode = <0>; + status = "ok"; + clocks = <&gcc GCC_CAMSS_MCLK1_CLK>; + clock-names = "cam_clk"; + clock-cntl-level = "turbo"; + clock-rates = <19200000>; + }; + + /*TPG1*/ + qcom,cam-tpg1 { + cell-index = <5>; + compatible = "qcom,cam-sensor"; + csiphy-sd-index = <5>; + sensor-position-roll = <270>; + sensor-position-pitch = <0>; + sensor-position-yaw = <180>; + gpios = <&tlmm 30 0>, + <&tlmm 35 0>; + gpio-reset = <1>; + gpio-req-tbl-num = <0 1>; + gpio-req-tbl-flags = <1 0>; + gpio-req-tbl-label = "CAMIF_MCLK1", + "CAM_RESET1"; + sensor-mode = <0>; + status = "ok"; + clocks = <&gcc GCC_CAMSS_MCLK1_CLK>; + clock-names = "cam_clk"; + clock-cntl-level = "turbo"; + clock-rates = <19200000>; + }; + + /*TPG2*/ + qcom,cam-tpg2 { + cell-index = <6>; + compatible = "qcom,cam-sensor"; + csiphy-sd-index = <6>; + sensor-position-roll = <270>; + sensor-position-pitch = <0>; + sensor-position-yaw = <180>; + gpios = <&tlmm 30 0>, + <&tlmm 35 0>; + gpio-reset = <1>; + gpio-req-tbl-num = <0 1>; + gpio-req-tbl-flags = <1 0>; + gpio-req-tbl-label = "CAMIF_MCLK1", + "CAM_RESET1"; + sensor-mode = <0>; + status = "ok"; + clocks = <&gcc GCC_CAMSS_MCLK1_CLK>; + clock-names = "cam_clk"; + clock-cntl-level = "turbo"; + clock-rates = <19200000>; + }; + +}; + +&cam_cci1 { + actuator_rear_aux: qcom,actuator1 { + cell-index = <1>; + compatible = "qcom,actuator"; + cci-master= <0>; + cam_vaf-supply = <&L5P>; + regulator-names = "cam_vaf"; + rgltr-cntrl-support; + rgltr-min-voltage = <2800000>; + rgltr-max-voltage = <2800000>; + rgltr-load-current = <100000>; + status = "ok"; + }; + + eeprom_front: qcom,eeprom2 { + cell-index = <2>; + compatible = "qcom,eeprom"; + cam_vio-supply = <&L6P>; + cam_vana-supply = <&L3P>; + cam_vdig-supply = <&L2P>; + cam_clk-supply = <&gcc_camss_top_gdsc>; + regulator-names = "cam_vio", "cam_vana", "cam_vdig", + "cam_clk"; + rgltr-cntrl-support; + pwm-switch; + rgltr-min-voltage = <1800000 2800000 1056000 0>; + rgltr-max-voltage = <1800000 2800000 1056000 0>; + rgltr-load-current = <0 80000 105000 0>; + gpio-no-mux = <0>; + pinctrl-names = "cam_default", "cam_suspend"; + pinctrl-0 = <&cam_sensor_mclk3_active + &cam_sensor_front0_reset_active>; + pinctrl-1 = <&cam_sensor_mclk3_suspend + &cam_sensor_front0_reset_suspend>; + gpios = <&tlmm 32 0>, + <&tlmm 37 0>; + gpio-reset = <1>; + gpio-req-tbl-num = <0 1>; + gpio-req-tbl-flags = <1 0>; + gpio-req-tbl-label = "CAMIF_MCLK3", + "CAM_RESET3"; + sensor-mode = <0>; + cci-master = <0>; + status = "ok"; + clocks = <&gcc GCC_CAMSS_MCLK3_CLK>; + clock-names = "cam_clk"; + clock-cntl-level = "turbo"; + clock-rates = <24000000>; + }; + + eeprom_rear_aux: qcom,eeprom1 { + cell-index = <1>; + compatible = "qcom,eeprom"; + cam_vio-supply = <&L6P>; + cam_vana-supply = <&L7P>; + cam_vdig-supply = <&L1P>; + cam_clk-supply = <&gcc_camss_top_gdsc>; + cam_vaf-supply = <&L5P>; + regulator-names = "cam_vio", "cam_vana", "cam_vdig", + "cam_clk", "cam_vaf"; + rgltr-cntrl-support; + pwm-switch; + rgltr-min-voltage = <1800000 2800000 1200000 0 2800000>; + rgltr-max-voltage = <1800000 2800000 1200000 0 2800000>; + rgltr-load-current = <120000 80000 1200000 0 100000>; + gpio-no-mux = <0>; + pinctrl-names = "cam_default", "cam_suspend"; + pinctrl-0 = <&cam_sensor_mclk2_active + &cam_sensor_rear2_reset_active>; + pinctrl-1 = <&cam_sensor_mclk2_suspend + &cam_sensor_rear2_reset_suspend>; + gpios = <&tlmm 31 0>, + <&tlmm 36 0>; + gpio-reset = <1>; + gpio-req-tbl-num = <0 1>; + gpio-req-tbl-flags = <1 0>; + gpio-req-tbl-label = "CAMIF_MCLK2", + "CAM_RESET2"; + sensor-mode = <0>; + cci-master = <0>; + status = "ok"; + clocks = <&gcc GCC_CAMSS_MCLK2_CLK>; + clock-names = "cam_clk"; + clock-cntl-level = "turbo"; + clock-rates = <19200000>; + }; + + /*Front*/ + qcom,cam-sensor2 { + cell-index = <2>; + compatible = "qcom,cam-sensor"; + csiphy-sd-index = <3>; + sensor-position-roll = <270>; + sensor-position-pitch = <0>; + sensor-position-yaw = <0>; + eeprom-src = <&eeprom_front>; + cam_vio-supply = <&L6P>; + cam_vana-supply = <&L3P>; + cam_vdig-supply = <&L2P>; + cam_clk-supply = <&gcc_camss_top_gdsc>; + regulator-names = "cam_vio", "cam_vana", "cam_vdig", + "cam_clk"; + rgltr-cntrl-support; + pwm-switch; + rgltr-min-voltage = <1800000 2800000 1056000 0>; + rgltr-max-voltage = <1800000 2800000 1056000 0>; + rgltr-load-current = <0 80000 105000 0>; + gpio-no-mux = <0>; + pinctrl-names = "cam_default", "cam_suspend"; + pinctrl-0 = <&cam_sensor_mclk3_active + &cam_sensor_front0_reset_active>; + pinctrl-1 = <&cam_sensor_mclk3_suspend + &cam_sensor_front0_reset_suspend>; + gpios = <&tlmm 32 0>, + <&tlmm 37 0>; + gpio-reset = <1>; + gpio-req-tbl-num = <0 1>; + gpio-req-tbl-flags = <1 0>; + gpio-req-tbl-label = "CAMIF_MCLK3", + "CAM_RESET3"; + sensor-mode = <0>; + cci-master = <0>; + status = "ok"; + clocks = <&gcc GCC_CAMSS_MCLK3_CLK>; + clock-names = "cam_clk"; + clock-cntl-level = "turbo"; + clock-rates = <24000000>; + }; + + /*Rear Aux*/ + qcom,cam-sensor1 { + cell-index = <1>; + compatible = "qcom,cam-sensor"; + csiphy-sd-index = <2>; + sensor-position-roll = <270>; + sensor-position-pitch = <0>; + sensor-position-yaw = <180>; + actuator-src = <&actuator_rear_aux>; + eeprom-src = <&eeprom_rear_aux>; + cam_vio-supply = <&L6P>; + cam_vana-supply = <&L7P>; + cam_vdig-supply = <&L1P>; + cam_clk-supply = <&gcc_camss_top_gdsc>; + cam_vaf-supply = <&L5P>; + regulator-names = "cam_vio", "cam_vana", "cam_vdig", + "cam_clk", "cam_vaf"; + rgltr-cntrl-support; + pwm-switch; + rgltr-min-voltage = <1800000 2800000 1200000 0 2800000>; + rgltr-max-voltage = <1800000 2800000 1200000 0 2800000>; + rgltr-load-current = <120000 80000 1200000 0 100000>; + gpio-no-mux = <0>; + pinctrl-names = "cam_default", "cam_suspend"; + pinctrl-0 = <&cam_sensor_mclk2_active + &cam_sensor_rear2_reset_active>; + pinctrl-1 = <&cam_sensor_mclk2_suspend + &cam_sensor_rear2_reset_suspend>; + gpios = <&tlmm 31 0>, + <&tlmm 36 0>; + gpio-reset = <1>; + gpio-req-tbl-num = <0 1>; + gpio-req-tbl-flags = <1 0>; + gpio-req-tbl-label = "CAMIF_MCLK2", + "CAM_RESET2"; + sensor-mode = <0>; + cci-master = <0>; + status = "ok"; + clocks = <&gcc GCC_CAMSS_MCLK2_CLK>; + clock-names = "cam_clk"; + clock-cntl-level = "turbo"; + clock-rates = <19200000>; + }; +}; From 7ab1a44c96fbf981e45cbe5361d43e479726bc31 Mon Sep 17 00:00:00 2001 From: Om Parkash Date: Wed, 2 Jun 2021 18:23:28 +0530 Subject: [PATCH 2/4] ARM: dts: msm: Add correct voltages for sensor & phy There are voltage limit changes merged recently in regulator DTSi file so updating related values in camera DTSi: Add VAF Supply in camera sensor0 node. Correct CSI PHY regulator voltage values. Correct Sensor1 VDI voltage value. CRs-Fixed: 2948896 Change-Id: Ie93412a51eb06bf56d8d70699d74e108aad18fb9 --- monaco-camera-sensor-idp.dtsi | 21 ++++----- monaco-camera.dtsi | 87 ++++++++++++++++++----------------- 2 files changed, 54 insertions(+), 54 deletions(-) diff --git a/monaco-camera-sensor-idp.dtsi b/monaco-camera-sensor-idp.dtsi index 3f5d2ef09b65..4779882c0764 100644 --- a/monaco-camera-sensor-idp.dtsi +++ b/monaco-camera-sensor-idp.dtsi @@ -14,8 +14,8 @@ cam_vaf-supply = <&L7C>; regulator-names = "cam_vaf"; rgltr-cntrl-support; - rgltr-min-voltage = <2800000>; - rgltr-max-voltage = <2800000>; + rgltr-min-voltage = <3000000>; + rgltr-max-voltage = <3000000>; rgltr-load-current = <100000>; status = "ok"; }; @@ -26,15 +26,14 @@ cam_vio-supply = <&L3C>; cam_vana-supply = <&L5C>; cam_vdig-supply = <&L1C>; - cam_vaf-supply = <&L7C>; cam_clk-supply = <&gcc_camss_top_gdsc>; regulator-names = "cam_vio", "cam_vana", "cam_vdig", - "cam_clk", "cam_vaf"; + "cam_clk"; rgltr-cntrl-support; pwm-switch; - rgltr-min-voltage = <1800000 2800000 1200000 0 2800000>; - rgltr-max-voltage = <1800000 2800000 1200000 0 2800000>; - rgltr-load-current = <2500 50000 180000 0 125000>; + rgltr-min-voltage = <1800000 2800000 1200000 0>; + rgltr-max-voltage = <1800000 2800000 1200000 0>; + rgltr-load-current = <2500 50000 180000 0>; gpio-no-mux = <0>; pinctrl-names = "cam_default", "cam_suspend"; pinctrl-0 = <&cam_sensor_mclk0_active @@ -98,7 +97,7 @@ cell-index = <0>; compatible = "qcom,cam-sensor"; csiphy-sd-index = <0>; - sensor-position-roll = <270>; + sensor-position-roll = <90>; sensor-position-pitch = <0>; sensor-position-yaw = <180>; actuator-src = <&actuator_rear>; @@ -113,7 +112,7 @@ pwm-switch; rgltr-min-voltage = <1800000 2800000 1200000 0>; rgltr-max-voltage = <1800000 2800000 1200000 0>; - rgltr-load-current = <2500 50000 180000 0 125000>; + rgltr-load-current = <2500 50000 180000 0>; gpio-no-mux = <0>; pinctrl-names = "cam_default", "cam_suspend"; pinctrl-0 = <&cam_sensor_mclk0_active @@ -153,8 +152,8 @@ "cam_clk"; rgltr-cntrl-support; pwm-switch; - rgltr-min-voltage = <1800000 2800000 1056000 0>; - rgltr-max-voltage = <1800000 2800000 1056000 0>; + rgltr-min-voltage = <1800000 2800000 1200000 0>; + rgltr-max-voltage = <1800000 2800000 1200000 0>; rgltr-load-current = <3000 35000 80000 0>; gpio-no-mux = <0>; pinctrl-names = "cam_default", "cam_suspend"; diff --git a/monaco-camera.dtsi b/monaco-camera.dtsi index 907e38a316b8..eaeb0b95062c 100644 --- a/monaco-camera.dtsi +++ b/monaco-camera.dtsi @@ -6,6 +6,11 @@ status = "ok"; }; + qcom,cam-sync { + compatible = "qcom,cam-sync"; + status = "ok"; + }; + cam_csiphy0: qcom,csiphy0 { cell-index = <0>; compatible = "qcom,csiphy-v1.2.3", "qcom,csiphy"; @@ -20,9 +25,9 @@ mipi-csi-vdd1-supply = <&L12A>; mipi-csi-vdd2-supply = <&L9A>; rgltr-cntrl-support; - rgltr-min-voltage = <0 0 900000 1200000>; - rgltr-max-voltage = <0 0 900000 1200000>; - rgltr-load-current = <0 0 126000 74000>; + rgltr-min-voltage = <0 904000 1232000>; + rgltr-max-voltage = <0 904000 1232000>; + rgltr-load-current = <0 126000 74000>; clocks = <&gcc GCC_CAMSS_TFE_CPHY_RX_CLK_SRC>, <&gcc GCC_CAMSS_CPHY_0_CLK>, <&gcc GCC_CAMSS_CSI0PHYTIMER_CLK_SRC>, @@ -34,7 +39,7 @@ src-clock-name = "csi0phytimer_clk_src"; clock-cntl-level = "lowsvs", "svs", "turbo"; clock-rates = - <19200000 0 19200000 0>, + <19200000 0 19200000 0>, <256000000 0 300000000 0>, <384000000 0 300000000 0>; status = "ok"; @@ -54,9 +59,9 @@ mipi-csi-vdd1-supply = <&L12A>; mipi-csi-vdd2-supply = <&L9A>; rgltr-cntrl-support; - rgltr-min-voltage = <0 0 900000 1200000>; - rgltr-max-voltage = <0 0 900000 1200000>; - rgltr-load-current = <0 0 126000 74000>; + rgltr-min-voltage = <0 904000 1232000>; + rgltr-max-voltage = <0 904000 1232000>; + rgltr-load-current = <0 126000 74000>; clocks = <&gcc GCC_CAMSS_TFE_CPHY_RX_CLK_SRC>, <&gcc GCC_CAMSS_CPHY_1_CLK>, <&gcc GCC_CAMSS_CSI1PHYTIMER_CLK_SRC>, @@ -68,7 +73,7 @@ src-clock-name = "csi1phytimer_clk_src"; clock-cntl-level = "lowsvs", "svs", "turbo"; clock-rates = - <19200000 0 19200000 0>, + <19200000 0 19200000 0>, <256000000 0 300000000 0>, <384000000 0 300000000 0>; status = "ok"; @@ -253,7 +258,6 @@ regulator-names = "camss-vdd"; camss-vdd-supply = <&gcc_camss_top_gdsc>; clock-names = - "gcc_camss_ahb_clk", "gcc_camss_top_ahb_clk", "gcc_camss_top_ahb_clk_src", "gcc_camss_axi_clk", @@ -261,7 +265,6 @@ "gcc_camss_nrt_axi_clk", "gcc_camss_rt_axi_clk"; clocks = - <&gcc GCC_CAMERA_AHB_CLK>, <&gcc GCC_CAMSS_TOP_AHB_CLK>, <&gcc GCC_CAMSS_TOP_AHB_CLK_SRC>, <&gcc GCC_CAMSS_AXI_CLK>, @@ -270,15 +273,12 @@ <&gcc GCC_CAMSS_RT_AXI_CLK>; src-clock-name = "gcc_camss_axi_clk_src"; clock-rates = - <0 0 0 0 0 0 0>, - <0 0 80000000 0 19200000 0 0>, - <0 0 80000000 0 150000000 0 0>, - <0 0 80000000 0 200000000 0 0>, - <0 0 80000000 0 300000000 0 0>, - <0 0 80000000 0 300000000 0 0>, - <0 0 80000000 0 300000000 0 0>; - clock-cntl-level = "suspend", "minsvs", "lowsvs", "svs", - "svs_l1", "nominal", "turbo"; + <0 0 0 0 0 0>, + <0 19200000 0 19200000 0 0>, + <0 80000000 0 150000000 0 0>, + <0 80000000 0 300000000 0 0>, + <0 80000000 0 300000000 0 0>; + clock-cntl-level = "suspend", "lowsvs", "svs", "nominal", "turbo"; qcom,cx-ipeak-gpu-limit = <921600000>; control-camnoc-axi-clk; camnoc-bus-width = <32>; @@ -502,10 +502,9 @@ <&gcc GCC_CAMSS_OPE_CLK_SRC>, <&gcc GCC_CAMSS_OPE_CLK>; clock-rates = <0 0 0>, - <0 0 0>, <0 0 0>, <0 0 0>; - clock-cntl-level = "lowsvs", "svs", "svs_l1", "turbo"; + clock-cntl-level = "lowsvs", "svs", "turbo"; cdm-client-names = "ope"; config-fifo; fifo-depths = <64 64 64 64>; @@ -545,10 +544,11 @@ <&gcc GCC_CAMSS_TFE_0_CLK_SRC>, <&gcc GCC_CAMSS_TFE_0_CLK>; clock-rates = - <240000000 0 0 0 256000000 0>, - <384000000 0 0 0 460800000 0>, - <426400000 0 0 0 576000000 0>; - clock-cntl-level = "svs", "svs_l1", "turbo"; + <19200000 0 19200000 0 19200000 0>, + <256000000 0 256000000 0 288000000 0>, + <384000000 0 384000000 0 576000000 0>, + <426400000 0 384000000 0 576000000 0>; + clock-cntl-level = "lowsvs", "svs", "nominal", "turbo"; src-clock-name = "tfe_csid_clk_src"; clock-control-debugfs = "true"; ppi-enable; @@ -572,10 +572,10 @@ <&gcc GCC_CAMSS_TFE_0_CLK_SRC>, <&gcc GCC_CAMSS_TFE_0_CLK>; clock-rates = - <256000000 0>, - <460800000 0>, + <19200000 0>, + <288000000 0>, <576000000 0>; - clock-cntl-level = "svs", "svs_l1", "turbo"; + clock-cntl-level = "lowsvs", "svs", "turbo"; src-clock-name = "tfe_clk_src"; clock-control-debugfs = "true"; cam_hw_pid = <4>; @@ -609,10 +609,11 @@ <&gcc GCC_CAMSS_TFE_1_CLK_SRC>, <&gcc GCC_CAMSS_TFE_1_CLK>; clock-rates = - <240000000 0 240000000 0 256000000 0>, - <384000000 0 341333333 0 460800000 0>, - <426400000 0 384000000 0 576000000 0>; - clock-cntl-level = "svs", "svs_l1", "turbo"; + <19200000 0 19200000 0 19200000 0>, + <256000000 0 256000000 0 288000000 0>, + <384000000 0 384000000 0 576000000 0>, + <426000000 0 384000000 0 576000000 0>; + clock-cntl-level = "lowsvs", "svs", "nominal", "turbo"; src-clock-name = "tfe_csid_clk_src"; clock-control-debugfs = "true"; ppi-enable; @@ -636,10 +637,10 @@ <&gcc GCC_CAMSS_TFE_1_CLK_SRC>, <&gcc GCC_CAMSS_TFE_1_CLK>; clock-rates = - <256000000 0>, - <460800000 0>, + <19200000 0>, + <288000000 0>, <576000000 0>; - clock-cntl-level = "svs", "svs_l1", "turbo"; + clock-cntl-level = "lowsvs", "svs", "turbo"; src-clock-name = "tfe_clk_src"; clock-control-debugfs = "true"; cam_hw_pid = <5>; @@ -694,10 +695,10 @@ <&gcc GCC_CAMSS_TFE_0_CPHY_RX_CLK>, <&gcc GCC_CAMSS_CPHY_0_CLK>; clock-rates = - <240000000 0 0>, - <341333333 0 0>, + <19200000 0 0>, + <256000000 0 0>, <384000000 0 0>; - clock-cntl-level = "svs", "svs_l1", "turbo"; + clock-cntl-level = "lowsvs", "svs", "turbo"; src-clock-name = "cphy_rx_clk_src"; clock-control-debugfs = "false"; status = "ok"; @@ -721,10 +722,10 @@ <&gcc GCC_CAMSS_TFE_1_CPHY_RX_CLK>, <&gcc GCC_CAMSS_CPHY_1_CLK>; clock-rates = - <240000000 0 0>, - <341333333 0 0>, + <19200000 0 0>, + <256000000 0 0>, <384000000 0 0>; - clock-cntl-level = "svs", "svs_l1", "turbo"; + clock-cntl-level = "lowsvs", "svs", "turbo"; src-clock-name = "cphy_rx_clk_src"; clock-control-debugfs = "false"; status = "ok"; @@ -770,11 +771,11 @@ <&gcc GCC_CAMSS_OPE_CLK_SRC>, <&gcc GCC_CAMSS_OPE_CLK>; clock-rates = + <19200000 0 19200000 0>, <171428571 0 200000000 0>, - <171428571 0 266600000 0>, <240000000 0 465000000 0>, <240000000 0 580000000 0>; - clock-cntl-level = "svs", "svs_l1", "nominal", "turbo"; + clock-cntl-level = "lowsvs", "svs", "nominal", "turbo"; src-clock-name = "ope_clk_src"; status = "ok"; }; From f3878fad6099bd0beb16438f169ef0c3e8bfc2a1 Mon Sep 17 00:00:00 2001 From: shiwgupt Date: Thu, 17 Jun 2021 12:58:26 +0530 Subject: [PATCH 3/4] ARM: dts: msm: Add shared gpio node for I2C flash for blair This change adds support in device-tree for sharing gpio among multiple nodes. Gpio sharing among nodes enables each camera to have its own unique I2C flash node. CRs-Fixed: 2967922 Change-Id: I198c7141eaf9a8ac0ccde023ad6898138abe2a6c --- blair-camera-sensor-cdp.dtsi | 54 ++++++++++++++++++++++++++++++++++-- blair-camera-sensor-mtp.dtsi | 54 ++++++++++++++++++++++++++++++++++-- 2 files changed, 104 insertions(+), 4 deletions(-) diff --git a/blair-camera-sensor-cdp.dtsi b/blair-camera-sensor-cdp.dtsi index 99a9ee91672f..9791ae7279bd 100644 --- a/blair-camera-sensor-cdp.dtsi +++ b/blair-camera-sensor-cdp.dtsi @@ -5,6 +5,10 @@ qcom,cam-res-mgr { compatible = "qcom,cam-res-mgr"; status = "ok"; + gpios-shared = <407>; + pinctrl-names = "cam_res_mgr_default", "cam_res_mgr_suspend"; + pinctrl-0 = <&cam_flash_hwen_active>; + pinctrl-1 = <&cam_flash_hwen_suspend>; }; }; @@ -118,6 +122,52 @@ status = "ok"; }; + led_flash_rear_aux: qcom,camera-flash@1 { + cell-index = <1>; + compatible = "qcom,camera-flash"; + cci-master = <1>; + flash-type = ; + cam_vio-supply = <&L6P>; + regulator-names = "cam_vio"; + rgltr-cntrl-support; + rgltr-min-voltage = <1800000>; + rgltr-max-voltage = <1800000>; + rgltr-load-current = <120000>; + gpio-no-mux = <0>; + pinctrl-names = "cam_default", "cam_suspend"; + pinctrl-0 = <&cam_flash_hwen_active>; + pinctrl-1 = <&cam_flash_hwen_suspend>; + gpios = <&tlmm 52 0>; + gpio-custom1 = <0>; + gpio-req-tbl-num = <0>; + gpio-req-tbl-flags = <0>; + gpio-req-tbl-label = "CUSTOM_GPIO1"; + status = "ok"; + }; + + led_flash_rear_aux2: qcom,camera-flash@2 { + cell-index = <2>; + compatible = "qcom,camera-flash"; + cci-master = <1>; + flash-type = ; + cam_vio-supply = <&L6P>; + regulator-names = "cam_vio"; + rgltr-cntrl-support; + rgltr-min-voltage = <1800000>; + rgltr-max-voltage = <1800000>; + rgltr-load-current = <120000>; + gpio-no-mux = <0>; + pinctrl-names = "cam_default", "cam_suspend"; + pinctrl-0 = <&cam_flash_hwen_active>; + pinctrl-1 = <&cam_flash_hwen_suspend>; + gpios = <&tlmm 52 0>; + gpio-custom1 = <0>; + gpio-req-tbl-num = <0>; + gpio-req-tbl-flags = <0>; + gpio-req-tbl-label = "CUSTOM_GPIO1"; + status = "ok"; + }; + /* Rear*/ qcom,cam-sensor0 { cell-index = <0>; @@ -171,7 +221,7 @@ sensor-position-roll = <270>; sensor-position-pitch = <0>; sensor-position-yaw = <180>; - led-flash-src = <&led_flash_rear>; + led-flash-src = <&led_flash_rear_aux2>; eeprom-src = <&eeprom_rear_aux2>; cam_vio-supply = <&L6P>; cam_vana-supply = <&L3P>; @@ -345,7 +395,7 @@ sensor-position-pitch = <0>; sensor-position-yaw = <180>; actuator-src = <&actuator_rear_aux>; - led-flash-src = <&led_flash_rear>; + led-flash-src = <&led_flash_rear_aux>; eeprom-src = <&eeprom_rear_aux>; cam_vio-supply = <&L6P>; cam_vana-supply = <&L7P>; diff --git a/blair-camera-sensor-mtp.dtsi b/blair-camera-sensor-mtp.dtsi index 494e78a25ff1..8c387e2ef242 100644 --- a/blair-camera-sensor-mtp.dtsi +++ b/blair-camera-sensor-mtp.dtsi @@ -5,6 +5,10 @@ qcom,cam-res-mgr { compatible = "qcom,cam-res-mgr"; status = "ok"; + gpios-shared = <407>; + pinctrl-names = "cam_res_mgr_default", "cam_res_mgr_suspend"; + pinctrl-0 = <&cam_flash_hwen_active>; + pinctrl-1 = <&cam_flash_hwen_suspend>; }; }; @@ -118,6 +122,52 @@ status = "ok"; }; + led_flash_rear_aux: qcom,camera-flash@1 { + cell-index = <1>; + compatible = "qcom,camera-flash"; + cci-master = <1>; + flash-type = ; + cam_vio-supply = <&L6P>; + regulator-names = "cam_vio"; + rgltr-cntrl-support; + rgltr-min-voltage = <1800000>; + rgltr-max-voltage = <1800000>; + rgltr-load-current = <120000>; + gpio-no-mux = <0>; + pinctrl-names = "cam_default", "cam_suspend"; + pinctrl-0 = <&cam_flash_hwen_active>; + pinctrl-1 = <&cam_flash_hwen_suspend>; + gpios = <&tlmm 52 0>; + gpio-custom1 = <0>; + gpio-req-tbl-num = <0>; + gpio-req-tbl-flags = <0>; + gpio-req-tbl-label = "CUSTOM_GPIO1"; + status = "ok"; + }; + + led_flash_rear_aux2: qcom,camera-flash@2 { + cell-index = <2>; + compatible = "qcom,camera-flash"; + cci-master = <1>; + flash-type = ; + cam_vio-supply = <&L6P>; + regulator-names = "cam_vio"; + rgltr-cntrl-support; + rgltr-min-voltage = <1800000>; + rgltr-max-voltage = <1800000>; + rgltr-load-current = <120000>; + gpio-no-mux = <0>; + pinctrl-names = "cam_default", "cam_suspend"; + pinctrl-0 = <&cam_flash_hwen_active>; + pinctrl-1 = <&cam_flash_hwen_suspend>; + gpios = <&tlmm 52 0>; + gpio-custom1 = <0>; + gpio-req-tbl-num = <0>; + gpio-req-tbl-flags = <0>; + gpio-req-tbl-label = "CUSTOM_GPIO1"; + status = "ok"; + }; + /* Rear*/ qcom,cam-sensor0 { cell-index = <0>; @@ -171,7 +221,7 @@ sensor-position-roll = <270>; sensor-position-pitch = <0>; sensor-position-yaw = <180>; - led-flash-src = <&led_flash_rear>; + led-flash-src = <&led_flash_rear_aux2>; eeprom-src = <&eeprom_rear_aux2>; cam_vio-supply = <&L6P>; cam_vana-supply = <&L3P>; @@ -415,7 +465,7 @@ sensor-position-pitch = <0>; sensor-position-yaw = <180>; actuator-src = <&actuator_rear_aux>; - led-flash-src = <&led_flash_rear>; + led-flash-src = <&led_flash_rear_aux>; eeprom-src = <&eeprom_rear_aux>; cam_vio-supply = <&L6P>; cam_vana-supply = <&L7P>; From 8b15ce9ca2c56f2787c34f7bd6bc28e9fbae63f7 Mon Sep 17 00:00:00 2001 From: Yulei Yao Date: Sun, 20 Jun 2021 00:00:18 +0800 Subject: [PATCH 4/4] ARM: dts: msm: Add flash node to Camera on Blair QRD Add flash to camera for Blair QRD CRs-Fixed: 2958083 External Impact: No. Change-Id: Ia2c9971fac776c0cc0861c624854557c34d6773b --- blair-camera-sensor-qrd.dtsi | 77 ++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) diff --git a/blair-camera-sensor-qrd.dtsi b/blair-camera-sensor-qrd.dtsi index a75dd3c094d9..fc513998c44c 100644 --- a/blair-camera-sensor-qrd.dtsi +++ b/blair-camera-sensor-qrd.dtsi @@ -1,9 +1,14 @@ #include +#include &soc { qcom,cam-res-mgr { compatible = "qcom,cam-res-mgr"; status = "ok"; + gpios-shared = <407>; + pinctrl-names = "cam_res_mgr_default", "cam_res_mgr_suspend"; + pinctrl-0 = <&cam_flash_hwen_active>; + pinctrl-1 = <&cam_flash_hwen_suspend>; }; }; @@ -94,6 +99,75 @@ clock-rates = <19200000>; }; + led_flash_rear: qcom,camera-flash@0 { + cell-index = <0>; + compatible = "qcom,camera-flash"; + cci-master = <1>; + flash-type = ; + cam_vio-supply = <&L6P>; + regulator-names = "cam_vio"; + rgltr-cntrl-support; + rgltr-min-voltage = <1800000>; + rgltr-max-voltage = <1800000>; + rgltr-load-current = <120000>; + gpio-no-mux = <0>; + pinctrl-names = "cam_default", "cam_suspend"; + pinctrl-0 = <&cam_flash_hwen_active>; + pinctrl-1 = <&cam_flash_hwen_suspend>; + gpios = <&tlmm 52 0>; + gpio-custom1 = <0>; + gpio-req-tbl-num = <0>; + gpio-req-tbl-flags = <0>; + gpio-req-tbl-label = "CUSTOM_GPIO1"; + status = "ok"; + }; + + led_flash_rear_aux: qcom,camera-flash@1 { + cell-index = <1>; + compatible = "qcom,camera-flash"; + cci-master = <1>; + flash-type = ; + cam_vio-supply = <&L6P>; + regulator-names = "cam_vio"; + rgltr-cntrl-support; + rgltr-min-voltage = <1800000>; + rgltr-max-voltage = <1800000>; + rgltr-load-current = <120000>; + gpio-no-mux = <0>; + pinctrl-names = "cam_default", "cam_suspend"; + pinctrl-0 = <&cam_flash_hwen_active>; + pinctrl-1 = <&cam_flash_hwen_suspend>; + gpios = <&tlmm 52 0>; + gpio-custom1 = <0>; + gpio-req-tbl-num = <0>; + gpio-req-tbl-flags = <0>; + gpio-req-tbl-label = "CUSTOM_GPIO1"; + status = "ok"; + }; + + led_flash_rear_aux2: qcom,camera-flash@2 { + cell-index = <2>; + compatible = "qcom,camera-flash"; + cci-master = <1>; + flash-type = ; + cam_vio-supply = <&L6P>; + regulator-names = "cam_vio"; + rgltr-cntrl-support; + rgltr-min-voltage = <1800000>; + rgltr-max-voltage = <1800000>; + rgltr-load-current = <120000>; + gpio-no-mux = <0>; + pinctrl-names = "cam_default", "cam_suspend"; + pinctrl-0 = <&cam_flash_hwen_active>; + pinctrl-1 = <&cam_flash_hwen_suspend>; + gpios = <&tlmm 52 0>; + gpio-custom1 = <0>; + gpio-req-tbl-num = <0>; + gpio-req-tbl-flags = <0>; + gpio-req-tbl-label = "CUSTOM_GPIO1"; + status = "ok"; + }; + /* Rear*/ qcom,cam-sensor0 { cell-index = <0>; @@ -104,6 +178,7 @@ sensor-position-yaw = <180>; actuator-src = <&actuator_rear>; eeprom-src = <&eeprom_rear>; + led-flash-src = <&led_flash_rear>; cam_vio-supply = <&L6P>; cam_vana-supply = <&L4P>; cam_vaf-supply = <&L5P>; @@ -147,6 +222,7 @@ sensor-position-pitch = <0>; sensor-position-yaw = <180>; eeprom-src = <&eeprom_rear_aux2>; + led-flash-src = <&led_flash_rear_aux2>; cam_vio-supply = <&L6P>; cam_vana-supply = <&L3P>; cam_vdig-supply = <&L1P>; @@ -390,6 +466,7 @@ sensor-position-yaw = <180>; actuator-src = <&actuator_rear_aux>; eeprom-src = <&eeprom_rear_aux>; + led-flash-src = <&led_flash_rear_aux>; cam_vio-supply = <&L6P>; cam_vana-supply = <&L7P>; cam_vdig-supply = <&L1P>;