首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法导出特定的gpio引脚。如何检查什么使用GPIO引脚和如何访问寄存器?

无法导出特定的gpio引脚。如何检查什么使用GPIO引脚和如何访问寄存器?
EN

Unix & Linux用户
提问于 2017-09-08 02:23:13
回答 1查看 3.1K关注 0票数 1

我使用i.mx6板(yocto(jethro))并配置设备树。我更改了一个dts文件,并将dtb文件放在一个引导分区中。我在dts文件中设置了GPIO4_IO19,如下所示。

代码语言:javascript
复制
&iomuxc {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_hog_1>;
imx6ul-evk {
pinctrl_hog_1: hoggrp-1 {
fsl,pins = <
...
MX6UL_PAD_CSI_VSYNC__GPIO4_IO19 0x0000B0B0
...
>;
};
...

起初,MX6UL_PAD_CSI_VSYNC__GPIO4_IO19是在其他组(usdhcgrp)中定义的,但我将它们注释掉。

启动后,我检查是否成功地确定了我设置的gpio。结果是

代码语言:javascript
复制
echo 115 > /sys/class/gpio/export
-sh: echo: write error: Device or resource busy

所以我查了这个。

代码语言:javascript
复制
cat /sys/kernel/debug/gpio

    GPIOs 0-31, platform/209c000.gpio, 209c000.gpio:
    gpio-10 (phy-reset ) out lo
    GPIOs 32-63, platform/20a0000.gpio, 20a0000.gpio:
    GPIOs 64-95, platform/20a4000.gpio, 20a4000.gpio:
    gpio-68 (ft5x06_irq_gpio ) in hi
    GPIOs 96-127, platform/20a8000.gpio, 20a8000.gpio:
    gpio-109 (? ) out lo
    gpio-115 (cd ) in lo
    gpio-116 (? ) out lo
    gpio-117 (? ) out lo
    gpio-118 (sysfs ) in hi
    GPIOs 128-159, platform/20ac000.gpio, 20ac000.gpio:
    gpio-128 (phy-reset ) out lo

光盘使用gpio-115。也许这意味着卡检测。我想用它作为sysfs来读取状态。还有别的方法看吗?此外,gpio-10,68,109,116,117也被其他设备使用.我如何通过sysfs使用它们?

我认为我需要做的是检查寄存器是否正确设置值。如果寄存器值与我设置的值不相同,我猜其他进程设置了引脚control.However,我不知道访问寄存器的方式。

我对gpio115的了解如下

代码语言:javascript
复制
 mux_reg address: 0x01DC and the value.
 conf_reg address: 0x0468 and the value.
 input_reg address: 0x0000 and the value.

和其他的全球投资组织一样。

如何访问0x01DC,然后在linux(yocto)中获取值?

谢谢合作。

EN

回答 1

Unix & Linux用户

发布于 2019-04-02 11:08:12

如果您只想知道引脚的状态,那么它已经在/sys/内核/调试/gpio中呈现给您了。

代码语言:javascript
复制
gpio-115 (cd ) in lo

它被配置为一个输入,并且当前值很低,如果您在插槽中插入/移除卡,这将改变!

如果您确实希望或需要直接访问寄存器值,请尝试检查实用程序devregs!

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/391074

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档