mb/google/volteer/var/elemi: Check FP presence against SKU ID

Add/update FP enable/disable based on SKU ID. This is meant
to resolve a UMA issue with 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.  Specify the SKUs which should not have a
FP sensor and default to true to maintain the legacy behavior for
undefined devices and limit risk.  Variants which do not have FP SKUs
will be unaffected.

BUG=b:354769653,b:484162286
TEST=Flash on device, test FP.
Disable test SKU, flash on device, test FP.

To test, run `ectool --name=cros_fp version` in the shell
When enabled, the fpmcu fw version should be displayed.
When disabled, an error should be displayed because the fpmcu
is inaccessible.

Change-Id: I6998534e3b9c5909839aceb886ab04a04f394289
Signed-off-by: Jon Murphy <jpmurphy@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/91329
Reviewed-by: Nick Vaccaro <nvaccaro@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Karthik Ramasubramanian <kramasub@google.com>
This commit is contained in:
Jon Murphy 2026-02-17 13:47:20 -07:00
commit 2439a12a68

View file

@ -10,11 +10,26 @@ void variant_ramstage_init(void)
uint32_t sku_id = google_chromeec_get_board_sku();
switch (sku_id) {
case 102:
case 104:
case 107:
case 109:
case 115:
case 0xB0012:
case 0xB0014:
case 0xB0015:
case 0xB0016:
case 0xB0021:
case 0xB0023:
case 0xB0027:
case 0xB0032:
case 0xB0036:
case 0xB0037:
case 0xB0038:
case 0xB0040:
case 0xB0041:
case 0xB0042:
case 0xB0043:
case 0xB0047:
case 0xB0048:
/* SKU does not have FP Sensor, do not enable FPMCU */
break;
default:
/*
* Assert FPMCU reset and enable power to FPMCU,
* wait for power rail to stabilize,
@ -26,8 +41,5 @@ void variant_ramstage_init(void)
mdelay(1);
gpio_output(GPP_C23, 1);
break;
default:
/* SKU does not have FP Sensor, do not enable FPMCU */
break;
}
}