mb/google/skywalker: Configure fingerprint pins

There is no powering-on control in the fingerprint kernel driver.
Follow Rauru to power-on FP MCU in the FW.

BUG=b:401396071
BRANCH=none
TEST=ectool --name=cros_fp version can get the FP FW version.

Signed-off-by: Haikun Zhou <zhouhaikun5@huaqin.corp-partner.google.com>
Change-Id: I20ff175ee4874c4188b7d07ee57330a9275dcb3d
Reviewed-on: https://review.coreboot.org/c/coreboot/+/87852
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Yu-Ping Wu <yupingso@google.com>
Reviewed-by: Yidi Lin <yidilin@google.com>
This commit is contained in:
Wen Zhang 2025-03-07 14:37:05 +08:00 committed by Yidi Lin
commit dcf403e43a
3 changed files with 15 additions and 0 deletions

View file

@ -28,6 +28,9 @@ void setup_chromeos_gpios(void)
gpio_output(GPIO_XHCI_INIT_DONE, 0);
gpio_output(GPIO_AP_SUSPEND_L, 1);
gpio_output(GPIO_AP_HDMI_RST_ODL, 0);
gpio_output(GPIO_AP_FP_FW_UP_STRAP, 0);
gpio_output(GPIO_EN_PWR_FP, 0);
gpio_output(GPIO_FP_RST_1V8_S3_L, 0);
}
void fill_lb_gpios(struct lb_gpios *gpios)

View file

@ -11,6 +11,9 @@
#define GPIO_AP_EC_WARM_RST_REQ GPIO(GBE_AUX_PPS0)
#define GPIO_GSC_AP_INT_ODL GPIO(GBE_AUX_PPS1)
#define GPIO_AP_SUSPEND_L GPIO(CONN_TOP_DATA)
#define GPIO_FP_RST_1V8_S3_L GPIO(GBE_RXER)
#define GPIO_AP_FP_FW_UP_STRAP GPIO(GBE_TXER)
#define GPIO_EN_PWR_FP GPIO(GPIO12)
#define GPIO_HP_INT_ODL GPIO(GPIO04)
#define GPIO_SPKR_INT_ODL GPIO(GPIO08)
#define GPIO_SAR_INT_ODL GPIO(GPIO09)

View file

@ -1,6 +1,7 @@
/* SPDX-License-Identifier: GPL-2.0-only OR MIT */
#include <device/device.h>
#include <gpio.h>
#include <soc/bl31.h>
#include <soc/dpm_v2.h>
#include <soc/spm_common.h>
@ -8,11 +9,19 @@
#include "gpio.h"
static void power_on_fpmcu(void)
{
/* Power on the fingerprint MCU */
gpio_output(GPIO_EN_PWR_FP, 1);
gpio_output(GPIO_FP_RST_1V8_S3_L, 1);
}
static void mainboard_init(struct device *dev)
{
dpm_init();
setup_usb_host();
spm_init();
power_on_fpmcu();
if (CONFIG(ARM64_USE_ARM_TRUSTED_FIRMWARE))
register_reset_to_bl31(GPIO_AP_EC_WARM_RST_REQ.id, true);