mb/google/hatch/var/jinlon: Disable EPS on some SKUs
Disable EPS on the SKUs that do not have it. Change-Id: I7305097beea3484634933ab856fd084933868a10 Signed-off-by: Rajat Jain <rajatja@google.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/39156 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Mathew King <mathewk@chromium.org>
This commit is contained in:
parent
68cd0d0b2c
commit
c0380a24e8
|
@ -25,4 +25,5 @@ SPD_SOURCES += 16G_3200_4bg # 0b1001
|
|||
|
||||
bootblock-y += gpio.c
|
||||
ramstage-y += gpio.c
|
||||
ramstage-y += mainboard.c
|
||||
ramstage-y += ramstage.c
|
||||
|
|
|
@ -0,0 +1,23 @@
|
|||
/*
|
||||
* This file is part of the coreboot project.
|
||||
*
|
||||
* Copyright 2020 Google LLC
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*/
|
||||
|
||||
#ifndef __JINLON_SKU_H__
|
||||
#define __JINLON_SKU_H__
|
||||
|
||||
/*
|
||||
* SKU definition taken from
|
||||
* https://buganizer.corp.google.com/issues/145688887#comment16
|
||||
*/
|
||||
enum {
|
||||
JINLON_SKU_01 = 1, /* No LTE, No view-angle-manegement */
|
||||
JINLON_SKU_02 = 2, /* No LTE, view-angle-manegement */
|
||||
JINLON_SKU_21 = 21, /* LTE, No view-angle-manegement */
|
||||
JINLON_SKU_22 = 22, /* LTE, view-angle-manegement */
|
||||
};
|
||||
|
||||
#endif /* __JINLON_SKU_H__ */
|
|
@ -0,0 +1,55 @@
|
|||
/*
|
||||
* This file is part of the coreboot project.
|
||||
*
|
||||
* Copyright 2020 Google LLC
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*/
|
||||
#include <baseboard/variants.h>
|
||||
#include <bootstate.h>
|
||||
#include <ec/google/chromeec/ec.h>
|
||||
#include <device/device.h>
|
||||
#include <drivers/gfx/generic/chip.h>
|
||||
#include <variant/sku.h>
|
||||
|
||||
static bool eps_sku(uint32_t sku_id)
|
||||
{
|
||||
/*
|
||||
* Assume EPS SKU by default, helpful for testing on
|
||||
* unprovisioned or development SKUs.
|
||||
*/
|
||||
if (sku_id == JINLON_SKU_01 || sku_id == JINLON_SKU_21)
|
||||
return false;
|
||||
else
|
||||
return true;
|
||||
}
|
||||
|
||||
static void check_for_eps(uint32_t sku_id)
|
||||
{
|
||||
struct device *gfx_dev;
|
||||
|
||||
if (eps_sku(sku_id)) {
|
||||
printk(BIOS_INFO, "SKU ID %u has EPS\n", sku_id);
|
||||
return;
|
||||
}
|
||||
|
||||
gfx_dev = find_gfx_dev();
|
||||
if (!gfx_dev) {
|
||||
printk(BIOS_ERR,
|
||||
"Error! No EPS dev, view-angle-management won't work\n");
|
||||
return;
|
||||
}
|
||||
|
||||
printk(BIOS_INFO,
|
||||
"SKU ID %u doesn't have EPS, disabling...\n",
|
||||
sku_id);
|
||||
gfx_dev->enabled = 0;
|
||||
}
|
||||
|
||||
void variant_devtree_update(void)
|
||||
{
|
||||
uint32_t sku_id = google_chromeec_get_board_sku();
|
||||
|
||||
/* Disable EPS on SKUs that do not support it */
|
||||
check_for_eps(sku_id);
|
||||
}
|
Loading…
Reference in New Issue