hi 各位 我在用imx6ul,我想使用SNVS_TAMPER2 SNVS_TAMPER6 作为gpio ,我看了我的板子已经设置所有的TAMPER 为gpio模式了 uboot中: fuse read 0 3 Reading bank 0: Word 0x00000003: 703100eb 第20 21位为 11 。 我从dts中配置 MX6UL_PAD_SNVS_TAMPER6__GPIO5_IO06 0x30b0 MX6UL_PAD_SNVS_TAMPER2__GPIO5_IO02 0x30b0 出现问题,1. GPIO5_IO06 下拉不成功。但是我使用/sys/class/gpio 接口时,是正常的。难道不是这么配置吗? 2. GPIO5_IO02 使用/sys/class/gpio 接口 不正常,不能导出节点,我用debugfs看了一下,GPIO5_IO02已经被使用: GPIOs 128-159, platform/20ac000.gpio, 20ac000.gpio: gpio-130 (? ) out lo gpio-135 (spi32766.0 ) out lo gpio-136 (? ) out lo gpio-138 (spi4 ) out lo gpio-139 (spi4 ) out lo
其中gpio-130 就是GPIO5-IO02 ,但是我看了一下我的dts 和 dtsi ,从始至终我也没看到哪儿地方用了GPIO5-IO02 , 请教,这两个问题该怎样解决?附件是我使用的device tree. |
Original Attachment has been moved to: imx6ul.dtsi.zip
Original Attachment has been moved to: imx6ul-14x14-evk.dts.zip
Solved! Go to Solution.
Hi,
这两个引脚在开发板上均做为GPIO来工作的,那么在它的BSP中,都会配置为GPIO来使用。你在dts中的配置,仅仅是把它们复用为GPIO,并没有配置它们,是输入还是输出,输出HIGH还是LOW电平。所以,其中GPIO5_IO06没有输出你期待的LOW电平。
关于GPIO5_IO02占用的问题,这个应该你没有注释掉开发板上的配置或者把它修改为你自己板子上的GPIO工作方式。所以,你还是要找一下关联的 dts, dtsi文件,找到这个引脚。
另外,移植我们的BSP到你自己的板子上,最好不要在开发板的BSP上修改,要在cpu公共的dtsi基础上,给你自己板子一个单独的dts文件,这有利于你对产品的管理,也能保证开发板配置保持原样,便于以后的产品参考。
TIC team
Weidong
Hi,
这两个引脚在开发板上均做为GPIO来工作的,那么在它的BSP中,都会配置为GPIO来使用。你在dts中的配置,仅仅是把它们复用为GPIO,并没有配置它们,是输入还是输出,输出HIGH还是LOW电平。所以,其中GPIO5_IO06没有输出你期待的LOW电平。
关于GPIO5_IO02占用的问题,这个应该你没有注释掉开发板上的配置或者把它修改为你自己板子上的GPIO工作方式。所以,你还是要找一下关联的 dts, dtsi文件,找到这个引脚。
另外,移植我们的BSP到你自己的板子上,最好不要在开发板的BSP上修改,要在cpu公共的dtsi基础上,给你自己板子一个单独的dts文件,这有利于你对产品的管理,也能保证开发板配置保持原样,便于以后的产品参考。
TIC team
Weidong
hi, Wigros Sun,
感谢你的回复,问题GPIO5_IO02占用的问题我已经找到了。但是我从dts中配置: MX6UL_PAD_SNVS_TAMPER6__GPIO5_IO06 0x30b0
其中 15-14位,我选了11 应该是下拉啊,不是默认输出低吗?
Hello,
上面的11,表示是22K上拉; 默认是00,表示100K下拉,但是你可以在datahseet的表中,可以看到reset后,它是个input,而不是output. 如果你想早一些让它输出LOW,你在U-BOOT中让它输出电平即可。
伟东
Hi 伟东,
如何在U-BOOT阶段控制GPIO,我们的板子修改了SNVS_TAMPER2为SNVS_TAMPER6来控制以太网电源,想在U-BOOT阶段更新固件,就需要可以控制GPIO,请问我们是否有对应指导或文档,谢谢。