GPIO Startup Characteristics
I'm using an Up Board Rev A 1.1 with a custom HAT PCB that has two AVRs onboard with the micros having control of powering up the UP Board. The UP 40-pin header is connected to each AVR over UART (TX and RX) with a GPIO for each to apply a reset (instead of UART_DTR), in order to be able to update firmware to both micros. However, the current revision doesn't account for the UP Board GPIO startup state and so when the UP boots, it pulls the reset line on both micros low and causes a reset that results in power never being supplied to the UP board for more than a few seconds.
A few solutions have been thrown around, but they all have some issues since the UP Board GPIOs seem to have varied startup characters from pin to pin. I've seen some stay low at boot-up, some start with a ~15s high pulse, and some with a ~45s high pulse. Is there any concrete documentation on the startup characteristics of the entire set of GPIO? The Pinout wiki page has some data, but nothing more in depth than mentioning the startup high pulse for an old revision of the UP Board.
Comments
-
@kelliott
What is your GPIO default setting in BIOS? if the default value is output Low, the GPIO of the output pulse signal due to chipset initialization, it's normally occurred by automatic triggering this pulse is occurred in chipset. Therefore, this is a normal behavior for CherryTrail chipset, so all for DIO pins.
I captured all these 28 DIO pins using a logic analyzer (LA) during a transition from G3(S5) to S0, Restart, and recorded the Pulse Width (time) in the attached excel file for your reference. Which is summarized as follows:
1. According to the report, there are 4 DIO with more than 1s pulse signal (as below), and the other DIO pins that are better with the speed as microseconds per pulse >>GPI01/Pin3, GPIO2/Pin5, GPIO10/Pin27, GPIO24/Pin28
2. The minimum pulse width is 7us at GPIO4/Pin11 for returning from S5 to S0, and no any pulse output when restarting the system