Showing results for 
Search instead for 
Did you mean: 

Wi-Fi Combo

Contributor II

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.

3 Replies
Contributor II

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.

Contributor II

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?



We are not observing any glitch in the GIO when it comes out of hibernation.