在MLO中设置GPIO不起作用

时间:2016-07-24 14:40:55

标签: boot beagleboneblack u-boot multiplexing

我想知道如何在启动的初始阶段引脚复用引脚,即在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模式?

0 个答案:

没有答案