From: Chris Simpson <chris@nilk.net>
To: "Danila Tikhonov" <danila@mainlining.org>,
"Mauro Carvalho Chehab" <mchehab@kernel.org>,
"Rob Herring" <robh@kernel.org>,
"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
"Conor Dooley" <conor+dt@kernel.org>,
"André Apitzsch" <git@apitzsch.eu>,
"Daniel Scally" <dan.scally@ideasonboard.com>,
"Sakari Ailus" <sakari.ailus@linux.intel.com>,
"Bjorn Andersson" <andersson@kernel.org>,
"Konrad Dybcio" <konradybcio@kernel.org>,
"Eugene Lepshy" <fekz115@gmail.com>,
"Vasiliy Doylov" <neko@altlinux.org>,
"Achill Gilgenast" <achill@achill.org>,
"Luca Weiss" <luca.weiss@fairphone.com>,
"Griffin Kroah-Hartman" <griffin.kroah@fairphone.com>
Cc: linux-media@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org,
~postmarketos/upstreaming@lists.sr.ht
Subject: Re: [PATCH RFT 2/3] media: i2c: dw9719: Add DW9800W support
Date: Sat, 17 Oct 2026 15:47:14 -0600 [thread overview]
Message-ID: <eee2988c-5ab6-40c3-ad3d-e4e0aeb977be@nilk.net> (raw)
In-Reply-To: <20260801-dw9800w-clean-v1-2-38978de67963@mainlining.org>
Hi Danila,
On Sat, 01 Aug 2026 21:04:15 +0300, Danila Tikhonov wrote:
> The DW9800W uses the same chip ID and register layout as the DW9800K,
> but requires different default VCM frequency value.
A data point for v2. The Microsoft Surface Pro 9 has a DW9800W on its
OV13858 rear camera module, at 0x0c on the sensor's I2C bus. INFO reads
0xF2 and register 7 powers up as 0x60, both matching the values in this
patch. The module is enumerated through ACPI, so ipu-bridge creates
the I2C client, not DT.
I ran this patch as posted, plus the one dw9719_id_table line
suggested below (without it the driver can't get the DW9800W model on
ACPI), on a 7.2.11 distro kernel with the linux-surface patches. My
ipu-bridge change, still to be posted, creates the "dw9800w" client
from the Surface's SSDB. The driver binds to that client, INFO reads
0xF2, so it goes through the DW9800_ID case, and the sensor gets its
ancillary link to the lens. With the camera streaming, register
readback shows CONTROL 0x02, MODE 0x40 and register 7 0x60, and
V4L2_CID_FOCUS_ABSOLUTE values 640, 1023 and 512 reach VCM_CURRENT. An
equivalent change has also run through runtime and system suspend on
the same tablet.
[...]
> { .compatible = "dongwoon,dw9800k", .data = (const void *)DW9800K },
> + { .compatible = "dongwoon,dw9800w", .data = (const void *)DW9800W },
ACPI users need the I2C id as well. As posted, an ACPI-instantiated
client can't get the DW9800W model:
- Named "dw9800w" with CONFIG_OF=n (Fedora's x86 config), it matches
nothing.
- Named "dw9800w" with CONFIG_OF=y, it binds through the i2c core's
compatible-name fallback. i2c_get_match_data() then returns NULL, so
the model is DW9718S and the INFO check is skipped.
- Named "dw9719", it gets model DW9719, and the DW9800_ID case returns
-ENODEV.
Could v2 add this to dw9719_id_table?
{ .name = "dw9800w", .driver_data = (kernel_ulong_t)DW9800W },
Also, that -ENODEV return leaves the regulator enabled, like the paths
Myeonghun Pak's patch fixes [1]. It would be worth routing it through
the same power-down path.
I understand v2 is waiting for the DW9800K rework. I'll test it on the
Pro 9 when it comes and send a Tested-by then. The ipu-bridge patch
for the Surface's VCM type would follow on top of it.
Thanks,
Chris
Made with AI assistance. Written by Claude Opus 5.5 (drafting), with
review by Claude Fable 5.1 and testing by Claude Opus 5.5, under the
direction of Chris Simpson <chris@nilk.net>, who reviewed and approved
it.
[1] https://lore.kernel.org/all/20260913041828.28430-1-mhun512@gmail.com/
next prev parent reply other threads:[~2026-10-17 21:47 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-01 18:04 [PATCH RFT 0/3] Add UW Camera Actuator support for Nothing Phone (1) Danila Tikhonov
2026-08-01 18:04 ` [PATCH RFT 1/3] dt-bindings: media: i2c: dw9719: Document DW9800W Danila Tikhonov
2026-08-04 8:29 ` Krzysztof Kozlowski
2026-08-01 18:04 ` [PATCH RFT 2/3] media: i2c: dw9719: Add DW9800W support Danila Tikhonov
2026-08-01 19:03 ` Neko
2026-08-04 8:40 ` Sakari Ailus
2026-08-04 18:27 ` Danila Tikhonov
2026-08-05 11:29 ` Sakari Ailus
2026-08-07 14:30 ` Griffin Kroah-Hartman
2026-08-08 12:42 ` Danila Tikhonov
2026-08-12 7:47 ` Luca Weiss
2026-10-17 21:47 ` Chris Simpson [this message]
2026-08-01 18:04 ` [PATCH RFT 3/3] arm64: dts: qcom: sm7325-nothing-spacewar: Add UW camera actuator Danila Tikhonov
2026-08-01 19:02 ` Neko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=eee2988c-5ab6-40c3-ad3d-e4e0aeb977be@nilk.net \
--to=chris@nilk.net \
--cc=achill@achill.org \
--cc=andersson@kernel.org \
--cc=conor+dt@kernel.org \
--cc=dan.scally@ideasonboard.com \
--cc=danila@mainlining.org \
--cc=devicetree@vger.kernel.org \
--cc=fekz115@gmail.com \
--cc=git@apitzsch.eu \
--cc=griffin.kroah@fairphone.com \
--cc=konradybcio@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=luca.weiss@fairphone.com \
--cc=mchehab@kernel.org \
--cc=neko@altlinux.org \
--cc=robh@kernel.org \
--cc=sakari.ailus@linux.intel.com \
--cc=~postmarketos/upstreaming@lists.sr.ht \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®