This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Linux/AM3354: Retain GPIO state between U-Boot and Kernel

Part Number: AM3354
Other Parts Discussed in Thread: LP55231,

Tool/software: Linux

Hi everyonoe,

I'm working on a custom AM3354 based board, with a LP55231 LED driver and I want to turn on a LED in U-boot and let it on until the Kernel has finished booting and the product is ready to use.

I managed to turn on the LED in U-boot, but I noticed that the LED_EN GPIO goes to 0 for a short time during the handover between U-Boot and the Kernel, thus restting the LP55231 and turning off the LED.

Is there a way to prevent this?

In both U-Boot and Kernel dts file, the GPIO is configured as:

/* LED Driver Enable */
0x6c (MUX_MODE7 | PIN_OUTPUT_PULLUP) /* gpmc_a11.gpio1_27 */

And the pin has an external pull_down as well.

Should we remove the exrternal pull down? If we do that the pin will be floating so I'm not sure that it will stay high anyway.

Is there a way for the GPIO to keep the internal pull-up before the kernel loads the device tree?

Thanks,

Antoine