This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] Linux/AM3358:在 BeagleBone Black 上配置 GPIO0

Guru**** 2925550 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/666098/linux-am3358-configuring-gpio0-on-beaglebone-black

器件型号:AM3358

工具/软件:Linux

我想在 Beagle Bone Black 中使用 GPIO0_2和 GPIO0_3。

有一个线程(e2e.ti.com/.../623030)建议查看 u-boot。 因此、我从 u-boot 中删除了有关 SPI0的任何内容、但在重新启动 函数(/sys/kernel/debug/pinctrl/44e10800.pinmux/pins)后、仍然是20、而不是2f:

引脚84 (PIN84) 44e10950 00000020 pinctrl 单路
引脚85 (PIN85) 44e10954 00000020 pinctrl 单路

我使用的所有其他引脚  

GPIO2_22
GPIO2_23
GPIO2_24
GPIO2_25
GPIO2_1
GPIO2_12
GPIO1_16
GPIO1_17
GPIO1_18
GPIO1_19
GPIO0_14
GPIO0_10

按预期工作(2f)。

如何使 GPIO0_3变为活动状态?

此致

Armin

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Armin、

    您使用的是哪个处理器 SDK 版本?

    此致、
    Kemal
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Kemal、

    PROCESSOR-SDK-LINUX-AM335X v04.02

    此致
    Armin
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您不会在任何位置对它们进行引脚多路复用、因此它们会保持其默认引脚多路复用状态。 更改了中的 uart2_pin_mux[] /board-support/u-boot- /board/ti/am335x/mux.c

    从中删除

    静态结构 MODULE_PIN_mux uart2_PIN_mux[]={
    offset (spi0_SCLK)、(MODE (1)| PULUP_EN | RXACTIVE)}、// UART2_RXD *
    {offset (spi0_d0)、(MODE (1)| PULLUUDEN)}、
    {* UART2_RXD}、{*}
    

    更改为

    静态结构 MODULE_PIN_mux uart2_PIN_mux[]={
    offset (spi0_SCLK)、(MODE (7)| PULLUDDIS | RXACTIVE)}、// GPIO0_2 *
    {offset (spi0_d0)、(MODE (7)| PULLUDDIS | RXACTIVE)}、
    {* GPIO0_2 *}、{offset (spi0_d0)、(mode (pulLUULUDDDIS)}*)}*)、
    

    并将 CONFIG_MODULE_PIN_mux (uart2_PIN_mux);添加到

    void enable_uart0_pin_mux (void)
    {
    configure_module_pin_mux (uart0_pin_mux);
    configure_module_pin_mux (uart2_pin_mux);
    } 

    您将看到这些引脚被引脚多路复用为2f

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Kemal:

    它可以正常工作、但我认为它是一个相当快且肮脏的解决方案。

    我本来期待的、我的 dtb 文件(am335x-bonebblack.dtb)将负责处理引脚多路复用内容。 与所有其他引脚一样。 仅当这2个不涉及时。 或者、u-boot 复用的所有其他引脚在哪里都需要这2个引脚?

    引脚多路复用应该发生在哪里? 在 U-Boot 或 DTB 文件中?

    我想了解这一点、如果有任何解释或文档、我将不胜感激。

    此致

    Armin

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我给了一 个示例、以证明您为什么不将这些引脚视为2f。 请阅读 本文、查找最干净的引脚复用方法、以满足您的要求。