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
|
bootblock-y += gpio.c
|
||||||
ramstage-y += gpio.c
|
ramstage-y += gpio.c
|
||||||
|
ramstage-y += mainboard.c
|
||||||
ramstage-y += ramstage.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