rockchip: gru: pass reset gpio parameter to BL31
To support gpio reset SOC, we need to pass the reset gpio
parameter to BL31. Note: request BL31 have supported this
function.
BRANCH=None
BUG=chrome-os-partner:51924
TEST=Build gru
Change-Id: I182cff11ce6f5dc3354db0dc053c128b813acf9f
Signed-off-by: Martin Roth <martinroth@chromium.org>
Original-Commit-Id:
Original-Change-Id: I8283596565d552b1f3db31c28621a1601c226999
Original-Signed-off-by: Lin Huang <hl@rock-chips.com>
Original-Signed-off-by: Douglas Anderson <dianders@chromium.org>
Original-Reviewed-on: https://chromium-review.googlesource.com/349702
Original-Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
Reviewed-on: https://review.coreboot.org/15118
Reviewed-by: Furquan Shaikh <furquan@google.com>
Tested-by: build bot (Jenkins)
diff --git a/src/mainboard/google/gru/mainboard.c b/src/mainboard/google/gru/mainboard.c
index e6baebe..2305129 100644
--- a/src/mainboard/google/gru/mainboard.c
+++ b/src/mainboard/google/gru/mainboard.c
@@ -19,6 +19,7 @@
#include <device/device.h>
#include <device/i2c.h>
#include <gpio.h>
+#include <soc/bl31_plat_params.h>
#include <soc/clock.h>
#include <soc/display.h>
#include <soc/emmc.h>
@@ -44,6 +45,23 @@
enable_emmc_clk();
}
+static void register_reset_to_bl31(void)
+{
+ static struct bl31_gpio_param param_reset = {
+ .h = {
+ .type = PARAM_RESET,
+ },
+ .gpio = {
+ .polarity = 1,
+ },
+ };
+
+ /* gru/kevin reset pin: gpio0b3 */
+ param_reset.gpio.index = GET_GPIO_NUM(GPIO_RESET),
+
+ register_bl31_param(¶m_reset.h);
+}
+
static void configure_sdmmc(void)
{
gpio_output(GPIO(4, D, 5), 1); /* SDMMC_PWR_EN */
@@ -132,6 +150,7 @@
configure_codec();
configure_display();
setup_usb();
+ register_reset_to_bl31();
}
static void enable_backlight_booster(void)