root/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/hw.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0 */
   2 /* Copyright(c) 2009-2012  Realtek Corporation.*/
   3 
   4 #ifndef __RTL92CU_HW_H__
   5 #define __RTL92CU_HW_H__
   6 
   7 #define H2C_RA_MASK     6
   8 
   9 #define LLT_LAST_ENTRY_OF_TX_PKT_BUFFER         255
  10 
  11 #define RX_PAGE_SIZE_REG_VALUE                  PBP_128
  12 /* Note: We will divide number of page equally for each queue
  13  * other than public queue! */
  14 #define TX_TOTAL_PAGE_NUMBER                    0xF8
  15 #define TX_PAGE_BOUNDARY                        (TX_TOTAL_PAGE_NUMBER + 1)
  16 
  17 #define CHIP_B_PAGE_NUM_PUBQ                    0xE7
  18 
  19 /* For Test Chip Setting
  20  * (HPQ + LPQ + PUBQ) shall be TX_TOTAL_PAGE_NUMBER */
  21 #define CHIP_A_PAGE_NUM_PUBQ                    0x7E
  22 
  23 /* For Chip A Setting */
  24 #define WMM_CHIP_A_TX_TOTAL_PAGE_NUMBER         0xF5
  25 #define WMM_CHIP_A_TX_PAGE_BOUNDARY             \
  26         (WMM_CHIP_A_TX_TOTAL_PAGE_NUMBER + 1) /* F6 */
  27 
  28 #define WMM_CHIP_A_PAGE_NUM_PUBQ                0xA3
  29 #define WMM_CHIP_A_PAGE_NUM_HPQ                 0x29
  30 #define WMM_CHIP_A_PAGE_NUM_LPQ                 0x29
  31 
  32 /* Note: For Chip B Setting ,modify later */
  33 #define WMM_CHIP_B_TX_TOTAL_PAGE_NUMBER         0xF5
  34 #define WMM_CHIP_B_TX_PAGE_BOUNDARY             \
  35         (WMM_CHIP_B_TX_TOTAL_PAGE_NUMBER + 1) /* F6 */
  36 
  37 #define WMM_CHIP_B_PAGE_NUM_PUBQ                0xB0
  38 #define WMM_CHIP_B_PAGE_NUM_HPQ                 0x29
  39 #define WMM_CHIP_B_PAGE_NUM_LPQ                 0x1C
  40 #define WMM_CHIP_B_PAGE_NUM_NPQ                 0x1C
  41 
  42 #define BOARD_TYPE_NORMAL_MASK                  0xE0
  43 #define BOARD_TYPE_TEST_MASK                    0x0F
  44 
  45 /* should be renamed and moved to another file */
  46 enum _BOARD_TYPE_8192CUSB {
  47         BOARD_USB_DONGLE                = 0,    /* USB dongle */
  48         BOARD_USB_HIGH_PA               = 1,    /* USB dongle - high power PA */
  49         BOARD_MINICARD                  = 2,    /* Minicard */
  50         BOARD_USB_SOLO                  = 3,    /* USB solo-Slim module */
  51         BOARD_USB_COMBO                 = 4,    /* USB Combo-Slim module */
  52 };
  53 
  54 #define IS_HIGHT_PA(boardtype)          \
  55         ((boardtype == BOARD_USB_HIGH_PA) ? true : false)
  56 
  57 #define RTL92C_DRIVER_INFO_SIZE                         4
  58 void rtl92cu_read_eeprom_info(struct ieee80211_hw *hw);
  59 void rtl92cu_enable_hw_security_config(struct ieee80211_hw *hw);
  60 int rtl92cu_hw_init(struct ieee80211_hw *hw);
  61 void rtl92cu_card_disable(struct ieee80211_hw *hw);
  62 int rtl92cu_set_network_type(struct ieee80211_hw *hw, enum nl80211_iftype type);
  63 void rtl92cu_set_beacon_related_registers(struct ieee80211_hw *hw);
  64 void rtl92cu_set_beacon_interval(struct ieee80211_hw *hw);
  65 void rtl92cu_update_interrupt_mask(struct ieee80211_hw *hw,
  66                                    u32 add_msr, u32 rm_msr);
  67 void rtl92cu_get_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val);
  68 void rtl92cu_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val);
  69 
  70 void rtl92cu_update_channel_access_setting(struct ieee80211_hw *hw);
  71 bool rtl92cu_gpio_radio_on_off_checking(struct ieee80211_hw *hw, u8 * valid);
  72 void rtl92cu_set_check_bssid(struct ieee80211_hw *hw, bool check_bssid);
  73 int rtl92c_download_fw(struct ieee80211_hw *hw);
  74 void rtl92c_set_fw_pwrmode_cmd(struct ieee80211_hw *hw, u8 mode);
  75 void rtl92c_set_fw_joinbss_report_cmd(struct ieee80211_hw *hw, u8 mstatus);
  76 void rtl92c_fill_h2c_cmd(struct ieee80211_hw *hw,
  77                          u8 element_id, u32 cmd_len, u8 *p_cmdbuffer);
  78 bool rtl92cu_phy_mac_config(struct ieee80211_hw *hw);
  79 void rtl92cu_update_hal_rate_tbl(struct ieee80211_hw *hw,
  80                                  struct ieee80211_sta *sta,
  81                                  u8 rssi_level, bool update_bw);
  82 
  83 #endif

/* [<][>][^][v][top][bottom][index][help] */