From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from spark.kcore.it (spark.kcore.it [49.13.27.68]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D91923612EC; Fri, 20 Mar 2026 09:36:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=49.13.27.68 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773999375; cv=none; b=r5B+GxBtafD83zRYTxHayaL6hgGvMJy9+Kh144Wa8myMHOS7cHpXxYv99PmZ8wp0fbOofJOqo1lJkIv30wWeNEGsJo28fnqKM6MxHjhzIaf5UHTonN4dNuqReW5Z42cUySbDAcPq038i7cXGP7fCJ71MSaklr3Lbt9zOKN+Mpgs= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773999375; c=relaxed/simple; bh=dZJOCTFtJZUHOSWu4g1IyyCntjRf3+ekzG1jr2dP3Xc=; h=Date:From:To:Cc:Subject:Message-ID:MIME-Version:Content-Type: Content-Disposition; b=N6A/HQpT1iPUp33bzNq4TwpmNdrbiOh27IgKxBWHTOos8mP888UdVoyrw440lo6ebTVQbencGq1dyjomz7pMzYuqZmw26edjGeZ6I/oaYE4XEn2NUUDQhUFdOBzDxl8pxXg1ccTHjaRhU9xpulKWq63+9jIhm7JnU4/atecVv4U= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=kcore.it; spf=pass smtp.mailfrom=kcore.it; dkim=pass (1024-bit key) header.d=kcore.it header.i=@kcore.it header.b=G9RuwDxk; arc=none smtp.client-ip=49.13.27.68 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=kcore.it Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=kcore.it Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=kcore.it header.i=@kcore.it header.b="G9RuwDxk" DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=kcore.it; s=spark; h=Content-Type:MIME-Version:Message-ID:Subject:Cc:To:From:Date: Sender:Reply-To:Content-Transfer-Encoding:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=lIp77/TP6ytXFAvgPrHJFSRHfrvMY13Xe/mGpLjDEFE=; b=G9RuwDxkZqVb16y2CRVEla69DP Mj/k/H7uBCmQNgJk7807x/qL2lWN8m5ZAPJmWk0qbN3pcJgG83xfBL6SO+B4hKAH3ym3g9+j0yrjE r/NAK/3S2cKfZcrKIhks1OKCCtsSN6cVmloJaA5stPPHeEInRZX+5RJBb6SnZlAoHu/Y=; Received: from mnencia by spark.kcore.it with local (Exim 4.96) (envelope-from ) id 1w3WE4-005Yta-00; Fri, 20 Mar 2026 10:33:04 +0100 Date: Fri, 20 Mar 2026 10:33:03 +0100 From: Marco Nenciarini 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 Message-ID: Precedence: bulk X-Mailing-List: linux-media@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline 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 Cc: Hans de Goede Cc: Sakari Ailus Cc: Andy Shevchenko Signed-off-by: Marco Nenciarini --- 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