summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mainboard/google/kukui/Kconfig6
-rw-r--r--src/mainboard/google/kukui/boardid.c18
2 files changed, 22 insertions, 2 deletions
diff --git a/src/mainboard/google/kukui/Kconfig b/src/mainboard/google/kukui/Kconfig
index 2237efa076..23a41691f9 100644
--- a/src/mainboard/google/kukui/Kconfig
+++ b/src/mainboard/google/kukui/Kconfig
@@ -77,4 +77,10 @@ config BOARD_SDRAM_TABLE_OFFSET
default 0x10 if BOARD_GOOGLE_BURNET || BOARD_GOOGLE_ESCHE || BOARD_GOOGLE_FENNEL || BOARD_GOOGLE_CERISE || BOARD_GOOGLE_STERN
default 0x0
+config BOARD_OVERRIDE_LCM_ID
+ hex
+ default 0x1 if BOARD_GOOGLE_JUNIPER || BOARD_GOOGLE_KAPPA || BOARD_GOOGLE_DAMU
+ default 0x1 if BOARD_GOOGLE_BURNET || BOARD_GOOGLE_ESCHE
+ default 0x0
+
endif
diff --git a/src/mainboard/google/kukui/boardid.c b/src/mainboard/google/kukui/boardid.c
index 47b0d9bcd7..6c7547c21a 100644
--- a/src/mainboard/google/kukui/boardid.c
+++ b/src/mainboard/google/kukui/boardid.c
@@ -1,5 +1,11 @@
/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * The boardid.c should provide board_id, sku_id, and ram_code.
+ * board_id is provided by ec/google/chromeec/ec_boardid.c.
+ * sku_id and ram_code are defined in this file.
+ */
+
#include <assert.h>
#include <boardid.h>
#include <console/console.h>
@@ -169,7 +175,15 @@ static uint8_t wfc_id(void)
return 0;
}
-/* board_id is provided by ec/google/chromeec/ec_boardid.c */
+/* Returns the ID for LCD module (type of panel). */
+static uint8_t lcm_id(void)
+{
+ /* LCM is unused on Jacuzzi followers. */
+ if (CONFIG(BOARD_GOOGLE_JACUZZI_COMMON))
+ return CONFIG_BOARD_OVERRIDE_LCM_ID;
+
+ return get_adc_index(LCM_ID_CHANNEL);
+}
uint32_t sku_id(void)
{
@@ -200,7 +214,7 @@ uint32_t sku_id(void)
* ADC4[4bit/L] = SKU ID from board straps.
*/
cached_sku_id = (wfc_id() << 8 |
- get_adc_index(LCM_ID_CHANNEL) << 4 |
+ lcm_id() << 4 |
get_adc_index(SKU_ID_CHANNEL));
return cached_sku_id;