summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron Durbin <adurbin@chromium.org>2014-08-29 16:56:00 -0500
committerPatrick Georgi <pgeorgi@google.com>2015-03-27 08:04:37 +0100
commit719b7880b693d3ca7fee7f1c4d59a14f05683020 (patch)
treedc9d4f9a3ea48ae487284d77367b7ff51052d4f2
parent45a1c949cb5db68fb053efe1e22a2361c34a34c2 (diff)
downloadcoreboot-719b7880b693d3ca7fee7f1c4d59a14f05683020.tar.xz
ryu: fix power button polarity
The power button signal is driven from the silego part. It's active high when the button is pressed. BUG=None BRANCH=None TEST=Booted with power button pressed. vboot saw the press and requested a shut down. Change-Id: Ifff1bd8d4340849e0c218812fd401b61c90c5743 Signed-off-by: Patrick Georgi <pgeorgi@chromium.org> Original-Commit-Id: b6bd7c0de38e1078b85f1671493c6d2948d43149 Original-Change-Id: If25ebce28c1ab5a363f3b4b5ab9fc24baebad56a Original-Signed-off-by: Aaron Durbin <adurbin@chromium.org> Original-Reviewed-on: https://chromium-review.googlesource.com/214847 Original-Reviewed-by: Furquan Shaikh <furquan@chromium.org> Reviewed-on: http://review.coreboot.org/9028 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
-rw-r--r--src/mainboard/google/rush_ryu/chromeos.c6
-rw-r--r--src/mainboard/google/rush_ryu/gpio.h6
-rw-r--r--src/mainboard/google/rush_ryu/romstage.c2
3 files changed, 8 insertions, 6 deletions
diff --git a/src/mainboard/google/rush_ryu/chromeos.c b/src/mainboard/google/rush_ryu/chromeos.c
index 9446ae0b96..9c9056eb96 100644
--- a/src/mainboard/google/rush_ryu/chromeos.c
+++ b/src/mainboard/google/rush_ryu/chromeos.c
@@ -48,9 +48,9 @@ void fill_lb_gpios(struct lb_gpios *gpios)
/* TODO(adurbin): add lid switch */
/* Power: active low */
- gpios->gpios[count].port = POWER_BUTTON_L_INDEX,
- gpios->gpios[count].polarity = ACTIVE_LOW;
- gpios->gpios[count].value = 1;
+ gpios->gpios[count].port = POWER_BUTTON_INDEX,
+ gpios->gpios[count].polarity = ACTIVE_HIGH;
+ gpios->gpios[count].value = gpio_get_in_value(POWER_BUTTON);
strncpy((char *)gpios->gpios[count].name, "power",
GPIO_MAX_NAME_LENGTH);
count++;
diff --git a/src/mainboard/google/rush_ryu/gpio.h b/src/mainboard/google/rush_ryu/gpio.h
index e248540a40..f790e8f2be 100644
--- a/src/mainboard/google/rush_ryu/gpio.h
+++ b/src/mainboard/google/rush_ryu/gpio.h
@@ -46,10 +46,10 @@ enum {
SPI_1V8_WP_L = GPIO(R1),
WRITE_PROTECT_L = SPI_1V8_WP_L,
WRITE_PROTECT_L_INDEX = GPIO_R1_INDEX,
- /* Power Button */
+ /* Power Button -- actually active high, but the net names are off. */
BTN_AP_PWR_L = GPIO(Q0),
- POWER_BUTTON_L = BTN_AP_PWR_L,
- POWER_BUTTON_L_INDEX = GPIO_Q0_INDEX,
+ POWER_BUTTON = BTN_AP_PWR_L,
+ POWER_BUTTON_INDEX = GPIO_Q0_INDEX,
};
#endif /* __MAINBOARD_GOOGLE_RUSH_RYU_GPIO_H__ */
diff --git a/src/mainboard/google/rush_ryu/romstage.c b/src/mainboard/google/rush_ryu/romstage.c
index 4d22335fda..578b1e6da6 100644
--- a/src/mainboard/google/rush_ryu/romstage.c
+++ b/src/mainboard/google/rush_ryu/romstage.c
@@ -39,6 +39,8 @@ static const struct pad_config padcfgs[] = {
PAD_CFG_GPIO_OUT0(KB_ROW12, PINMUX_PULL_DOWN),
/* MDM_DET - expected to be pulled down by LTE modem */
PAD_CFG_GPIO_INPUT(GPIO_PV1, PINMUX_PULL_UP),
+ /* Power Button - active high */
+ PAD_CFG_GPIO_INPUT(KB_COL0, PINMUX_PULL_UP),
};
static const struct pad_config tpm_pads[] = {