* [PATCH v5 1/3] dt-bindings: media: i2c: dongwoon,dw9714: Document DW9714A and V variant
2026-08-22 5:15 [PATCH v5 0/3] Enable DW9714V camera focus coils on SHIFT 6MQ David Heidelberg via B4 Relay
@ 2026-08-22 5:15 ` David Heidelberg via B4 Relay
2026-08-22 5:15 ` [PATCH v5 2/3] arm64: dts: qcom: sdm845-shift-axolotl: Add actuator for main rear camera David Heidelberg via B4 Relay
2026-08-22 5:15 ` [PATCH v5 3/3] arm64: dts: qcom: sdm845-shift-axolotl: Add actuator for second " David Heidelberg via B4 Relay
2 siblings, 0 replies; 5+ messages in thread
From: David Heidelberg via B4 Relay @ 2026-08-22 5:15 UTC (permalink / raw)
To: Alexander Martinz, Bjorn Andersson, Conor Dooley, Konrad Dybcio,
Krzysztof Kozlowski, Mauro Carvalho Chehab, Rob Herring,
Sakari Ailus
Cc: Krzysztof Kozlowski, devicetree, linux-arm-msm, linux-kernel,
linux-media, phone-devel, David Heidelberg, Krzysztof Kozlowski
From: David Heidelberg <david@ixit.cz>
DW9714A is a successor of DW9714 and DW9714V is a successor of DW9714A.
All three are compatible in their normal mode: a 10-bit DAC with the same
Direct/LSC/DLC slew rate control. DW9714V additionally has an "advanced
mode", which exposes Smart Actuator Control (SAC2/SAC3/SAC3.5/SLSC) and
soft start/landing. Out of reset the DW9714V comes up in normal mode
with ringing control disabled, i.e. behaving as a plain DW9714,
so nothing has to be configured for it to work today.
Should SAC support be added later, it is board data rather than a userspace
knob: the mode and the vibration period (SAC_CFG/PRESC/SACT) have to match
the mechanical tVIB of the actuator and lens assembly of the given camera
module. Those properties are left out until there is driver support and
measured values.
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Signed-off-by: David Heidelberg <david@ixit.cz>
---
.../devicetree/bindings/media/i2c/dongwoon,dw9714.yaml | 14 +++++++++++---
1 file changed, 11 insertions(+), 3 deletions(-)
diff --git a/Documentation/devicetree/bindings/media/i2c/dongwoon,dw9714.yaml b/Documentation/devicetree/bindings/media/i2c/dongwoon,dw9714.yaml
index 66229a3dc05d6..7c2769e6c4880 100644
--- a/Documentation/devicetree/bindings/media/i2c/dongwoon,dw9714.yaml
+++ b/Documentation/devicetree/bindings/media/i2c/dongwoon,dw9714.yaml
@@ -5,22 +5,30 @@ $id: http://devicetree.org/schemas/media/i2c/dongwoon,dw9714.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Dongwoon Anatech DW9714 camera voice coil lens driver
maintainers:
- Krzysztof Kozlowski <krzk@kernel.org>
description:
- DW9174 is a 10-bit DAC with current sink capability. It is intended for
- driving voice coil lenses in camera modules.
+ 10-bit DAC with current sink capability. It is intended for driving
+ voice coil lenses in camera modules.
properties:
compatible:
- const: dongwoon,dw9714
+ oneOf:
+ - items:
+ - const: dongwoon,dw9714v
+ - const: dongwoon,dw9714a
+ - const: dongwoon,dw9714
+ - items:
+ - const: dongwoon,dw9714a
+ - const: dongwoon,dw9714
+ - const: dongwoon,dw9714
reg:
maxItems: 1
powerdown-gpios:
description:
XSD pin for shutdown (active low)
--
2.55.0
^ permalink raw reply related [flat|nested] 5+ messages in thread* [PATCH v5 2/3] arm64: dts: qcom: sdm845-shift-axolotl: Add actuator for main rear camera
2026-08-22 5:15 [PATCH v5 0/3] Enable DW9714V camera focus coils on SHIFT 6MQ David Heidelberg via B4 Relay
2026-08-22 5:15 ` [PATCH v5 1/3] dt-bindings: media: i2c: dongwoon,dw9714: Document DW9714A and V variant David Heidelberg via B4 Relay
@ 2026-08-22 5:15 ` David Heidelberg via B4 Relay
2026-08-22 5:15 ` [PATCH v5 3/3] arm64: dts: qcom: sdm845-shift-axolotl: Add actuator for second " David Heidelberg via B4 Relay
2 siblings, 0 replies; 5+ messages in thread
From: David Heidelberg via B4 Relay @ 2026-08-22 5:15 UTC (permalink / raw)
To: Alexander Martinz, Bjorn Andersson, Conor Dooley, Konrad Dybcio,
Krzysztof Kozlowski, Mauro Carvalho Chehab, Rob Herring,
Sakari Ailus
Cc: Krzysztof Kozlowski, devicetree, linux-arm-msm, linux-kernel,
linux-media, phone-devel, David Heidelberg, Konrad Dybcio
From: David Heidelberg <david@ixit.cz>
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.
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: David Heidelberg <david@ixit.cz>
---
arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts | 50 +++++++++++++++++++++++
1 file changed, 50 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts b/arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts
index 1b0eaeafbd517..f14fe8e175e96 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,34 @@ regulators-2 {
vreg_s3c_0p6: smps3 {
regulator-min-microvolt = <600000>;
regulator-max-microvolt = <600000>;
};
};
};
+&cci {
+ status = "okay";
+};
+
+&cci_i2c0 {
+ /* sony,imx519 @ 1a */
+
+ /* rear 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 +742,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
^ permalink raw reply related [flat|nested] 5+ messages in thread* [PATCH v5 3/3] arm64: dts: qcom: sdm845-shift-axolotl: Add actuator for second rear camera
2026-08-22 5:15 [PATCH v5 0/3] Enable DW9714V camera focus coils on SHIFT 6MQ David Heidelberg via B4 Relay
2026-08-22 5:15 ` [PATCH v5 1/3] dt-bindings: media: i2c: dongwoon,dw9714: Document DW9714A and V variant David Heidelberg via B4 Relay
2026-08-22 5:15 ` [PATCH v5 2/3] arm64: dts: qcom: sdm845-shift-axolotl: Add actuator for main rear camera David Heidelberg via B4 Relay
@ 2026-08-22 5:15 ` David Heidelberg via B4 Relay
2026-08-24 6:32 ` Konrad Dybcio
2 siblings, 1 reply; 5+ messages in thread
From: David Heidelberg via B4 Relay @ 2026-08-22 5:15 UTC (permalink / raw)
To: Alexander Martinz, Bjorn Andersson, Conor Dooley, Konrad Dybcio,
Krzysztof Kozlowski, Mauro Carvalho Chehab, Rob Herring,
Sakari Ailus
Cc: Krzysztof Kozlowski, devicetree, linux-arm-msm, linux-kernel,
linux-media, phone-devel, David Heidelberg
From: David Heidelberg <david@ixit.cz>
The SHIFT 6MQ has a second rear (auxiliary) camera. Its autofocus
actuator is a Dongwoon DW9714V.
Signed-off-by: David Heidelberg <david@ixit.cz>
---
arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts | 39 +++++++++++++++++++++++
1 file changed, 39 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts b/arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts
index f14fe8e175e96..3cfc11127f5e1 100644
--- a/arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts
+++ b/arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts
@@ -99,16 +99,34 @@ cam_main_af_2p8: regulator-cam-main-af-2p8 {
enable-active-high;
pinctrl-0 = <&cam_main_af_default_state>;
pinctrl-names = "default";
vin-supply = <&vreg_bob>;
};
+ /* SGM2036-2.8YUDH4G/TR */
+ cam_rear2_af_2p8: regulator-cam-rear2-af-2p8 {
+ compatible = "regulator-fixed";
+
+ regulator-name = "cam_rear2_af_2p8";
+ regulator-min-microvolt = <2800000>;
+ regulator-max-microvolt = <2800000>;
+ regulator-enable-ramp-delay = <100>;
+
+ gpio = <&tlmm 76 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+
+ pinctrl-0 = <&cam_rear2_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 {
@@ -484,16 +502,30 @@ camera-lens@c {
"dongwoon,dw9714a",
"dongwoon,dw9714";
reg = <0x0c>;
vcc-supply = <&cam_main_af_2p8>;
};
};
+&cci_i2c1 {
+ /* samsung,s5k2x7sp @ 10 */
+
+ /* 2nd rear camera actuator */
+ camera-lens@c {
+ compatible = "dongwoon,dw9714v",
+ "dongwoon,dw9714a",
+ "dongwoon,dw9714";
+ reg = <0x0c>;
+
+ vcc-supply = <&cam_rear2_af_2p8>;
+ };
+};
+
&cdsp_pas {
firmware-name = "qcom/sdm845/SHIFT/axolotl/cdsp.mbn";
status = "okay";
};
&gcc {
protected-clocks = <GCC_QSPI_CORE_CLK>,
@@ -749,16 +781,23 @@ &tlmm {
cam_main_af_default_state: cam-main-af-default-state {
pins = "gpio8";
function = "gpio";
drive-strength = <2>;
bias-disable;
};
+ cam_rear2_af_default_state: cam-rear2-af-default-state {
+ pins = "gpio76";
+ 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
^ permalink raw reply related [flat|nested] 5+ messages in thread* Re: [PATCH v5 3/3] arm64: dts: qcom: sdm845-shift-axolotl: Add actuator for second rear camera
2026-08-22 5:15 ` [PATCH v5 3/3] arm64: dts: qcom: sdm845-shift-axolotl: Add actuator for second " David Heidelberg via B4 Relay
@ 2026-08-24 6:32 ` Konrad Dybcio
0 siblings, 0 replies; 5+ messages in thread
From: Konrad Dybcio @ 2026-08-24 6:32 UTC (permalink / raw)
To: david, Alexander Martinz, Bjorn Andersson, Conor Dooley,
Konrad Dybcio, Krzysztof Kozlowski, Mauro Carvalho Chehab,
Rob Herring, Sakari Ailus
Cc: Krzysztof Kozlowski, devicetree, linux-arm-msm, linux-kernel,
linux-media, phone-devel
On 8/22/26 7:15 AM, David Heidelberg via B4 Relay wrote:
> From: David Heidelberg <david@ixit.cz>
>
> The SHIFT 6MQ has a second rear (auxiliary) camera. Its autofocus
> actuator is a Dongwoon DW9714V.
>
> Signed-off-by: David Heidelberg <david@ixit.cz>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Konrad
^ permalink raw reply [flat|nested] 5+ messages in thread