mb/google/rauru: Configure the fingerprint pins
There is no powering-on control in the fingerprint kernel driver. The fingerprint team of ChromeOS suggests powering-on FP MCU in the FW. Follow trogdor to pull down FP_RST_1V8_S3_L, AP_FP_FW_UP_STRAP, EN_PWR_FP and pull up EN_PWR_FP in ramstage for power rail to be stable. BUG=b:340401582 TEST=measure waveform and the fingerprint works on ChromeOS Change-Id: I05600d90fdf922faeb778a36d8a08f68c1bb4125 Signed-off-by: Yidi Lin <yidilin@chromium.org> Reviewed-on: https://review.coreboot.org/c/coreboot/+/84692 Reviewed-by: Yu-Ping Wu <yupingso@google.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Yidi Lin <yidilin@google.com>
This commit is contained in:
parent
f789d41539
commit
d96cc8d2df
3 changed files with 17 additions and 0 deletions
|
|
@ -7,6 +7,9 @@
|
|||
|
||||
void setup_chromeos_gpios(void)
|
||||
{
|
||||
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);
|
||||
gpio_output(GPIO_XHCI_INIT_DONE, 0);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -6,6 +6,9 @@
|
|||
#include <soc/gpio.h>
|
||||
|
||||
#define GPIO_XHCI_INIT_DONE GPIO(EINT28)
|
||||
#define GPIO_FP_RST_1V8_S3_L GPIO(EINT26)
|
||||
#define GPIO_AP_FP_FW_UP_STRAP GPIO(EINT27)
|
||||
#define GPIO_EN_PWR_FP GPIO(PERIPHERAL_EN3)
|
||||
|
||||
void setup_chromeos_gpios(void);
|
||||
|
||||
|
|
|
|||
|
|
@ -1,11 +1,22 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
|
||||
#include <device/device.h>
|
||||
#include <gpio.h>
|
||||
#include <soc/usb.h>
|
||||
|
||||
#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)
|
||||
{
|
||||
setup_usb_host();
|
||||
power_on_fpmcu();
|
||||
}
|
||||
|
||||
static void mainboard_enable(struct device *dev)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue