• Mika Westerberg's avatar
    pinctrl: cannonlake: Align GPIO number space with Windows · cb5fda41
    Mika Westerberg authored
    The Cannon Lake Windows GPIO driver always exposes 32 pins per "bank"
    regardless of whether the hardware actually has that many pins in a pad
    group. This means that there are gaps in the GPIO number space even if
    such gaps do not exist in the real hardware. To make things worse the
    BIOS is also using the same scheme, so for example on Cannon Lake-LP
    vGPIO 39 (vSD3_CD_B) the ACPI GpioInt resource has number 231 instead of
    the expected 180 (which would be the hardware number).
    
    To make SD card detection and other GPIOs working properly in Linux we
    align the pinctrl-cannonlake GPIO numbering to follow the Windows GPIO
    driver numbering taking advantage of the gpio_base field introduced in
    the previous patch.
    Signed-off-by: default avatarMika Westerberg <mika.westerberg@linux.intel.com>
    Reviewed-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
    Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
    cb5fda41
pinctrl-cannonlake.c 28.3 KB