Attention is currently required from: Jon Murphy, Nick Vaccaro, Subrata Banik.
Hello Jon Murphy,
I'd like you to do a code review. Please visit
https://review.coreboot.org/c/coreboot/+/83744?usp=email
to review the following change.
Change subject: mb/google/hatch: Add FP enable for Dratini ......................................................................
mb/google/hatch: Add FP enable for Dratini
Add FP enable/disable based on SKU ID for Dratini. This is meant to resolve a UMA issue with Dratini devices that had the FPMCU populated on non-fp devices. Since the FPMCU is present, and the firmware enables the power GPIO's based on variant, not SKU, the devices were reporting data on fingerprint errantly.
BUG=b:354769653 TEST=Flash to Dratini, test FP. Disable test SKU, flash on Dratini, test FP.
Change-Id: I2b30d70082062bc4a5fdb0e2eeca4b37af1613d9 Signed-off-by: Jon Murphy jpmurphy@google.com --- M src/mainboard/google/hatch/variants/dratini/include/variant/sku.h M src/mainboard/google/hatch/variants/dratini/ramstage.c 2 files changed, 25 insertions(+), 9 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/44/83744/1
diff --git a/src/mainboard/google/hatch/variants/dratini/include/variant/sku.h b/src/mainboard/google/hatch/variants/dratini/include/variant/sku.h index c44e0db..89f6708 100644 --- a/src/mainboard/google/hatch/variants/dratini/include/variant/sku.h +++ b/src/mainboard/google/hatch/variants/dratini/include/variant/sku.h @@ -4,6 +4,14 @@ #define __MAINBOARD_SKU_H__
enum { + SKU_1_DRATINI = 1, + SKU_2_DRATINI = 2, + SKU_3_DRATINI = 3, + SKU_4_DRATINI = 4, + SKU_5_DRATINI = 5, + SKU_6_DRATINI = 6, + SKU_7_DRATINI = 7, + SKU_8_DRATINI = 8, SKU_21_DRAGONAIR = 21, SKU_22_DRAGONAIR = 22, SKU_23_DRAGONAIR = 23, diff --git a/src/mainboard/google/hatch/variants/dratini/ramstage.c b/src/mainboard/google/hatch/variants/dratini/ramstage.c index 240bcae..f5c98b5 100644 --- a/src/mainboard/google/hatch/variants/dratini/ramstage.c +++ b/src/mainboard/google/hatch/variants/dratini/ramstage.c @@ -6,13 +6,21 @@
void variant_ramstage_init(void) { - /* - * Enable power to FPMCU, wait for power rail to stabilize, - * and then deassert FPMCU reset. - * Waiting for the power rail to stabilize can take a while, - * a minimum of 400us on Kohaku. - */ - gpio_output(GPP_C11, 1); - mdelay(4); - gpio_output(GPP_A12, 1); + switch (sku_id) { + case SKU_2_DRATINI: + case SKU_4_DRATINI: + case SKU_6_DRATINI: + case SKU_8_DRATINI: + case SKU_21_DRAGONAIR: + case SKU_22_DRAGONAIR: + /* + * Enable power to FPMCU, wait for power rail to stabilize, + * and then deassert FPMCU reset. + * Waiting for the power rail to stabilize can take a while, + * a minimum of 400us on Kohaku. + */ + gpio_output(GPP_C11, 1); + mdelay(4); + gpio_output(GPP_A12, 1); + } }