mb/google/zork: Add kconfigs to check schematic version 3.6

Added VARIANT_SUPPORTS_PRE_V3_6_SCHEMATICS and
VARIANT_MIN_BOARD_ID_V3_6_SCHEMATICS. Added helper functions to check
if variant uses v3.6 and if variant uses CODEC GPI.

BUG=b:161938476
BRANCH=None
TEST=None

Change-Id: If86e1ea3c02db354c7b410f1bbc1daacb483cc51
Signed-off-by: Josie Nordrum <josienordrum@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/44156
Reviewed-by: Furquan Shaikh <furquan@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Josie Nordrum 2020-08-03 11:05:14 -06:00 committed by Furquan Shaikh
parent ce25b947e0
commit c759e5e27a
3 changed files with 57 additions and 0 deletions

View File

@ -169,6 +169,34 @@ config VARIANT_SUPPORTS_PRE_V3_SCHEMATICS
longer has to support pre-v3 schematics, `default y` entry longer has to support pre-v3 schematics, `default y` entry
for it can be dropped. for it can be dropped.
config VARIANT_SUPPORTS_PRE_V3_6_SCHEMATICS
bool
default y if BOARD_GOOGLE_TREMBYLE
default y if BOARD_GOOGLE_EZKINIL
default y if BOARD_GOOGLE_MORPHIUS
default y if BOARD_GOOGLE_BERKNIP
default y if BOARD_GOOGLE_DALBOZ
default y if BOARD_GOOGLE_WOOMAX
default y if BOARD_GOOGLE_VILBOZ
default y if BOARD_GOOGLE_DIRINBOZ
default n
config VARIANT_MIN_BOARD_ID_V3_6_SCHEMATICS
int
depends on VARIANT_SUPPORTS_PRE_V3_6_SCHEMATICS
default 4 if BOARD_GOOGLE_TREMBYLE
default 3 if BOARD_GOOGLE_EZKINIL
default 4 if BOARD_GOOGLE_MORPHIUS
default 3 if BOARD_GOOGLE_BERKNIP
default 3 if BOARD_GOOGLE_DALBOZ
default 2 if BOARD_GOOGLE_WOOMAX
default 2 if BOARD_GOOGLE_VILBOZ
default 2 if BOARD_GOOGLE_DIRINBOZ
default 256
help
Minimum board version where the variant starts supporting
v3.6+ version of reference schematics.
config VARIANT_MIN_BOARD_ID_V3_SCHEMATICS config VARIANT_MIN_BOARD_ID_V3_SCHEMATICS
int int
depends on VARIANT_SUPPORTS_PRE_V3_SCHEMATICS depends on VARIANT_SUPPORTS_PRE_V3_SCHEMATICS

View File

@ -130,6 +130,31 @@ bool variant_uses_v3_schematics(void)
return true; return true;
} }
bool variant_uses_v3_6_schematics(void)
{
uint32_t board_version;
if (!CONFIG(VARIANT_SUPPORTS_PRE_V3_6_SCHEMATICS))
return true;
if (google_chromeec_cbi_get_board_version(&board_version))
return false;
if ((int)board_version < CONFIG_VARIANT_MIN_BOARD_ID_V3_6_SCHEMATICS)
return false;
return true;
}
/*
* pre-v3.6, CODEC_GPI was used as headphone jack interrupt.
* Starting v3.6 this was changed to a separate GPIO.
*/
bool variant_uses_codec_gpi(void)
{
return !variant_uses_v3_6_schematics();
}
bool variant_has_active_low_wifi_power(void) bool variant_has_active_low_wifi_power(void)
{ {
uint32_t board_version; uint32_t board_version;

View File

@ -66,6 +66,10 @@ int boot_is_factory_unprovisioned(void);
/* Return true if variant uses v3 version of reference schematics. */ /* Return true if variant uses v3 version of reference schematics. */
bool variant_uses_v3_schematics(void); bool variant_uses_v3_schematics(void);
/* Return true if variant uses v3.6 version of reference schematics. */
bool variant_uses_v3_6_schematics(void);
/* Return true if variant uses CODEC_GPI pin for headphone jack interrupt. */
bool variant_uses_codec_gpi(void);
/* Return true if variant has active low power enable fow WiFi. */ /* Return true if variant has active low power enable fow WiFi. */
bool variant_has_active_low_wifi_power(void); bool variant_has_active_low_wifi_power(void);