strange behavior of GPIO P33:

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

cross mob
Anonymous
Not applicable

We use the BCM20736S and we found some strange behavior of GPIO P33:

We want/must to use this GPIO P33 as an ADC input.

After power on or reset everything is OK, but after wakeup from LPM this GPIO is set to output !!!

(see following trace logs)

What is the reason for this ?

How could we avoid this? Is there a software workaround?

We don't want to change our hardware PCB design (if possible)!

Trace (C-code):

UINT16 cfg1 = gpio_getPinConfig( 0, 4);

UINT16 cfg1a = gpio_getPinConfig( 0, 8);

UINT16 cfg2 = gpio_getPinConfig( 2, 0);

UINT16 cfg2a = gpio_getPinConfig( 2, 1);

ble_trace2("cfg1:%02x  cfg1a:%02x", cfg1, cfg1a);

ble_trace2("cfg2:%02x  cfg2a:%02x", cfg2, cfg2a);

After PwrOn/Reset:

12:45:00 - CreateFnc

12:45:00 - cfg1:600  cfg1a:600

12:45:00 - cfg2:600  cfg2a:600

12:45:00 - SetLpm

12:45:00 - cfg1:0b  cfg1a:600

12:45:00 - cfg2:0b  cfg2a:600

12:45:00 - Entering Lpm.

After wakeup:

12:46:11 - CreateFnc

12:46:11 - cfg1:0b  cfg1a:600

12:46:11 - cfg2:0b  cfg2a:4600  // why is this GPIO P33 now set to output ??? !!!

0 Likes
4 Replies