We need a single, specific hardware question addressed very quickly from an AM335x expert at TI.
The question is:
QUESTION: Is there a hardware means of setting the initial IO state of a particular pin upon power up?
On the Wi-Fi module that we are developing, we connected an I/O from the AM335x to
the RESETn of another chip (USB Hub device.) We were expecting the IO from the A8 to
come up as an input, but it appears to come up as an output in a low state. This holds the
USB chip in reset.
We are using the AM3352BZCE30.
The output is pin U14 / GPIO1.6 / GPMC_AD6
The output is low upon power up – prior to booting MLO.
We can change it in the LMO, but that is too late.
The AM335 TRM states:
25.3.4.3 Data Input (Capture)/Output (Drive)
The output enable register (GPIO_OE) controls the output/input capability for each pin. At reset, all the
GPIO-related pins are configured as input and output capabilities are disabled.
I know there are pin muxing registers and a configuration utility for setting default states – but that is in software,
after the boot process has begun. I am talking about the initial power up state.
QUESTION: Is there a hardware means of setting the initial IO state of a particular pin immediately upon power up?
If so, how do I make this IO pin an input on power up?
If not, why is this pin not set to an input upon power up?
I have found the following in a wiki document:
Pin Muxing
Although pin muxing is frequently software configurable, often the initial configuration is dependent on several configuration pins
(e.g. are they high or low when reset is released).
This makes me think there may be a hardware configuration that is setting this IO Output/Low.