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/AM5728:GPIO 配置问题

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/666637/linux-am5728-gpio-configuration-issue

器件型号:AM5728

工具/软件:Linux

大家好、

我正在试用最新的 SDK 版本 ti-processor-sdk-linux-am57xx-evm-04.02.00.09和我们的定制板。 我在 DTS 文件中配置了几个 GPIO、如下所示:

GPIO2_Pins:GPIO2_Pins{
pinctrl-single、pins =<
0x0DC (PIN_OUTPUT 下拉| MUX_MODE14)/* AG8 - GPIO2_30 */
0x0E0 (PIN_OUTPUT 下拉| MUX_MODE14)/* AH7 - GPIO2_31 */
>;
};

GPIO2{
pinctrl-0 =<&GPIO2_PINs>;
状态="正常";

};

我能够测试为 GPIO、但我在内核日志中看到了以下消息

[0.488326] OMAP_GPIO 48055000。GPIO:找不到节点/ocp/l4@4a000000 /SCM@2000/pinmux@1400/GPIO2_pins 的 pctldev、延迟探针

1.是否有人建议如何避免这种情况?

2.这是否会导致任何问题?

3.在 uboot 中,我们希望将少数 GPIO 配置为 GPIO 并处于高电平状态。 我可以在 mux_data.h 文件中添加吗? 在这里、我需要添加哪些内容? 他们是否对 GIPO 的添加有任何限制?

谢谢。

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

    我将查看您的问题、并在不久后再次与您联系。

    同时、请确保您已与以下 wiki 保持一致:

    processors.wiki.ti.com/.../Processor_SDK_Linux_GPIO_Driver_Overview

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

    [引用 USER="Chandrashekar P">GPIO2_PINS:GPIO2_PINS{
    pinctrl-single、pins =<
    0x0DC (PIN_OUTPUT 下拉| MUX_MODE14)/* AG8 - GPIO2_30 */
    0x0E0 (PIN_OUTPUT 下拉| MUX_MODE14)/* AH7 - GPIO2_31 */
    >;
    };[/报价]

    在 Linux 内核 dts 或 u-boot dts 中、您使该 GPIO pinmux? 请注意、只有 MMC 引脚多路复用在内核中完成、其余的(包括 GPIO)都在 u-boot SPL/MLO 中完成。 请查看以下 e2e 线程以了解更多信息:

    此致、
    帕维尔

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

    感谢 Pavel、

    如果我需要您再做一个澄清、

    1)。 如果我们更改 u-boot (arch/arm/dts/)中的"am57xx-beagle-x15.dts"文件并生成 u-boot 副本、则 MLO 和 u-boot.img 文件到 SD 卡的引导文件夹是否正常、或者我们是否需要将.dTB 文件到 SD 卡的某个位置?

    2)。 示例:我需要启用 LCD 作为显示单元而不是 HDMI、我们是否需要在 u-boot  "am57xx-beagle-x15.dts"文件中进行配置就足够了。  无需在内核 DTS 中执行任何操作? 由于我们所做的配置仅在 uboot 阶段、如果我们不是 enabl ein 内核、将会发生什么。 我们需要 DTB、同时还需要启动内核 RT?

    3)。 我们是否需要在 u-boot 和内核 DTB 两端进行配置?

    谢谢。

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

    [引用 user="Chandrashekar P]1)。 如果我们更改 u-boot (arch/arm/dts/)中的"am57xx-beagle-x15.dts"文件并生成 u-boot 副本、则 MLO 和 u-boot.img 文件到 SD 卡的引导文件夹是否正常、或者我们是否需要将.dTB 文件到 SD 卡的某个位置?

    是的、MLO 和 u-boot.img 文件足够好。 u-boot DTS 文件嵌入到 MLO/u-boot 映像中、没有单独的 u-boot dtb 文件。 我们只有一个用于 Linux 内核的 DTB 文件(Linux-kernel/arch/arm/boot/dts/)

    [引用 user="Chandrashekar P"]2)。 示例:我需要启用 LCD 作为显示单元而不是 HDMI、我们是否需要在 u-boot  "am57xx-beagle-x15.dts"文件中进行配置就足够了。  无需在内核 DTS 中执行任何操作? 由于我们所做的配置仅在 uboot 阶段、如果我们不是 enabl ein 内核、将会发生什么。 我们还需要 DTB、同时引导内核 RT?

    关于 LCD 引脚复用配置、u-boot 文件就足够了。

    [引用 user="Chandrashekar P"]3)。 我们是否需要在 u-boot 和内核 dtb 两端进行配置?[/quot]

    关于引脚多路复用配置、仅 u-boot 就足够了。

    此致、
    帕维尔

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

    我们如何在 u-boot 级别检查 DTS 引脚多路复用配置。 就像在内核中、我们可以"执行 cat /sys/kernel/debug/pinctrl/4a003400.pinmux/pinmux-pins 命令"。

    关于显示、我在内核 DTS 文件中完成了相同的操作、但没有背光? 如何验证 u-boot 中的显示集成。 请建议如何在 u-boot 中调试显示集成。

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

    Chandrashekar、

    [引用 user="Chandrashekar P">我们如何在 u-boot 级别检查 DTS pinmux 配置。 就像在内核中、我们可以" cat /sys/kernel/debug/pinctrl/4a003400.pinmux/pinmux-pins "。

    您可以使用 u-boot MD (存储器显示)命令直接读取控制模块 CTRL_CORE_PAD_x 寄存器。

    [引用 user="Chandrashekar P">关于显示、我在内核 DTS 文件中所做的相同、但没有背光? 如何验证 u-boot 中的显示集成。 请建议如何在 u-boot 中调试显示集成。

    检查和比较(u-boot 和内核之间)所有与显示相关的控制模块寄存器、PRCM 寄存器和显示子系统寄存器。

    此致、
    帕维尔