• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /******************************************************************************
2  *
3  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
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  *
15  ******************************************************************************/
16 
17 #ifndef	__HALHWOUTSRC_H__
18 #define __HALHWOUTSRC_H__
19 
20 /*  Definition */
21 /*  CCK Rates, TxHT = 0 */
22 #define DESC92C_RATE1M				0x00
23 #define DESC92C_RATE2M				0x01
24 #define DESC92C_RATE5_5M			0x02
25 #define DESC92C_RATE11M				0x03
26 
27 /*  OFDM Rates, TxHT = 0 */
28 #define DESC92C_RATE6M				0x04
29 #define DESC92C_RATE9M				0x05
30 #define DESC92C_RATE12M				0x06
31 #define DESC92C_RATE18M				0x07
32 #define DESC92C_RATE24M				0x08
33 #define DESC92C_RATE36M				0x09
34 #define DESC92C_RATE48M				0x0a
35 #define DESC92C_RATE54M				0x0b
36 
37 /*  MCS Rates, TxHT = 1 */
38 #define DESC92C_RATEMCS0			0x0c
39 #define DESC92C_RATEMCS1			0x0d
40 #define DESC92C_RATEMCS2			0x0e
41 #define DESC92C_RATEMCS3			0x0f
42 #define DESC92C_RATEMCS4			0x10
43 #define DESC92C_RATEMCS5			0x11
44 #define DESC92C_RATEMCS6			0x12
45 #define DESC92C_RATEMCS7			0x13
46 #define DESC92C_RATEMCS8			0x14
47 #define DESC92C_RATEMCS9			0x15
48 #define DESC92C_RATEMCS10			0x16
49 #define DESC92C_RATEMCS11			0x17
50 #define DESC92C_RATEMCS12			0x18
51 #define DESC92C_RATEMCS13			0x19
52 #define DESC92C_RATEMCS14			0x1a
53 #define DESC92C_RATEMCS15			0x1b
54 #define DESC92C_RATEMCS15_SG			0x1c
55 #define DESC92C_RATEMCS32			0x20
56 
57 /*  structure and define */
58 
59 struct phy_rx_agc_info {
60 	#ifdef __LITTLE_ENDIAN
61 		u8	gain:7, trsw:1;
62 	#else
63 		u8	trsw:1, gain:7;
64 	#endif
65 };
66 
67 struct phy_status_rpt {
68 	struct phy_rx_agc_info path_agc[RF_PATH_MAX];
69 	u8	ch_corr[2];
70 	u8	cck_sig_qual_ofdm_pwdb_all;
71 	u8	cck_agc_rpt_ofdm_cfosho_a;
72 	u8	cck_rpt_b_ofdm_cfosho_b;
73 	u8	rsvd_1;/* ch_corr_msb; */
74 	u8	noise_power_db_msb;
75 	u8	path_cfotail[2];
76 	u8	pcts_mask[2];
77 	s8	stream_rxevm[2];
78 	u8	path_rxsnr[3];
79 	u8	noise_power_db_lsb;
80 	u8	rsvd_2[3];
81 	u8	stream_csi[2];
82 	u8	stream_target_csi[2];
83 	s8	sig_evm;
84 	u8	rsvd_3;
85 
86 #ifdef __LITTLE_ENDIAN
87 	u8	antsel_rx_keep_2:1;	/* ex_intf_flg:1; */
88 	u8	sgi_en:1;
89 	u8	rxsc:2;
90 	u8	idle_long:1;
91 	u8	r_ant_train_en:1;
92 	u8	ant_sel_b:1;
93 	u8	ant_sel:1;
94 #else	/*  _BIG_ENDIAN_ */
95 	u8	ant_sel:1;
96 	u8	ant_sel_b:1;
97 	u8	r_ant_train_en:1;
98 	u8	idle_long:1;
99 	u8	rxsc:2;
100 	u8	sgi_en:1;
101 	u8	antsel_rx_keep_2:1;	/* ex_intf_flg:1; */
102 #endif
103 };
104 
105 void odm_Init_RSSIForDM(struct odm_dm_struct *pDM_Odm);
106 
107 void ODM_PhyStatusQuery(struct odm_dm_struct *pDM_Odm,
108 			struct odm_phy_status_info *pPhyInfo,
109 			u8 *pPhyStatus,
110 			struct odm_per_pkt_info *pPktinfo);
111 
112 void ODM_MacStatusQuery(struct odm_dm_struct *pDM_Odm,
113 			u8 *pMacStatus,
114 			u8	MacID,
115 			bool	bPacketMatchBSSID,
116 			bool	bPacketToSelf,
117 			bool	bPacketBeacon);
118 
119 #endif
120