From 82fbb1cf55442abba8db5087d006892b8bc56d86 Mon Sep 17 00:00:00 2001 From: Kevin Chiu Date: Tue, 5 Sep 2017 16:10:10 +0800 Subject: [PATCH] google/snappy: Update EC keyboard backlight flag by SKU ID Set AP SKU ID by ec command EC_CMD_SET_SKU_ID to update EC keyboard backlight flag. BUG=b:65359225 BRANCH=reef TEST=emerge-snappy coreboot Change-Id: I1153aa0b89250c55f311dd93a01fcef47afd7292 Signed-off-by: Kevin Chiu Reviewed-on: https://review.coreboot.org/21400 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin --- src/mainboard/google/reef/mainboard.c | 7 ++++++ .../baseboard/include/baseboard/variants.h | 2 ++ .../google/reef/variants/snappy/Makefile.inc | 1 + .../google/reef/variants/snappy/mainboard.c | 22 +++++++++++++++++++ 4 files changed, 32 insertions(+) create mode 100644 src/mainboard/google/reef/variants/snappy/Makefile.inc create mode 100644 src/mainboard/google/reef/variants/snappy/mainboard.c diff --git a/src/mainboard/google/reef/mainboard.c b/src/mainboard/google/reef/mainboard.c index c6b199700e..8c7ec3cc05 100644 --- a/src/mainboard/google/reef/mainboard.c +++ b/src/mainboard/google/reef/mainboard.c @@ -42,6 +42,8 @@ static void mainboard_init(void *chip_info) gpio_configure_pads(pads, num); mainboard_ec_init(); + + variant_board_ec_set_skuid(); } /* @@ -64,6 +66,11 @@ uint8_t __attribute__((weak)) variant_board_sku(void) return board_sku_num; } +/* Set variabnt board sku to ec by sku id */ +void __attribute__((weak)) variant_board_ec_set_skuid(void) +{ +} + const char *smbios_mainboard_sku(void) { static char sku_str[7]; /* sku{0..255} */ diff --git a/src/mainboard/google/reef/variants/baseboard/include/baseboard/variants.h b/src/mainboard/google/reef/variants/baseboard/include/baseboard/variants.h index 388397b0f2..535bf34311 100644 --- a/src/mainboard/google/reef/variants/baseboard/include/baseboard/variants.h +++ b/src/mainboard/google/reef/variants/baseboard/include/baseboard/variants.h @@ -38,6 +38,8 @@ const struct lpddr4_cfg *variant_lpddr4_config(void); size_t variant_memory_sku(void); /* Return board SKU. Limited to uint8_t, so it fits into 3 decimal digits */ uint8_t variant_board_sku(void); +/* Set variabnt board sku to ec by sku id */ +void variant_board_ec_set_skuid(void); /* Return ChromeOS gpio table and fill in number of entries. */ const struct cros_gpio *variant_cros_gpios(size_t *num); diff --git a/src/mainboard/google/reef/variants/snappy/Makefile.inc b/src/mainboard/google/reef/variants/snappy/Makefile.inc new file mode 100644 index 0000000000..f3c87b2318 --- /dev/null +++ b/src/mainboard/google/reef/variants/snappy/Makefile.inc @@ -0,0 +1 @@ +ramstage-y += mainboard.c diff --git a/src/mainboard/google/reef/variants/snappy/mainboard.c b/src/mainboard/google/reef/variants/snappy/mainboard.c new file mode 100644 index 0000000000..a04f61a72f --- /dev/null +++ b/src/mainboard/google/reef/variants/snappy/mainboard.c @@ -0,0 +1,22 @@ +/* + * This file is part of the coreboot project. + * + * Copyright 2016, 2017 Google Inc. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#include +#include + +void variant_board_ec_set_skuid(void) +{ + google_chromeec_set_sku_id(variant_board_sku()); +}