mb/google/kukui: send SKU ID to EC for device-specific configuration
For devices sharing same firmware, there may be few customization based
on SKU ID - for example being clamshell or form factor. On Kukui and
Jacuzzi platforms the SKU ID is defined on AP SOC, so we have to send
the information to EC.
BUG=b:161767717
TEST=make -j # builds and boots on Juniper
BRANCH=kukui
Change-Id: I8ffdd9fd1e609c1dd4b0e22dc7aab560ccdc842e
Signed-off-by: Hung-Te Lin <hungte@chromium.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/43788
Reviewed-by: Yu-Ping Wu <yupingso@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
diff --git a/src/mainboard/google/kukui/mainboard.c b/src/mainboard/google/kukui/mainboard.c
index 6622286..268b7ca 100644
--- a/src/mainboard/google/kukui/mainboard.c
+++ b/src/mainboard/google/kukui/mainboard.c
@@ -8,6 +8,7 @@
#include <console/console.h>
#include <delay.h>
#include <device/device.h>
+#include <ec/google/chromeec/ec.h>
#include <edid.h>
#include <gpio.h>
#include <soc/ddp.h>
@@ -55,6 +56,13 @@
gpio_set_mode(GPIO(EINT3), PAD_EINT3_FUNC_I2S3_DO);
}
+static void configure_ec(void)
+{
+ /* EC may need SKU ID to identify if it is clamshell or convertible. */
+ if (CONFIG(BOARD_GOOGLE_JACUZZI_COMMON))
+ google_chromeec_set_sku_id(sku_id());
+}
+
/* Default implementation for boards without panels defined yet. */
struct panel_description __weak *get_panel_description(int panel_id)
{
@@ -191,6 +199,7 @@
configure_emmc();
configure_usb();
configure_audio();
+ configure_ec();
if (spm_init())
printk(BIOS_ERR,
"SPM initialization failed, suspend/resume may fail.\n");