EXTRA_CFLAGS += -Wno-unused-parameter
EXTRA_CFLAGS += -Wno-unused-function
EXTRA_CFLAGS += -Wno-unused
-EXTRA_CFLAGS += -Wno-date-time
#EXTRA_CFLAGS += -Wno-uninitialized
+GCC_VER_49 := $(shell echo `$(CC) -dumpversion | cut -f1-2 -d.` \>= 4.9 | bc )
+ifeq ($(GCC_VER_49),1)
+EXTRA_CFLAGS += -Wno-date-time # Fix compile error && warning on gcc 4.9 and later
+endif
+
EXTRA_CFLAGS += -I$(src)/include
EXTRA_CFLAGS += -I$(src)/hal/phydm
########################## WIFI IC ############################
CONFIG_MULTIDRV = n
CONFIG_RTL8188E = n
-CONFIG_RTL8812A = n
+CONFIG_RTL8812A = y
CONFIG_RTL8821A = y
CONFIG_RTL8192E = n
CONFIG_RTL8723B = n
rtl8821c_phy_init_haldm(padapter);
#endif /* CONFIG_RTL8821C */
#ifdef CONFIG_RTL8812A
- rtl8812_InitHalDm(padapter);
+ if (IS_HARDWARE_TYPE_8812(padapter))
+ rtl8812_InitHalDm(padapter);
#endif /* CONFIG_RTL8812A */
#ifdef CONFIG_RTL8723B
rtl8723b_InitHalDm(padapter);
_exit_critical_bh(&pmlmepriv->lock, &irqL);
#ifdef CONFIG_RTL8812A
- rtl8812_InitHalDm(padapter);
+ if (IS_HARDWARE_TYPE_8812(padapter))
+ rtl8812_InitHalDm(padapter);
#endif
#ifdef CONFIG_RTL8723B
rtl8723b_InitHalDm(padapter);
thread_exit();
}
#endif /* CONFIG_RECV_THREAD_MODE */
-
#endif
#ifdef CONFIG_RTL8821A
- return RELEASE_VERSION_8821A;
+ if (IS_HARDWARE_TYPE_8821(Adapter))
+ return RELEASE_VERSION_8821A;
#endif
#ifdef CONFIG_RTL8723B
rtw_dump_phy_cap_by_hal(sel, adapter);
#endif
}
-
if (input_idx >= 1) {
#if (RTL8821A_SUPPORT == 1)
- phydm_set_ext_switch(p_dm_odm, (u32 *)var1, &used, output, &out_len);
-#else
- PHYDM_SNPRINTF((output + used, out_len - used, "Not Support IC"));
+ if (p_dm_odm->support_ic_type == ODM_RTL8821)
+ phydm_set_ext_switch(p_dm_odm, (u32 *)var1, &used, output, &out_len);
+ else
+ PHYDM_SNPRINTF((output + used, out_len - used, "Not Support IC"));
#endif
}
u8 val;
u8 rssi_tmp = p_dm_odm->rssi_min;
+ if (!(p_dm_odm->support_ic_type & (ODM_RTL8821)))
+ return;
if (!(p_dm_odm->support_ability & ODM_BB_DYNAMIC_TXPWR))
return;
--- /dev/null
+/******************************************************************************
+*
+* Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
+*
+* This program is free software; you can redistribute it and/or modify it
+* under the terms of version 2 of the GNU General Public License as
+* published by the Free Software Foundation.
+*
+* This program is distributed in the hope that it will be useful, but WITHOUT
+* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+* more details.
+*
+* You should have received a copy of the GNU General Public License along with
+* this program; if not, write to the Free Software Foundation, Inc.,
+* 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
+*
+*
+******************************************************************************/
+
+/*Image2HeaderVersion: 2.16*/
+#if (RTL8812A_SUPPORT == 1)
+#ifndef __INC_MP_FW_HW_IMG_8812A_H
+#define __INC_MP_FW_HW_IMG_8812A_H
+
+
+/******************************************************************************
+* FW_AP.TXT
+******************************************************************************/
+
+void
+odm_read_firmware_mp_8812a_fw_ap(
+ struct PHY_DM_STRUCT *p_dm_odm,
+ u8 *p_firmware,
+ u32 *p_firmware_size
+);
+
+/******************************************************************************
+* FW_NIC.TXT
+******************************************************************************/
+
+void
+odm_read_firmware_mp_8812a_fw_nic(
+ struct PHY_DM_STRUCT *p_dm_odm,
+ u8 *p_firmware,
+ u32 *p_firmware_size
+);
+
+/******************************************************************************
+* FW_NIC_BT.TXT
+******************************************************************************/
+
+void
+odm_read_firmware_mp_8812a_fw_nic_bt(
+ struct PHY_DM_STRUCT *p_dm_odm,
+ u8 *p_firmware,
+ u32 *p_firmware_size
+);
+
+/******************************************************************************
+* FW_WoWLAN.TXT
+******************************************************************************/
+
+void
+odm_read_firmware_mp_8812a_fw_wowlan(
+ struct PHY_DM_STRUCT *p_dm_odm,
+ u8 *p_firmware,
+ u32 *p_firmware_size
+);
+
+#endif
+#endif /* end of HWIMG_SUPPORT*/
#endif /* end of LOAD_FW_HEADER_FROM_DRIVER*/
#endif /* end of HWIMG_SUPPORT*/
-
/* #include <drv_types.h> */
#include <rtl8812a_hal.h>
-#ifdef CONFIG_RTL8812A
#include "hal8812a_fw.h"
-#else
#include "hal8821a_fw.h"
-#endif
/* -------------------------------------------------------------------------
*
* LLT R/W/Init function
if (bUsedWoWLANFw) {
#ifdef CONFIG_WOWLAN
if (pwrpriv->wowlan_mode) {
-#ifdef CONFIG_RTL8812A
- pFirmware->szFwBuffer = array_mp_8812a_fw_wowlan;
- pFirmware->ulFwLength = array_length_mp_8812a_fw_wowlan;
-#else
- pFirmware->szFwBuffer = array_mp_8821a_fw_wowlan;
- pFirmware->ulFwLength = array_length_mp_8821a_fw_wowlan;
-#endif
+ if (IS_HARDWARE_TYPE_8812(Adapter)) {
+ pFirmware->szFwBuffer = array_mp_8812a_fw_wowlan;
+ pFirmware->ulFwLength = array_length_mp_8812a_fw_wowlan;
+ } else {
+ pFirmware->szFwBuffer = array_mp_8821a_fw_wowlan;
+ pFirmware->ulFwLength = array_length_mp_8821a_fw_wowlan;
+ }
RTW_INFO("%s fw:%s, size: %d\n", __func__, "WoWLAN", pFirmware->ulFwLength);
}
#ifdef CONFIG_AP_WOWLAN
if (pwrpriv->wowlan_ap_mode) {
-#ifdef CONFIG_RTL8812A
- pFirmware->szFwBuffer = array_mp_8812a_fw_ap;
- pFirmware->ulFwLength = array_length_mp_8812a_fw_ap;
-#else
- pFirmware->szFwBuffer = array_mp_8821a_fw_ap;
- pFirmware->ulFwLength = array_length_mp_8821a_fw_ap;
-#endif
+ if (IS_HARDWARE_TYPE_8812(Adapter)) {
+ pFirmware->szFwBuffer = array_mp_8812a_fw_ap;
+ pFirmware->ulFwLength = array_length_mp_8812a_fw_ap;
+ } else {
+ pFirmware->szFwBuffer = array_mp_8821a_fw_ap;
+ pFirmware->ulFwLength = array_length_mp_8821a_fw_ap;
+ }
RTW_INFO("%s fw: %s, size: %d\n", __func__, "AP_WoWLAN", pFirmware->ulFwLength);
}
#ifdef CONFIG_BT_COEXIST
if (pHalData->EEPROMBluetoothCoexist == _TRUE) {
-#ifdef CONFIG_RTL8812A
- pFirmware->szFwBuffer = array_mp_8812a_fw_nic_bt;
- pFirmware->ulFwLength = array_length_mp_8812a_fw_nic_bt;
-#else
- pFirmware->szFwBuffer = array_mp_8821a_fw_nic_bt;
- pFirmware->ulFwLength = array_length_mp_8821a_fw_nic_bt;
-#endif
+ if (IS_HARDWARE_TYPE_8812(Adapter)) {
+ pFirmware->szFwBuffer = array_mp_8812a_fw_nic_bt;
+ pFirmware->ulFwLength = array_length_mp_8812a_fw_nic_bt;
+ } else {
+ pFirmware->szFwBuffer = array_mp_8821a_fw_nic_bt;
+ pFirmware->ulFwLength = array_length_mp_8821a_fw_nic_bt;
+ }
RTW_INFO("%s fw:%s, size: %d\n", __FUNCTION__, "NIC-BTCOEX", pFirmware->ulFwLength);
} else
#endif /* CONFIG_BT_COEXIST */
{
-#ifdef CONFIG_RTL8812A
- pFirmware->szFwBuffer = array_mp_8812a_fw_nic;
- pFirmware->ulFwLength = array_length_mp_8812a_fw_nic;
-#else
- pFirmware->szFwBuffer = array_mp_8821a_fw_nic;
- pFirmware->ulFwLength = array_length_mp_8821a_fw_nic;
-#endif
+ if (IS_HARDWARE_TYPE_8812(Adapter)) {
+ pFirmware->szFwBuffer = array_mp_8812a_fw_nic;
+ pFirmware->ulFwLength = array_length_mp_8812a_fw_nic;
+ } else {
+ pFirmware->szFwBuffer = array_mp_8821a_fw_nic;
+ pFirmware->ulFwLength = array_length_mp_8821a_fw_nic;
+ }
RTW_INFO("%s fw:%s, size: %d\n", __FUNCTION__, "NIC", pFirmware->ulFwLength);
}