- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
As far as I can tell from the CYW43907 datasheet/ref manual, the default GPIO settings should be an input.
GPIOOutEn Release 9c5be10 0x18000068
Bits Name Function R/W Reset
31:0 GPIOOutEn
The 4-byte General Purpose I/O Output Enable register is writable, has a reset value of zero,
and determines which GPIO pins are used as inputs and which are used as outputs. When a bit
in this register is set, the corresponding GPIO pin is driven as an output.
RW 0
Reset: 0x00000000
When I exit the device from Hibernation mode, one of the GPIO pins switches to an output low for a short duration, ~1mS, I happen to have this GPIO connected to the reset pin of a secondary MCU and this is causing it to reset when it cannot reset (At this point the secondary MCU is waking the CYW43907 by HIB_WAKE to send serial data).
I tried leaving the pin config alone, making it an high impedance input on startup, and making it an input with a pullup on startup, but nothing has changed the behavior. These gpio configurations are being called as part of the platform_init_external_devices call.
platform_gpio_init( &platform_gpio_pins[ST_RST_PIN], INPUT_HIGH_IMPEDANCE ); // has internal pullup
Is there something prior to platform_init_external_devices that is configuring the pin? The pin is not redefined in my platform code.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The gpio line is pulled low right after the assertion of HIB_WAKE which is prior to my initialization of the pin. Additionally, I do not the see pin changing during a power reset, only hibernation wake up.
The pin in question is GPIO_12 so it is not one of the pins with the pinstapping configuration options on power up.
Forgot to mention that this is a Murata 1GC module.
This happens if the Wi-Fi module wakes from hibernation on a time interval too.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
GPIO_16 does not exhibit this behavior. Seems to be a HW glitch?
Solution was to isolate the reset line with external circuitry, but requires board rework and is not the desired solution.
Is there any errata or documentation for issues like this?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
We are not observing any glitch in the GIO when it comes out of hibernation.