summaryrefslogtreecommitdiff
path: root/src/mainboard
diff options
context:
space:
mode:
authorKyösti Mälkki <kyosti.malkki@gmail.com>2021-11-08 13:11:51 +0200
committerArthur Heymans <arthur@aheymans.xyz>2022-05-16 07:03:31 +0000
commit8a80cc8dd0c7d33de560abcffa4bc348554a00ea (patch)
tree03646609c19b7c8511739230564b6406c5191550 /src/mainboard
parent90e2adf0d33117efe04c4df601a369223b0c1516 (diff)
google/cyan: Clean up write_protect_state()
The commentary was wrong, write_protect_state() is only called in ramstage at the moment, and only if MRC_SETTINGS_PROTECT is selected. Implementation of get_gpio() eventually does the MMIO read, so BOARD_GOOGLE_CYAN was not a special case. Change-Id: I96ca871110bcf2fc1485bd042ed137d51b822a20 Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/59014 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
Diffstat (limited to 'src/mainboard')
-rw-r--r--src/mainboard/google/cyan/chromeos.c34
-rw-r--r--src/mainboard/google/cyan/onboard.h9
2 files changed, 11 insertions, 32 deletions
diff --git a/src/mainboard/google/cyan/chromeos.c b/src/mainboard/google/cyan/chromeos.c
index 5c232303b5..a218cc38d7 100644
--- a/src/mainboard/google/cyan/chromeos.c
+++ b/src/mainboard/google/cyan/chromeos.c
@@ -8,14 +8,7 @@
#include <types.h>
#include <vendorcode/google/chromeos/chromeos.h>
-/* The WP status pin lives on MF_ISH_GPIO_4 */
-#define WP_STATUS_PAD_CFG0 0x4838
-#define WP_STATUS_PAD_CFG1 0x483C
-
-#define WP_GPIO GP_E_22
-
-#define ACTIVE_LOW 0
-#define ACTIVE_HIGH 1
+#include "onboard.h"
void fill_lb_gpios(struct lb_gpios *gpios)
{
@@ -29,30 +22,7 @@ void fill_lb_gpios(struct lb_gpios *gpios)
int get_write_protect_state(void)
{
- /*
- * The vboot loader queries this function in romstage. The GPIOs have
- * not been set up yet as that configuration is done in ramstage.
- * Configuring this GPIO as input so that there isn't any ambiguity
- * in the reading.
- */
-#if ENV_ROMSTAGE
- if (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. */
- if (CONFIG(BOARD_GOOGLE_CYAN)) {
- return (read32((void *)(COMMUNITY_GPEAST_BASE + WP_STATUS_PAD_CFG0))
- & PAD_VAL_HIGH);
- } else {
- return !!gpio_get(WP_GPIO);
- }
+ return !!gpio_get(WP_GPIO);
}
static const struct cros_gpio cros_gpios[] = {
diff --git a/src/mainboard/google/cyan/onboard.h b/src/mainboard/google/cyan/onboard.h
new file mode 100644
index 0000000000..dd33a38123
--- /dev/null
+++ b/src/mainboard/google/cyan/onboard.h
@@ -0,0 +1,9 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#ifndef CYAN_ONBOARD_H
+#define CYAN_ONBOARD_H
+
+/* Write protect active high. */
+#define WP_GPIO GP_E_22
+
+#endif