* [PATCH 0/4] Add support for Dongwoon Anatech DW9800K driver
@ 2025-10-02 10:15 Griffin Kroah-Hartman
2025-10-02 10:15 ` [PATCH 1/4] dt-bindings: media: i2c: dw9719: Document DW9800K Griffin Kroah-Hartman
` (3 more replies)
0 siblings, 4 replies; 18+ messages in thread
From: Griffin Kroah-Hartman @ 2025-10-02 10:15 UTC (permalink / raw)
To: Mauro Carvalho Chehab, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, devicetree, Daniel Scally, Sakari Ailus,
Bjorn Andersson, Konrad Dybcio, André Apitzsch
Cc: linux-media, linux-kernel, linux-arm-msm, Griffin Kroah-Hartman
Add devicetree bindings and driver support for the DW9800K VCM driver.
The driver code is added to the preexistent dw9719 driver, which has
similar functions and method order, but different register sets.
Signed-off-by: Griffin Kroah-Hartman <griffin.kroah@fairphone.com>
---
Griffin Kroah-Hartman (4):
dt-bindings: media: i2c: dw9719: Document DW9800K
media: i2c: dw9719: Add DW9800K support
arm64: dts: qcom: qcm6490-fairphone-fp5: Enable CCI pull-up
arm64: dts: qcom: qcm6490-fairphone-fp5: Add UW cam actuator
.../devicetree/bindings/media/i2c/dongwoon,dw9719.yaml | 1 +
arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts | 11 +++++++++++
drivers/media/i2c/dw9719.c | 17 +++++++++++++++++
3 files changed, 29 insertions(+)
---
base-commit: 6063257da111c7639d020c5f15bfb37fb839d8b6
change-id: 20250918-dw9800-driver-58105cd495e0
prerequisite-change-id: 20250709-dw9719-8a8822efc1b1:v2
prerequisite-patch-id: 5a1b6083c0f5df1421cfe6952dac44d9ddb7fb07
prerequisite-patch-id: db5f49e91aaf521fa487994765b4107f543531d6
prerequisite-patch-id: 76bfa65d3ff23fc827790b0868bc34655cfa93fe
prerequisite-patch-id: b76d61c90bdbf20f437d2fe438d54e707621e953
prerequisite-patch-id: 46fc09662693e6a51bb89ab4d0914265c74bc3bb
prerequisite-patch-id: 4e0012f76dd03d5653ba185a8ccc59017a1b90d1
prerequisite-patch-id: a618641cd4b7cde40825fa0d4201b6c27e74266d
prerequisite-patch-id: 8b43ff7e81258cc7624800e4bf645458a0f05380
Best regards,
--
Griffin Kroah-Hartman <griffin.kroah@fairphone.com>
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH 1/4] dt-bindings: media: i2c: dw9719: Document DW9800K
2025-10-02 10:15 [PATCH 0/4] Add support for Dongwoon Anatech DW9800K driver Griffin Kroah-Hartman
@ 2025-10-02 10:15 ` Griffin Kroah-Hartman
2025-10-08 20:02 ` Rob Herring (Arm)
2025-10-02 10:15 ` [PATCH 2/4] media: i2c: dw9719: Add DW9800K support Griffin Kroah-Hartman
` (2 subsequent siblings)
3 siblings, 1 reply; 18+ messages in thread
From: Griffin Kroah-Hartman @ 2025-10-02 10:15 UTC (permalink / raw)
To: Mauro Carvalho Chehab, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, devicetree, Daniel Scally, Sakari Ailus,
Bjorn Andersson, Konrad Dybcio, André Apitzsch
Cc: linux-media, linux-kernel, linux-arm-msm, Griffin Kroah-Hartman
Document the Dongwoon Anatech DW9800K.
Signed-off-by: Griffin Kroah-Hartman <griffin.kroah@fairphone.com>
---
Documentation/devicetree/bindings/media/i2c/dongwoon,dw9719.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/media/i2c/dongwoon,dw9719.yaml b/Documentation/devicetree/bindings/media/i2c/dongwoon,dw9719.yaml
index 38db0764c0f70ad49295dcddc182b7e100a68b29..8e8d62436e0d0c4f9af9e52262b23881abd37cec 100644
--- a/Documentation/devicetree/bindings/media/i2c/dongwoon,dw9719.yaml
+++ b/Documentation/devicetree/bindings/media/i2c/dongwoon,dw9719.yaml
@@ -21,6 +21,7 @@ properties:
- dongwoon,dw9718s
- dongwoon,dw9719
- dongwoon,dw9761
+ - dongwoon,dw9800k
reg:
maxItems: 1
--
2.43.0
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH 2/4] media: i2c: dw9719: Add DW9800K support
2025-10-02 10:15 [PATCH 0/4] Add support for Dongwoon Anatech DW9800K driver Griffin Kroah-Hartman
2025-10-02 10:15 ` [PATCH 1/4] dt-bindings: media: i2c: dw9719: Document DW9800K Griffin Kroah-Hartman
@ 2025-10-02 10:15 ` Griffin Kroah-Hartman
2025-10-02 12:58 ` Luca Weiss
2025-10-03 7:04 ` Sakari Ailus
2025-10-02 10:15 ` [PATCH 3/4] arm64: dts: qcom: qcm6490-fairphone-fp5: Enable CCI pull-up Griffin Kroah-Hartman
2025-10-02 10:15 ` [PATCH 4/4] arm64: dts: qcom: qcm6490-fairphone-fp5: Add UW cam actuator Griffin Kroah-Hartman
3 siblings, 2 replies; 18+ messages in thread
From: Griffin Kroah-Hartman @ 2025-10-02 10:15 UTC (permalink / raw)
To: Mauro Carvalho Chehab, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, devicetree, Daniel Scally, Sakari Ailus,
Bjorn Andersson, Konrad Dybcio, André Apitzsch
Cc: linux-media, linux-kernel, linux-arm-msm, Griffin Kroah-Hartman
The DW9800K is a similar part to the DW9719. The method for operation is
the same as the DW9719, but the register set is different. Add support
for this part to the existing dw9719 driver.
Tested on the Fairphone 5 smartphone.
Signed-off-by: Griffin Kroah-Hartman <griffin.kroah@fairphone.com>
---
drivers/media/i2c/dw9719.c | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/drivers/media/i2c/dw9719.c b/drivers/media/i2c/dw9719.c
index 3627e78b8b6668933c4ecd92231465ce4105ff0c..172479f2c9f63f6b2a1f6eccf8184142edb383b9 100644
--- a/drivers/media/i2c/dw9719.c
+++ b/drivers/media/i2c/dw9719.c
@@ -68,6 +68,9 @@
#define DW9761_VCM_PRELOAD CCI_REG8(8)
#define DW9761_DEFAULT_VCM_PRELOAD 0x73
+#define DW9800K_DEFAULT_SAC 1
+#define DW9800K_MODE_SAC_SHIFT 6
+#define DW9800K_DEFAULT_VCM_FREQ 0x10
#define to_dw9719_device(x) container_of(x, struct dw9719_device, sd)
@@ -75,6 +78,7 @@ enum dw9719_model {
DW9718S,
DW9719,
DW9761,
+ DW9800K,
};
struct dw9719_device {
@@ -137,6 +141,12 @@ static int dw9719_power_up(struct dw9719_device *dw9719, bool detect)
goto props;
}
+ if (dw9719->model == DW9800K) {
+ dw9719->sac_mode = DW9800K_DEFAULT_SAC;
+ dw9719->vcm_freq = DW9800K_DEFAULT_VCM_FREQ;
+ goto props;
+ }
+
ret = cci_read(dw9719->regmap, DW9719_INFO, &val, NULL);
if (ret < 0)
return ret;
@@ -177,6 +187,12 @@ static int dw9719_power_up(struct dw9719_device *dw9719, bool detect)
}
switch (dw9719->model) {
+ case DW9800K:
+ cci_write(dw9719->regmap, DW9719_CONTROL, DW9719_ENABLE_RINGING, &ret);
+ cci_write(dw9719->regmap, DW9719_MODE,
+ dw9719->sac_mode << DW9800K_MODE_SAC_SHIFT, &ret);
+ cci_write(dw9719->regmap, DW9719_VCM_FREQ, dw9719->vcm_freq, &ret);
+ break;
case DW9718S:
/* Datasheet says [OCP/UVLO] should be disabled below 2.5V */
dw9719->sac_mode &= DW9718S_CONTROL_SAC_MASK;
@@ -426,6 +442,7 @@ static const struct of_device_id dw9719_of_table[] = {
{ .compatible = "dongwoon,dw9718s", .data = (const void *)DW9718S },
{ .compatible = "dongwoon,dw9719", .data = (const void *)DW9719 },
{ .compatible = "dongwoon,dw9761", .data = (const void *)DW9761 },
+ { .compatible = "dongwoon,dw9800k", .data = (const void *)DW9800K },
{ }
};
MODULE_DEVICE_TABLE(of, dw9719_of_table);
--
2.43.0
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH 3/4] arm64: dts: qcom: qcm6490-fairphone-fp5: Enable CCI pull-up
2025-10-02 10:15 [PATCH 0/4] Add support for Dongwoon Anatech DW9800K driver Griffin Kroah-Hartman
2025-10-02 10:15 ` [PATCH 1/4] dt-bindings: media: i2c: dw9719: Document DW9800K Griffin Kroah-Hartman
2025-10-02 10:15 ` [PATCH 2/4] media: i2c: dw9719: Add DW9800K support Griffin Kroah-Hartman
@ 2025-10-02 10:15 ` Griffin Kroah-Hartman
2025-10-02 12:45 ` Konrad Dybcio
2025-10-02 10:15 ` [PATCH 4/4] arm64: dts: qcom: qcm6490-fairphone-fp5: Add UW cam actuator Griffin Kroah-Hartman
3 siblings, 1 reply; 18+ messages in thread
From: Griffin Kroah-Hartman @ 2025-10-02 10:15 UTC (permalink / raw)
To: Mauro Carvalho Chehab, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, devicetree, Daniel Scally, Sakari Ailus,
Bjorn Andersson, Konrad Dybcio, André Apitzsch
Cc: linux-media, linux-kernel, linux-arm-msm, Griffin Kroah-Hartman
Enable vreg_l6p which is used as a pull-up for the CCI busses, to make
sure I2C communication works as expected.
Signed-off-by: Griffin Kroah-Hartman <griffin.kroah@fairphone.com>
---
arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts b/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
index e115b6a52b299ef663ccfb614785f8f89091f39d..2dd2c452592aa6b0ac826f19eb9cb1a8b90cee47 100644
--- a/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
+++ b/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
@@ -749,6 +749,8 @@ vreg_l6p: ldo6 {
regulator-name = "vreg_l6p";
regulator-min-microvolt = <1700000>;
regulator-max-microvolt = <1904000>;
+ /* Pull-up for CCI I2C busses */
+ regulator-always-on;
};
vreg_l7p: ldo7 {
--
2.43.0
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH 4/4] arm64: dts: qcom: qcm6490-fairphone-fp5: Add UW cam actuator
2025-10-02 10:15 [PATCH 0/4] Add support for Dongwoon Anatech DW9800K driver Griffin Kroah-Hartman
` (2 preceding siblings ...)
2025-10-02 10:15 ` [PATCH 3/4] arm64: dts: qcom: qcm6490-fairphone-fp5: Enable CCI pull-up Griffin Kroah-Hartman
@ 2025-10-02 10:15 ` Griffin Kroah-Hartman
2025-10-02 13:16 ` Luca Weiss
2025-10-06 9:20 ` Konrad Dybcio
3 siblings, 2 replies; 18+ messages in thread
From: Griffin Kroah-Hartman @ 2025-10-02 10:15 UTC (permalink / raw)
To: Mauro Carvalho Chehab, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, devicetree, Daniel Scally, Sakari Ailus,
Bjorn Andersson, Konrad Dybcio, André Apitzsch
Cc: linux-media, linux-kernel, linux-arm-msm, Griffin Kroah-Hartman
Add a node for the Dongwoon DW9800K actuator, used for focus of the
ultra-wide camera sensor.
Signed-off-by: Griffin Kroah-Hartman <griffin.kroah@fairphone.com>
---
arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts b/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
index 2dd2c452592aa6b0ac826f19eb9cb1a8b90cee47..0e86cd5ff527925c7dba15c4e0ee5fc409fe4ce6 100644
--- a/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
+++ b/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
@@ -627,6 +627,15 @@ eeprom@50 {
};
&cci0_i2c1 {
+ camera_imx858_dw9800k: actuator@e {
+ compatible = "dongwoon,dw9800k";
+ reg = <0x0e>;
+ vdd-supply = <&vreg_afvdd_2p8>;
+
+ dongwoon,sac-mode = <1>;
+ dongwoon,vcm-prescale = <16>;
+ };
+
/* IMX858 @ 29 */
eeprom@54 {
--
2.43.0
^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [PATCH 3/4] arm64: dts: qcom: qcm6490-fairphone-fp5: Enable CCI pull-up
2025-10-02 10:15 ` [PATCH 3/4] arm64: dts: qcom: qcm6490-fairphone-fp5: Enable CCI pull-up Griffin Kroah-Hartman
@ 2025-10-02 12:45 ` Konrad Dybcio
2025-10-02 13:12 ` Bryan O'Donoghue
` (2 more replies)
0 siblings, 3 replies; 18+ messages in thread
From: Konrad Dybcio @ 2025-10-02 12:45 UTC (permalink / raw)
To: Griffin Kroah-Hartman, Mauro Carvalho Chehab, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, devicetree, Daniel Scally,
Sakari Ailus, Bjorn Andersson, Konrad Dybcio, André Apitzsch,
Bryan O'Donoghue, Wolfram Sang
Cc: linux-media, linux-kernel, linux-arm-msm
On 10/2/25 12:15 PM, Griffin Kroah-Hartman wrote:
> Enable vreg_l6p which is used as a pull-up for the CCI busses, to make
> sure I2C communication works as expected.
>
> Signed-off-by: Griffin Kroah-Hartman <griffin.kroah@fairphone.com>
> ---
Makes me wonder if we should maybe extend the CCI definition
(or maybe the common i2c-bus binding?) to accept an external
pull-up supply, as this is a common problem.. (+Bryan, Wolfram)
We could then shut down the regulator when cameras are not
in use, preserving some trace amounts of power.
Or maybe L6P is already used as a pull-up supply for more things
onboard and should be always-on either way? Could you please
check that, Griffin?
Konrad
> arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts b/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
> index e115b6a52b299ef663ccfb614785f8f89091f39d..2dd2c452592aa6b0ac826f19eb9cb1a8b90cee47 100644
> --- a/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
> +++ b/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
> @@ -749,6 +749,8 @@ vreg_l6p: ldo6 {
> regulator-name = "vreg_l6p";
> regulator-min-microvolt = <1700000>;
> regulator-max-microvolt = <1904000>;
> + /* Pull-up for CCI I2C busses */
> + regulator-always-on;
> };
>
> vreg_l7p: ldo7 {
>
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 2/4] media: i2c: dw9719: Add DW9800K support
2025-10-02 10:15 ` [PATCH 2/4] media: i2c: dw9719: Add DW9800K support Griffin Kroah-Hartman
@ 2025-10-02 12:58 ` Luca Weiss
2025-10-03 7:04 ` Sakari Ailus
1 sibling, 0 replies; 18+ messages in thread
From: Luca Weiss @ 2025-10-02 12:58 UTC (permalink / raw)
To: Griffin Kroah-Hartman, Mauro Carvalho Chehab, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, devicetree, Daniel Scally,
Sakari Ailus, Bjorn Andersson, Konrad Dybcio, André Apitzsch
Cc: linux-media, linux-kernel, linux-arm-msm
On Thu Oct 2, 2025 at 12:15 PM CEST, Griffin Kroah-Hartman wrote:
> The DW9800K is a similar part to the DW9719. The method for operation is
> the same as the DW9719, but the register set is different. Add support
> for this part to the existing dw9719 driver.
>
> Tested on the Fairphone 5 smartphone.
Can confirm!
Tested-by: Luca Weiss <luca.weiss@fairphone.com>
Regards
Luca
> Signed-off-by: Griffin Kroah-Hartman <griffin.kroah@fairphone.com>
> ---
> drivers/media/i2c/dw9719.c | 17 +++++++++++++++++
> 1 file changed, 17 insertions(+)
>
> diff --git a/drivers/media/i2c/dw9719.c b/drivers/media/i2c/dw9719.c
> index 3627e78b8b6668933c4ecd92231465ce4105ff0c..172479f2c9f63f6b2a1f6eccf8184142edb383b9 100644
> --- a/drivers/media/i2c/dw9719.c
> +++ b/drivers/media/i2c/dw9719.c
> @@ -68,6 +68,9 @@
> #define DW9761_VCM_PRELOAD CCI_REG8(8)
> #define DW9761_DEFAULT_VCM_PRELOAD 0x73
>
> +#define DW9800K_DEFAULT_SAC 1
> +#define DW9800K_MODE_SAC_SHIFT 6
> +#define DW9800K_DEFAULT_VCM_FREQ 0x10
>
> #define to_dw9719_device(x) container_of(x, struct dw9719_device, sd)
>
> @@ -75,6 +78,7 @@ enum dw9719_model {
> DW9718S,
> DW9719,
> DW9761,
> + DW9800K,
> };
>
> struct dw9719_device {
> @@ -137,6 +141,12 @@ static int dw9719_power_up(struct dw9719_device *dw9719, bool detect)
> goto props;
> }
>
> + if (dw9719->model == DW9800K) {
> + dw9719->sac_mode = DW9800K_DEFAULT_SAC;
> + dw9719->vcm_freq = DW9800K_DEFAULT_VCM_FREQ;
> + goto props;
> + }
> +
> ret = cci_read(dw9719->regmap, DW9719_INFO, &val, NULL);
> if (ret < 0)
> return ret;
> @@ -177,6 +187,12 @@ static int dw9719_power_up(struct dw9719_device *dw9719, bool detect)
> }
>
> switch (dw9719->model) {
> + case DW9800K:
> + cci_write(dw9719->regmap, DW9719_CONTROL, DW9719_ENABLE_RINGING, &ret);
> + cci_write(dw9719->regmap, DW9719_MODE,
> + dw9719->sac_mode << DW9800K_MODE_SAC_SHIFT, &ret);
> + cci_write(dw9719->regmap, DW9719_VCM_FREQ, dw9719->vcm_freq, &ret);
> + break;
> case DW9718S:
> /* Datasheet says [OCP/UVLO] should be disabled below 2.5V */
> dw9719->sac_mode &= DW9718S_CONTROL_SAC_MASK;
> @@ -426,6 +442,7 @@ static const struct of_device_id dw9719_of_table[] = {
> { .compatible = "dongwoon,dw9718s", .data = (const void *)DW9718S },
> { .compatible = "dongwoon,dw9719", .data = (const void *)DW9719 },
> { .compatible = "dongwoon,dw9761", .data = (const void *)DW9761 },
> + { .compatible = "dongwoon,dw9800k", .data = (const void *)DW9800K },
> { }
> };
> MODULE_DEVICE_TABLE(of, dw9719_of_table);
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 3/4] arm64: dts: qcom: qcm6490-fairphone-fp5: Enable CCI pull-up
2025-10-02 12:45 ` Konrad Dybcio
@ 2025-10-02 13:12 ` Bryan O'Donoghue
2025-10-02 13:14 ` Luca Weiss
2025-10-03 10:35 ` Kieran Bingham
2 siblings, 0 replies; 18+ messages in thread
From: Bryan O'Donoghue @ 2025-10-02 13:12 UTC (permalink / raw)
To: Konrad Dybcio, Griffin Kroah-Hartman, Mauro Carvalho Chehab,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, devicetree,
Daniel Scally, Sakari Ailus, Bjorn Andersson, Konrad Dybcio,
André Apitzsch, Bryan O'Donoghue, Wolfram Sang
Cc: linux-media, linux-kernel, linux-arm-msm
On 02/10/2025 13:45, Konrad Dybcio wrote:
> On 10/2/25 12:15 PM, Griffin Kroah-Hartman wrote:
>> Enable vreg_l6p which is used as a pull-up for the CCI busses, to make
>> sure I2C communication works as expected.
"vreg_l6p is the voltage source for the pull-up resistor"
>>
>> Signed-off-by: Griffin Kroah-Hartman<griffin.kroah@fairphone.com>
>> ---
> Makes me wonder if we should maybe extend the CCI definition
> (or maybe the common i2c-bus binding?) to accept an external
> pull-up supply, as this is a common problem.. (+Bryan, Wolfram)
always-on is up to the platform - i.e. do you care about the
floating-state of the i2c bus in power-collapse anyway ? Feels like
something up to the platform designers.
> We could then shut down the regulator when cameras are not
> in use, preserving some trace amounts of power.> Or maybe L6P is already used as a pull-up supply for more things
> onboard and should be always-on either way? Could you please
> check that, Griffin?
If we drop always-on and introduce a "pullup-supply" to the CCI bindings
then, it would be up the CCI driver to enable/disable the bus pullups
and then we can optionally do the power-rail disable when entering
power-collapse.
That'd be nice.
As-is though I personally am fine with the patch as-is with the updated
commit text above - consider the CCI change as extra homework ;)
Assuming the commit log is tweaked.
Reviewed-by: Bryan O'Donoghue <bod@kernel.org>
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 3/4] arm64: dts: qcom: qcm6490-fairphone-fp5: Enable CCI pull-up
2025-10-02 12:45 ` Konrad Dybcio
2025-10-02 13:12 ` Bryan O'Donoghue
@ 2025-10-02 13:14 ` Luca Weiss
2025-10-02 14:05 ` Wolfram Sang
2025-10-03 10:35 ` Kieran Bingham
2 siblings, 1 reply; 18+ messages in thread
From: Luca Weiss @ 2025-10-02 13:14 UTC (permalink / raw)
To: Konrad Dybcio, Griffin Kroah-Hartman, Mauro Carvalho Chehab,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, devicetree,
Daniel Scally, Sakari Ailus, Bjorn Andersson, Konrad Dybcio,
André Apitzsch, Bryan O'Donoghue, Wolfram Sang
Cc: linux-media, linux-kernel, linux-arm-msm
Hi Konrad,
Answering on behalf of Griffin :)
On Thu Oct 2, 2025 at 2:45 PM CEST, Konrad Dybcio wrote:
> On 10/2/25 12:15 PM, Griffin Kroah-Hartman wrote:
>> Enable vreg_l6p which is used as a pull-up for the CCI busses, to make
>> sure I2C communication works as expected.
>>
>> Signed-off-by: Griffin Kroah-Hartman <griffin.kroah@fairphone.com>
>> ---
>
> Makes me wonder if we should maybe extend the CCI definition
> (or maybe the common i2c-bus binding?) to accept an external
> pull-up supply, as this is a common problem.. (+Bryan, Wolfram)
Yes!
Unfortunately though this effort has stalled some years ago. There is
"struct regulator *bus_regulator;" in "struct i2c_adapter" already and
vbus-supply is documented in i2c-mt65xx but afaik this not functional
because some code was ripped out ago because of some AMDGPU regressions.
> We could then shut down the regulator when cameras are not
> in use, preserving some trace amounts of power.
>
> Or maybe L6P is already used as a pull-up supply for more things
> onboard and should be always-on either way? Could you please
> check that, Griffin?
L6P is only used as pull-up reg for cci0, cci1 and cci3; and as power
for stuff in the camera modules. So if everything camera-related is off,
turning it off is actually a good idea.
Regards
Luca
>
> Konrad
>
>> arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts | 2 ++
>> 1 file changed, 2 insertions(+)
>>
>> diff --git a/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts b/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
>> index e115b6a52b299ef663ccfb614785f8f89091f39d..2dd2c452592aa6b0ac826f19eb9cb1a8b90cee47 100644
>> --- a/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
>> +++ b/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
>> @@ -749,6 +749,8 @@ vreg_l6p: ldo6 {
>> regulator-name = "vreg_l6p";
>> regulator-min-microvolt = <1700000>;
>> regulator-max-microvolt = <1904000>;
>> + /* Pull-up for CCI I2C busses */
>> + regulator-always-on;
>> };
>>
>> vreg_l7p: ldo7 {
>>
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 4/4] arm64: dts: qcom: qcm6490-fairphone-fp5: Add UW cam actuator
2025-10-02 10:15 ` [PATCH 4/4] arm64: dts: qcom: qcm6490-fairphone-fp5: Add UW cam actuator Griffin Kroah-Hartman
@ 2025-10-02 13:16 ` Luca Weiss
2025-10-06 9:20 ` Konrad Dybcio
1 sibling, 0 replies; 18+ messages in thread
From: Luca Weiss @ 2025-10-02 13:16 UTC (permalink / raw)
To: Griffin Kroah-Hartman, Mauro Carvalho Chehab, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, devicetree, Daniel Scally,
Sakari Ailus, Bjorn Andersson, Konrad Dybcio, André Apitzsch
Cc: linux-media, linux-kernel, linux-arm-msm
On Thu Oct 2, 2025 at 12:15 PM CEST, Griffin Kroah-Hartman wrote:
> Add a node for the Dongwoon DW9800K actuator, used for focus of the
> ultra-wide camera sensor.
>
Tested on a tree that also has the imx858 functional + linking them
through lens-focus = <&camera_imx858_dw9800k>;
Tested-by: Luca Weiss <luca.weiss@fairphone.com>
Regards
Luca
> Signed-off-by: Griffin Kroah-Hartman <griffin.kroah@fairphone.com>
> ---
> arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts b/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
> index 2dd2c452592aa6b0ac826f19eb9cb1a8b90cee47..0e86cd5ff527925c7dba15c4e0ee5fc409fe4ce6 100644
> --- a/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
> +++ b/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
> @@ -627,6 +627,15 @@ eeprom@50 {
> };
>
> &cci0_i2c1 {
> + camera_imx858_dw9800k: actuator@e {
> + compatible = "dongwoon,dw9800k";
> + reg = <0x0e>;
> + vdd-supply = <&vreg_afvdd_2p8>;
> +
> + dongwoon,sac-mode = <1>;
> + dongwoon,vcm-prescale = <16>;
> + };
> +
> /* IMX858 @ 29 */
>
> eeprom@54 {
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 3/4] arm64: dts: qcom: qcm6490-fairphone-fp5: Enable CCI pull-up
2025-10-02 13:14 ` Luca Weiss
@ 2025-10-02 14:05 ` Wolfram Sang
0 siblings, 0 replies; 18+ messages in thread
From: Wolfram Sang @ 2025-10-02 14:05 UTC (permalink / raw)
To: Luca Weiss
Cc: Konrad Dybcio, Griffin Kroah-Hartman, Mauro Carvalho Chehab,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, devicetree,
Daniel Scally, Sakari Ailus, Bjorn Andersson, Konrad Dybcio,
André Apitzsch, Bryan O'Donoghue, Wolfram Sang,
linux-media, linux-kernel, linux-arm-msm
[-- Attachment #1: Type: text/plain, Size: 391 bytes --]
> Unfortunately though this effort has stalled some years ago. There is
> "struct regulator *bus_regulator;" in "struct i2c_adapter" already and
> vbus-supply is documented in i2c-mt65xx but afaik this not functional
> because some code was ripped out ago because of some AMDGPU regressions.
Thanks for mentioning this. It all sounded familiar to me but I couldn't
put my finger exactly.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 2/4] media: i2c: dw9719: Add DW9800K support
2025-10-02 10:15 ` [PATCH 2/4] media: i2c: dw9719: Add DW9800K support Griffin Kroah-Hartman
2025-10-02 12:58 ` Luca Weiss
@ 2025-10-03 7:04 ` Sakari Ailus
1 sibling, 0 replies; 18+ messages in thread
From: Sakari Ailus @ 2025-10-03 7:04 UTC (permalink / raw)
To: Griffin Kroah-Hartman
Cc: Mauro Carvalho Chehab, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, devicetree, Daniel Scally, Bjorn Andersson,
Konrad Dybcio, André Apitzsch, linux-media, linux-kernel,
linux-arm-msm
Hi Griffin,
Thank you for the set.
On Thu, Oct 02, 2025 at 12:15:34PM +0200, Griffin Kroah-Hartman wrote:
> The DW9800K is a similar part to the DW9719. The method for operation is
> the same as the DW9719, but the register set is different. Add support
> for this part to the existing dw9719 driver.
>
> Tested on the Fairphone 5 smartphone.
>
> Signed-off-by: Griffin Kroah-Hartman <griffin.kroah@fairphone.com>
> ---
> drivers/media/i2c/dw9719.c | 17 +++++++++++++++++
> 1 file changed, 17 insertions(+)
>
> diff --git a/drivers/media/i2c/dw9719.c b/drivers/media/i2c/dw9719.c
> index 3627e78b8b6668933c4ecd92231465ce4105ff0c..172479f2c9f63f6b2a1f6eccf8184142edb383b9 100644
> --- a/drivers/media/i2c/dw9719.c
> +++ b/drivers/media/i2c/dw9719.c
> @@ -68,6 +68,9 @@
> #define DW9761_VCM_PRELOAD CCI_REG8(8)
> #define DW9761_DEFAULT_VCM_PRELOAD 0x73
>
> +#define DW9800K_DEFAULT_SAC 1
> +#define DW9800K_MODE_SAC_SHIFT 6
> +#define DW9800K_DEFAULT_VCM_FREQ 0x10
>
> #define to_dw9719_device(x) container_of(x, struct dw9719_device, sd)
>
> @@ -75,6 +78,7 @@ enum dw9719_model {
> DW9718S,
> DW9719,
> DW9761,
> + DW9800K,
> };
>
> struct dw9719_device {
> @@ -137,6 +141,12 @@ static int dw9719_power_up(struct dw9719_device *dw9719, bool detect)
> goto props;
> }
>
> + if (dw9719->model == DW9800K) {
> + dw9719->sac_mode = DW9800K_DEFAULT_SAC;
> + dw9719->vcm_freq = DW9800K_DEFAULT_VCM_FREQ;
> + goto props;
> + }
How about using switch() instead?
> +
> ret = cci_read(dw9719->regmap, DW9719_INFO, &val, NULL);
> if (ret < 0)
> return ret;
> @@ -177,6 +187,12 @@ static int dw9719_power_up(struct dw9719_device *dw9719, bool detect)
> }
>
> switch (dw9719->model) {
> + case DW9800K:
> + cci_write(dw9719->regmap, DW9719_CONTROL, DW9719_ENABLE_RINGING, &ret);
> + cci_write(dw9719->regmap, DW9719_MODE,
> + dw9719->sac_mode << DW9800K_MODE_SAC_SHIFT, &ret);
Indentation.
> + cci_write(dw9719->regmap, DW9719_VCM_FREQ, dw9719->vcm_freq, &ret);
> + break;
> case DW9718S:
> /* Datasheet says [OCP/UVLO] should be disabled below 2.5V */
> dw9719->sac_mode &= DW9718S_CONTROL_SAC_MASK;
> @@ -426,6 +442,7 @@ static const struct of_device_id dw9719_of_table[] = {
> { .compatible = "dongwoon,dw9718s", .data = (const void *)DW9718S },
> { .compatible = "dongwoon,dw9719", .data = (const void *)DW9719 },
> { .compatible = "dongwoon,dw9761", .data = (const void *)DW9761 },
> + { .compatible = "dongwoon,dw9800k", .data = (const void *)DW9800K },
> { }
> };
> MODULE_DEVICE_TABLE(of, dw9719_of_table);
>
--
Regards,
Sakari Ailus
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 3/4] arm64: dts: qcom: qcm6490-fairphone-fp5: Enable CCI pull-up
2025-10-02 12:45 ` Konrad Dybcio
2025-10-02 13:12 ` Bryan O'Donoghue
2025-10-02 13:14 ` Luca Weiss
@ 2025-10-03 10:35 ` Kieran Bingham
2025-10-03 11:03 ` Konrad Dybcio
2 siblings, 1 reply; 18+ messages in thread
From: Kieran Bingham @ 2025-10-03 10:35 UTC (permalink / raw)
To: André Apitzsch, Bjorn Andersson, Bryan O'Donoghue,
Conor Dooley, Daniel Scally, Griffin Kroah-Hartman, Konrad Dybcio,
Konrad Dybcio, Krzysztof Kozlowski, Mauro Carvalho Chehab,
Rob Herring, Sakari Ailus, Wolfram Sang, devicetree
Cc: linux-media, linux-kernel, linux-arm-msm
Quoting Konrad Dybcio (2025-10-02 13:45:49)
> On 10/2/25 12:15 PM, Griffin Kroah-Hartman wrote:
> > Enable vreg_l6p which is used as a pull-up for the CCI busses, to make
> > sure I2C communication works as expected.
> >
> > Signed-off-by: Griffin Kroah-Hartman <griffin.kroah@fairphone.com>
> > ---
>
> Makes me wonder if we should maybe extend the CCI definition
> (or maybe the common i2c-bus binding?) to accept an external
> pull-up supply, as this is a common problem.. (+Bryan, Wolfram)
I'm a little confused about terminology here. To me CCI is the
communiation protocol (how to write the registers on the i2c bus). But
here' we're talking about 'pulling up' a cci bus ?
Is this actually impacting the bus - or is it more that it's /powering/
the camera and VCM both simultaneously (which is what happens on the RPi
cameras)
My curiosity lies in the fact that indeed we somehow need to be able to
coordinate the power relationship between multiple devices which ...
while independent for configuration - they do impact each other. I.e. if
you power on the camera and it simultaneously powers on the VCM - you
get the VCM jumping position if it's not also configured, so I
anticipate various bits of complexities here if they are all powered by
the same line.
I don't think a camera module should always be powered on for a phone
running on a battery - perhaps on this device the sensors have a
separate power down control ?
--
Kieran
> We could then shut down the regulator when cameras are not
> in use, preserving some trace amounts of power.
>
> Or maybe L6P is already used as a pull-up supply for more things
> onboard and should be always-on either way? Could you please
> check that, Griffin?
>
> Konrad
>
> > arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts | 2 ++
> > 1 file changed, 2 insertions(+)
> >
> > diff --git a/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts b/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
> > index e115b6a52b299ef663ccfb614785f8f89091f39d..2dd2c452592aa6b0ac826f19eb9cb1a8b90cee47 100644
> > --- a/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
> > +++ b/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
> > @@ -749,6 +749,8 @@ vreg_l6p: ldo6 {
> > regulator-name = "vreg_l6p";
> > regulator-min-microvolt = <1700000>;
> > regulator-max-microvolt = <1904000>;
> > + /* Pull-up for CCI I2C busses */
> > + regulator-always-on;
> > };
> >
> > vreg_l7p: ldo7 {
> >
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 3/4] arm64: dts: qcom: qcm6490-fairphone-fp5: Enable CCI pull-up
2025-10-03 10:35 ` Kieran Bingham
@ 2025-10-03 11:03 ` Konrad Dybcio
0 siblings, 0 replies; 18+ messages in thread
From: Konrad Dybcio @ 2025-10-03 11:03 UTC (permalink / raw)
To: Kieran Bingham, André Apitzsch, Bjorn Andersson,
Bryan O'Donoghue, Conor Dooley, Daniel Scally,
Griffin Kroah-Hartman, Konrad Dybcio, Krzysztof Kozlowski,
Mauro Carvalho Chehab, Rob Herring, Sakari Ailus, Wolfram Sang,
devicetree
Cc: linux-media, linux-kernel, linux-arm-msm
On 10/3/25 12:35 PM, Kieran Bingham wrote:
> Quoting Konrad Dybcio (2025-10-02 13:45:49)
>> On 10/2/25 12:15 PM, Griffin Kroah-Hartman wrote:
>>> Enable vreg_l6p which is used as a pull-up for the CCI busses, to make
>>> sure I2C communication works as expected.
>>>
>>> Signed-off-by: Griffin Kroah-Hartman <griffin.kroah@fairphone.com>
>>> ---
>>
>> Makes me wonder if we should maybe extend the CCI definition
>> (or maybe the common i2c-bus binding?) to accept an external
>> pull-up supply, as this is a common problem.. (+Bryan, Wolfram)
>
> I'm a little confused about terminology here. To me CCI is the
> communiation protocol (how to write the registers on the i2c bus). But
> here' we're talking about 'pulling up' a cci bus ?
CCI is unfortunately also the name of the I2C controller housed within
the camera subsystem on qc platforms and we're talking about pulling
up sda/scl lanes
Konrad
>
> Is this actually impacting the bus - or is it more that it's /powering/
> the camera and VCM both simultaneously (which is what happens on the RPi
> cameras)
>
> My curiosity lies in the fact that indeed we somehow need to be able to
> coordinate the power relationship between multiple devices which ...
> while independent for configuration - they do impact each other. I.e. if
> you power on the camera and it simultaneously powers on the VCM - you
> get the VCM jumping position if it's not also configured, so I
> anticipate various bits of complexities here if they are all powered by
> the same line.
>
> I don't think a camera module should always be powered on for a phone
> running on a battery - perhaps on this device the sensors have a
> separate power down control ?
>
> --
> Kieran
>
>> We could then shut down the regulator when cameras are not
>> in use, preserving some trace amounts of power.
>>
>> Or maybe L6P is already used as a pull-up supply for more things
>> onboard and should be always-on either way? Could you please
>> check that, Griffin?
>>
>> Konrad
>>
>>> arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts | 2 ++
>>> 1 file changed, 2 insertions(+)
>>>
>>> diff --git a/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts b/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
>>> index e115b6a52b299ef663ccfb614785f8f89091f39d..2dd2c452592aa6b0ac826f19eb9cb1a8b90cee47 100644
>>> --- a/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
>>> +++ b/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
>>> @@ -749,6 +749,8 @@ vreg_l6p: ldo6 {
>>> regulator-name = "vreg_l6p";
>>> regulator-min-microvolt = <1700000>;
>>> regulator-max-microvolt = <1904000>;
>>> + /* Pull-up for CCI I2C busses */
>>> + regulator-always-on;
>>> };
>>>
>>> vreg_l7p: ldo7 {
>>>
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 4/4] arm64: dts: qcom: qcm6490-fairphone-fp5: Add UW cam actuator
2025-10-02 10:15 ` [PATCH 4/4] arm64: dts: qcom: qcm6490-fairphone-fp5: Add UW cam actuator Griffin Kroah-Hartman
2025-10-02 13:16 ` Luca Weiss
@ 2025-10-06 9:20 ` Konrad Dybcio
2025-10-06 9:44 ` Luca Weiss
1 sibling, 1 reply; 18+ messages in thread
From: Konrad Dybcio @ 2025-10-06 9:20 UTC (permalink / raw)
To: Griffin Kroah-Hartman, Mauro Carvalho Chehab, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, devicetree, Daniel Scally,
Sakari Ailus, Bjorn Andersson, Konrad Dybcio, André Apitzsch
Cc: linux-media, linux-kernel, linux-arm-msm
On 10/2/25 12:15 PM, Griffin Kroah-Hartman wrote:
> Add a node for the Dongwoon DW9800K actuator, used for focus of the
> ultra-wide camera sensor.
>
> Signed-off-by: Griffin Kroah-Hartman <griffin.kroah@fairphone.com>
> ---
> arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts b/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
> index 2dd2c452592aa6b0ac826f19eb9cb1a8b90cee47..0e86cd5ff527925c7dba15c4e0ee5fc409fe4ce6 100644
> --- a/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
> +++ b/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
> @@ -627,6 +627,15 @@ eeprom@50 {
> };
>
> &cci0_i2c1 {
> + camera_imx858_dw9800k: actuator@e {
> + compatible = "dongwoon,dw9800k";
> + reg = <0x0e>;
> + vdd-supply = <&vreg_afvdd_2p8>;
> +
> + dongwoon,sac-mode = <1>;
This property exists, but isn't documented (you need to extend the bindings)
> + dongwoon,vcm-prescale = <16>;
This property is neither documented, nor consumed by the driver (it may
or may not matter to you, check against what your presumably-BSP driver
does with it)
Konrad
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 4/4] arm64: dts: qcom: qcm6490-fairphone-fp5: Add UW cam actuator
2025-10-06 9:20 ` Konrad Dybcio
@ 2025-10-06 9:44 ` Luca Weiss
2025-10-06 11:26 ` Konrad Dybcio
0 siblings, 1 reply; 18+ messages in thread
From: Luca Weiss @ 2025-10-06 9:44 UTC (permalink / raw)
To: Konrad Dybcio, Griffin Kroah-Hartman, Mauro Carvalho Chehab,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, devicetree,
Daniel Scally, Sakari Ailus, Bjorn Andersson, Konrad Dybcio,
André Apitzsch
Cc: linux-media, linux-kernel, linux-arm-msm
Hi Konrad,
On Mon Oct 6, 2025 at 11:20 AM CEST, Konrad Dybcio wrote:
> On 10/2/25 12:15 PM, Griffin Kroah-Hartman wrote:
>> Add a node for the Dongwoon DW9800K actuator, used for focus of the
>> ultra-wide camera sensor.
>>
>> Signed-off-by: Griffin Kroah-Hartman <griffin.kroah@fairphone.com>
>> ---
>> arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts | 9 +++++++++
>> 1 file changed, 9 insertions(+)
>>
>> diff --git a/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts b/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
>> index 2dd2c452592aa6b0ac826f19eb9cb1a8b90cee47..0e86cd5ff527925c7dba15c4e0ee5fc409fe4ce6 100644
>> --- a/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
>> +++ b/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
>> @@ -627,6 +627,15 @@ eeprom@50 {
>> };
>>
>> &cci0_i2c1 {
>> + camera_imx858_dw9800k: actuator@e {
>> + compatible = "dongwoon,dw9800k";
>> + reg = <0x0e>;
>> + vdd-supply = <&vreg_afvdd_2p8>;
>> +
>> + dongwoon,sac-mode = <1>;
>
> This property exists, but isn't documented (you need to extend the bindings)
Please see the patchset this one depends on, which adds dt-bindings and
adds prerequisite driver support:
https://lore.kernel.org/lkml/20250920-dw9719-v2-1-028cdaa156e5@apitzsch.eu/
Regards
Luca
>
>> + dongwoon,vcm-prescale = <16>;
>
> This property is neither documented, nor consumed by the driver (it may
> or may not matter to you, check against what your presumably-BSP driver
> does with it)
>
> Konrad
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 4/4] arm64: dts: qcom: qcm6490-fairphone-fp5: Add UW cam actuator
2025-10-06 9:44 ` Luca Weiss
@ 2025-10-06 11:26 ` Konrad Dybcio
0 siblings, 0 replies; 18+ messages in thread
From: Konrad Dybcio @ 2025-10-06 11:26 UTC (permalink / raw)
To: Luca Weiss, Griffin Kroah-Hartman, Mauro Carvalho Chehab,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, devicetree,
Daniel Scally, Sakari Ailus, Bjorn Andersson, Konrad Dybcio,
André Apitzsch
Cc: linux-media, linux-kernel, linux-arm-msm
On 10/6/25 11:44 AM, Luca Weiss wrote:
> Hi Konrad,
>
> On Mon Oct 6, 2025 at 11:20 AM CEST, Konrad Dybcio wrote:
>> On 10/2/25 12:15 PM, Griffin Kroah-Hartman wrote:
>>> Add a node for the Dongwoon DW9800K actuator, used for focus of the
>>> ultra-wide camera sensor.
>>>
>>> Signed-off-by: Griffin Kroah-Hartman <griffin.kroah@fairphone.com>
>>> ---
>>> arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts | 9 +++++++++
>>> 1 file changed, 9 insertions(+)
>>>
>>> diff --git a/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts b/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
>>> index 2dd2c452592aa6b0ac826f19eb9cb1a8b90cee47..0e86cd5ff527925c7dba15c4e0ee5fc409fe4ce6 100644
>>> --- a/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
>>> +++ b/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
>>> @@ -627,6 +627,15 @@ eeprom@50 {
>>> };
>>>
>>> &cci0_i2c1 {
>>> + camera_imx858_dw9800k: actuator@e {
>>> + compatible = "dongwoon,dw9800k";
>>> + reg = <0x0e>;
>>> + vdd-supply = <&vreg_afvdd_2p8>;
>>> +
>>> + dongwoon,sac-mode = <1>;
>>
>> This property exists, but isn't documented (you need to extend the bindings)
>
> Please see the patchset this one depends on, which adds dt-bindings and
> adds prerequisite driver support:
>
> https://lore.kernel.org/lkml/20250920-dw9719-v2-1-028cdaa156e5@apitzsch.eu/
Sorry, I overlooked that!
Konrad
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 1/4] dt-bindings: media: i2c: dw9719: Document DW9800K
2025-10-02 10:15 ` [PATCH 1/4] dt-bindings: media: i2c: dw9719: Document DW9800K Griffin Kroah-Hartman
@ 2025-10-08 20:02 ` Rob Herring (Arm)
0 siblings, 0 replies; 18+ messages in thread
From: Rob Herring (Arm) @ 2025-10-08 20:02 UTC (permalink / raw)
To: Griffin Kroah-Hartman
Cc: linux-arm-msm, linux-media, Sakari Ailus, Daniel Scally,
Konrad Dybcio, Krzysztof Kozlowski, linux-kernel,
André Apitzsch, Conor Dooley, Mauro Carvalho Chehab,
devicetree, Bjorn Andersson
On Thu, 02 Oct 2025 12:15:33 +0200, Griffin Kroah-Hartman wrote:
> Document the Dongwoon Anatech DW9800K.
>
> Signed-off-by: Griffin Kroah-Hartman <griffin.kroah@fairphone.com>
> ---
> Documentation/devicetree/bindings/media/i2c/dongwoon,dw9719.yaml | 1 +
> 1 file changed, 1 insertion(+)
>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
^ permalink raw reply [flat|nested] 18+ messages in thread
end of thread, other threads:[~2025-10-08 20:02 UTC | newest]
Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-02 10:15 [PATCH 0/4] Add support for Dongwoon Anatech DW9800K driver Griffin Kroah-Hartman
2025-10-02 10:15 ` [PATCH 1/4] dt-bindings: media: i2c: dw9719: Document DW9800K Griffin Kroah-Hartman
2025-10-08 20:02 ` Rob Herring (Arm)
2025-10-02 10:15 ` [PATCH 2/4] media: i2c: dw9719: Add DW9800K support Griffin Kroah-Hartman
2025-10-02 12:58 ` Luca Weiss
2025-10-03 7:04 ` Sakari Ailus
2025-10-02 10:15 ` [PATCH 3/4] arm64: dts: qcom: qcm6490-fairphone-fp5: Enable CCI pull-up Griffin Kroah-Hartman
2025-10-02 12:45 ` Konrad Dybcio
2025-10-02 13:12 ` Bryan O'Donoghue
2025-10-02 13:14 ` Luca Weiss
2025-10-02 14:05 ` Wolfram Sang
2025-10-03 10:35 ` Kieran Bingham
2025-10-03 11:03 ` Konrad Dybcio
2025-10-02 10:15 ` [PATCH 4/4] arm64: dts: qcom: qcm6490-fairphone-fp5: Add UW cam actuator Griffin Kroah-Hartman
2025-10-02 13:16 ` Luca Weiss
2025-10-06 9:20 ` Konrad Dybcio
2025-10-06 9:44 ` Luca Weiss
2025-10-06 11:26 ` Konrad Dybcio
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).