arm-trusted-firmware/plat/mediatek/mt8192/drivers/gpio/mtgpio.c

54 lines
837 B
C

/*
* Copyright (c) 2020, MediaTek Inc. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
#include <assert.h>
#include <mtgpio.h>
#include <platform_def.h>
uintptr_t mt_gpio_find_reg_addr(uint32_t pin)
{
uintptr_t reg_addr = 0U;
struct mt_pin_info gpio_info;
assert(pin < MAX_GPIO_PIN);
gpio_info = mt_pin_infos[pin];
switch (gpio_info.base & 0x0f) {
case 0:
reg_addr = IOCFG_RM_BASE;
break;
case 1:
reg_addr = IOCFG_BM_BASE;
break;
case 2:
reg_addr = IOCFG_BL_BASE;
break;
case 3:
reg_addr = IOCFG_BR_BASE;
break;
case 4:
reg_addr = IOCFG_LM_BASE;
break;
case 5:
reg_addr = IOCFG_LB_BASE;
break;
case 6:
reg_addr = IOCFG_RT_BASE;
break;
case 7:
reg_addr = IOCFG_LT_BASE;
break;
case 8:
reg_addr = IOCFG_TL_BASE;
break;
default:
break;
}
return reg_addr;
}