nuttx/drivers/wireless/ieee80211/bcm43xxx/Kconfig
Alexander Lunev 51c185b3b5 bcm43xxx/Kconfig: added SDPCM frame pool size parameter.
Also I have set the parameter to 8 instead of 4 by default
because there were many "alloc failed" messages in debug log
even during initialization / automatic IP address assignment
via DHCP negotiation.
2021-09-16 21:59:12 -05:00

120 lines
3.6 KiB
Plaintext

#
# 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_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
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.
endif # IEEE80211_BROADCOM_FULLMAC