mb/google/skyrim: Enable fingerprint sensor in Skyrim
Add fingerprint device and select UART_ACPI driver.
Disable FPMCU until the proper boot segment initializes it.
BUG=b:228271993
BRANCH=NONE
TEST=Can add fingerprints and unlock the device using them.
Signed-off-by: Moises Garcia <moisesgarcia@google.com>
Change-Id: I71e1c7d654395284cdec43bb6e5f581e546da36a
Reviewed-on: https://review.coreboot.org/c/coreboot/+/65299
Reviewed-by: Jon Murphy <jpmurphy@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Bhanu Prakash Maiya <bhanumaiya@google.com>
Reviewed-by: Karthik Ramasubramanian <kramasub@google.com>
diff --git a/src/mainboard/google/skyrim/Kconfig b/src/mainboard/google/skyrim/Kconfig
index 8d95f0e..4666d81 100644
--- a/src/mainboard/google/skyrim/Kconfig
+++ b/src/mainboard/google/skyrim/Kconfig
@@ -22,6 +22,7 @@
select DRIVERS_I2C_HID
select DRIVERS_I2C_NAU8825
select DRIVERS_USB_HUB
+ select DRIVERS_UART_ACPI
select DRIVERS_WIFI_GENERIC
select EC_GOOGLE_CHROMEEC
select EC_GOOGLE_CHROMEEC_ESPI
diff --git a/src/mainboard/google/skyrim/variants/baseboard/gpio.c b/src/mainboard/google/skyrim/variants/baseboard/gpio.c
index 13b5d98..a9e45e8 100644
--- a/src/mainboard/google/skyrim/variants/baseboard/gpio.c
+++ b/src/mainboard/google/skyrim/variants/baseboard/gpio.c
@@ -16,7 +16,7 @@
/* SOC_PEN_DETECT_ODL */
PAD_WAKE(GPIO_3, PULL_NONE, EDGE_LOW, S0i3),
/* EN_PWR_FP */
- PAD_GPO(GPIO_4, HIGH),
+ PAD_GPO(GPIO_4, LOW),
/* EN_PP3300_TCHPAD */
PAD_GPO(GPIO_5, HIGH),
/* SSD_AUX_RESET_L */
diff --git a/src/mainboard/google/skyrim/variants/skyrim/overridetree.cb b/src/mainboard/google/skyrim/variants/skyrim/overridetree.cb
index 3b7bc67..89cc63c 100644
--- a/src/mainboard/google/skyrim/variants/skyrim/overridetree.cb
+++ b/src/mainboard/google/skyrim/variants/skyrim/overridetree.cb
@@ -221,4 +221,24 @@
probe AUDIO_DB AUDIO_DB_C_NAU88L25YGB_A_MAX98360AENL
end
end
+
+ device ref uart_1 on
+ chip drivers/uart/acpi
+ register "name" = ""CRFP""
+ register "desc" = ""Fingerprint Reader""
+ register "hid" = "ACPI_DT_NAMESPACE_HID"
+ register "compat_string" = ""google,cros-ec-uart""
+ register "irq_gpio" = "ACPI_GPIO_IRQ_LEVEL_LOW(GPIO_24)"
+ register "wake" = "GEVENT_15"
+ register "uart" = "ACPI_UART_RAW_DEVICE(3000000, 64)"
+ register "has_power_resource" = "1"
+ register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPIO_12)"
+ register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_4)"
+ register "enable_delay_ms" = "3"
+ device generic 0 alias fpmcu on
+ probe FP FP_PRESENT
+ end
+ end
+ end # UART1
+
end # chip soc/amd/sabrina