158391efdSNathan Chancellor /* SPDX-License-Identifier: GPL-2.0 */ 2554c0a3aSHans de Goede /****************************************************************************** 3554c0a3aSHans de Goede * 4554c0a3aSHans de Goede * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved. 5554c0a3aSHans de Goede * 6554c0a3aSHans de Goede ******************************************************************************/ 7554c0a3aSHans de Goede #ifndef __HAL_PHY_H__ 8554c0a3aSHans de Goede #define __HAL_PHY_H__ 9554c0a3aSHans de Goede 10554c0a3aSHans de Goede 11554c0a3aSHans de Goede #if DISABLE_BB_RF 12554c0a3aSHans de Goede #define HAL_FW_ENABLE 0 13554c0a3aSHans de Goede #define HAL_MAC_ENABLE 0 14554c0a3aSHans de Goede #define HAL_BB_ENABLE 0 15554c0a3aSHans de Goede #define HAL_RF_ENABLE 0 16554c0a3aSHans de Goede #else /* FPGA_PHY and ASIC */ 17554c0a3aSHans de Goede #define HAL_FW_ENABLE 1 18554c0a3aSHans de Goede #define HAL_MAC_ENABLE 1 19554c0a3aSHans de Goede #define HAL_BB_ENABLE 1 20554c0a3aSHans de Goede #define HAL_RF_ENABLE 1 21554c0a3aSHans de Goede #endif 22554c0a3aSHans de Goede 23554c0a3aSHans de Goede #define RF6052_MAX_TX_PWR 0x3F 24554c0a3aSHans de Goede #define RF6052_MAX_REG_88E 0xFF 25554c0a3aSHans de Goede #define RF6052_MAX_REG_92C 0x7F 26554c0a3aSHans de Goede 27554c0a3aSHans de Goede #define RF6052_MAX_REG \ 28554c0a3aSHans de Goede (RF6052_MAX_REG_88E > RF6052_MAX_REG_92C) ? RF6052_MAX_REG_88E : RF6052_MAX_REG_92C 29554c0a3aSHans de Goede 30554c0a3aSHans de Goede #define GET_RF6052_REAL_MAX_REG(_Adapter) RF6052_MAX_REG_92C 31554c0a3aSHans de Goede 32554c0a3aSHans de Goede #define RF6052_MAX_PATH 2 33554c0a3aSHans de Goede 34554c0a3aSHans de Goede /* */ 35554c0a3aSHans de Goede /* Antenna detection method, i.e., using single tone detection or RSSI reported from each antenna detected. */ 36554c0a3aSHans de Goede /* Added by Roger, 2013.05.22. */ 37554c0a3aSHans de Goede /* */ 38554c0a3aSHans de Goede #define ANT_DETECT_BY_SINGLE_TONE BIT0 39554c0a3aSHans de Goede #define ANT_DETECT_BY_RSSI BIT1 40554c0a3aSHans de Goede #define IS_ANT_DETECT_SUPPORT_SINGLE_TONE(__Adapter) ((GET_HAL_DATA(__Adapter)->AntDetection) & ANT_DETECT_BY_SINGLE_TONE) 41554c0a3aSHans de Goede #define IS_ANT_DETECT_SUPPORT_RSSI(__Adapter) ((GET_HAL_DATA(__Adapter)->AntDetection) & ANT_DETECT_BY_RSSI) 42554c0a3aSHans de Goede 43554c0a3aSHans de Goede 44554c0a3aSHans de Goede /*--------------------------Define Parameters-------------------------------*/ 45ae92c1e5SMarco Cesati enum band_type { 46554c0a3aSHans de Goede BAND_ON_2_4G = 0, 47554c0a3aSHans de Goede BAND_ON_5G, 48554c0a3aSHans de Goede BAND_ON_BOTH, 49554c0a3aSHans de Goede BANDMAX 50554c0a3aSHans de Goede }; 51554c0a3aSHans de Goede 52*ecebe41eSMarco Cesati enum { 53554c0a3aSHans de Goede RF_TYPE_MIN = 0, /* 0 */ 54554c0a3aSHans de Goede RF_8225 = 1, /* 1 11b/g RF for verification only */ 55554c0a3aSHans de Goede RF_8256 = 2, /* 2 11b/g/n */ 56554c0a3aSHans de Goede RF_8258 = 3, /* 3 11a/b/g/n RF */ 57554c0a3aSHans de Goede RF_6052 = 4, /* 4 11b/g/n RF */ 58554c0a3aSHans de Goede RF_PSEUDO_11N = 5, /* 5, It is a temporality RF. */ 59554c0a3aSHans de Goede RF_TYPE_MAX 60554c0a3aSHans de Goede }; 61554c0a3aSHans de Goede 62ae92c1e5SMarco Cesati enum rf_path { 63554c0a3aSHans de Goede RF_PATH_A = 0, 64554c0a3aSHans de Goede RF_PATH_B, 65554c0a3aSHans de Goede RF_PATH_C, 66554c0a3aSHans de Goede RF_PATH_D 67554c0a3aSHans de Goede }; 68554c0a3aSHans de Goede 69554c0a3aSHans de Goede #define TX_1S 0 70554c0a3aSHans de Goede #define TX_2S 1 71554c0a3aSHans de Goede #define TX_3S 2 72554c0a3aSHans de Goede #define TX_4S 3 73554c0a3aSHans de Goede 74554c0a3aSHans de Goede #define RF_PATH_MAX_92C_88E 2 75554c0a3aSHans de Goede #define RF_PATH_MAX_90_8812 4 /* Max RF number 90 support */ 76554c0a3aSHans de Goede 77ae92c1e5SMarco Cesati enum wireless_mode { 78554c0a3aSHans de Goede WIRELESS_MODE_UNKNOWN = 0x00, 79554c0a3aSHans de Goede WIRELESS_MODE_A = 0x01, 80554c0a3aSHans de Goede WIRELESS_MODE_B = 0x02, 81554c0a3aSHans de Goede WIRELESS_MODE_G = 0x04, 82554c0a3aSHans de Goede WIRELESS_MODE_AUTO = 0x08, 83554c0a3aSHans de Goede WIRELESS_MODE_N_24G = 0x10, 84554c0a3aSHans de Goede WIRELESS_MODE_N_5G = 0x20, 85554c0a3aSHans de Goede WIRELESS_MODE_AC_5G = 0x40, 86554c0a3aSHans de Goede WIRELESS_MODE_AC_24G = 0x80, 87554c0a3aSHans de Goede WIRELESS_MODE_AC_ONLY = 0x100, 88554c0a3aSHans de Goede }; 89554c0a3aSHans de Goede 90554c0a3aSHans de Goede enum SwChnlCmdID { 91554c0a3aSHans de Goede CmdID_End, 92554c0a3aSHans de Goede CmdID_SetTxPowerLevel, 93554c0a3aSHans de Goede CmdID_BBRegWrite10, 94554c0a3aSHans de Goede CmdID_WritePortUlong, 95554c0a3aSHans de Goede CmdID_WritePortUshort, 96554c0a3aSHans de Goede CmdID_WritePortUchar, 97554c0a3aSHans de Goede CmdID_RF_WriteReg, 98554c0a3aSHans de Goede }; 99554c0a3aSHans de Goede 100554c0a3aSHans de Goede struct SwChnlCmd { 101554c0a3aSHans de Goede enum SwChnlCmdID CmdID; 102554c0a3aSHans de Goede u32 Para1; 103554c0a3aSHans de Goede u32 Para2; 104554c0a3aSHans de Goede u32 msDelay; 105554c0a3aSHans de Goede }; 106554c0a3aSHans de Goede 107554c0a3aSHans de Goede /*--------------------------Exported Function prototype---------------------*/ 108554c0a3aSHans de Goede 109554c0a3aSHans de Goede #endif /* __HAL_COMMON_H__ */ 110