- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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 ??? !!!
- Labels:
-
ADC
-
GPIO
-
Sleep Modes
- Tags:
- gpio p33
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dear btta,
thank You for the quick response.
We checked hint
> GPIO state in deep sleep <https://community.cypress.com/thread/3995>
It really works fine with GPIOs defined as output.
But we have the opposite problem:
We define P33 as unused 0x600 or input 0x000 and
get it back as output 0x4600 after wakeup.
So something is changing our GPIO definition during entering deep sleep
or during wakeup !!
It would be very helpful to find a workaround as software,
because we want to avoid a change of our PCB
Thanks again
tbt
---
btta schrieb:
Cypress Semiconductor logo <http://www.cypress.com>
Cypress WICED Community
<https://community.cypress.com/?et=watches.email.thread>
strange behavior of GPIO P33:
reply from btta
<https://community.cypress.com/people/btta?et=watches.email.thread> in
Bluetooth Forums - View the full discussion
<https://community.cypress.com/message/31446?et=watches.email.thread#31446>
>
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
It is not obvious what could be the issue. Besides ADC, did you configure P33 as something else, like puart? From your log, 0x4600 did implied output enabled with input disabled, just like puart Tx.
dava
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dear btta,
> It is not obvious what could be the issue. Besides ADC, did you
> configure P33 as something else, like puart? From your log, 0x4600 did
> implied output enabled with input disabled, just like puart Tx.
we do not configure P33 as something else. After PwrOn or reset
everything is fine, we read 0x600 as configuration.
Even immediatly before entering deep sleep / LPM it is 0x600.
After wakeup we read 0x4600 !
So, who is changing the configuration and how can we avoid this.
This is our main issue and our only problem!
Thanks
tbt