我想知道如何在启动的初始阶段引脚复用引脚,即在spl(MLO)中。 我想要做的是将默认引脚配置更改为gpio one,这样我就可以看到引脚上的高电平或低电平。
在P8标题上,我尝试将模式0更改为默认值' TIMER4'到gpio2 [2]即模式7.所以我做了这个
static struct module_pin_mux gpio2_2_pin_mux[] = {
{OFFSET(gpmc_wen), (MODE(7) | PULLUDEN)},
{-1},
};
并调用此函数
configure_module_pin_mux(gpio2_2_pin_mux);
in board / ti / am335x / mux.c
我没有在P8标头的第7针上看到任何电压?
这样做的正确方法是什么?
文件链接:http://textuploader.com/5eh6u 你可以搜索'?'在文件中查看我添加的内容。
P.S 我检查了uart0上的pin mux设置并尝试读取它是否相同。
所以我写了这个 ./arch/arm/cpu/armv7/omap-common/boot-common.c
void spl_board_init(void)
{
/*
* Save the boot parameters passed from romcode.
* We cannot delay the saving further than this,
* to prevent overwrites.
*/
save_omap_boot_params();
unsigned int *mfi;
//control revision register
/* Prepare console output */
mfi = *(unsigned int *)(0x44E10980);
printf("1======> %x\n",mfi);
preloader_console_init();//it will print uboot version date and time information
mfi = *(unsigned int *)(0x44E10980);
printf("2======> %x\n",mfi);
more init code.....
}
我想在board / ti / am335x / mux.c
中看到此设置static struct module_pin_mux uart0_pin_mux[] = {
{OFFSET(uart0_rxd), (MODE(0) | PULLUP_EN | RXACTIVE)}, /* UART0_RXD */
{OFFSET(uart0_txd), (MODE(0) | PULLUDEN)}, /* UART0_TXD */
{-1},
}
但它的打印值为37.表示该引脚处于GPIO模式。 应该处于模式0的引脚是否可能处于第7模式?