GPIO 配置

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

GPIO 配置

2,156 Views
1565481987
Contributor I

您好,我自己设计的板子里面是用了一个GPIO控制电源的关闭,现在Uboot中我通过GPIO配置,避免了GPIO状态不确定而关闭电源;但现在在开始引导内核时,引导过程中会电源关闭;将GPIO输出割断后,问题不在出现。请问我如何在内核程序引导过程中避免GPIO状态不确定而输出将电源关闭。谢谢!

Labels (1)
0 Kudos
4 Replies

2,010 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Hi Jerry,

   有2个办法:

1. 使用初始状态(一上电)处于拉低状态的引脚做这个GPIO,比如EIM_D31, 你查看一下datasheet,它应该是PD的。即Pull Down.

2. 使用10K或者4.7K,拉低你电源的Enable脚,使它的初始状态为LOW电平。

这样的话,你随便使用CPU的哪个GPIO,都可以控制。

另外,你只要在内核中开这个电源就可以了,不要在u-boot中开或者关它。

试试看!

Weidong

0 Kudos

2,010 Views
1565481987
Contributor I

Weidong 您好:

我可能问题没有说清楚,我的电路如下:

pastedImage_1.png

其中12V_IN是板子的总电源,现在使用DISP0_DAT11 端,设置为GPIO,接控制/CTRL_POW端,输入低可以关闭电源,在uboot中可以通过编程将其置高,但在内核引导过程中,感觉此管脚设置被重置,且输出为0,从而将电源关闭。如何在内核引导程序中避免此管脚被重置,将其设置为GPIO模式,并置输出为1,

0 Kudos

2,010 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Hi jerry,

   这个DISP0_DAT11脚,在刚刚out of reset的时候,是100K 拉高的,也就是说,即使你不配置它,它也不会被拉低的。见datasheet:

pastedImage_1.png

所以,你U-BOOT中不必拉高这个脚。

linux中:

 在dts中配置它的时候,复用宏后面的16进制数,是这个寄存器:IOMUXC_SW_PAD_CTL_PAD_DISP0_DATA11

pastedImage_2.png

pastedImage_4.png

你把keep功能打开试试,bit[13]=0, bit[12]=1。

另外,看到你电路中有上拉,那么,你也可以配置这个脚为OD门,bit[11]=1 .

试试看吧。

Weidong

0 Kudos

2,010 Views
1565481987
Contributor I

Wigros Sun您好:

非常感谢,我试试!

0 Kudos