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:
parent
508d910ed4
commit
dcf403e43a
3 changed files with 15 additions and 0 deletions
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue