[PATCH v3 2/2] arm64: dts: qcom: sdm845-shift-axolotl: Add actuator for main rear camera
David Heidelberg via B4 Relay <[email protected]> Mon, 03 Aug 2026 11:50:26 +0200
| Newsgroups | org.kernel.vger.phone-devel,org.kernel.feeds.b4-sent,org.kernel.vger.linux-arm-msm,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel,org.kernel.vger.linux-media |
|---|---|
| Message-ID | <[email protected]> |
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