drivers/wireless/ieee80211/bcm43xxx: Move drivers/wireless/ieee80211/ to drivers/wireless/ieee80211/bcm43xxx/

since the directory only contains only BCM43362 and BCM43438 related code.
This commit is contained in:
Xiang Xiao 2019-11-05 15:37:42 -06:00 committed by Gregory Nutt
parent 7b6bd5cc0f
commit 3a32937b9b
26 changed files with 190 additions and 147 deletions

View File

@ -5,104 +5,6 @@
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
source drivers/wireless/ieee80211/bcm43xxx/Kconfig
endif # DRIVERS_IEEE80211

View File

@ -40,34 +40,6 @@ ifeq ($(CONFIG_DRIVERS_IEEE80211),y)
# Include IEEE 802.11 drivers into the build
ifeq ($(CONFIG_IEEE80211_BROADCOM_FULLMAC),y)
CSRCS += bcmf_driver.c
CSRCS += bcmf_cdc.c
CSRCS += bcmf_bdc.c
CSRCS += bcmf_utils.c
CSRCS += bcmf_netdev.c
ifeq ($(CONFIG_IEEE80211_BROADCOM_FULLMAC_SDIO),y)
CSRCS += mmc_sdio.c
CSRCS += bcmf_sdio.c
CSRCS += bcmf_core.c
CSRCS += bcmf_sdpcm.c
endif
ifeq ($(CONFIG_IEEE80211_BROADCOM_BCM43362),y)
CSRCS += bcmf_chip_43362.c
endif
ifeq ($(CONFIG_IEEE80211_BROADCOM_BCM43438),y)
CSRCS += bcmf_chip_43438.c
endif
endif # CONFIG_IEEE80211_BROADCOM_FULLMAC
# Include IEEE 802.11 build support
DEPPATH += --dep-path wireless$(DELIM)ieee80211
VPATH += :wireless$(DELIM)ieee80211
CFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" $(TOPDIR)$(DELIM)drivers$(DELIM)wireless$(DELIM)ieee80211}
include wireless$(DELIM)ieee80211$(DELIM)bcm43xxx$(DELIM)Make.defs
endif # CONFIG_DRIVERS_IEEE80211

View File

@ -0,0 +1,104 @@
#
# 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
endif # IEEE80211_BROADCOM_FULLMAC

View File

@ -0,0 +1,65 @@
############################################################################
# drivers/wireless/ieee80211/bcm43xxx/Make.defs
#
# Copyright (C) 2017 Gregory Nutt. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in
# the documentation and/or other materials provided with the
# distribution.
# 3. Neither the name NuttX nor the names of its contributors may be
# used to endorse or promote products derived from this software
# without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
############################################################################
# Include BCM43xxx drivers into the build
ifeq ($(CONFIG_IEEE80211_BROADCOM_FULLMAC),y)
CSRCS += bcmf_driver.c
CSRCS += bcmf_cdc.c
CSRCS += bcmf_bdc.c
CSRCS += bcmf_utils.c
CSRCS += bcmf_netdev.c
ifeq ($(CONFIG_IEEE80211_BROADCOM_FULLMAC_SDIO),y)
CSRCS += mmc_sdio.c
CSRCS += bcmf_sdio.c
CSRCS += bcmf_core.c
CSRCS += bcmf_sdpcm.c
endif
ifeq ($(CONFIG_IEEE80211_BROADCOM_BCM43362),y)
CSRCS += bcmf_chip_43362.c
endif
ifeq ($(CONFIG_IEEE80211_BROADCOM_BCM43438),y)
CSRCS += bcmf_chip_43438.c
endif
# Include BCM43xxx build support
DEPPATH += --dep-path wireless$(DELIM)ieee80211$(DELIM)bcm43xxx
VPATH += :wireless$(DELIM)ieee80211$(DELIM)bcm43xxx
CFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" $(TOPDIR)$(DELIM)drivers$(DELIM)wireless$(DELIM)ieee80211$(DELIM)bcm43xxx}
endif # CONFIG_IEEE80211_BROADCOM_FULLMAC

View File

@ -1,5 +1,5 @@
/****************************************************************************
* drivers/wireless/ieee80211/bcmf_bdc.c
* drivers/wireless/bcm43xxx/ieee80211/bcmf_bdc.c
*
* Copyright (C) 2017-2018 Gregory Nutt. All rights reserved.
* Author: Simon Piriou <spiriou31@gmail.com>

View File

@ -1,5 +1,5 @@
/****************************************************************************
* drivers/wireless/ieee80211/bcmf_bdc.h
* drivers/wireless/bcm43xxx/ieee80211/bcmf_bdc.h
*
* Copyright (C) 2017 Gregory Nutt. All rights reserved.
* Author: Simon Piriou <spiriou31@gmail.com>

View File

@ -1,5 +1,5 @@
/****************************************************************************
* drivers/wireless/ieee80211/bcmf_cdc.c
* drivers/wireless/bcm43xxx/ieee80211/bcmf_cdc.c
*
* Copyright (C) 2017 Gregory Nutt. All rights reserved.
* Author: Simon Piriou <spiriou31@gmail.com>

View File

@ -1,5 +1,5 @@
/****************************************************************************
* drivers/wireless/ieee80211/bcmf_cdc.h
* drivers/wireless/bcm43xxx/ieee80211/bcmf_cdc.h
*
* Copyright (C) 2017 Gregory Nutt. All rights reserved.
* Author: Simon Piriou <spiriou31@gmail.com>

View File

@ -1,5 +1,5 @@
/****************************************************************************
* drivers/wireless/ieee80211/bcmf_chip_43362.c
* drivers/wireless/bcm43xxx/ieee80211/bcmf_chip_43362.c
*
* Copyright (C) 2017 Gregory Nutt. All rights reserved.
* Author: Simon Piriou <spiriou31@gmail.com>

View File

@ -1,5 +1,5 @@
/****************************************************************************
* drivers/wireless/ieee80211/bcmf_chip_43438.c
* drivers/wireless/bcm43xxx/ieee80211/bcmf_chip_43438.c
*
* Copyright (C) 2018 Gregory Nutt. All rights reserved.
* Author: Simon Piriou <spiriou31@gmail.com>

View File

@ -1,5 +1,5 @@
/****************************************************************************
* drivers/wireless/ieee80211/bcmf_core.c
* drivers/wireless/bcm43xxx/ieee80211/bcmf_core.c
*
* Copyright (C) 2017-2018 Gregory Nutt. All rights reserved.
* Author: Simon Piriou <spiriou31@gmail.com>

View File

@ -1,5 +1,5 @@
/****************************************************************************
* drivers/wireless/ieee80211/bcmf_core.h
* drivers/wireless/bcm43xxx/ieee80211/bcmf_core.h
*
* Copyright (C) 2017 Gregory Nutt. All rights reserved.
* Author: Simon Piriou <spiriou31@gmail.com>

View File

@ -1,5 +1,5 @@
/****************************************************************************
* drivers/wireless/ieee80211/bcmf_driver.c
* drivers/wireless/bcm43xxx/ieee80211/bcmf_driver.c
*
* Copyright (C) 2017-2018 Gregory Nutt. All rights reserved.
* Author: Simon Piriou <spiriou31@gmail.com>

View File

@ -1,5 +1,5 @@
/****************************************************************************
* drivers/wireless/ieee80211/bcmf_driver.h
* drivers/wireless/bcm43xxx/ieee80211/bcmf_driver.h
*
* Copyright (C) 2017 Gregory Nutt. All rights reserved.
* Author: Simon Piriou <spiriou31@gmail.com>

View File

@ -1,5 +1,5 @@
/****************************************************************************
* drivers/wireless/bcmf_netdev.c
* drivers/wireless/bcm43xxx/bcmf_netdev.c
*
* Copyright (C) 2017-2018 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>

View File

@ -1,5 +1,5 @@
/****************************************************************************
* drivers/wireless/ieee80211/bcmf_netdev.h
* drivers/wireless/bcm43xxx/ieee80211/bcmf_netdev.h
*
* Copyright (C) 2017 Gregory Nutt. All rights reserved.
* Author: Simon Piriou <spiriou31@gmail.com>

View File

@ -1,5 +1,5 @@
/****************************************************************************
* drivers/wireless/ieee80211/bcmf_sdio.c
* drivers/wireless/bcm43xxx/ieee80211/bcmf_sdio.c
*
* Copyright (C) 2017-2018 Gregory Nutt. All rights reserved.
* Author: Simon Piriou <spiriou31@gmail.com>

View File

@ -1,5 +1,5 @@
/****************************************************************************
* drivers/wireless/ieee80211/bcmf_sdio.h
* drivers/wireless/bcm43xxx/ieee80211/bcmf_sdio.h
*
* Copyright (C) 2017-2018 Gregory Nutt. All rights reserved.
* Author: Simon Piriou <spiriou31@gmail.com>

View File

@ -1,5 +1,5 @@
/****************************************************************************
* drivers/wireless/ieee80211/bcmf_sdpcm.c
* drivers/wireless/bcm43xxx/ieee80211/bcmf_sdpcm.c
*
* Copyright (C) 2017 Gregory Nutt. All rights reserved.
* Author: Simon Piriou <spiriou31@gmail.com>

View File

@ -1,5 +1,5 @@
/****************************************************************************
* drivers/wireless/ieee80211/bcmf_sdpcm.h
* drivers/wireless/bcm43xxx/ieee80211/bcmf_sdpcm.h
*
* Copyright (C) 2017 Gregory Nutt. All rights reserved.
* Author: Simon Piriou <spiriou31@gmail.com>

View File

@ -1,5 +1,5 @@
/****************************************************************************
* drivers/wireless/ieee80211/bcmf_utils.c
* drivers/wireless/bcm43xxx/ieee80211/bcmf_utils.c
*
* Copyright (C) 2017 Gregory Nutt. All rights reserved.
* Author: Simon Piriou <spiriou31@gmail.com>

View File

@ -1,5 +1,5 @@
/****************************************************************************
* drivers/wireless/ieee80211/bcmf_utils.h
* drivers/wireless/bcm43xxx/ieee80211/bcmf_utils.h
*
* Copyright (C) 2017 Gregory Nutt. All rights reserved.
* Author: Simon Piriou <spiriou31@gmail.com>

View File

@ -1,5 +1,5 @@
/****************************************************************************
* drivers/wireless/ieee80211/mmc_sdio.h
* drivers/wireless/bcm43xxx/ieee80211/mmc_sdio.h
*
* Copyright (C) 2017 Gregory Nutt. All rights reserved.
* Author: Simon Piriou <spiriou31@gmail.com>