From: Vasu <vasuhansalia05@gmail.com>
To: platform-driver-x86@vger.kernel.org
Cc: linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org,
andriy.shevchenko@linux.intel.com, djrscally@gmail.com,
mika.westerberg@linux.intel.com,
Vasu Hansalia <vasuhansalia05@gmail.com>
Subject: [PATCH 2/2] platform/x86: int3472: Handle GPIO types 0x02 and 0x12 for Lunar Lake
Date: Sun, 5 Apr 2026 00:32:36 +0530 [thread overview]
Message-ID: <20260404190236.5218-2-vasuhansalia05@gmail.com> (raw)
In-Reply-To: <20260404190236.5218-1-vasuhansalia05@gmail.com>
From: Vasu Hansalia <vasuhansalia05@gmail.com>
Intel Lunar Lake platforms (Core Ultra 200V series) use two GPIO types
in their INT3472 ACPI tables that are not handled by the discrete driver:
- Type 0x02: Strobe GPIO, used for IR LED/flash control. Map to sensor.
- Type 0x12: AVDD/sensor-supply GPIO, used on Lunar Lake to control
sensor power. Treat like RESET/POWERDOWN and map to sensor.
Without these handlers the driver logs:
int3472-discrete INT3472:00: GPIO type 0x02 unknown; the sensor may not work
int3472-discrete INT3472:00: GPIO type 0x12 unknown; the sensor may not work
Type 0x12 handling was confirmed by inspecting the OEM kernel module for
Ubuntu 24.04 (6.11.0-1016-oem) which handles this type by mapping it
directly to the sensor via skl_int3472_fill_gpiod_lookup().
Tested on: Dell Pro 14 Premium PA14250, Intel Core Ultra 7 266V
(Lunar Lake), Ubuntu 24.04, kernel 6.11.0-1016-oem
Camera confirmed working at 1280x720 30fps after fix.
Signed-off-by: Vasu Hansalia <vasuhansalia05@gmail.com>
---
--- a/drivers/platform/x86/intel/int3472/discrete.c
+++ b/drivers/platform/x86/intel/int3472/discrete.c
@@ -239,6 +239,7 @@
switch (type) {
case INT3472_GPIO_TYPE_RESET:
case INT3472_GPIO_TYPE_POWERDOWN:
+ case 0x12: /* Lunar Lake AVDD/sensor-supply GPIO */
ret = skl_int3472_map_gpio_to_sensor(int3472, agpio, func, polarity);
if (ret)
err_msg = "Failed to map GPIO pin to sensor\n";
@@ -278,6 +279,12 @@
break;
}
break;
+ case 0x02:
+ /* Strobe GPIO - used for IR LED/flash, map to sensor */
+ ret = skl_int3472_map_gpio_to_sensor(int3472, agpio, func, polarity);
+ if (ret)
+ err_msg = "Failed to map strobe GPIO to sensor\n";
+ break;
default:
dev_warn(int3472->dev,
"GPIO type 0x%02x unknown; the sensor may not work\n",
next prev parent reply other threads:[~2026-04-04 19:03 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-04 19:02 [PATCH 1/2] pinctrl: intel: platform: Add INTC10B5 ACPI ID for Lunar Lake Vasu
2026-04-04 19:02 ` Vasu [this message]
2026-04-04 19:55 ` [PATCH 2/2] platform/x86: int3472: Handle GPIO types 0x02 and 0x12 " Andy Shevchenko
2026-04-05 1:34 ` Vasu
2026-04-05 9:01 ` Andy Shevchenko
2026-04-05 9:15 ` Vasu
2026-04-05 9:27 ` Vasu
2026-04-05 16:10 ` Andy Shevchenko
2026-04-04 19:52 ` [PATCH 1/2] pinctrl: intel: platform: Add INTC10B5 ACPI ID " Andy Shevchenko
2026-04-05 1:34 ` Vasu
2026-04-05 8:59 ` Andy Shevchenko
2026-04-05 9:15 ` Vasu
2026-04-05 16:17 ` Andy Shevchenko
2026-04-05 16:33 ` Vasu
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=20260404190236.5218-2-vasuhansalia05@gmail.com \
--to=vasuhansalia05@gmail.com \
--cc=andriy.shevchenko@linux.intel.com \
--cc=djrscally@gmail.com \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mika.westerberg@linux.intel.com \
--cc=platform-driver-x86@vger.kernel.org \
/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