All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marco Nenciarini <mnencia@kcore.it>
To: platform-driver-x86@vger.kernel.org, linux-media@vger.kernel.org
Cc: hao.yao@intel.com, hdegoede@redhat.com,
	sakari.ailus@linux.intel.com, andy@kernel.org
Subject: [PATCH] platform/x86: int3472: Add GPIO type 0x02 (strobe) mapping
Date: Fri, 20 Mar 2026 10:32:52 +0100	[thread overview]
Message-ID: <ab0URIrzZPsYjWrM@spark.kcore.it> (raw)

Some ACPI tables on Intel Meteor Lake and Arrow Lake platforms define
GPIO resources with type 0x02 for INT3472 camera sensor power control.
This type is not currently handled, causing a "GPIO type 0x02 unknown;
the sensor may not work" warning and preventing proper sensor power
sequencing.

Map GPIO type 0x02 (strobe) to the privacy LED handler, matching the
approach used for similar illumination-related GPIOs. This is consistent
with the original proposal by Hao Yao [1].

Tested on a Dell Pro Max 16 Premium (Arrow Lake-H) with OmniVision
OV08F4 sensor connected via Intel IPU6 and Synaptics SVP7500 USBIO
bridge. With this patch applied, the int3472-discrete driver no longer
warns about unknown GPIO type 0x02, and the sensor probes successfully.

[1] https://lore.kernel.org/all/20231007021309.9332-1-hao.yao@intel.com/

Link: https://bugs.debian.org/1130114
Link: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2138991
Cc: Hao Yao <hao.yao@intel.com>
Cc: Hans de Goede <hdegoede@redhat.com>
Cc: Sakari Ailus <sakari.ailus@linux.intel.com>
Cc: Andy Shevchenko <andy@kernel.org>
Signed-off-by: Marco Nenciarini <mnencia@kcore.it>
---
 drivers/platform/x86/intel/int3472/discrete.c | 3 +++
 include/linux/platform_data/x86/int3472.h     | 1 +
 2 files changed, 4 insertions(+)

diff --git a/drivers/platform/x86/intel/int3472/discrete.c b/drivers/platform/x86/intel/int3472/discrete.c
index 1505fc3..39ca60b 100644
--- a/drivers/platform/x86/intel/int3472/discrete.c
+++ b/drivers/platform/x86/intel/int3472/discrete.c
@@ -211,6 +211,7 @@ static void int3472_get_con_id_and_polarity(struct int3472_discrete_device *int3
 		*con_id = "clk-enable";
 		*gpio_flags = GPIO_ACTIVE_HIGH;
 		break;
+	case INT3472_GPIO_TYPE_STROBE:
 	case INT3472_GPIO_TYPE_PRIVACY_LED:
 		*con_id = "privacy-led";
 		*gpio_flags = GPIO_ACTIVE_HIGH;
@@ -330,6 +331,7 @@ static int skl_int3472_handle_gpio_resources(struct acpi_resource *ares,
 
 		break;
 	case INT3472_GPIO_TYPE_CLK_ENABLE:
+	case INT3472_GPIO_TYPE_STROBE:
 	case INT3472_GPIO_TYPE_PRIVACY_LED:
 	case INT3472_GPIO_TYPE_POWER_ENABLE:
 	case INT3472_GPIO_TYPE_HANDSHAKE:
@@ -347,6 +349,7 @@ static int skl_int3472_handle_gpio_resources(struct acpi_resource *ares,
 				err_msg = "Failed to register clock\n";
 
 			break;
+		case INT3472_GPIO_TYPE_STROBE:
 		case INT3472_GPIO_TYPE_PRIVACY_LED:
 			ret = skl_int3472_register_pled(int3472, gpio);
 			if (ret)
diff --git a/include/linux/platform_data/x86/int3472.h b/include/linux/platform_data/x86/int3472.h
index b1b8375..85adeb0 100644
--- a/include/linux/platform_data/x86/int3472.h
+++ b/include/linux/platform_data/x86/int3472.h
@@ -23,6 +23,7 @@
 /* PMIC GPIO Types */
 #define INT3472_GPIO_TYPE_RESET					0x00
 #define INT3472_GPIO_TYPE_POWERDOWN				0x01
+#define INT3472_GPIO_TYPE_STROBE				0x02
 #define INT3472_GPIO_TYPE_POWER_ENABLE				0x0b
 #define INT3472_GPIO_TYPE_CLK_ENABLE				0x0c
 #define INT3472_GPIO_TYPE_PRIVACY_LED				0x0d
-- 
2.47.3



             reply	other threads:[~2026-03-20  9:36 UTC|newest]

Thread overview: 64+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-03-20  9:32 Marco Nenciarini [this message]
2026-03-23 21:35 ` [PATCH v2] platform/x86: int3472: Handle GPIO type 0x02 (strobe) as IR flood LED Marco Nenciarini
2026-03-24 12:56   ` Andy Shevchenko
2026-03-24 13:00     ` Andy Shevchenko
2026-03-24 13:02     ` Andy Shevchenko
2026-03-25 22:38 ` [PATCH v3 0/2] platform/x86: int3472: Add support for strobe LED (GPIO type 0x02) Marco Nenciarini
2026-03-25 22:38   ` [PATCH v3 1/2] platform/x86: int3472: Rename pled to led in LED registration code Marco Nenciarini
2026-03-25 22:38   ` [PATCH v3 2/2] platform/x86: int3472: Add support for GPIO type 0x02 (strobe LED) Marco Nenciarini
2026-03-26 10:46     ` Ilpo Järvinen
2026-03-26 10:51       ` Andy Shevchenko
2026-03-26 10:55     ` Andy Shevchenko
2026-03-26 10:57       ` Andy Shevchenko
2026-03-26 11:05         ` Andy Shevchenko
2026-03-27  9:07 ` [PATCH v4 0/4] platform/x86: int3472: Add support for strobe LED (GPIO type 0x02) Marco Nenciarini
2026-03-27  9:07   ` [PATCH v4 1/4] platform/x86: int3472: Rename pled to led in LED registration code Marco Nenciarini
2026-03-27 10:08     ` Andy Shevchenko
2026-03-27 10:35       ` Andy Shevchenko
2026-03-27  9:07   ` [PATCH v4 2/4] platform/x86: int3472: Use local variable for LED struct access Marco Nenciarini
2026-03-27 10:15     ` Andy Shevchenko
2026-03-27  9:07   ` [PATCH v4 3/4] platform/x86: int3472: Introduce LED type enum and multi-LED support Marco Nenciarini
2026-03-27 10:30     ` Andy Shevchenko
2026-03-27  9:07   ` [PATCH v4 4/4] platform/x86: int3472: Add support for GPIO type 0x02 (strobe LED) Marco Nenciarini
2026-03-27 10:34     ` Andy Shevchenko
2026-03-27 10:37   ` [PATCH v4 0/4] platform/x86: int3472: Add support for strobe LED (GPIO type 0x02) Andy Shevchenko
2026-03-27 18:10 ` [PATCH v5 0/4] platform/x86: int3472: Add support for GPIO type 0x02 (strobe) Marco Nenciarini
2026-03-27 18:10   ` [PATCH v5 1/4] platform/x86: int3472: Use local variable for LED struct access Marco Nenciarini
2026-03-30  9:23     ` Andy Shevchenko
2026-03-27 18:10   ` [PATCH v5 2/4] platform/x86: int3472: Rename pled to led in LED registration code Marco Nenciarini
2026-03-27 18:10   ` [PATCH v5 3/4] platform/x86: int3472: Parameterize LED name in registration Marco Nenciarini
2026-03-30  9:26     ` Andy Shevchenko
2026-03-27 18:10   ` [PATCH v5 4/4] platform/x86: int3472: Add support for GPIO type 0x02 (strobe) Marco Nenciarini
2026-03-30  9:35     ` Andy Shevchenko
2026-03-30  9:36   ` [PATCH v5 0/4] " Andy Shevchenko
2026-03-30 13:23   ` johannes.goede
2026-03-30 14:55     ` Marco Nenciarini
2026-03-30 15:12       ` johannes.goede
2026-03-30 20:21         ` Sakari Ailus
2026-03-31  7:10           ` Marco Nenciarini
2026-03-31 10:15           ` johannes.goede
2026-03-31 21:28             ` Sakari Ailus
2026-04-01 13:38               ` johannes.goede
2026-04-01 17:13                 ` Marco Nenciarini
2026-04-01 18:47                   ` johannes.goede
2026-03-31  7:52 ` [PATCH v6 0/4] platform/x86: int3472: Add support for GPIO type 0x02 (IR flood LED) Marco Nenciarini
2026-03-31  7:52   ` [PATCH v6 1/4] platform/x86: int3472: Use local variable for LED struct access Marco Nenciarini
2026-03-31 10:16     ` Andy Shevchenko
2026-03-31  7:52   ` [PATCH v6 2/4] platform/x86: int3472: Rename pled to led in LED registration code Marco Nenciarini
2026-03-31 10:17     ` Andy Shevchenko
2026-03-31  7:52   ` [PATCH v6 3/4] platform/x86: int3472: Parameterize LED con_id in registration Marco Nenciarini
2026-03-31 10:20     ` Andy Shevchenko
2026-03-31  7:52   ` [PATCH v6 4/4] platform/x86: int3472: Add support for GPIO type 0x02 (IR flood LED) Marco Nenciarini
2026-03-31 10:36     ` Hans de Goede
2026-03-31 10:55       ` Andy Shevchenko
2026-04-01 13:36         ` Hans de Goede
2026-04-01 13:56           ` Andy Shevchenko
2026-03-31 10:48     ` Andy Shevchenko
2026-03-31 10:25   ` [PATCH v6 0/4] " Andy Shevchenko
  -- strict thread matches above, loose matches on Subject: below --
2026-03-20  9:33 [PATCH] platform/x86: int3472: Add GPIO type 0x02 (strobe) mapping Marco Nenciarini
2026-03-20  9:34 Marco Nenciarini
2026-03-20 11:57 ` Andy Shevchenko
2026-03-20 11:59   ` Andy Shevchenko
2026-03-20 16:40   ` Marco Nenciarini
2026-03-20 12:35 ` johannes.goede
2026-03-20 16:12   ` Marco Nenciarini

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=ab0URIrzZPsYjWrM@spark.kcore.it \
    --to=mnencia@kcore.it \
    --cc=andy@kernel.org \
    --cc=hao.yao@intel.com \
    --cc=hdegoede@redhat.com \
    --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 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.