From 503c7fdeefb001f3128bcf0e87c9b577bd58197c Mon Sep 17 00:00:00 2001 From: "prompt.ac/@jeffrey" Date: Tue, 14 Apr 2026 15:41:34 -0700 Subject: [PATCH] native: enable GPIOLIB + Intel pinctrl for MAX98360A amp enable MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Audio card now registers (sof-rt5682 + HP-Drawman-rev13-Drawcia) and ac-native opens hw:0,0 at 48000Hz after the I2C_DESIGNWARE fix — but the speakers are silent because the MAX98360A amp's SD_MODE enable is a GPIO, and the kernel had no GPIO framework at all. Without GPIOLIB the amp driver still loads but it never gets to toggle the pin high, so the amp stays in power-down mode and nothing reaches the drivers. Enable GPIOLIB + Intel pinctrl for every Intel generation we might boot on (Bay/Cherry/Sunrise/Gemini/Elkhart/Jasper/Tiger/Alder/Meteor/ Lunar/Panther). Same story applies to touchpads, rfkill switches, EC-controlled keyboard backlights, etc. — GPIOs are the connective tissue of every modern x86 laptop. Co-Authored-By: Claude Opus 4.6 (1M context) --- fedac/native/kernel/config-minimal | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/fedac/native/kernel/config-minimal b/fedac/native/kernel/config-minimal index 52d60d2bd..82f773a6c 100644 --- a/fedac/native/kernel/config-minimal +++ b/fedac/native/kernel/config-minimal @@ -2239,7 +2239,30 @@ CONFIG_PTP_1588_CLOCK_OPTIONAL=y # end of PTP clock support # CONFIG_PINCTRL is not set -# CONFIG_GPIOLIB is not set +# GPIO framework + Intel pinctrl drivers for Jasper Lake / Tiger Lake / Alder +# Lake / Meteor Lake. Required for MAX98360A speaker amp (its SD_MODE enable +# is a GPIO — without GPIOLIB the amp stays powered down and speakers are +# silent even though the sound card registers cleanly). Also needed for +# ChromeOS EC, touchpads, RF-kill switches, and anything else that uses +# GPIO-backed ACPI resources, which is most modern laptops. +CONFIG_GPIOLIB=y +CONFIG_GPIOLIB_IRQCHIP=y +CONFIG_GPIO_ACPI=y +CONFIG_GPIO_SYSFS=y +CONFIG_PINCTRL=y +CONFIG_PINCTRL_INTEL=y +CONFIG_PINCTRL_INTEL_PLATFORM=y +CONFIG_PINCTRL_BAYTRAIL=y +CONFIG_PINCTRL_CHERRYVIEW=y +CONFIG_PINCTRL_SUNRISEPOINT=y +CONFIG_PINCTRL_GEMINILAKE=y +CONFIG_PINCTRL_ELKHARTLAKE=y +CONFIG_PINCTRL_JASPERLAKE=y +CONFIG_PINCTRL_TIGERLAKE=y +CONFIG_PINCTRL_ALDERLAKE=y +CONFIG_PINCTRL_METEORLAKE=y +CONFIG_PINCTRL_LUNARLAKE=y +CONFIG_PINCTRL_PANTHERLAKE=y # CONFIG_W1 is not set # CONFIG_POWER_RESET is not set # CONFIG_POWER_SEQUENCING is not set -- 2.51.2