瑞芯微Rockchip开发者社区
直播中

李军

7年用户 1219经验值
私信 关注
[问答]

6ULL-S核心板的GPIO该怎样去使用呢

我现在正在做的一个板子用的是6ULL-S作为核心板,用到了4个GPIO,分别是
GPIO5.IO[0] 对应的编号是128
GPIO5.IO[6] 对应的编号是134
GPIO3.IO[27] 对应的编号是91GPIO3.IO[28] 对应的编号是92

首先,/sys/class/gpio目录下的情况如下
微信截图_20210217233633.png (6.48 KB, 下载次数: 21)
下载附件

其实我这个板子用不到lcd,目前烧录的系统用的dts是imx6ull-S-emmc-1024x600c7.dts这个
然后我按照教程去修改了一些dts,但是按照那个gpio测试shell去测试,一直提示失败
sh脚本如下
#!/bin/bash
echo Exporting pin $1.
echo $1> /sys/class/gpio/export
echo Setting pin out
cat /sys/class/gpio/gpio$1/value
echo out > /sys/class/gpio/gpio$1/value
echo Setting pin high.
echo 1 > /sys/class/gpio/gpio$1/value
echo $1> /sys/class/gpio/unexport

然后我执行./open.sh 91
(10.55 KB, 下载次数: 20)
下载附件

执行./open.sh 128

(19.9 KB, 下载次数: 18)
下载附件

原因不明,到底是我配置没生效还是什么别的原因

dts修改的部分如下
imx6ull-S-emmc-1024x600c7.dts

(51.08 KB, 下载次数: 29)
下载附件

imx6ull-14x14-evk.dts

(39.48 KB, 下载次数: 18)
下载附件


(28.56 KB, 下载次数: 26)
下载附件

目前看修改逻辑应该没问题啊
启用了对应的gpio的define
然后禁用了会复用到的组件

我有make dtbs然后copy到板子上然后执行sync
想知道应该如何修改才能成功



回帖(3)

李艳玮

2022-1-7 11:27:15
您的引脚复用有问题,您需要修改imx6ull-14x14-evk.dts,将引脚的其他复用去掉,并将这些引脚在iomux处复用成gpio,有几个需要在IOMUXC_SNVS里复用成gpio,可以查看CPU手册确认是哪些引脚,另外您控制GPIO时需要设置方向
举报

崔家骁

2022-1-7 11:27:21
你好,看了下你的回复,逻辑是ok的,但是我的贴子里有详细截图
我是把那些影响的都disabled了,我这个操作本身也是根据你这边给的应用笔记的逻辑来的
举报

李天氍

2022-1-7 11:27:34
您改的有问题,我提供的方法是举的例子,您改的时候要根据实际的引脚改,保证一个引脚只在一个地方复用,GPIO5.IO[0]和GPIO5.IO[6] 是IOMUXC_SNVS寄存器里的,需要在设备树里添加&iomuxc_snvs,在这里边复用gpio,我提供的应用笔记里有测试方法,您写的shell有问题,用我提供的文档里的方法吧
举报

更多回帖

发帖
×
20
完善资料,
赚取积分