米尔淘宝店| 米尔电子| 米尔微博| English

如何修改内核调整GPIO在内核启动阶段的状态?

文章来源:米尔科技 发布日期:2019.9.4 浏览次数:204 次

    米尔用户在使用i.MX6UL/i.MX6ULL系列产品开发时,需要调整GPIO在内核启动阶段的状态,这怎么操作呢?在这里将用户问题做一个详细的整理,如果遇到相似问题可以参考:
    现象:改了dts文件,在 &iomuxc 和 &iomuxc_snvs 的 pinctrl_hog_x 中加入了一些自定义的GPIO,操 作系统启动后,使用 echo x > /sys/class/gpio/export 指令导出后,可以用程序正常控制,都没有问题 。但是这些引脚在内核启动阶段都输出了高电平,导致我们电路板上的蜂鸣器和LED在内核启动阶段,始终 是打开状态,蜂鸣器会一直响。在UBOOT阶段蜂鸣器是不响的,只有内核加载完毕打印 Starting kernel  ... 这句开始,就会一直响,直到操作系统启动后,把蜂鸣器关掉。 我好像是内核加载了 dts 中 iomux  相关配置后,对IO口做了初始化之类的动作导致的,但是我找不到这些代码位置。 
    问题:出现以上问题,修改内核哪里可以调整GPIO在内核启动阶段的状态?
    米尔技术支持:在配置dts时需要配置GPIO pad_ctrl的值, 参考CPU 手册《IMX6ULLRM》把PUS设置为00下拉。 参考下面的例子:



本文来自米尔科技,原文地址: http://www.rrxidq.cn/resource/528.asp,转载请注明出处。

比较和选型

手册教程

应用笔记

好书推荐

技术支持服务指南

常见问题解答

棋牌游戏下载送十元