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.

[参考译文] AM3358:Linux v6.6下的 GPIO 映射

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1444095/am3358-gpio-mapping-under-linux-v6-6

器件型号:AM3358

工具与软件:

你好

我正在将基于 AM3358的电路板从 ti-linux 5.4内核升级到 ti-linux 6.6内核、并且存在一些与 GPIO 引脚映射相关的问题。 我知道已经对6.6内核进行了更改、不再使用 sysfs 接口、因此我将尝试改用 libgpiod。

在 ti-linux 5.4系列内核下、GPIO "chips"以升序排列/枚举、即44e07,000,4804804c000,481ac000和481ae000、这将导致处理器和设备树(DT)芯片编号与 Linux 下的"gpiochipN"器件相匹配。 例如、CPU 引脚 GPIO1_22会映射到/dev/gpiochip1引脚22、CPU 引脚 GPIO3_15会映射到/dev/gpiochip3引脚15等 使用 ti-Linux 6.6系列内核时、以不同的顺序(4804c000,481481ac000,481ae000和44e07000)探测/枚举 GPIO 器件、从而导致 Linux 下的处理器/DT 编号与编号不匹配、因此 CPU 引脚 GPIO1_22现在映射到/dev/gpiochip0引脚22等 我确实为我想要使用的 GPIO 引脚分配了信号名称、但是、libgpiod v2.x 库中似乎没有方法来确定信号所属的芯片、我不确定是否可以安全地假设新顺序已固定。

如对下列问题有任何意见、将不胜感激:

1) 1)是否有办法使 GPIO 器件按与它们在5.4系列内核下相同的顺序枚举? 处理器引脚(加上器件树名称)和 Linux 芯片器件之间的不匹配可能会导致严重的混淆、 尤其是当器件可以随机顺序枚举时。

2)假设6.6系列内核下 GPIO 器件的枚举可能是随机的、除了检查每个芯片器件的信号名称之外、是否可以确定信号属于哪个芯片?

谢谢

标记

x 出现错误。请重试或与管理员联系。