# # For a description of the syntax of this configuration file, # see the file kconfig-language.txt in the NuttX tools repository. # config IEEE80211_BROADCOM_FULLMAC bool default n config IEEE80211_BROADCOM_HAVE_CLM bool default n config IEEE80211_BROADCOM_BCM4301X bool "Broadcom 4301x chip support" depends on IEEE80211_BROADCOM_FULLMAC default n select IEEE80211_BROADCOM_HAVE_CLM 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_BCM43455 bool "Broadcom 43455 chip support" depends on IEEE80211_BROADCOM_FULLMAC default n select IEEE80211_BROADCOM_HAVE_CLM config IEEE80211_INFINEON_CYW43439 bool "Infineon 43439 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_BCM4301X || \ IEEE80211_BROADCOM_BCM43362 || \ IEEE80211_BROADCOM_BCM43438 || \ IEEE80211_BROADCOM_BCM43455 ---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_NVFILENAME string "Firmware file" default "/mnt/sdcard/nvram.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. config IEEE80211_BROADCOM_FULLMAC_GSPI bool "Broadcom FullMAC driver on gSPI bus" select IEEE80211_BROADCOM_FULLMAC default n ---help--- This selection enables support for broadcom FullMAC-compliant devices using gSPI bus. config IEEE80211_BROADCOM_FULLMAC_GSPI_MAX_FRAME int "Broadcom FullMAC driver on gSPI bus" default 2048 depends on IEEE80211_BROADCOM_FULLMAC_GSPI ---help--- This is the maximum frame size for data transfers with the chip. config IEEE80211_BROADCOM_SCHED_PRIORITY int "Broadcom BCMF daemon thread schedule priority" depends on IEEE80211_BROADCOM_FULLMAC default SCHED_HPWORKPRIORITY if SCHED_HPWORK default 255 ---help--- This parameter should be set the bcmf daemon thread schedule priority config IEEE80211_BROADCOM_SCAN_RESULT_ENTRIES int "Broadcom BCMF escan result entries" depends on IEEE80211_BROADCOM_FULLMAC default 10 ---help--- This parameter should be set the bcmf escan result buffer entries config IEEE80211_BROADCOM_LOWPOWER bool "Broadcom BCMF lower power" depends on IEEE80211_BROADCOM_FULLMAC default n ---help--- This parameter should be enable the bcmf lower power mode config IEEE80211_BROADCOM_DEFAULT_COUNTRY string "Broadcom BCMF default country code" depends on IEEE80211_BROADCOM_FULLMAC default "" ---help--- This parameter should be set the default country code if IEEE80211_BROADCOM_LOWPOWER config IEEE80211_BROADCOM_LP_DTIM_TIMEOUT int "Broadcom BCMF lower power timeout(second)" default 10 ---help--- This parameter should be enable the bcmf lower power timeout config IEEE80211_BROADCOM_LP_DTIM_INTERVAL int "Broadcom BCMF listen interval dtim(millisecond)" default 500 ---help--- This parameter should be set the listen interval dtim in milliseconds config IEEE80211_BROADCOM_LP_IFDOWN_TIMEOUT int "Broadcom BCMF lower power if down timeout(second)" default 600 ---help--- This parameter should be enable the bcmf lower power if down timeout endif # IEEE80211_BROADCOM_LOWPOWER if IEEE80211_BROADCOM_FULLMAC config IEEE80211_BROADCOM_NINTERFACES int "Number of Broadcom FullMAC interfaces" default 1 depends on EXPERIMENTAL config IEEE80211_BROADCOM_DMABUF_ALIGNMENT int "DMA buffer address alignment boundary" default 4 range 4 64 ---help--- This parameter should be set depending on the used SOC DMA configuration. config IEEE80211_BROADCOM_FRAME_POOL_SIZE int "SDPCM frame pool size" default 8 ---help--- This parameter sets the size of the shared SDPCM frame pool used for both RX and TX transfers. config IEEE80211_BROADCOM_SDIO_EHS_MODE bool "High-Speed Mode over SDIO" default n ---help--- This selection enables High-Speed timing mode with a clock rate up to 50MHz. endif # IEEE80211_BROADCOM_FULLMAC