Reka Norman has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/69324 )
Change subject: soc/intel/alderlake: Check MANUF_LOCK when logging manufacturing mode ......................................................................
soc/intel/alderlake: Check MANUF_LOCK when logging manufacturing mode
As per Intel doc #627331 Section 3.6.1 "Intel CSME Production Machine Determination", from ADL onwards there are three criteria which determine whether a device is in production mode: 1. Fuses are programmed 2. SPI descriptor is locked 3. Manufacturing variables are locked
When logging whether the device is in manufacturing mode, 1 and 2 are already checked. Add a check for 3 as well.
BUG=b:255462682 TEST=On a nivviks which has not gone through EOM: [DEBUG] ME: Manufacturing Mode : YES On an anahera which has gone through EOM: [DEBUG] ME: Manufacturing Mode : NO
Change-Id: Iac605baa291ab5cc5f28464006f4828c12c748fe Signed-off-by: Reka Norman rekanorman@chromium.org --- M src/soc/intel/alderlake/me.c 1 file changed, 30 insertions(+), 3 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/24/69324/1
diff --git a/src/soc/intel/alderlake/me.c b/src/soc/intel/alderlake/me.c index a965807..1a30e0d 100644 --- a/src/soc/intel/alderlake/me.c +++ b/src/soc/intel/alderlake/me.c @@ -134,12 +134,13 @@ printk(BIOS_DEBUG, "ME: HFSTS6 : 0x%08X\n", hfsts6.data);
/* - * Lock Descriptor, and Fuses must be programmed on a - * production system to indicate ME Manufacturing mode is disabled. + * ME manufacturing mode is disabled if the descriptor is locked, fuses + * are programmed and manufacturing variables are locked. */ printk(BIOS_DEBUG, "ME: Manufacturing Mode : %s\n", ((hfsts1.fields.mfg_mode == 0) && - (hfsts6.fields.fpf_soc_lock == 1)) ? "NO" : "YES"); + (hfsts6.fields.fpf_soc_lock == 1) && + (hfsts6.fields.manuf_lock == 1)) ? "NO" : "YES"); /* * The SPI Protection Mode bit reflects SPI descriptor * locked(0) or unlocked(1).