From 4f20a4ae47492fc86293f1c6aed063177992fbaf Mon Sep 17 00:00:00 2001 From: Matt DeVillier Date: Sun, 20 Aug 2017 17:56:48 -0500 Subject: google/edgar: add new board as variant of cyan baseboard Add support for google/edgar (Acer Chromebook 14 CB3-431) as a variant of the cyan Braswell basebaseboard. - Add board-specific code as the new edgar variant - Add common code to the baseboard which will apply to all variants other than cyan Sourced from Chromium branch firmware-edgar-7287.167.B, commit 2319742: Edgar: Add Micron MT52L256M32D1PF-107 SPD data Change-Id: I58548cbbc85828f37c0023e8aa9e09bdca612659 Signed-off-by: Matt DeVillier Reviewed-on: https://review.coreboot.org/21127 Tested-by: build bot (Jenkins) Reviewed-by: Martin Roth --- src/mainboard/google/cyan/chromeos.c | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) (limited to 'src/mainboard/google/cyan/chromeos.c') diff --git a/src/mainboard/google/cyan/chromeos.c b/src/mainboard/google/cyan/chromeos.c index 8aac84f57f..78856429d2 100644 --- a/src/mainboard/google/cyan/chromeos.c +++ b/src/mainboard/google/cyan/chromeos.c @@ -16,6 +16,7 @@ #include #include +#include #include #include #include @@ -24,6 +25,8 @@ #define WP_STATUS_PAD_CFG0 0x4838 #define WP_STATUS_PAD_CFG1 0x483C +#define WP_GPIO GP_E_22 + #if ENV_RAMSTAGE #include @@ -52,15 +55,23 @@ int get_write_protect_state(void) * in the reading. */ #if ENV_ROMSTAGE - write32((void *)(COMMUNITY_GPEAST_BASE + WP_STATUS_PAD_CFG0), - (PAD_PULL_UP_20K | PAD_GPIO_ENABLE | PAD_CONFIG0_GPI_DEFAULT)); - write32((void *)(COMMUNITY_GPEAST_BASE + WP_STATUS_PAD_CFG1), - PAD_CONFIG1_DEFAULT0); + if (IS_ENABLED(CONFIG_BOARD_GOOGLE_CYAN)) { + write32((void *)(COMMUNITY_GPEAST_BASE + WP_STATUS_PAD_CFG0), + (PAD_PULL_UP_20K | PAD_GPIO_ENABLE | PAD_CONFIG0_GPI_DEFAULT)); + write32((void *)(COMMUNITY_GPEAST_BASE + WP_STATUS_PAD_CFG1), + PAD_CONFIG1_DEFAULT0); + } else { + gpio_input_pullup(WP_GPIO); + } #endif /* WP is enabled when the pin is reading high. */ - return (read32((void *)(COMMUNITY_GPEAST_BASE + WP_STATUS_PAD_CFG0)) - & PAD_VAL_HIGH); + if (IS_ENABLED(CONFIG_BOARD_GOOGLE_CYAN)) { + return (read32((void *)(COMMUNITY_GPEAST_BASE + WP_STATUS_PAD_CFG0)) + & PAD_VAL_HIGH); + } else { + return !!gpio_get(WP_GPIO); + } } static const struct cros_gpio cros_gpios[] = { -- cgit v1.2.3