3 Replies Latest reply on Sep 27, 2019 2:32 AM by GauravS_31

    WICKED STUDIO V 6.4.0:- How to set NVRAM && FW load path

    LeGu_3671501

          We are porting  Wiced wifi wwd 6.4 on intel  platform ,

      How can I  modify  the Load path of  the NVRAM && FW  .

        • 1. Re: WICKED STUDIO V 6.4.0:- How to set NVRAM && FW load path
          GauravS_31

          Generally for the intel PC platform, brcmfmac drivers are available depending on the specific chip en:users:drivers:brcm80211 [Linux Wireless] WWD from WICED is not easily portable. Is there a specific reason to use WWD for intel platform? Also which WLAN chip is being used here?

          • 2. Re: WICKED STUDIO V 6.4.0:- How to set NVRAM && FW load path
            LeGu_3671501

            cyw43438 is being used here,   The product  is on RTEMS OS , so  porting  the WWD from Wiced

            • 3. Re: WICKED STUDIO V 6.4.0:- How to set NVRAM && FW load path
              GauravS_31

              We would still recommend that FMAC driver be used for CYW43438 although this would require Linux OS. 43430 is the WLAN core for CYW43438. FMAC driver could be ported into the host processor running Linux kernel.

               

              To answer your question, wwd_bus_sdio_download_firmware( ) in wwd_bus_protocol.c is used for downloading WLAN firmware and nvram. The sequence of function calls to load firmware is shown below:

               

              wwd_bus_write_wifi_firmware_image( )

              download_resource( WWD_RESOURCE_WLAN_FIRMWARE, 0 )

              host_platform_resource_read_indirect()

              resource_read( &wifi_firmware_image, offset, buffer_size, size_out, buffer )

               

              In WWD.mk,

              WIFI_FIRMWARE_RESOURCE_VARIABLE_NAME = $(addprefix resources_,$(subst /,_DIR_,$(subst -,_,$(subst .,_,$(subst $(SOURCE_ROOT)resources/,,$(WIFI_FIRMWARE_BIN))))))

               

              GLOBAL_DEFINES += wifi_firmware_image=$(WIFI_FIRMWARE_RESOURCE_VARIABLE_NAME)

               

              The above operations would need to be considered to port into your host. Also you would need to consider whether the firmware is placed in internal or external memory.

               

              Similarly for nvram, wwd_bus_write_wifi_nvram_image( ) is used along with a similar sequence of function calls to load wifi_nvram_image[] from wifi_nvram_image.h in platforms.

              1 of 1 people found this helpful