From: David Heidelberg <[email protected]>

Main rear camera uses Dongwoon DW9714V actuator. Add regulator and
actuator node.

Since the actuator sits on the CCI I2C bus, whose 1.8V side is fed by
vreg_lvs1a_1p8 and there is no place to describe that, keep it always-on
for now, until bus-supply exists.

Signed-off-by: David Heidelberg <[email protected]>
---
 arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts | 48 +++++++++++++++++++++++
 1 file changed, 48 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts 
b/arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts
index e31c784eff3de..358ce1930d4e1 100644
--- a/arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts
+++ b/arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts
@@ -81,16 +81,34 @@ ramoops: ramoops@b0000000 {
        battery: battery {
                compatible = "simple-battery";
 
                charge-full-design-microamp-hours = <3850000>;
                voltage-min-design-microvolt = <3600000>;
                voltage-max-design-microvolt = <4400000>;
        };
 
+       /* SGM2036-2.8YUDH4G/TR */
+       cam_main_af_2p8: regulator-cam-main-af-2p8 {
+               compatible = "regulator-fixed";
+
+               regulator-name = "cam_main_af_2p8";
+               regulator-min-microvolt = <2800000>;
+               regulator-max-microvolt = <2800000>;
+               regulator-enable-ramp-delay = <100>;
+
+               gpio = <&tlmm 8 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+
+               pinctrl-0 = <&cam_main_af_default_state>;
+               pinctrl-names = "default";
+
+               vin-supply = <&vreg_bob>;
+       };
+
        vph_pwr: vph-pwr-regulator {
                compatible = "regulator-fixed";
                regulator-name = "vph_pwr";
                regulator-min-microvolt = <3700000>;
                regulator-max-microvolt = <3700000>;
        };
 
        vreg_s4a_1p8: pm8998-smps4 {
@@ -403,16 +421,23 @@ vreg_l28a_3p0: ldo28 {
                        regulator-min-microvolt = <2856000>;
                        regulator-max-microvolt = <3008000>;
                        regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
                };
 
                vreg_lvs1a_1p8: lvs1 {
                        regulator-min-microvolt = <1800000>;
                        regulator-max-microvolt = <1800000>;
+
+                       /*
+                        * Supplies the 1.8V side of the CCI I2C level
+                        * shifter; keep enabled until a generic
+                        * bus-supply property exists.
+                        */
+                       regulator-always-on;
                };
 
                vreg_lvs2a_1p8: lvs2 {
                        regulator-min-microvolt = <1800000>;
                        regulator-max-microvolt = <1800000>;
                };
        };
 
@@ -441,16 +466,32 @@ regulators-2 {
 
                vreg_s3c_0p6: smps3 {
                        regulator-min-microvolt = <600000>;
                        regulator-max-microvolt = <600000>;
                };
        };
 };
 
+&cci {
+       status = "okay";
+};
+
+&cci_i2c0 {
+       /* main camera actuator */
+       camera-lens@c {
+               compatible = "dongwoon,dw9714v",
+                            "dongwoon,dw9714a",
+                            "dongwoon,dw9714";
+               reg = <0x0c>;
+
+               vcc-supply = <&cam_main_af_2p8>;
+       };
+};
+
 &cdsp_pas {
        firmware-name = "qcom/sdm845/SHIFT/axolotl/cdsp.mbn";
 
        status = "okay";
 };
 
 &gcc {
        protected-clocks = <GCC_QSPI_CORE_CLK>,
@@ -699,16 +740,23 @@ &slpi_pas {
        firmware-name = "qcom/sdm845/SHIFT/axolotl/slpi.mbn";
 
        status = "okay";
 };
 
 &tlmm {
        gpio-reserved-ranges = <0 4>, <81 4>;
 
+       cam_main_af_default_state: cam-main-af-default-state {
+               pins = "gpio8";
+               function = "gpio";
+               drive-strength = <2>;
+               bias-disable;
+       };
+
        sdc2_default_state: sdc2-default-state {
                clk-pins {
                        pins = "sdc2_clk";
                        drive-strength = <16>;
                        bias-disable;
                };
 
                cmd-pins {

-- 
2.55.0



Reply via email to