1*54fd6939SJiyong Park /* 2*54fd6939SJiyong Park * Copyright (c) 2019, MediaTek Inc. All rights reserved. 3*54fd6939SJiyong Park * 4*54fd6939SJiyong Park * SPDX-License-Identifier: BSD-3-Clause 5*54fd6939SJiyong Park */ 6*54fd6939SJiyong Park 7*54fd6939SJiyong Park #include <lib/bl_aux_params/bl_aux_params.h> 8*54fd6939SJiyong Park #include <common/debug.h> 9*54fd6939SJiyong Park #include <plat_params.h> 10*54fd6939SJiyong Park #include <string.h> 11*54fd6939SJiyong Park 12*54fd6939SJiyong Park static struct bl_aux_gpio_info rst_gpio; 13*54fd6939SJiyong Park plat_get_mtk_gpio_reset(void)14*54fd6939SJiyong Parkstruct bl_aux_gpio_info *plat_get_mtk_gpio_reset(void) 15*54fd6939SJiyong Park { 16*54fd6939SJiyong Park return &rst_gpio; 17*54fd6939SJiyong Park } 18*54fd6939SJiyong Park mtk_aux_param_handler(struct bl_aux_param_header * param)19*54fd6939SJiyong Parkstatic bool mtk_aux_param_handler(struct bl_aux_param_header *param) 20*54fd6939SJiyong Park { 21*54fd6939SJiyong Park /* Store platform parameters for later processing if needed. */ 22*54fd6939SJiyong Park switch (param->type) { 23*54fd6939SJiyong Park case BL_AUX_PARAM_MTK_RESET_GPIO: 24*54fd6939SJiyong Park rst_gpio = ((struct bl_aux_param_gpio *)param)->gpio; 25*54fd6939SJiyong Park return true; 26*54fd6939SJiyong Park } 27*54fd6939SJiyong Park 28*54fd6939SJiyong Park return false; 29*54fd6939SJiyong Park } 30*54fd6939SJiyong Park params_early_setup(u_register_t plat_param_from_bl2)31*54fd6939SJiyong Parkvoid params_early_setup(u_register_t plat_param_from_bl2) 32*54fd6939SJiyong Park { 33*54fd6939SJiyong Park bl_aux_params_parse(plat_param_from_bl2, mtk_aux_param_handler); 34*54fd6939SJiyong Park } 35*54fd6939SJiyong Park 36