google/kukui: Pass reset gpio parameter to BL31

To support gpio reset SoC, we need to pass the reset gpio parameter to
BL31.

BUG=b:80501386
BRANCH=none
TEST=Boots correctly on Kukui and ATF(BL31) can get this parameter.

Change-Id: Iefa70dc0714a9283a79f97d475b07ac047f5f3b0
Signed-off-by: Tristan Shieh <tristan.shieh@mediatek.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/31605
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Hung-Te Lin <hungte@chromium.org>
This commit is contained in:
Tristan Shieh 2019-02-25 17:14:14 +08:00 committed by Patrick Georgi
parent 99f83bbad4
commit 4d990ab1bb
1 changed files with 17 additions and 0 deletions

View File

@ -14,6 +14,7 @@
*/
#include <assert.h>
#include <bl31.h>
#include <boardid.h>
#include <bootmode.h>
#include <cbfs.h>
@ -30,8 +31,11 @@
#include <soc/usb.h>
#include <string.h>
#include "gpio.h"
#include "panel.h"
#include <arm-trusted-firmware/include/export/plat/mediatek/common/plat_params_exp.h>
static void configure_emmc(void)
{
const gpio_t emmc_pin[] = {
@ -172,6 +176,17 @@ static bool configure_display(void)
return true;
}
static void register_reset_to_bl31(void)
{
static struct bl_aux_param_gpio param_reset = {
.h = { .type = BL_AUX_PARAM_MTK_RESET_GPIO },
.gpio = { .polarity = ARM_TF_GPIO_LEVEL_HIGH },
};
param_reset.gpio.index = GPIO_RESET.id;
register_bl31_aux_param(&param_reset.h);
}
static void mainboard_init(struct device *dev)
{
if (display_init_required()) {
@ -186,6 +201,8 @@ static void mainboard_init(struct device *dev)
configure_emmc();
configure_usb();
configure_audio();
register_reset_to_bl31();
}
static void mainboard_enable(struct device *dev)