]>
Commit | Line | Data |
---|---|---|
18d30067 G |
1 | /****************************************************************************** |
2 | * | |
c1d6604d | 3 | * Copyright(c) 2009-2012 Realtek Corporation. |
18d30067 G |
4 | * |
5 | * This program is free software; you can redistribute it and/or modify it | |
6 | * under the terms of version 2 of the GNU General Public License as | |
7 | * published by the Free Software Foundation. | |
8 | * | |
9 | * This program is distributed in the hope that it will be useful, but WITHOUT | |
10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | |
12 | * more details. | |
13 | * | |
14 | * You should have received a copy of the GNU General Public License along with | |
15 | * this program; if not, write to the Free Software Foundation, Inc., | |
16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA | |
17 | * | |
18 | * The full GNU General Public License is included in this distribution in the | |
19 | * file called LICENSE. | |
20 | * | |
21 | * Contact Information: | |
22 | * wlanfae <wlanfae@realtek.com> | |
23 | * Realtek Corporation, No. 2, Innovation Road II, Hsinchu Science Park, | |
24 | * Hsinchu 300, Taiwan. | |
25 | * | |
26 | * Larry Finger <Larry.Finger@lwfinger.net> | |
27 | * | |
28 | *****************************************************************************/ | |
29 | ||
30 | #ifndef __RTL92CU_HW_H__ | |
31 | #define __RTL92CU_HW_H__ | |
32 | ||
1472d3a8 LF |
33 | #define H2C_RA_MASK 6 |
34 | ||
18d30067 G |
35 | #define LLT_POLLING_LLT_THRESHOLD 20 |
36 | #define LLT_POLLING_READY_TIMEOUT_COUNT 100 | |
37 | #define LLT_LAST_ENTRY_OF_TX_PKT_BUFFER 255 | |
38 | ||
39 | #define RX_PAGE_SIZE_REG_VALUE PBP_128 | |
40 | /* Note: We will divide number of page equally for each queue | |
41 | * other than public queue! */ | |
42 | #define TX_TOTAL_PAGE_NUMBER 0xF8 | |
43 | #define TX_PAGE_BOUNDARY (TX_TOTAL_PAGE_NUMBER + 1) | |
44 | ||
45 | ||
46 | #define CHIP_B_PAGE_NUM_PUBQ 0xE7 | |
47 | ||
48 | /* For Test Chip Setting | |
49 | * (HPQ + LPQ + PUBQ) shall be TX_TOTAL_PAGE_NUMBER */ | |
50 | #define CHIP_A_PAGE_NUM_PUBQ 0x7E | |
51 | ||
52 | ||
53 | /* For Chip A Setting */ | |
54 | #define WMM_CHIP_A_TX_TOTAL_PAGE_NUMBER 0xF5 | |
55 | #define WMM_CHIP_A_TX_PAGE_BOUNDARY \ | |
56 | (WMM_CHIP_A_TX_TOTAL_PAGE_NUMBER + 1) /* F6 */ | |
57 | ||
58 | #define WMM_CHIP_A_PAGE_NUM_PUBQ 0xA3 | |
59 | #define WMM_CHIP_A_PAGE_NUM_HPQ 0x29 | |
60 | #define WMM_CHIP_A_PAGE_NUM_LPQ 0x29 | |
61 | ||
62 | ||
63 | ||
64 | /* Note: For Chip B Setting ,modify later */ | |
65 | #define WMM_CHIP_B_TX_TOTAL_PAGE_NUMBER 0xF5 | |
66 | #define WMM_CHIP_B_TX_PAGE_BOUNDARY \ | |
67 | (WMM_CHIP_B_TX_TOTAL_PAGE_NUMBER + 1) /* F6 */ | |
68 | ||
69 | #define WMM_CHIP_B_PAGE_NUM_PUBQ 0xB0 | |
70 | #define WMM_CHIP_B_PAGE_NUM_HPQ 0x29 | |
71 | #define WMM_CHIP_B_PAGE_NUM_LPQ 0x1C | |
72 | #define WMM_CHIP_B_PAGE_NUM_NPQ 0x1C | |
73 | ||
74 | #define BOARD_TYPE_NORMAL_MASK 0xE0 | |
75 | #define BOARD_TYPE_TEST_MASK 0x0F | |
76 | ||
77 | /* should be renamed and moved to another file */ | |
78 | enum _BOARD_TYPE_8192CUSB { | |
79 | BOARD_USB_DONGLE = 0, /* USB dongle */ | |
80 | BOARD_USB_High_PA = 1, /* USB dongle - high power PA */ | |
81 | BOARD_MINICARD = 2, /* Minicard */ | |
82 | BOARD_USB_SOLO = 3, /* USB solo-Slim module */ | |
83 | BOARD_USB_COMBO = 4, /* USB Combo-Slim module */ | |
84 | }; | |
85 | ||
86 | #define IS_HIGHT_PA(boardtype) \ | |
87 | ((boardtype == BOARD_USB_High_PA) ? true : false) | |
88 | ||
89 | #define RTL92C_DRIVER_INFO_SIZE 4 | |
90 | void rtl92cu_read_eeprom_info(struct ieee80211_hw *hw); | |
91 | void rtl92cu_enable_hw_security_config(struct ieee80211_hw *hw); | |
92 | int rtl92cu_hw_init(struct ieee80211_hw *hw); | |
93 | void rtl92cu_card_disable(struct ieee80211_hw *hw); | |
94 | int rtl92cu_set_network_type(struct ieee80211_hw *hw, enum nl80211_iftype type); | |
95 | void rtl92cu_set_beacon_related_registers(struct ieee80211_hw *hw); | |
96 | void rtl92cu_set_beacon_interval(struct ieee80211_hw *hw); | |
97 | void rtl92cu_update_interrupt_mask(struct ieee80211_hw *hw, | |
98 | u32 add_msr, u32 rm_msr); | |
99 | void rtl92cu_get_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val); | |
100 | void rtl92cu_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val); | |
18d30067 G |
101 | |
102 | void rtl92cu_update_channel_access_setting(struct ieee80211_hw *hw); | |
103 | bool rtl92cu_gpio_radio_on_off_checking(struct ieee80211_hw *hw, u8 * valid); | |
104 | void rtl92cu_set_check_bssid(struct ieee80211_hw *hw, bool check_bssid); | |
1472d3a8 LF |
105 | int rtl92c_download_fw(struct ieee80211_hw *hw); |
106 | void rtl92c_set_fw_pwrmode_cmd(struct ieee80211_hw *hw, u8 mode); | |
1472d3a8 LF |
107 | void rtl92c_set_fw_joinbss_report_cmd(struct ieee80211_hw *hw, u8 mstatus); |
108 | void rtl92c_fill_h2c_cmd(struct ieee80211_hw *hw, | |
109 | u8 element_id, u32 cmd_len, u8 *p_cmdbuffer); | |
110 | bool rtl92cu_phy_mac_config(struct ieee80211_hw *hw); | |
d28e5e5d MS |
111 | void rtl92cu_update_hal_rate_tbl(struct ieee80211_hw *hw, |
112 | struct ieee80211_sta *sta, | |
113 | u8 rssi_level); | |
18d30067 G |
114 | |
115 | #endif |