From 719b7880b693d3ca7fee7f1c4d59a14f05683020 Mon Sep 17 00:00:00 2001 From: Aaron Durbin Date: Fri, 29 Aug 2014 16:56:00 -0500 Subject: [PATCH] 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 Original-Commit-Id: b6bd7c0de38e1078b85f1671493c6d2948d43149 Original-Change-Id: If25ebce28c1ab5a363f3b4b5ab9fc24baebad56a Original-Signed-off-by: Aaron Durbin Original-Reviewed-on: https://chromium-review.googlesource.com/214847 Original-Reviewed-by: Furquan Shaikh Reviewed-on: http://review.coreboot.org/9028 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer --- src/mainboard/google/rush_ryu/chromeos.c | 6 +++--- src/mainboard/google/rush_ryu/gpio.h | 6 +++--- src/mainboard/google/rush_ryu/romstage.c | 2 ++ 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[] = {