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/AM3359:具有上拉电阻的 GPIO 输入

Guru**** 2581345 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/631059/linux-am3359-gpio-input-with-pull-up

器件型号:AM3359

工具/软件:Linux

您好!

我已经在内核3.2.33和4.1/10上使用 BeagleBone 多年了。 我还一直在使用几个 GPIO 功能、没有任何问题。 现在、我需要为配置为输入的 GPIO 启用内部上拉。 在3.2.33中、这种方法完美无误、连接到 GPIO 的按钮可被正确读取(我还尝试禁用上拉、并且值由连接的电路下拉、因此验证了内部上拉功能)。 在4.1.10中、无论引脚的设置如何、上拉电阻似乎都不起作用、而因3.2.33中的上拉电阻而被读取为高电平的输入在4.1.10中被读取为低电平。 该引脚使用 DTB 文件进行配置、并使用/sys/class/gpio 导出 GPIO

CAT /sys/kernel/debug/pinctrl/44e10800.pinmux/pinmux-pins
每个引脚的 Pinmux 设置
格式:引脚(名称):MUX_ONER GPIO_ONER HOG?
(笑声)
引脚50 (44e108c8.0):按钮(GPIO 未声明)功能 USER_Buttons_s0组 USER_Buttons_s0
引脚51 (44e108cc.0):按钮(GPIO 未声明)功能 USER_Buttons_s0组 USER_Buttons_s0

CAT /sys/kernel/debug/pinctrl/44e10800.pinmux/pins
寄存引脚:142
(笑声)
引脚50 (44e108c8.0) 00000067 pinctrl-single
引脚51 (44e108cc.0) 00000067 pinctrl-single

我还尝试过将引脚设置为0x37、以防出现没有区别的情况:

CAT /sys/kernel/debug/pinctrl/44e10800.pinmux/pins
寄存引脚:142
(笑声)
引脚50 (44e108c8.0) 00000037 pinctrl-single
引脚51 (44e108cc.0) 00000037 pinctrl-single

4.1/10中有什么问题吗?

谢谢你。

此致、
Nikos

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    软件团队已收到通知。 他们将在这里作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的立即反应。

    与此同时、我似乎已经解决了这个问题、并解决了一个解决方法:虽然我仍然无法通过 U-Boot 加载的器件树 blob 完全控制引脚设置、但我还是使用从以下位置下载的覆盖层来实现这一目的:

    https://github.com/nomel/beaglebone/tree/master/gpio-header/generated

    我必须使用 DTC 1.4.1版-g939ba00e 来创建一个覆盖层、该覆盖层可以成功加载到我的系统上。 之后、我通过执行以下操作来配置上拉:

    echo rxEnable_pullup >/sys/devices/platform/ocp/ocp:GPIO-P9.14_gpio50/state
    

    此致、

    Nikos

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    好的、也可以通过 U-Boot 覆盖层修复。 显然、我使用的偏移量是错误的、我使用的是0xc8、而我应该使用0x48。 映射更改有点令人困惑。 很抱歉打扰了你。

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

    此致、
    Yordan