gpio 输出模式不生效

Posted mojl-cnblogs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了gpio 输出模式不生效相关的知识,希望对你有一定的参考价值。

在高通平台遇到的一个问题:

一个gpio 63, 在 dts 中配置了,在驱动中能读到这个 gpio , 然后 gpio_request, gpio_direction_output, 都检查返回值,没有报错,但是 通过

gpio_get_value 得到的值就是不生效。

首先 检查函数的返回值, 比如 gpio_request,可能这是只能表示 这个 gpio 被其他模块占用,功能还是gpio, 设置output 应该可以生效。

在 dts 中搜索 tlmm 63, 确实也没有其他模块占用。

然后,应该是 pinmux 配置不对, 找到 msm8998-pinctrl.dtsi,搜索 gpio63, 配置不正确,修改为 gpio 配置后 ok。

 

结论: 设置gpio 需要先配置 pinmux, 再 检查 有没有被其它模块占用, 然后在 代码中 添加 该 gpio 的操作函数。另外,不同的平台设置

有可能不一样,我看 rk 平台的文档,里面说明 通过 gpio_request 这个函数设置首先会把 pinmux 配置为gpio,当时在 rk 平台用过

几个 gpio ,确实没有注意pinmux 的配置,就生效了,需要看 gpio_request 的函数的实现。

以上是关于gpio 输出模式不生效的主要内容,如果未能解决你的问题,请参考以下文章

idea web项目debug模式实时更新按钮不生效原因

Mac 系统上的环境变量不生效

集群redis哨兵模式连接方式,解决database不生效问题(附源码)

VS 注释快捷键不生效问题处理

IDEA中Tomcat热部署不生效问题解决办法

python logging 使用记录:设置INFO级别不生效,格式化,输出到文件