#
# Copyright (C) 2025 Synaptics Incorporated. All rights reserved.
#
# This software is licensed to you under the terms of the
# GNU General Public License version 2 (the "GPL") with Broadcom special exception.
#
# INFORMATION CONTAINED IN THIS DOCUMENT IS PROVIDED "AS-IS," AND SYNAPTICS
# EXPRESSLY DISCLAIMS ALL EXPRESS AND IMPLIED WARRANTIES, INCLUDING ANY
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE,
# AND ANY WARRANTIES OF NON-INFRINGEMENT OF ANY INTELLECTUAL PROPERTY RIGHTS.
# IN NO EVENT SHALL SYNAPTICS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, PUNITIVE, OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR IN CONNECTION
# WITH THE USE OF THE INFORMATION CONTAINED IN THIS DOCUMENT, HOWEVER CAUSED
# AND BASED ON ANY THEORY OF LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
# NEGLIGENCE OR OTHER TORTIOUS ACTION, AND EVEN IF SYNAPTICS WAS ADVISED OF
# THE POSSIBILITY OF SUCH DAMAGE. IF A TRIBUNAL OF COMPETENT JURISDICTION
# DOES NOT PERMIT THE DISCLAIMER OF DIRECT DAMAGES OR ANY OTHER DAMAGES,
# SYNAPTICS' TOTAL CUMULATIVE LIABILITY TO ANY PARTY SHALL NOT
# EXCEED ONE HUNDRED U.S. DOLLARS
#
# Copyright (C) 2025, Broadcom.
#
#      Unless you and Broadcom execute a separate written software license
# agreement governing use of this software, this software is licensed to you
# under the terms of the GNU General Public License version 2 (the "GPL"),
# available at http://www.broadcom.com/licenses/GPLv2.php, with the
# following added to such license:
#
#      As a special exception, the copyright holders of this software give you
# permission to link this software with independent modules, and to copy and
# distribute the resulting executable under terms of your choice, provided that
# you also meet, for each linked independent module, the terms and conditions of
# the license of that module.  An independent module is a module which is not
# derived from this software.  The special exception does not apply to any
# modifications of the software.
#
#
# <<Broadcom-WL-IPTag/Open:>>
#

config BCMDHD
	tristate "Broadcom FullMAC wireless cards support"
	help
	  This module adds support for wireless adapters based on
	  Broadcom FullMAC chipset.

config BCM4354
	bool "BCM4354 support"
	depends on BCMDHD
	default n

config BCM4356
	bool "BCM4356 support"
	depends on BCMDHD
	default n

config BCM4359
	bool "BCM4359 support"
	depends on BCMDHD
	default n

config BCM4362
	bool "BCM4362 support"
	depends on BCMDHD
	default n

config BCM4375
	bool "BCM4375 support"
	depends on BCMDHD
	default n

config BCM43752
	bool "BCM43752 support"
	depends on BCMDHD
	default y

config BCMDHD_FW_PATH
	depends on BCMDHD
	string "Firmware path"
	default "/vendor/etc/wifi/fw_bcmdhd.bin"
	help
	  Path to the firmware file.

config BCMDHD_NVRAM_PATH
	depends on BCMDHD
	string "NVRAM path"
	default "/vendor/etc/wifi/bcmdhd.cal"
	help
	  Path to the calibration file.

config BCMDHD_CLM_PATH
	depends on BCMDHD
	string "CLM path"
	default "/vendor/etc/wifi/bcmdhd_clm.blob"
	help
	  Path to the clm file.

config BCMDHD_CONFIG_PATH
	depends on BCMDHD
	string "CONFIG path"
	default "/vendor/etc/wifi/wlan_config.ini"
	help
	  Path to the config file.

config BCMDHD_MAP_PATH
	depends on BCMDHD
	string "MAP path"
	default "/vendor/etc/wifi/fw_bcmdhd.map"
	help
	  Path to the config file.

config BROADCOM_WIFI_RESERVED_MEM
	bool "BROADCOM Reserved memory for wifi device"
	depends on BCMDHD
	default y
	help
	  This is a configuration for Broadcom WLAN driver.

config DHD_USE_STATIC_BUF
	bool "Enable memory preallocation"
	depends on BCMDHD
	default n
	help
	  Use memory preallocated in platform

config DHD_USE_SCHED_SCAN
	bool "Use CFG80211 sched scan"
	depends on BCMDHD && CFG80211
	default y
	help
	  Use CFG80211 sched scan

config DHD_SET_RANDOM_MAC_VAL
	hex "Vendor OUI"
	depends on BCMDHD
	default 0x001A11
	help
	  Set vendor OUI for SoftAP

config WLAN_REGION_CODE
	int "---Region codes for Broadcom WiFi Driver"
	depends on BCMDHD
	default 100
	help
		This is a region code for Broadcom Wi-Fi featured functions.
		- 100 : EUR OPEN
		- 101 : EUR ORG
		- 200 : KOR OPEN
		- 201 : KOR SKT
		- 202 : KOR KTT
		- 203 : KOR LGT
		- 300 : CHN OPEN

config WLAIBSS
	bool "Advanced IBSS mode"
	depends on (BCM4335 || BCM4339 || BCM4354 || BCM4358 || BCM4359 || BCM4361 || BCM4362 || BCM43752)
	default y
	help
	  This is a configuration for Oxygen Network.

config WL_RELMCAST
	bool "Reliable Multicast Support"
	depends on (BCM4335 || BCM4339 || BCM4354 || BCM4358 || BCM4359 || BCM4361 || BCM4362 || BCM43752)
	default y
	help
	  This is a configuration for RMC.

config WL_NAN
	bool "NAN Feature"
	depends on BCMDHD
	default n
	help
	  This is a configuration for NAN Feature.

config BCMDHD_PREALLOC_PKTIDMAP
	bool "BROADCOM PCIE specific memory reserved for PKTIDMAP"
	depends on BROADCOM_WIFI_RESERVED_MEM && BCMDHD_PCIE
	default y
	help
	  Preallocated memory support for PCIE interface in Broadcom
	  WLAN driver.

config BCMDHD_PREALLOC_MEMDUMP
	bool "BROADCOM PCIE specific memory reserved for MEMDUMP"
	depends on BROADCOM_WIFI_RESERVED_MEM
	default y
	help
	  Preallocated memory support for dongle memory dump

config BCMDHD_OOB_HOST_WAKE
        bool "Use the external WLAN_HOST_WAKE pin"
        depends on BCMDHD
		default n
        help
          Use the external GPIO pin to wake up host

config BCMDHD_GET_OOB_STATE
        bool "Support WLAN_HOST_WAKE pin level information"
        depends on BCMDHD_OOB_HOST_WAKE
        default n
        help
          Support WLAN_HOST_WAKE pin level information

config BCMDHD_SDIO
		bool "SDIO bus interface support"

config BCMDHD_PCIE
		bool "PCIe bus interface support"

config BCMDHD_USB
		bool "USB bus interface support"
