CYW43907 gpio on exit from hibernation

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
NiMc_1688136
Level 5
Level 5
10 sign-ins 50 questions asked 10 solutions authored

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.

0 Likes
3 Replies
NiMc_1688136
Level 5
Level 5
10 sign-ins 50 questions asked 10 solutions authored

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.

0 Likes

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?

0 Likes

Hello,

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

0 Likes