chromeec: make ssfc optional in fw_config

When EC_GOOGLE_CHROMEEC_INCLUDE_SSFC_IN_FW_CONFIG is enabled and SSFC is
not set, all fw_config is invalidated. But for some platform this may
not be necessary, we can treat missing SSFC as zero and use other 32
bits of firmware config.

BUG=b:184809649
TEST=boot and check fw_config is not -1 even if ssfc is not set
BRANCH=zork

Signed-off-by: Kangheui Won <khwon@chromium.org>
Change-Id: I21c7b0d449a694d28ad7b3f14b035e3a5830030a
Reviewed-on: https://review.coreboot.org/c/coreboot/+/52205
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Furquan Shaikh <furquan@google.com>
Reviewed-by: Marco Chen <marcochen@google.com>
Reviewed-by: Karthik Ramasubramanian <kramasub@google.com>
This commit is contained in:
Kangheui Won 2021-04-09 15:37:15 +10:00 committed by Martin Roth
parent c5f1dc96bf
commit 082be1073e
1 changed files with 2 additions and 4 deletions

View File

@ -856,9 +856,7 @@ int google_chromeec_cbi_get_fw_config(uint64_t *fw_config)
if (CONFIG(EC_GOOGLE_CHROMEEC_INCLUDE_SSFC_IN_FW_CONFIG)) { if (CONFIG(EC_GOOGLE_CHROMEEC_INCLUDE_SSFC_IN_FW_CONFIG)) {
uint32_t ssfc; uint32_t ssfc;
if (google_chromeec_cbi_get_ssfc(&ssfc)) if (!google_chromeec_cbi_get_ssfc(&ssfc))
return -1;
*fw_config |= (uint64_t)ssfc << 32; *fw_config |= (uint64_t)ssfc << 32;
} }
return 0; return 0;