米尔用户在使用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下拉。 参考下面的例子:
全部0条评论
快来发表一下你的评论吧 !