diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/mainboard/google/kukui/Kconfig | 6 | ||||
-rw-r--r-- | src/mainboard/google/kukui/boardid.c | 18 |
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; |