我们正在使用基于Sitara AM4378的自定义主板,使用Timesys factory2021 (带内核4.14)和Timesys factory2022 (带内核5.4 和TI-SDK补丁)。
尝试切换某些GPIOs (例如 144和148),我们可以在factory2021 (内核4.14)上执行此操作,但我们无法在factory2022 (内核5.4)中导出GPIO。 从下面的日志中可以看出,内核5.4 中缺少文件夹'gpiochip128'。 内核5.4 中的'ngpio'值为32,这可能意味着缺少的GPIO 144 anf 148在gpiochip128的范围内(128+32=160)。
以下是来自内核5.4 的日志:
# uname -a Linux AM437X_EVM 5.4 GNU/106-ts-armv 7 l #1 preempt Mon Apr 419:51:10 IST 2022 armv 7 l GNU/Linux
# ls
出口gpiochip32 gpiochip64不出口gpiochip0 gpiochip510 gpiochip96
# echo 144> export
[ GPIO ] EXPORT_STORE:112.61.5118万 144 sh无效:写入错误:参数无效
# echo 148> export
[ GPIO ] export_store:无效142.84.2765万 148 sh:写入错误:无效参数
# cat gpiochip64/ngpio
32岁
# cat gpiochip32/ngpio
32岁
# cat gpiochip0/ngpio
32岁
# cat gpiochip96/ngpio
32岁
# cat gpiochip510/ngpio
二
----------------------------------
内核4.14 中未出现上述错误,如以下日志所示:
# uname -a
linux gc_hub_controller 4.14 .79-ts-armv 7 l #2 preempt Sat 4月2日16:44:18 IST 2022 armv 7 l GNU/Linux
#
# pwd.
/sys/class/GPIO
# ls
出口gpiochip0 gpiochip128 gpiochip32 gpiochip64 gpiochip96不出口
# echo 144> export
# ls
出口gpiochip0 gpiochip32 gpiochip96
gpio144 gpiochip128 gpiochip64 unexport
#
# echo 148> export
# ls
出口gpio148 gpiochip128 gpiochip64 unexport
gpio144 gpiochip0 gpiochip32 gpiochip96
#
#
# cd gpiochip64
# cat ngpio
32岁
# cd ..
# cat gpiochip96/ngpio
32岁
# cat gpiochip128/ngpio
32岁