- 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.
- Labels:
-
ispn:36623:1:0
-
l1:3966:1:0
-
l2:6066:1:0