米尔用户在使用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下拉。 参考下面的例子:


-
嵌入式主板
+关注
关注
7文章
6107浏览量
36953 -
米尔科技
+关注
关注
5文章
227浏览量
22167
发布评论请先 登录
如何使用dtb方式启动内核
基于ARM体系的内核启动解析
在内核启动时发现SPI驱动没有正确运行?
linux内核启动流程
Linux内核源码分析--内核启动命令行的传递过程
用户与内核空间数据交换的方式之一:内核启动参数
Linux内核启动流程(上)
如何在内核中启动secondary cpu

米尔科技改内核调整GPIO在内核启动阶段方案
评论