From: "Angioli Samuele (gmail)" <angioli.samuele@gmail.com>
To: Marco Nenciarini <mnencia@kcore.it>, linux-media@vger.kernel.org
Cc: Hans de Goede <hansg@kernel.org>,
ilpo.jarvinen@linux.intel.com,
Sakari Ailus <sakari.ailus@linux.intel.com>,
linux-kernel@vger.kernel.org,
platform-driver-x86@vger.kernel.org
Subject: Re: [BUG] OV02C10 on Dell 16 Premium DA16250 (ARL): INT3472 handshake-derived "dvdd" regulator registered but never linked to sensor, sensor probe fails with -EREMOTEIO
Date: Mon, 15 Jun 2026 15:00:38 +0200 [thread overview]
Message-ID: <dee36707-3fc9-486e-b18b-d6a246edb67c@gmail.com> (raw)
In-Reply-To: <ai_TEj-_ije1XgYF@spark.kcore.it>
Marco,
The _STA read settles it, and not in our favour. Full int3472 _STA dump:
INT3472:0c \_SB.PC00.DSC0 status=15
everything else (DSC1-5, LTH0-5, CLP0-5, and INT3472:00 = the I2C2
TPS68470) status=0
So DSC0 is the only live INT3472 on the platform. DSC1's _STA is
Method (_STA) { If (CL01) { If (C1TP == 1) Return(0x0F) } Return(0) }
identical in shape to DSC0's (CL00 / C0TP==1, which is why DSC0 is
live).CL01 and C1TP are NVS OperationRegion fields (8-bit, defined in
the DSDT NVS block) that are only ever *read* in the ASL -- never
assigned, and not inside any _OSI branch. The only _OSI use in the
tables is the standard OS-version detection; it does not feed the camera
gating. So this is a BIOS/NVS camera-config gate, not OS-gated: acpi_osi
spoofing can't flip it.
C1TP is also the field CDEP keys on (==1 -> DSCn, ==5 -> LTHn, >1 ->
CLPn), and with DSC1/LTH1/CLP1 all _STA=0, camera 1 (the OV02C10) has no
live PMIC instance at all. And even if DSC1 were on, its _DSM only
exposes func 0x12 (dvdd handshake) + func 0x0D (privacy LED) -- no
avdd/dovdd/reset/clock.
DSC0's is the same shape (dvdd + 0x02 strobe). So none of the discrete
instances ever carried the sensor's avdd/dovdd/reset/clock; those come
from a path that is entirely _STA=0 here.
The factory Windows install runs the RGB camera fine, so the hardware is
present -- Windows just powers it through its IPU6/PMIC stack,
independent of these _STA-gated INT3472 devices. Linux's int3472/ov02c10
path depends on them, and the DA16250 firmware leaves the whole RGB-side
PMIC topology _STA=0 in NVS.
Conclusion: the second_sensor dvdd quirk is correct and worth landing
for boards where the relevant DSC is enabled, but it cannot bring this
camera up. The OV02C10's avdd/dovdd/reset/clock have no live provider to
re-key to, and the disable is a firmware NVS config, not something the
kernel can satisfy. Short of Dell enabling the RGB PMIC instances in
firmware, the only in-tree path would be a full DA16250-specific quirk
that hardcodes fixed regulators for avdd/dovdd and sources reset/clock
directly -- which needs the board schematic and only works if those
rails are actually software-controllable. I suspect that's not worth it
for one SKU; this looks like a Dell firmware bug to report upstream to them.
Thanks for walking through it -- happy to file the dvdd second_sensor
quirk on its own if you still want it in for the general case.
Thanks,
Samuele
Il 15/06/26 12:25, Marco Nenciarini ha scritto:
> Samuele,
>
> Thanks. The dvdd re-key worked (post-patch ov02c10 only logs "not
> found" for dovdd/avdd, not dvdd, so it did attach to DSC0's dvdd), but
> as you found it can't bring the sensor up: the rails it still needs
> (avdd, dovdd, its reset GPIO and clock) would have come from DSC1, and
> DSC1 is _STA=0, so nothing live provides them.
>
> So before any kernel change is worth considering, the question is
> whether DSC1 is off by firmware design. _STA=0 is what you get from a
> device that is BIOS-disabled, OS-gated, or simply not fitted on this
> SKU, and the asymmetry fits: DSC0 (the IR camera) is live, only DSC1
> (the RGB sensor) is dead. If DSC1 is meant to be off here, there is
> nothing for int3472 to fix and no quirk worth writing, so I'd rather
> confirm that than build around it.
>
> The way to tell is to read DSC1's _STA from the firmware tables.
> acpidump's multi-table dump won't feed iasl -d directly, so read the
> raw tables from sysfs:
>
> cp /sys/firmware/acpi/tables/DSDT dsdt.dat
> cp /sys/firmware/acpi/tables/SSDT* .
> iasl -d dsdt.dat SSDT*
>
> then grep the *.dsl for DSC1 (the DSC blocks often live in an SSDT, not
> the DSDT) and read its _STA. If it returns a flat zero, or gates on
> _OSI("Windows ..."), or reads a manufacturing/setup variable, the
> sensor is disabled by firmware and that is the end of the kernel angle.
> If instead it depends on something a live instance could satisfy, then
> there's a kernel path worth pursuing and we look again.
>
> If you still have the factory Windows install, whether the RGB camera
> works there is a useful cross-check (works in Windows means gated, not
> absent), but the _STA read is the real signal.
>
> Thanks,
> Marco
prev parent reply other threads:[~2026-06-15 13:00 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-01 14:06 [BUG] OV02C10 on Dell 16 Premium DA16250 (ARL): INT3472 handshake-derived "dvdd" regulator registered but never linked to sensor, sensor probe fails with -EREMOTEIO Angioli Samuele (gmail)
2026-06-03 7:26 ` Marco Nenciarini
2026-06-12 16:09 ` Angioli Samuele (gmail)
2026-06-13 17:01 ` Marco Nenciarini
2026-06-14 14:29 ` Angioli Samuele (gmail)
2026-06-14 20:23 ` Marco Nenciarini
2026-06-15 8:21 ` Angioli Samuele (gmail)
2026-06-15 10:25 ` Marco Nenciarini
2026-06-15 13:00 ` Angioli Samuele (gmail) [this message]
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=dee36707-3fc9-486e-b18b-d6a246edb67c@gmail.com \
--to=angioli.samuele@gmail.com \
--cc=hansg@kernel.org \
--cc=ilpo.jarvinen@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=mnencia@kcore.it \
--cc=platform-driver-x86@vger.kernel.org \
--cc=sakari.ailus@linux.intel.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.