[coreboot-gerrit] Patch set updated for coreboot: rockchip: gru: pass poweroff gpio parameter to BL31

Martin Roth (martinroth@google.com) gerrit at coreboot.org
Sun Jun 12 12:18:22 CEST 2016


Martin Roth (martinroth at google.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/15119

-gerrit

commit de49693cd78bdb476db54704d62b62c3d98544b4
Author: Lin Huang <hl at rock-chips.com>
Date:   Thu May 19 11:11:23 2016 +0800

    rockchip: gru: pass poweroff gpio parameter to BL31
    
    To support gpio power off SOC, we need to pass the power off
    gpio parameter to BL31. Gru reuse tsadc overtemp pin as power
    off gpio, so need to iomux to gpio function when use gpio power
    off function, either in bl31 or depthcharge.
    
    BRANCH=None
    BUG=chrome-os-partner:53448
    TEST=Build gru
    
    Change-Id: Ibfe64042f39f6df1b87536b50fe432859bf74426
    Signed-off-by: Martin Roth <martinroth at chromium.org>
    Original-Commit-Id:
    Original-Change-Id: Ie7a1bbea4a12753f0abac7a9142f2e032686ce31
    Original-Signed-off-by: Lin Huang <hl at rock-chips.com>
    Original-Signed-off-by: Douglas Anderson <dianders at chromium.org>
    Original-Reviewed-on: https://chromium-review.googlesource.com/349703
    Original-Reviewed-by: Vadim Bendebury <vbendeb at chromium.org>
---
 src/mainboard/google/gru/board.h     |  1 +
 src/mainboard/google/gru/mainboard.c | 22 ++++++++++++++++++++++
 2 files changed, 23 insertions(+)

diff --git a/src/mainboard/google/gru/board.h b/src/mainboard/google/gru/board.h
index 6d80cdf..382c462 100644
--- a/src/mainboard/google/gru/board.h
+++ b/src/mainboard/google/gru/board.h
@@ -22,6 +22,7 @@
 #define GPIO_BACKLIGHT	GPIO(1, C, 1)
 #define GPIO_EC_IN_RW	GPIO(3, B, 0)
 #define GPIO_EC_IRQ	GPIO(0, A, 1)
+#define GPIO_POWEROFF	GPIO(1, A, 6)
 #define GPIO_RESET	GPIO(0, B, 3)
 #define GPIO_WP		GPIO(1, C, 2)
 
diff --git a/src/mainboard/google/gru/mainboard.c b/src/mainboard/google/gru/mainboard.c
index 824846a..5304d32 100644
--- a/src/mainboard/google/gru/mainboard.c
+++ b/src/mainboard/google/gru/mainboard.c
@@ -64,6 +64,27 @@ static void register_reset_to_bl31(void)
 	register_bl31_param(&param_reset.h);
 }
 
+static void register_poweroff_to_bl31(void)
+{
+	static struct bl31_gpio_param param_poweroff = {
+		.h = {
+			.type = PARAM_POWEROFF,
+		},
+		.gpio = {
+			.polarity = 1,
+		},
+	};
+
+	/*
+	 * gru/kevin power off pin: gpio1a6,
+	 * reuse with tsadc int pin, so iomux need set back to
+	 * gpio in BL31 and depthcharge before you setting this gpio
+	 */
+	param_poweroff.gpio.index = GET_GPIO_NUM(GPIO_POWEROFF),
+
+	register_bl31_param(&param_poweroff.h);
+}
+
 static void configure_sdmmc(void)
 {
 	gpio_output(GPIO(4, D, 5), 1);  /* SDMMC_PWR_EN */
@@ -153,6 +174,7 @@ static void mainboard_init(device_t dev)
 	configure_display();
 	setup_usb();
 	register_reset_to_bl31();
+	register_poweroff_to_bl31();
 }
 
 static void enable_backlight_booster(void)



More information about the coreboot-gerrit mailing list