BootLoader阶段
BootLoader阶段可以调用gpio_tlmm_config()函数完成GPIO_CFGn寄存器的配置,举例如下:
#define TLMM_VOL_UP_BTN_GPIO 85
gpio_tlmm_config(TLMM_VOL_UP_BTN_GPIO, 0,GPIO_INPUT, GPIO_PULL_UP, GPIO_2MA, GPIO_ENABLE)
gpio_tlmm_config()定义如下:
void gpio_tlmm_config(uint32_t gpio,uint8_t func,
uint8_tdir, uint8_t pull,
uint8_tdrvstr, uint32_t enable)
{
uint32_tval = 0;
val|= pull;
val|= func << 2;
val|= drvstr << 6;
val|= enable << 9;//如果func=0,enable=1为输出,enable=0为输出
writel(val,(uint32_t *)GPIO_CONFIG_ADDR(gpio));
return;
}
其中驱动强度的可用定义如下:
/* GPIO TLMM: Drive Strength */
#define GPIO_2MA 0
#define GPIO