查看: 208|回复: 0

[经验] IMX6UL查看GPIO是否被占用

[复制链接]

主题

好友

565

积分

举人

  • TA的每日心情
    开心
    8 小时前
  • 签到天数: 27 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    发表于 2019-3-14 17:22:30 |显示全部楼层
    主机平台: UBUNTU14.04
    硬件平台:IMX6-EK140P (其他平台也是)
    编译器:      gcc-linaro-ARM-linux-gnueabihf-4.9-2014.09_linux.tar.xz
    buildroot版本:buildroot-2017.02.5.tar.bz2
    内核版本     linux-4.1.15


    配置内核CONFIG_GPIO_SYSFS
    假如测试GPIO端口是129,如下:
    echo 129 > /sys/class/gpio/export
    -sh: echo: write error: Device or resource busy

    查看内核是否占用了某个管脚,需要配置
    Kernel hacking —>
    -*- Debug Filesystem


    下载重启后,可以看到/sys/kernel/debug/目录,
    使用以下命令看内核使用了哪些GPIO,如下:
    (如果没有/sys/kernel/debug/相关目录,需要mount -t debugfs debug /debugfs挂载
    root@myimx6ek140p:~# cat /sys/kernel/debug/gpio
    GPIOs 0-31, platform/209c000.gpio, 209c000.gpio:

    GPIOs 32-63, platform/20a0000.gpio, 20a0000.gpio:

    GPIOs 64-95, platform/20a4000.gpio, 20a4000.gpio:

    GPIOs 96-127, platform/20a8000.gpio, 20a8000.gpio:
    gpio-118 (spi_imx             ) out lo   
    gpio-122 (spi_imx             ) out lo   

    GPIOs 128-159, platform/20ac000.gpio, 20ac000.gpio:
    gpio-129 (?                   ) out lo   
    gpio-132 (?                   ) out lo   
    gpio-135 (headphone detect    ) in  lo   
    gpio-136 (?                   ) out lo   


    通过上面的信息,可以看到gpio-129已经被内核注册了,建议如果要使用gpio-129这个管脚,
    需要在内核源码或设备树屏蔽掉gpio-129的相关注册信息,这样就可以用echo 129 > /sys/class/gpio/export
    命令来测试了

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    关闭

    站长推荐上一条 /5 下一条

    手机版|爱板网

    GMT+8, 2019-3-25 19:12 , Processed in 0.087971 second(s), 13 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-5   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001056号

    Powered by Discuz!

    返回顶部