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.

[参考译文] TDA4VM:无法生成 WKUP GPIO 节点

Guru**** 2393725 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1493427/tda4vm-unable-to-generate-wkup-gpio-node

器件型号:TDA4VM

工具与软件:

您好、

 调试存在问题。 根据下图、a2b 的中断引脚连接至 wkup 域中的 WKUP_GPIO0.29、但 a2b(ad2428)的协议栈集成在 A72内核中。 我应该如何监测 A72内核中的该中断引脚? 目前、我修改了 DTS 文件并添加了:

wkup_gpio_pins_default:wkup-gpio-default-pins{
PINCTL-SINGLE、引脚= ;
};
&wkup_GPIO0{
状态="正常";
pinctrl-names ="默认值";
pinctrl-0 =<&wkup_GPIO_PINS_DEFAULT>;
};
但是、验证期间没有 wkup_GPIO0节点、因此执行了
FD = open ("Open"/sys/class/gpio/gpio225/value、O_RDONLY | O_NONBLOCK);
是否存在错误、如何修改它以解决此问题?
此致、
Yang
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Yang、

    Linux 中有一个检查 GPIO 中断的常见问题解答: https://e2e.ti.com/support/processors/f/791/t/1058595

    通常、GPIO 的请求驱动程序必须注册中断处理程序。

    上面的常见问题解答展示了一种测试 GPIO 中断的方法。

    -基尔西

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

    您好!

    非常感谢您的回复、我根据您的建议修改了代码、但根据日志、未调用新添加的函数代码。 是否需要打开某个开关? 我仍然有一个问题、在调用 GPIO_Get-Value (432)函数中的参数432是如何确定的? 如果我使用引脚"(F22) MCU-OSPI1_CLK-WKUP_GPO0.29"、如何计算此函数的参数。 以下是修改后的代码和日志。
    此致、
    Yang
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

     目前、/sys/class/Gpio/下未生成 WKUP 域节点。

    此致、

    Yang

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

    Yang、

    Linux 内核弃用了 SYSFS_GPIO。 如果您希望在内核中启用 GPIO SYSFS 几个配置:
    CONFIG_EXPERT 和 CONFIG_SYSFS_GPIO。 在启用上述配置的情况下、您应该能够看到 WKUP_GPIO 的 GPIO sysfs。

    -基尔西

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

    您好、

     我已经添加了这两个宏定义、否则/sys/class/Gpio 节点将不可见。
    此致、
    Yang
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Yang、

    我懂了。 您可以在此处附加您的 DTB 吗? 但是、wkup_GPIO 节点是否被禁用了?

    此致、

    基尔西  

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

    你好、 

    我发现日志中有错误:

    [ 1.399907]###### GPIO 设备的名称是4211000.GPIO
    [ 1.400986] mmc0:使用64位 ADMA 的4f80000.mmc [4f80000.mc]上的 SDHCI 控制器
    [ 1.404961] Davinci_GPIO 4211000.gpio:错误-ENXIO:未找到 IRQ 索引0
    [ 1.412258] mmc1:在4fb0000.mmc [4fb0000.mmc]上使用 ADMA 64位的 SDHCI 控制器
    [ 1.419519]#### GPIO 开发的名称是6000.GPIO
    [ 1.434491]#### GPIO 设备的名称是601000.GPIO

    e2e.ti.com/.../3252.k3_2D00_j721e_2D00_common_2D00_proc_2D00_board.zip

    BR

    许可

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

    让我们继续讨论: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1495987/tda4vm-a72-use-wkup_gpio-interrupt-problem

    我将关闭此文件。

    -基尔西