From: Sergey Lebedev <lsa.uz@pm.me>
To: Daniel Scally <dan.scally@ideasonboard.com>
Cc: Hans de Goede <hansg@kernel.org>,
Sakari Ailus <sakari.ailus@linux.intel.com>,
platform-driver-x86@vger.kernel.org, linux-media@vger.kernel.org
Subject: int3472: the vendor GPIO type table, and four values that differ
Date: Mon, 31 Aug 2026 18:08:42 +0000 [thread overview]
Message-ID: <20260831180837.69000-1-lsa.uz@pm.me> (raw)
Working on the cameras of a Surface Pro 11 (Lunar Lake) I pulled the
complete GPIO type table out of Intel's Windows camera driver,
iactrllogic64.sys. Ten of its twenty entries correspond to constants in
int3472.h. Six agree. Four do not, and I cannot tell from here which side
is right, so this is a question rather than a patch.
The table as the vendor driver indexes it:
0x00 Reset 0x01 Enable 0x02 Strobe 0x03 Torch
0x04 Flash 0x05 LedRear 0x06 LedFront 0x07 Power0
0x08 Power1 0x09 Standby 0x0a WriteProtect 0x0b PowerEn
0x0c Mclk 0x0d PrivateLED 0x0e Avdd 0x0f Core
0x10 Handshake 0x11 HDMI_INT_IO 0x12 HDMIDetect 0x13 Reserved
Why I believe the indexing rather than a coincidence: five entries land
exactly on values the kernel arrived at independently. 0x00 Reset, 0x07
and 0x08 Power0 and Power1, 0x0b POWER_ENABLE against the vendor's
PowerEn, 0x0c CLK_ENABLE against Mclk, and 0x0d PRIVACY_LED against
PrivateLED. Five independent hits on a plain array index is not chance.
Where we disagree:
value int3472.h vendor driver
0x01 POWERDOWN Enable
0x10 DOVDD Handshake
0x12 HANDSHAKE HDMIDetect
0x13 HOTPLUG_DETECT Reserved
0x12 is the interesting one, because HANDSHAKE appears on both sides but
two slots apart. If the kernel's 0x12 came from observing a machine
rather than from documentation, one of these is off by the distance
between 0x10 and 0x12.
I have no machine that exercises any of the four, so I cannot test them.
If the kernel's values were derived from hardware that works, they are
the better evidence, and this table is Intel's internal naming for a
different set of platforms. If any of them were inferred, this is worth
a second look.
The ten values with no kernel constant may be useful when one turns up
in an unfamiliar _DSM: Strobe, Torch, Flash, LedRear, LedFront, Standby,
WriteProtect, Avdd, Core, HDMI_INT_IO. Two are already relevant
elsewhere. 0x02 Strobe is what an infrared illuminator uses on sensors
that route it through the sensor's own GPIOs, and 0x0e Avdd names a rail
int3472 already registers under that name from a different type.
Provenance: read out of the driver binary shipped in the Windows
DriverStore on my own machine. I am not attaching the binary or quoting
code from it.
Sergey Lebedev
next reply other threads:[~2026-08-31 18:08 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-31 18:08 Sergey Lebedev [this message]
2026-09-01 13:35 ` int3472: the vendor GPIO type table, and four values that differ Hans de Goede
2026-09-01 17:58 ` Sergey Lebedev
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=20260831180837.69000-1-lsa.uz@pm.me \
--to=lsa.uz@pm.me \
--cc=dan.scally@ideasonboard.com \
--cc=hansg@kernel.org \
--cc=linux-media@vger.kernel.org \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox