diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/config.h | 7 | ||||
-rw-r--r-- | include/cros_board_info.h | 12 |
2 files changed, 19 insertions, 0 deletions
diff --git a/include/config.h b/include/config.h index 32ba1b71aa..3136dd18fe 100644 --- a/include/config.h +++ b/include/config.h @@ -5167,6 +5167,9 @@ */ #undef CONFIG_CBI_EEPROM +/* Define this to support Cros Board Info from GPIO. */ +#undef CONFIG_CBI_GPIO + /*****************************************************************************/ /* * ISH config defaults @@ -6365,6 +6368,10 @@ "are mutually exclusive. " #endif /* CONFIG_BOARD_VERSION_CBI && CONFIG_BOARD_VERSION_GPIO */ +#if defined(CONFIG_CBI_EEPROM) && defined(CONFIG_CBI_GPIO) +#error "CONFIG_CBI_EEPROM and CONFIG_CBI_GPIO are mutually exclusive." +#endif + #if !defined(CONFIG_ZEPHYR) && !defined(CONFIG_ACCELGYRO_ICM_COMM_SPI) && \ !defined(CONFIG_ACCELGYRO_ICM_COMM_I2C) #ifdef I2C_PORT_ACCEL diff --git a/include/cros_board_info.h b/include/cros_board_info.h index 6f2871916e..ee5a717ee5 100644 --- a/include/cros_board_info.h +++ b/include/cros_board_info.h @@ -12,7 +12,18 @@ #define CBI_VERSION_MAJOR 0 #define CBI_VERSION_MINOR 0 + +#ifdef CONFIG_CBI_GPIO +/* + * if CBI is sourced from GPIO, the CBI cache only needs to accomondate + * BOARD_VERSION and SKU_ID + */ +#define CBI_IMAGE_SIZE (sizeof(struct cbi_header) + (2 * \ + (sizeof(struct cbi_data) + sizeof(uint32_t)))) +#else #define CBI_IMAGE_SIZE 256 +#endif + static const uint8_t cbi_magic[] = { 0x43, 0x42, 0x49 }; /* 'C' 'B' 'I' */ struct cbi_header { @@ -48,6 +59,7 @@ enum cbi_cache_status { enum cbi_storage_type { CBI_STORAGE_TYPE_EEPROM = 0, + CBI_STORAGE_TYPE_GPIO = 1 }; /* |