- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Datasheet of CYW4343W states that GPIO can be controlled via 'GPIO control register' (section 11.3 GPIO Interface). Is there some documentation for this?
Solved! Go to Solution.
- Labels:
-
GPIO
-
Wifi+Bluetooth
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Igor,
The snip function for gpio is for controlling the MCU GPIOs which is platform specific.
GPIO_0 is for host wake up which listens to Out-of-band interrupts. The OOB interrupt can be asserted with the platform GPIO_0 pin (as defined in the platform_config.h). Gpio1 is for antenna diversity and definition of it could be found in the NVRAM file(nvram parameter = swdiv_gpio). And the rest of the gpios are for coex. These are also set in the NVRAM and any changes in it needs to be followed up with a corresponding change in OTP memory.
You could find how GPIO control register is modified when a oob interrupt is asserted in wwd_bus_protocol.c . Here, backpane function wwd_bus_write_register_value() is used to write and modify the GPIO control register. The MCU use sdio interface to call these backpane functions and hence it is best to leave this function as it is.
Also there are no specific IOCTLs to send to WLAN chip inorder to control the GPIOs as well. Could you elaborate on the end objective for controlling the gpios of radio chip?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Igor,
Assuming that you are using the WICED SDK, there is a 'doc' folder which has an API guide.
The API's for setting up & controlling GPIO's are documented there. You could also refer to the gpio example in the apps>snip>gpio folder.
Regards
Winston.
Winston
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you for reply!
I checked example in my wiced stack (version 3.x). I think it is using platform gpio functions. So it is designed to control GPIO on MCU where Wiced Stack is running.
But I need to control GPIOs directly on CYW4343W so it does not solve my issue.
Am I right?
With many thanks Igor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Igor,
The snip function for gpio is for controlling the MCU GPIOs which is platform specific.
GPIO_0 is for host wake up which listens to Out-of-band interrupts. The OOB interrupt can be asserted with the platform GPIO_0 pin (as defined in the platform_config.h). Gpio1 is for antenna diversity and definition of it could be found in the NVRAM file(nvram parameter = swdiv_gpio). And the rest of the gpios are for coex. These are also set in the NVRAM and any changes in it needs to be followed up with a corresponding change in OTP memory.
You could find how GPIO control register is modified when a oob interrupt is asserted in wwd_bus_protocol.c . Here, backpane function wwd_bus_write_register_value() is used to write and modify the GPIO control register. The MCU use sdio interface to call these backpane functions and hence it is best to leave this function as it is.
Also there are no specific IOCTLs to send to WLAN chip inorder to control the GPIOs as well. Could you elaborate on the end objective for controlling the gpios of radio chip?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi vnak, the wwd_bus_write_register_value() function looks like solution I was looking for. Thanks!