linux/drivers/staging/rtl8723bs/include/hal_phy.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 */
   2/******************************************************************************
   3 *
   4 * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
   5 *
   6 ******************************************************************************/
   7#ifndef __HAL_PHY_H__
   8#define __HAL_PHY_H__
   9
  10
  11#if DISABLE_BB_RF
  12#define HAL_FW_ENABLE                           0
  13#define HAL_MAC_ENABLE                  0
  14#define HAL_BB_ENABLE                           0
  15#define HAL_RF_ENABLE                           0
  16#else /*  FPGA_PHY and ASIC */
  17#define         HAL_FW_ENABLE                           1
  18#define HAL_MAC_ENABLE                  1
  19#define HAL_BB_ENABLE                           1
  20#define HAL_RF_ENABLE                           1
  21#endif
  22
  23#define RF6052_MAX_TX_PWR                       0x3F
  24#define RF6052_MAX_REG_88E                      0xFF
  25#define RF6052_MAX_REG_92C                      0x7F
  26
  27#define RF6052_MAX_REG  \
  28                (RF6052_MAX_REG_88E > RF6052_MAX_REG_92C) ? RF6052_MAX_REG_88E: RF6052_MAX_REG_92C
  29
  30#define GET_RF6052_REAL_MAX_REG(_Adapter)       RF6052_MAX_REG_92C
  31
  32#define RF6052_MAX_PATH                         2
  33
  34/*  */
  35/*  Antenna detection method, i.e., using single tone detection or RSSI reported from each antenna detected. */
  36/*  Added by Roger, 2013.05.22. */
  37/*  */
  38#define ANT_DETECT_BY_SINGLE_TONE       BIT0
  39#define ANT_DETECT_BY_RSSI                              BIT1
  40#define IS_ANT_DETECT_SUPPORT_SINGLE_TONE(__Adapter)            ((GET_HAL_DATA(__Adapter)->AntDetection) & ANT_DETECT_BY_SINGLE_TONE)
  41#define IS_ANT_DETECT_SUPPORT_RSSI(__Adapter)           ((GET_HAL_DATA(__Adapter)->AntDetection) & ANT_DETECT_BY_RSSI)
  42
  43
  44/*--------------------------Define Parameters-------------------------------*/
  45enum BAND_TYPE {
  46        BAND_ON_2_4G = 0,
  47        BAND_ON_5G,
  48        BAND_ON_BOTH,
  49        BANDMAX
  50};
  51
  52enum RF_TYPE {
  53        RF_TYPE_MIN = 0,        /*  0 */
  54        RF_8225 = 1,            /*  1 11b/g RF for verification only */
  55        RF_8256 = 2,            /*  2 11b/g/n */
  56        RF_8258 = 3,            /*  3 11a/b/g/n RF */
  57        RF_6052 = 4,            /*  4 11b/g/n RF */
  58        RF_PSEUDO_11N = 5,      /*  5, It is a temporality RF. */
  59        RF_TYPE_MAX
  60};
  61
  62enum RF_PATH {
  63        RF_PATH_A = 0,
  64        RF_PATH_B,
  65        RF_PATH_C,
  66        RF_PATH_D
  67};
  68
  69#define TX_1S                   0
  70#define TX_2S                   1
  71#define TX_3S                   2
  72#define TX_4S                   3
  73
  74#define RF_PATH_MAX_92C_88E             2
  75#define RF_PATH_MAX_90_8812             4       /* Max RF number 90 support */
  76
  77enum ANTENNA_PATH {
  78       ANTENNA_NONE     = 0,
  79        ANTENNA_D       = 1,
  80        ANTENNA_C       = 2,
  81        ANTENNA_CD      = 3,
  82        ANTENNA_B       = 4,
  83        ANTENNA_BD      = 5,
  84        ANTENNA_BC      = 6,
  85        ANTENNA_BCD     = 7,
  86        ANTENNA_A       = 8,
  87        ANTENNA_AD      = 9,
  88        ANTENNA_AC      = 10,
  89        ANTENNA_ACD     = 11,
  90        ANTENNA_AB      = 12,
  91        ANTENNA_ABD     = 13,
  92        ANTENNA_ABC     = 14,
  93        ANTENNA_ABCD    = 15
  94};
  95
  96enum RF_CONTENT {
  97        radioa_txt = 0x1000,
  98        radiob_txt = 0x1001,
  99        radioc_txt = 0x1002,
 100        radiod_txt = 0x1003
 101};
 102
 103enum BaseBand_Config_Type {
 104        BaseBand_Config_PHY_REG = 0,                    /* Radio Path A */
 105        BaseBand_Config_AGC_TAB = 1,                    /* Radio Path B */
 106        BaseBand_Config_AGC_TAB_2G = 2,
 107        BaseBand_Config_AGC_TAB_5G = 3,
 108        BaseBand_Config_PHY_REG_PG
 109};
 110
 111enum HW_BLOCK {
 112        HW_BLOCK_MAC = 0,
 113        HW_BLOCK_PHY0 = 1,
 114        HW_BLOCK_PHY1 = 2,
 115        HW_BLOCK_RF = 3,
 116        HW_BLOCK_MAXIMUM = 4, /*  Never use this */
 117};
 118
 119enum WIRELESS_MODE {
 120        WIRELESS_MODE_UNKNOWN = 0x00,
 121        WIRELESS_MODE_A = 0x01,
 122        WIRELESS_MODE_B = 0x02,
 123        WIRELESS_MODE_G = 0x04,
 124        WIRELESS_MODE_AUTO = 0x08,
 125        WIRELESS_MODE_N_24G = 0x10,
 126        WIRELESS_MODE_N_5G = 0x20,
 127        WIRELESS_MODE_AC_5G = 0x40,
 128        WIRELESS_MODE_AC_24G  = 0x80,
 129        WIRELESS_MODE_AC_ONLY  = 0x100,
 130};
 131
 132enum SwChnlCmdID {
 133        CmdID_End,
 134        CmdID_SetTxPowerLevel,
 135        CmdID_BBRegWrite10,
 136        CmdID_WritePortUlong,
 137        CmdID_WritePortUshort,
 138        CmdID_WritePortUchar,
 139        CmdID_RF_WriteReg,
 140};
 141
 142struct SwChnlCmd {
 143        enum SwChnlCmdID        CmdID;
 144        u32                     Para1;
 145        u32                     Para2;
 146        u32                     msDelay;
 147};
 148
 149struct R_ANTENNA_SELECT_OFDM {
 150#ifdef __LITTLE_ENDIAN
 151        u32             r_tx_antenna:4;
 152        u32             r_ant_l:4;
 153        u32             r_ant_non_ht:4;
 154        u32             r_ant_ht1:4;
 155        u32             r_ant_ht2:4;
 156        u32             r_ant_ht_s1:4;
 157        u32             r_ant_non_ht_s1:4;
 158        u32             OFDM_TXSC:2;
 159        u32             Reserved:2;
 160#else
 161        u32             Reserved:2;
 162        u32             OFDM_TXSC:2;
 163        u32             r_ant_non_ht_s1:4;
 164        u32             r_ant_ht_s1:4;
 165        u32             r_ant_ht2:4;
 166        u32             r_ant_ht1:4;
 167        u32             r_ant_non_ht:4;
 168        u32             r_ant_l:4;
 169        u32             r_tx_antenna:4;
 170#endif
 171};
 172
 173/*--------------------------Exported Function prototype---------------------*/
 174
 175#endif /* __HAL_COMMON_H__ */
 176