BBB从上电开始把它的某一引脚(如EHRPWM1B)设置为高电平?在borad-am335xevm.c添加了下面代码:
static struct pinmux_config bbb_gpio_pin_mux[] = {
//{"gpmc_a3.gpio1_19", OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT},
{"gpmc_a3.gpio1_19", OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT_PULLUP},
{NULL, 0},
};
#define RESET_GPIO GPIO_TO_PIN(1, 19)
static void chipsee_reset_init(int evm_id, int profile)
{
printk(KERN_INFO"board-am33xevm.c chipsee_reset_init(int evm_id, int profile)\n");
setup_pin_mux(chipsee_reset_pin_mux);
gpio_request(RESET_GPIO, "sysfs");
gpio_export(RESET_GPIO, 1);
gpio_direction_output(RESET_GPIO, 1);
return;
}
这样设了,进入内核启动时引脚才点位高电平。
HG:
你其实已经发现了内核加载设备初始化时才配置了GPIO,这也是你代码中所做的。
你所希望的是上电一段时间就配高电平,这需要在bootloader中修改代码。
如果你对时间要求很高,可能需要在汇编段添加代码。
希望能对你有帮助!
Jian Zhou:
回复 HG:
你可以参考下AM335x 的datasheet里关于引脚reset之后的状态,如果不符合你的要求需要在u-boot中修改。
shanshan wan:
回复 HG:
谢谢解答,在bootloader与汇编段要怎样添加这些代码呢,有没有例子可参考呢?