4 Replies Latest reply on Oct 25, 2017 3:07 AM by igor_2267026

    How to use GPIOs on CYW4343W as outputs?

    igor_2267026

      Datasheet of CYW4343W states that GPIO can be controlled via 'GPIO control register' (section 11.3 GPIO Interface). Is there some documentation for this?

        • 1. Re: How to use GPIOs on CYW4343W as outputs?
          Winston Fernandes

          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.

          • 2. Re: How to use GPIOs on CYW4343W as outputs?
            igor_2267026

            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

            • 3. Re: How to use GPIOs on CYW4343W as outputs?
              vnak

              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?

              2 of 2 people found this helpful
              • 4. Re: How to use GPIOs on CYW4343W as outputs?
                igor_2267026

                Hi vnak, the wwd_bus_write_register_value() function looks like solution I was looking for. Thanks!