# # For a description of the syntax of this configuration file, # see the file kconfig-language.txt in the NuttX tools repository. # if DRIVERS_IEEE80211 config IEEE80211_BROADCOM_FULLMAC bool default n config IEEE80211_BROADCOM_HAVE_CLM bool default n config IEEE80211_BROADCOM_BCM43362 bool "Broadcom 43362 chip support" depends on IEEE80211_BROADCOM_FULLMAC default n config IEEE80211_BROADCOM_BCM43438 bool "Broadcom 43438 chip support" depends on IEEE80211_BROADCOM_FULLMAC default n select IEEE80211_BROADCOM_HAVE_CLM config IEEE80211_BROADCOM_FWFILES bool "Firmware files" default y depends on IEEE80211_BROADCOM_BCM43362 || IEEE80211_BROADCOM_BCM43438 ---help--- By default, firmware and CLM files are provided in memory. This selection enables an option to load the firmware and CLM files from a mounted file system. A snapshot of file for the BCM43362 are available in the tools repository: https://bitbucket.org/nuttx/tools/src/master/bcm43438/ The latest files from Cypress are available in the Linux kernel: https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/brcm The 43438 is a variant of the 43430 and will even identify itself as such. The calibration file used in the past is called: brcmfmac43430-sdio.AP6212.txt. The firmware is brcmfmac43430-sdio.bin If not defined, then your board support logic will have to to provide the firmware files (and CLM files for the CBM43438) in board/src directory. For the BCM43362, the following would need to be provided: const uint8_t bcm43362_firmware_image[]; const unsigned int bcm43362_firmware_image_len; For the BCM43438, the following would need to be provided. const uint8_t ap6212_firmware_image[]; const unsigned int ap6212_firmware_len; const uint8_t ap6212_clm_blob[]; const unsigned int ap6212_clm_blob_len; NVRAM files are currently only supported from memory. The following must be provided all configurations. For the BCM43362: const char bcm43362_nvram_image[]; const unsigned int bcm43362_nvram_image_len; And for the BCM43438: const char ap6212_nvram_image[]; const unsigned int ap6212_nvram_image_len; config IEEE80211_BROADCOM_FWFILENAME string "Firmware file" default "/mnt/sdcard/firmware.bin" depends on IEEE80211_BROADCOM_FWFILES ---help--- If firmware files are provided on a file system, then this option provides the full path to the file on a mounted file system where the firmware can be found. config IEEE80211_BROADCOM_FWCLMNAME string "CLM file" default "/mnt/sdcard/blob.bin" depends on IEEE80211_BROADCOM_FWFILES && IEEE80211_BROADCOM_HAVE_CLM ---help--- If firmware files are provided on a file system, then this option provides the full path to the file on a mounted file system where the CLM blob can be found. config IEEE80211_BROADCOM_FULLMAC_SDIO bool "Broadcom FullMAC driver on SDIO bus" depends on ARCH_HAVE_SDIO select IEEE80211_BROADCOM_FULLMAC default n ---help--- This selection enables support for broadcom FullMAC-compliant devices using SDIO bus. if IEEE80211_BROADCOM_FULLMAC config IEEE80211_BROADCOM_NINTERFACES int "Number of Broadcom FullMAC interfaces" default 1 depends on EXPERIMENTAL endif # IEEE80211_BROADCOM_FULLMAC endif # DRIVERS_IEEE80211