mb/google/zork: Use FW_CONFIG to enable/disable eMMC on Ezkinil

Currently SKU_ID is used to enable/disable eMMC as boot media on
Ezkinil. This patch will check eMMC bit in firmware configuration
table to enable/disable eMMC.

BRANCH=none
BUG=b:162344105
TEST=Check eMMC is enabled or disabled based on the eMMC bit in
     FW_CONFIG.

Signed-off-by: Bhanu Prakash Maiya <bhanumaiya@google.com>
Change-Id: I62318cf71ec70790f2d9e787febd1e0b787741fb
Reviewed-on: https://review.coreboot.org/c/coreboot/+/44423
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-by: Furquan Shaikh <furquan@google.com>
This commit is contained in:
Bhanu Prakash Maiya 2020-08-11 21:37:55 -07:00 committed by Aaron Durbin
parent a8e24f648f
commit e07229dea9
1 changed files with 4 additions and 20 deletions

View File

@ -5,31 +5,15 @@
#include <soc/pci_devs.h>
#include <ec/google/chromeec/ec.h>
static int sku_has_emmc(void)
{
uint32_t board_sku = sku_id();
/* Factory flow requires all OS boot media to be enabled. */
if (boot_is_factory_unprovisioned())
return 1;
if ((board_sku == 0x5A020000) ||
(board_sku == 0x5A020001) || (board_sku == 0x5A020002) ||
(board_sku == 0x5A020005) || (board_sku == 0x5A020006) ||
(board_sku == 0x5A020009) || (board_sku == 0x5A02000A) ||
(board_sku == 0x5A02000D) || (board_sku == 0x5A02000E) ||
(board_sku == 0x5A020016) || (board_sku == 0x5A020017))
return 1;
return 0;
}
void variant_devtree_update(void)
{
struct soc_amd_picasso_config *cfg;
cfg = config_of_soc();
if (!sku_has_emmc())
/*
* Enable eMMC if eMMC bit is set in FW_CONFIG or device is unprovisioned.
*/
if (!(variant_has_emmc() || boot_is_factory_unprovisioned()))
cfg->sd_emmc_config = SD_EMMC_DISABLE;
}