码迷,mamicode.com
首页 > 其他好文 > 详细

gpio 输出模式不生效

时间:2020-06-03 12:02:22      阅读:72      评论:0      收藏:0      [点我收藏+]

标签:输出   o_direct   问题   占用   不同   value   检查   bsp   文档   

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

一个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 输出模式不生效

标签:输出   o_direct   问题   占用   不同   value   检查   bsp   文档   

原文地址:https://www.cnblogs.com/mojl-cnblogs/p/13036567.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!