aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/rtlwifi/rtl8192c/fw_common.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/rtlwifi/rtl8192c/fw_common.h')
-rw-r--r--drivers/net/wireless/rtlwifi/rtl8192c/fw_common.h40
1 files changed, 27 insertions, 13 deletions
diff --git a/drivers/net/wireless/rtlwifi/rtl8192c/fw_common.h b/drivers/net/wireless/rtlwifi/rtl8192c/fw_common.h
index 15b2055e6212..a815bd6273da 100644
--- a/drivers/net/wireless/rtlwifi/rtl8192c/fw_common.h
+++ b/drivers/net/wireless/rtlwifi/rtl8192c/fw_common.h
@@ -36,11 +36,38 @@
36#define FW_8192C_PAGE_SIZE 4096 36#define FW_8192C_PAGE_SIZE 4096
37#define FW_8192C_POLLING_DELAY 5 37#define FW_8192C_POLLING_DELAY 5
38#define FW_8192C_POLLING_TIMEOUT_COUNT 100 38#define FW_8192C_POLLING_TIMEOUT_COUNT 100
39#define NORMAL_CHIP BIT(4)
39 40
40#define IS_FW_HEADER_EXIST(_pfwhdr) \ 41#define IS_FW_HEADER_EXIST(_pfwhdr) \
41 ((le16_to_cpu(_pfwhdr->signature)&0xFFF0) == 0x92C0 ||\ 42 ((le16_to_cpu(_pfwhdr->signature)&0xFFF0) == 0x92C0 ||\
42 (le16_to_cpu(_pfwhdr->signature)&0xFFF0) == 0x88C0) 43 (le16_to_cpu(_pfwhdr->signature)&0xFFF0) == 0x88C0)
43 44
45#define CUT_VERSION_MASK (BIT(6)|BIT(7))
46#define CHIP_VENDOR_UMC BIT(5)
47#define CHIP_VENDOR_UMC_B_CUT BIT(6) /* Chip version for ECO */
48#define IS_CHIP_VER_B(version) ((version & CHIP_VER_B) ? true : false)
49#define RF_TYPE_MASK (BIT(0)|BIT(1))
50#define GET_CVID_RF_TYPE(version) \
51 ((version) & RF_TYPE_MASK)
52#define GET_CVID_CUT_VERSION(version) \
53 ((version) & CUT_VERSION_MASK)
54#define IS_NORMAL_CHIP(version) \
55 ((version & NORMAL_CHIP) ? true : false)
56#define IS_2T2R(version) \
57 (((GET_CVID_RF_TYPE(version)) == \
58 CHIP_92C_BITMASK) ? true : false)
59#define IS_92C_SERIAL(version) \
60 ((IS_2T2R(version)) ? true : false)
61#define IS_CHIP_VENDOR_UMC(version) \
62 ((version & CHIP_VENDOR_UMC) ? true : false)
63#define IS_VENDOR_UMC_A_CUT(version) \
64 ((IS_CHIP_VENDOR_UMC(version)) ? \
65 ((GET_CVID_CUT_VERSION(version)) ? false : true) : false)
66#define IS_81XXC_VENDOR_UMC_B_CUT(version) \
67 ((IS_CHIP_VENDOR_UMC(version)) ? \
68 ((GET_CVID_CUT_VERSION(version) == \
69 CHIP_VENDOR_UMC_B_CUT) ? true : false) : false)
70
44struct rtl92c_firmware_header { 71struct rtl92c_firmware_header {
45 __le16 signature; 72 __le16 signature;
46 u8 category; 73 u8 category;
@@ -60,19 +87,6 @@ struct rtl92c_firmware_header {
60 __le32 rsvd5; 87 __le32 rsvd5;
61}; 88};
62 89
63enum rtl8192c_h2c_cmd {
64 H2C_AP_OFFLOAD = 0,
65 H2C_SETPWRMODE = 1,
66 H2C_JOINBSSRPT = 2,
67 H2C_RSVDPAGE = 3,
68 H2C_RSSI_REPORT = 5,
69 H2C_RA_MASK = 6,
70 H2C_MACID_PS_MODE = 7,
71 H2C_P2P_PS_OFFLOAD = 8,
72 H2C_P2P_PS_CTW_CMD = 32,
73 MAX_H2CCMD
74};
75
76#define pagenum_128(_len) (u32)(((_len)>>7) + ((_len)&0x7F ? 1 : 0)) 90#define pagenum_128(_len) (u32)(((_len)>>7) + ((_len)&0x7F ? 1 : 0))
77 91
78#define SET_H2CCMD_PWRMODE_PARM_MODE(__ph2ccmd, __val) \ 92#define SET_H2CCMD_PWRMODE_PARM_MODE(__ph2ccmd, __val) \