/*
|
* Customer HW 4 dependant file
|
*
|
* Copyright (C) 2020, 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:>>
|
*
|
* $Id: dhd_sec_feature.h$
|
*/
|
|
/* XXX This File managed by Samsung */
|
|
/*
|
* ** Desciption ***
|
* 1. Module vs COB
|
* If your model's WIFI HW chip is COB type, you must add below feature
|
* - #undef USE_CID_CHECK
|
* - #define READ_MACADDR
|
* Because COB type chip have not CID and Mac address.
|
* So, you must add below feature to defconfig file.
|
* - CONFIG_WIFI_BROADCOM_COB
|
*
|
* 2. PROJECTS
|
* If you want add some feature only own Project, you can add it in 'PROJECTS' part.
|
*
|
* 3. Region code
|
* If you want add some feature only own region model, you can use below code.
|
* - 100 : EUR OPEN
|
* - 101 : EUR ORG
|
* - 200 : KOR OPEN
|
* - 201 : KOR SKT
|
* - 202 : KOR KTT
|
* - 203 : KOR LGT
|
* - 300 : CHN OPEN
|
* - 400 : USA OPEN
|
* - 401 : USA ATT
|
* - 402 : USA TMO
|
* - 403 : USA VZW
|
* - 404 : USA SPR
|
* - 405 : USA USC
|
* You can refer how to using it below this file.
|
* And, you can add more region code, too.
|
*/
|
|
#ifndef _dhd_sec_feature_h_
|
#define _dhd_sec_feature_h_
|
|
#include <linuxver.h>
|
|
/* For COB type feature */
|
#ifdef CONFIG_WIFI_BROADCOM_COB
|
#undef USE_CID_CHECK
|
#define READ_MACADDR
|
#endif /* CONFIG_WIFI_BROADCOM_COB */
|
|
#if defined(CONFIG_MACH_UNIVERSAL7420) || defined(CONFIG_ARCH_MSM8994) || \
|
defined(CONFIG_ARCH_MSM8996) || defined(CONFIG_SOC_EXYNOS8890)
|
#define SUPPORT_MULTIPLE_MODULE_CIS
|
#endif /* CONFIG_MACH_UNIVERSAL7420 || CONFIG_ARCH_MSM8994 ||
|
* CONFIG_ARCH_MSM8996 || CONFIG_SOC_EXYNOS8890
|
*/
|
|
#if defined(CONFIG_ARCH_MSM8996) || defined(CONFIG_SOC_EXYNOS8890)
|
#define SUPPORT_BCM4359_MIXED_MODULES
|
#endif /* CONFIG_ARCH_MSM8996 || CONFIG_SOC_EXYNOS8890 */
|
|
#if defined(CONFIG_ARGOS)
|
#if defined(CONFIG_SPLIT_ARGOS_SET)
|
#define ARGOS_IRQ_WIFI_TABLE_LABEL "WIFI TX"
|
#define ARGOS_WIFI_TABLE_LABEL "WIFI RX"
|
#else /* CONFIG_SPLIT_ARGOS_SET */
|
#define ARGOS_IRQ_WIFI_TABLE_LABEL "WIFI"
|
#define ARGOS_WIFI_TABLE_LABEL "WIFI"
|
#endif /* CONFIG_SPLIT_ARGOS_SET */
|
#define ARGOS_P2P_TABLE_LABEL "P2P"
|
#endif /* CONFIG_ARGOS */
|
|
/* PROJECTS START */
|
|
#if defined(CONFIG_MACH_UNIVERSAL7420) || defined(CONFIG_SOC_EXYNOS8890) || \
|
defined(CONFIG_SOC_EXYNOS8895)
|
#undef CUSTOM_SET_CPUCORE
|
#define PRIMARY_CPUCORE 0
|
#define DPC_CPUCORE 4
|
#define RXF_CPUCORE 5
|
#define TASKLET_CPUCORE 5
|
#define ARGOS_CPU_SCHEDULER
|
#define ARGOS_RPS_CPU_CTL
|
|
#ifdef CONFIG_SOC_EXYNOS8895
|
#define ARGOS_DPC_TASKLET_CTL
|
#endif /* CONFIG_SOC_EXYNOS8895 */
|
|
#ifdef CONFIG_MACH_UNIVERSAL7420
|
#define EXYNOS_PCIE_DEBUG
|
#endif /* CONFIG_MACH_UNIVERSAL7420 */
|
#endif /* CONFIG_MACH_UNIVERSAL7420 || CONFIG_SOC_EXYNOS8890 || CONFIG_SOC_EXYNOS8895 */
|
|
#if defined(CONFIG_SOC_EXYNOS9810) || defined(CONFIG_SOC_EXYNOS9820) || \
|
defined(CONFIG_SOC_EXYNOS9830) || defined(CONFIG_SOC_EXYNOS2100) || \
|
defined(CONFIG_SOC_EXYNOS1000)
|
#define PCIE_IRQ_CPU_CORE 5
|
#endif /* CONFIG_SOC_EXYNOS9810 || CONFIG_SOC_EXYNOS9820 || defined(CONFIG_SOC_EXYNOS9830 */
|
|
#if defined(DHD_LB)
|
#if defined(CONFIG_ARCH_SM8150) || defined(CONFIG_ARCH_KONA) || defined(CONFIG_ARCH_LAHAINA)
|
#define DHD_LB_PRIMARY_CPUS (0x70)
|
#define DHD_LB_SECONDARY_CPUS (0x0E)
|
#elif defined(CONFIG_SOC_EXYNOS9810) || defined(CONFIG_SOC_EXYNOS9820) || \
|
defined(CONFIG_SOC_EXYNOS9830) || defined(CONFIG_SOC_EXYNOS2100) || \
|
defined(CONFIG_SOC_EXYNOS1000)
|
#define DHD_LB_PRIMARY_CPUS (0x70)
|
#define DHD_LB_SECONDARY_CPUS (0x0E)
|
#elif defined(CONFIG_SOC_EXYNOS8890)
|
/*
|
* Removed core 6~7 from NAPI CPU mask.
|
* Exynos 8890 disabled core 6~7 by default.
|
*/
|
#define DHD_LB_PRIMARY_CPUS (0x30)
|
#define DHD_LB_SECONDARY_CPUS (0x0E)
|
#elif defined(CONFIG_SOC_EXYNOS8895)
|
/* using whole big core with NAPI mask */
|
#define DHD_LB_PRIMARY_CPUS (0xF0)
|
#define DHD_LB_SECONDARY_CPUS (0x0E)
|
#elif defined(CONFIG_ARCH_MSM8998)
|
#define DHD_LB_PRIMARY_CPUS (0x20)
|
#define DHD_LB_SECONDARY_CPUS (0x0E)
|
#elif defined(CONFIG_ARCH_MSM8996)
|
#define DHD_LB_PRIMARY_CPUS (0x0C)
|
#define DHD_LB_SECONDARY_CPUS (0x03)
|
#else /* Default LB masks */
|
/* using whole big core with NAPI mask */
|
#define DHD_LB_PRIMARY_CPUS (0xF0)
|
#define DHD_LB_SECONDARY_CPUS (0x0E)
|
#endif /* CONFIG_SOC_EXYNOS8890 */
|
#else /* !DHD_LB */
|
#define ARGOS_DPC_TASKLET_CTL
|
#endif /* !DHD_LB */
|
|
#if defined(CONFIG_ARCH_MSM) || defined(CONFIG_SOC_EXYNOS8895) || \
|
defined(CONFIG_SOC_EXYNOS9810) || defined(CONFIG_SOC_EXYNOS9820) || \
|
defined(CONFIG_SOC_EXYNOS9830) || defined(CONFIG_SOC_EXYNOS2100) || \
|
defined(CONFIG_SOC_EXYNOS1000)
|
#if defined(CONFIG_BCMDHD_PCIE)
|
#define BCMPCIE_DISABLE_ASYNC_SUSPEND
|
#endif /* CONFIG_BCMDHD_PCIE */
|
#endif /* CONFIG_ARCH_MSM */
|
/* PROJECTS END */
|
|
/* REGION CODE START */
|
|
#ifndef CONFIG_WLAN_REGION_CODE
|
#define CONFIG_WLAN_REGION_CODE 100
|
#endif /* CONFIG_WLAN_REGION_CODE */
|
|
#if (CONFIG_WLAN_REGION_CODE >= 100) && (CONFIG_WLAN_REGION_CODE < 200) /* EUR */
|
#if (CONFIG_WLAN_REGION_CODE == 101) /* EUR ORG */
|
/* GAN LITE NAT KEEPALIVE FILTER */
|
#define GAN_LITE_NAT_KEEPALIVE_FILTER
|
#endif /* CONFIG_WLAN_REGION_CODE == 101 */
|
#if (CONFIG_WLAN_REGION_CODE == 150) /* EUR FD(DualSIM) */
|
#define SUPPORT_MULTIPLE_BOARD_REV_FROM_HW
|
#endif /* CONFIG_WLAN_REGION_CODE == 150 */
|
#endif /* CONFIG_WLAN_REGION_CODE >= 100 && CONFIG_WLAN_REGION_CODE < 200 */
|
|
#if (CONFIG_WLAN_REGION_CODE >= 200) && (CONFIG_WLAN_REGION_CODE < 300) /* KOR */
|
#undef USE_INITIAL_2G_SCAN
|
#ifndef ROAM_ENABLE
|
#define ROAM_ENABLE
|
#endif /* ROAM_ENABLE */
|
#ifndef ROAM_API
|
#define ROAM_API
|
#endif /* ROAM_API */
|
#ifndef ROAM_CHANNEL_CACHE
|
#define ROAM_CHANNEL_CACHE
|
#endif /* ROAM_CHANNEL_CACHE */
|
#ifndef OKC_SUPPORT
|
#define OKC_SUPPORT
|
#endif /* OKC_SUPPORT */
|
|
#ifndef ROAM_AP_ENV_DETECTION
|
#define ROAM_AP_ENV_DETECTION
|
#endif /* ROAM_AP_ENV_DETECTION */
|
|
#undef WRITE_MACADDR
|
#ifndef READ_MACADDR
|
#define READ_MACADDR
|
#endif /* READ_MACADDR */
|
#endif /* CONFIG_WLAN_REGION_CODE >= 200 && CONFIG_WLAN_REGION_CODE < 300 */
|
|
#if (CONFIG_WLAN_REGION_CODE >= 300) && (CONFIG_WLAN_REGION_CODE < 400) /* CHN */
|
#define BCMWAPI_WPI
|
#define BCMWAPI_WAI
|
#endif /* CONFIG_WLAN_REGION_CODE >= 300 && CONFIG_WLAN_REGION_CODE < 400 */
|
|
#if (CONFIG_WLAN_REGION_CODE == 500) /* JP */
|
#if defined(BCM4375_CHIP)
|
#define DISABLE_HE_ENAB
|
#endif /* BCM4375_CHIP */
|
#endif /* CONFIG_WLAN_REGION_CODE == 500 */
|
|
/* REGION CODE END */
|
|
#if !defined(READ_MACADDR) && !defined(WRITE_MACADDR)
|
#define GET_MAC_FROM_OTP
|
#define SHOW_NVRAM_TYPE
|
#endif /* !READ_MACADDR && !WRITE_MACADDR */
|
|
#define WRITE_WLANINFO
|
|
#endif /* _dhd_sec_feature_h_ */
|