您好,我自己设计的板子里面是用了一个GPIO控制电源的关闭,现在Uboot中我通过GPIO配置,避免了GPIO状态不确定而关闭电源;但现在在开始引导内核时,引导过程中会电源关闭;将GPIO输出割断后,问题不在出现。请问我如何在内核程序引导过程中避免GPIO状态不确定而输出将电源关闭。谢谢!
Hi Jerry,
有2个办法:
1. 使用初始状态(一上电)处于拉低状态的引脚做这个GPIO,比如EIM_D31, 你查看一下datasheet,它应该是PD的。即Pull Down.
2. 使用10K或者4.7K,拉低你电源的Enable脚,使它的初始状态为LOW电平。
这样的话,你随便使用CPU的哪个GPIO,都可以控制。
另外,你只要在内核中开这个电源就可以了,不要在u-boot中开或者关它。
试试看!
Weidong
Weidong 您好:
我可能问题没有说清楚,我的电路如下:
其中12V_IN是板子的总电源,现在使用DISP0_DAT11 端,设置为GPIO,接控制/CTRL_POW端,输入低可以关闭电源,在uboot中可以通过编程将其置高,但在内核引导过程中,感觉此管脚设置被重置,且输出为0,从而将电源关闭。如何在内核引导程序中避免此管脚被重置,将其设置为GPIO模式,并置输出为1,
Hi jerry,
这个DISP0_DAT11脚,在刚刚out of reset的时候,是100K 拉高的,也就是说,即使你不配置它,它也不会被拉低的。见datasheet:
所以,你U-BOOT中不必拉高这个脚。
linux中:
在dts中配置它的时候,复用宏后面的16进制数,是这个寄存器:IOMUXC_SW_PAD_CTL_PAD_DISP0_DATA11
你把keep功能打开试试,bit[13]=0, bit[12]=1。
另外,看到你电路中有上拉,那么,你也可以配置这个脚为OD门,bit[11]=1 .
试试看吧。
Weidong
Wigros Sun您好:
非常感谢,我试试!