* [PATCH RFC 0/3] Add support for Asahi Kasei AK7377 driver
@ 2025-10-09 12:23 Griffin Kroah-Hartman
2025-10-09 12:23 ` [PATCH RFC 1/3] dt-bindings: media: i2c: ak7375: Document AK7377 Griffin Kroah-Hartman
` (2 more replies)
0 siblings, 3 replies; 8+ messages in thread
From: Griffin Kroah-Hartman @ 2025-10-09 12:23 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Sakari Ailus, Tianshu Qiu, Mauro Carvalho Chehab,
Luca Weiss
Cc: linux-arm-msm, devicetree, linux-kernel, linux-media,
Griffin Kroah-Hartman
Add devicetree bindings and driver support for the AK7377 VCM driver.
The driver code is added to the preexistent ak7375 driver, which appears
to have similar function order.
Some values of this driver were reverse-engineered from the existing
drivers due to the lack of a datasheet for the AK7377, The driver moves
the lens but could not be fully tested due to lack of camera sensor support,
that's why this is marked RFC.
Signed-off-by: Griffin Kroah-Hartman <griffin.kroah@fairphone.com>
---
Griffin Kroah-Hartman (3):
dt-bindings: media: i2c: ak7375: Document AK7377
media: i2c: ak7375: Add support for ak7377
arm64: dts: qcom: qcm6490-fairphone-fp5: Add cam actuator
.../devicetree/bindings/media/i2c/asahi-kasei,ak7375.yaml | 1 +
arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts | 7 +++++++
drivers/media/i2c/ak7375.c | 14 ++++++++++++++
3 files changed, 22 insertions(+)
---
base-commit: e5f0a698b34ed76002dc5cff3804a61c80233a7a
change-id: 20251009-ak7377-driver-86381f29765b
Best regards,
--
Griffin Kroah-Hartman <griffin.kroah@fairphone.com>
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH RFC 1/3] dt-bindings: media: i2c: ak7375: Document AK7377
2025-10-09 12:23 [PATCH RFC 0/3] Add support for Asahi Kasei AK7377 driver Griffin Kroah-Hartman
@ 2025-10-09 12:23 ` Griffin Kroah-Hartman
2025-10-09 14:04 ` Krzysztof Kozlowski
2025-10-09 12:23 ` [PATCH RFC 2/3] media: i2c: ak7375: Add support for ak7377 Griffin Kroah-Hartman
2025-10-09 12:23 ` [PATCH RFC 3/3] arm64: dts: qcom: qcm6490-fairphone-fp5: Add cam actuator Griffin Kroah-Hartman
2 siblings, 1 reply; 8+ messages in thread
From: Griffin Kroah-Hartman @ 2025-10-09 12:23 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Sakari Ailus, Tianshu Qiu, Mauro Carvalho Chehab,
Luca Weiss
Cc: linux-arm-msm, devicetree, linux-kernel, linux-media,
Griffin Kroah-Hartman
Document the Asahi Kasei AK7377.
Signed-off-by: Griffin Kroah-Hartman <griffin.kroah@fairphone.com>
---
Documentation/devicetree/bindings/media/i2c/asahi-kasei,ak7375.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/media/i2c/asahi-kasei,ak7375.yaml b/Documentation/devicetree/bindings/media/i2c/asahi-kasei,ak7375.yaml
index fe312cc6a87310fc77216d945e7b301dd98acc0c..c040757eb80c925d796919316c64ae31fb4df49c 100644
--- a/Documentation/devicetree/bindings/media/i2c/asahi-kasei,ak7375.yaml
+++ b/Documentation/devicetree/bindings/media/i2c/asahi-kasei,ak7375.yaml
@@ -18,6 +18,7 @@ properties:
enum:
- asahi-kasei,ak7345
- asahi-kasei,ak7375
+ - asahi-kasei,ak7377
reg:
maxItems: 1
--
2.43.0
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH RFC 2/3] media: i2c: ak7375: Add support for ak7377
2025-10-09 12:23 [PATCH RFC 0/3] Add support for Asahi Kasei AK7377 driver Griffin Kroah-Hartman
2025-10-09 12:23 ` [PATCH RFC 1/3] dt-bindings: media: i2c: ak7375: Document AK7377 Griffin Kroah-Hartman
@ 2025-10-09 12:23 ` Griffin Kroah-Hartman
2025-10-09 12:23 ` [PATCH RFC 3/3] arm64: dts: qcom: qcm6490-fairphone-fp5: Add cam actuator Griffin Kroah-Hartman
2 siblings, 0 replies; 8+ messages in thread
From: Griffin Kroah-Hartman @ 2025-10-09 12:23 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Sakari Ailus, Tianshu Qiu, Mauro Carvalho Chehab,
Luca Weiss
Cc: linux-arm-msm, devicetree, linux-kernel, linux-media,
Griffin Kroah-Hartman
Add support for AK7377 VCM, which is a similar chip to the AK7375.
It has no known standby register setting.
Some values were reverse-engineered from the other chip's code,
so the driver may not currently be reaching its full potential.
Signed-off-by: Griffin Kroah-Hartman <griffin.kroah@fairphone.com>
---
drivers/media/i2c/ak7375.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/drivers/media/i2c/ak7375.c b/drivers/media/i2c/ak7375.c
index 9a2432cea3fff9f0ff41796f97236449792dccfc..47f9d14d9a65d43e5a8e5d6966e8f330c99865f8 100644
--- a/drivers/media/i2c/ak7375.c
+++ b/drivers/media/i2c/ak7375.c
@@ -65,6 +65,19 @@ static const struct ak73xx_chipdef ak7375_cdef = {
.power_delay_us = 10000,
};
+static const struct ak73xx_chipdef ak7377_cdef = {
+ .reg_position = 0x0,
+ .reg_cont = 0x2,
+ .shift_pos = 4, /* 12 bits position values, need to << 4 */
+ .mode_active = 0x0,
+ .has_standby = false,
+ .focus_pos_max = 1024,
+ .focus_steps = 1,
+ .ctrl_steps = 32,
+ .ctrl_delay_us = 1000,
+ .power_delay_us = 10000,
+};
+
static const char * const ak7375_supply_names[] = {
"vdd",
"vio",
@@ -331,6 +344,7 @@ static int __maybe_unused ak7375_vcm_resume(struct device *dev)
static const struct of_device_id ak7375_of_table[] = {
{ .compatible = "asahi-kasei,ak7345", .data = &ak7345_cdef, },
{ .compatible = "asahi-kasei,ak7375", .data = &ak7375_cdef, },
+ { .compatible = "asahi-kasei,ak7377", .data = &ak7377_cdef, },
{ /* sentinel */ }
};
MODULE_DEVICE_TABLE(of, ak7375_of_table);
--
2.43.0
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH RFC 3/3] arm64: dts: qcom: qcm6490-fairphone-fp5: Add cam actuator
2025-10-09 12:23 [PATCH RFC 0/3] Add support for Asahi Kasei AK7377 driver Griffin Kroah-Hartman
2025-10-09 12:23 ` [PATCH RFC 1/3] dt-bindings: media: i2c: ak7375: Document AK7377 Griffin Kroah-Hartman
2025-10-09 12:23 ` [PATCH RFC 2/3] media: i2c: ak7375: Add support for ak7377 Griffin Kroah-Hartman
@ 2025-10-09 12:23 ` Griffin Kroah-Hartman
2025-10-22 17:29 ` Konrad Dybcio
2 siblings, 1 reply; 8+ messages in thread
From: Griffin Kroah-Hartman @ 2025-10-09 12:23 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Sakari Ailus, Tianshu Qiu, Mauro Carvalho Chehab,
Luca Weiss
Cc: linux-arm-msm, devicetree, linux-kernel, linux-media,
Griffin Kroah-Hartman
Add a node for Asahi Kasei AK7377 actuator, used for focus of the main
back camera sensor.
Signed-off-by: Griffin Kroah-Hartman <griffin.kroah@fairphone.com>
---
arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts | 7 +++++++
1 file changed, 7 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..49654f0f914fbe18080d2f55bb6877c8ab7baf0e 100644
--- a/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
+++ b/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
@@ -616,6 +616,13 @@ &cci0 {
};
&cci0_i2c0 {
+ camera_imx800_ak7377: actuator@c {
+ compatible = "asahi-kasei,ak7377";
+ reg = <0x0c>;
+ vdd-supply = <&vreg_l7p>;
+ vio-supply = <&vreg_l7p>;
+ };
+
/* IMX800 @ 1a */
eeprom@50 {
--
2.43.0
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH RFC 1/3] dt-bindings: media: i2c: ak7375: Document AK7377
2025-10-09 12:23 ` [PATCH RFC 1/3] dt-bindings: media: i2c: ak7375: Document AK7377 Griffin Kroah-Hartman
@ 2025-10-09 14:04 ` Krzysztof Kozlowski
0 siblings, 0 replies; 8+ messages in thread
From: Krzysztof Kozlowski @ 2025-10-09 14:04 UTC (permalink / raw)
To: Griffin Kroah-Hartman, Bjorn Andersson, Konrad Dybcio,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Sakari Ailus,
Tianshu Qiu, Mauro Carvalho Chehab, Luca Weiss
Cc: linux-arm-msm, devicetree, linux-kernel, linux-media
On 09/10/2025 21:23, Griffin Kroah-Hartman wrote:
> Document the Asahi Kasei AK7377.
>
> Signed-off-by: Griffin Kroah-Hartman <griffin.kroah@fairphone.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH RFC 3/3] arm64: dts: qcom: qcm6490-fairphone-fp5: Add cam actuator
2025-10-09 12:23 ` [PATCH RFC 3/3] arm64: dts: qcom: qcm6490-fairphone-fp5: Add cam actuator Griffin Kroah-Hartman
@ 2025-10-22 17:29 ` Konrad Dybcio
2025-10-23 8:37 ` Griffin Kroah-Hartman
0 siblings, 1 reply; 8+ messages in thread
From: Konrad Dybcio @ 2025-10-22 17:29 UTC (permalink / raw)
To: Griffin Kroah-Hartman, Bjorn Andersson, Konrad Dybcio,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Sakari Ailus,
Tianshu Qiu, Mauro Carvalho Chehab, Luca Weiss
Cc: linux-arm-msm, devicetree, linux-kernel, linux-media
On 10/9/25 2:23 PM, Griffin Kroah-Hartman wrote:
> Add a node for Asahi Kasei AK7377 actuator, used for focus of the main
> back camera sensor.
>
> Signed-off-by: Griffin Kroah-Hartman <griffin.kroah@fairphone.com>
> ---
> arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts | 7 +++++++
> 1 file changed, 7 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..49654f0f914fbe18080d2f55bb6877c8ab7baf0e 100644
> --- a/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
> +++ b/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
> @@ -616,6 +616,13 @@ &cci0 {
> };
>
> &cci0_i2c0 {
> + camera_imx800_ak7377: actuator@c {
> + compatible = "asahi-kasei,ak7377";
> + reg = <0x0c>;
> + vdd-supply = <&vreg_l7p>;
> + vio-supply = <&vreg_l7p>;
The dt-bindings suggest vdd is 2.8 V and vio is 1.8 V (at least
on AK7375, although this isn't stated explicitly..)
L7P on FP5 is 2.7 V (default) - 3.0 V (which you should probably
tighten to the actual operating value), please double-check this
Konrad
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH RFC 3/3] arm64: dts: qcom: qcm6490-fairphone-fp5: Add cam actuator
2025-10-22 17:29 ` Konrad Dybcio
@ 2025-10-23 8:37 ` Griffin Kroah-Hartman
2025-10-23 11:36 ` Sakari Ailus
0 siblings, 1 reply; 8+ messages in thread
From: Griffin Kroah-Hartman @ 2025-10-23 8:37 UTC (permalink / raw)
To: Konrad Dybcio, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Sakari Ailus, Tianshu Qiu,
Mauro Carvalho Chehab, Luca Weiss
Cc: linux-arm-msm, devicetree, linux-kernel, linux-media
Hi Konrad
On 10/22/25 19:29, Konrad Dybcio wrote:
> On 10/9/25 2:23 PM, Griffin Kroah-Hartman wrote:
>> Add a node for Asahi Kasei AK7377 actuator, used for focus of the main
>> back camera sensor.
>>
>> Signed-off-by: Griffin Kroah-Hartman <griffin.kroah@fairphone.com>
>> ---
>> arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts | 7 +++++++
>> 1 file changed, 7 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..49654f0f914fbe18080d2f55bb6877c8ab7baf0e 100644
>> --- a/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
>> +++ b/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
>> @@ -616,6 +616,13 @@ &cci0 {
>> };
>>
>> &cci0_i2c0 {
>> + camera_imx800_ak7377: actuator@c {
>> + compatible = "asahi-kasei,ak7377";
>> + reg = <0x0c>;
>> + vdd-supply = <&vreg_l7p>;
>> + vio-supply = <&vreg_l7p>;
>
> The dt-bindings suggest vdd is 2.8 V and vio is 1.8 V (at least
> on AK7375, although this isn't stated explicitly..)
This AK7377 is integrated into a JHS-M15342-A2, which only takes in VDD
as a power supply. VIO was only added to satisfy the dt-bindings, as we
are not sure what the exact pin layout the AK7377 has.
> L7P on FP5 is 2.7 V (default) - 3.0 V (which you should probably
> tighten to the actual operating value), please double-check this
I can confirm that L7P is supposed to be 2.8V on the FP5, I will update
the dts in my next patchset.
> Konrad
Griffin
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH RFC 3/3] arm64: dts: qcom: qcm6490-fairphone-fp5: Add cam actuator
2025-10-23 8:37 ` Griffin Kroah-Hartman
@ 2025-10-23 11:36 ` Sakari Ailus
0 siblings, 0 replies; 8+ messages in thread
From: Sakari Ailus @ 2025-10-23 11:36 UTC (permalink / raw)
To: Griffin Kroah-Hartman
Cc: Konrad Dybcio, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Tianshu Qiu,
Mauro Carvalho Chehab, Luca Weiss, linux-arm-msm, devicetree,
linux-kernel, linux-media
Hi Griffin,
On Thu, Oct 23, 2025 at 10:37:50AM +0200, Griffin Kroah-Hartman wrote:
> Hi Konrad
> On 10/22/25 19:29, Konrad Dybcio wrote:
> > On 10/9/25 2:23 PM, Griffin Kroah-Hartman wrote:
> > > Add a node for Asahi Kasei AK7377 actuator, used for focus of the main
> > > back camera sensor.
> > >
> > > Signed-off-by: Griffin Kroah-Hartman <griffin.kroah@fairphone.com>
> > > ---
> > > arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts | 7 +++++++
> > > 1 file changed, 7 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..49654f0f914fbe18080d2f55bb6877c8ab7baf0e 100644
> > > --- a/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
> > > +++ b/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts
> > > @@ -616,6 +616,13 @@ &cci0 {
> > > };
> > > &cci0_i2c0 {
> > > + camera_imx800_ak7377: actuator@c {
> > > + compatible = "asahi-kasei,ak7377";
> > > + reg = <0x0c>;
> > > + vdd-supply = <&vreg_l7p>;
> > > + vio-supply = <&vreg_l7p>;
> >
> > The dt-bindings suggest vdd is 2.8 V and vio is 1.8 V (at least
> > on AK7375, although this isn't stated explicitly..)
>
> This AK7377 is integrated into a JHS-M15342-A2, which only takes in VDD as a
> power supply. VIO was only added to satisfy the dt-bindings, as we are not
> sure what the exact pin layout the AK7377 has.
>
> > L7P on FP5 is 2.7 V (default) - 3.0 V (which you should probably
> > tighten to the actual operating value), please double-check this
>
> I can confirm that L7P is supposed to be 2.8V on the FP5, I will update the
> dts in my next patchset.
This seems to be unrelated to the DTB/driver patches, which I presume I
could take from this version while you'd post an updated DTS only?
--
Regards,
Sakari Ailus
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2025-10-23 11:36 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-09 12:23 [PATCH RFC 0/3] Add support for Asahi Kasei AK7377 driver Griffin Kroah-Hartman
2025-10-09 12:23 ` [PATCH RFC 1/3] dt-bindings: media: i2c: ak7375: Document AK7377 Griffin Kroah-Hartman
2025-10-09 14:04 ` Krzysztof Kozlowski
2025-10-09 12:23 ` [PATCH RFC 2/3] media: i2c: ak7375: Add support for ak7377 Griffin Kroah-Hartman
2025-10-09 12:23 ` [PATCH RFC 3/3] arm64: dts: qcom: qcm6490-fairphone-fp5: Add cam actuator Griffin Kroah-Hartman
2025-10-22 17:29 ` Konrad Dybcio
2025-10-23 8:37 ` Griffin Kroah-Hartman
2025-10-23 11:36 ` Sakari Ailus
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox