OSDN Git Service

original
[gb-231r1-is01/Gingerbread_2.3.3_r1_IS01.git] / system / wlan / ti / sta_dk_4_0_4_32 / common / src / hal / FirmwareApi / public_radio.h
1 /****************************************************************************
2 **+-----------------------------------------------------------------------+**
3 **|                                                                       |**
4 **| Copyright(c) 1998 - 2008 Texas Instruments. All rights reserved.      |**
5 **| All rights reserved.                                                  |**
6 **|                                                                       |**
7 **| Redistribution and use in source and binary forms, with or without    |**
8 **| modification, are permitted provided that the following conditions    |**
9 **| are met:                                                              |**
10 **|                                                                       |**
11 **|  * Redistributions of source code must retain the above copyright     |**
12 **|    notice, this list of conditions and the following disclaimer.      |**
13 **|  * Redistributions in binary form must reproduce the above copyright  |**
14 **|    notice, this list of conditions and the following disclaimer in    |**
15 **|    the documentation and/or other materials provided with the         |**
16 **|    distribution.                                                      |**
17 **|  * Neither the name Texas Instruments nor the names of its            |**
18 **|    contributors may be used to endorse or promote products derived    |**
19 **|    from this software without specific prior written permission.      |**
20 **|                                                                       |**
21 **| THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS   |**
22 **| "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT     |**
23 **| LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |**
24 **| A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT  |**
25 **| OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |**
26 **| SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT      |**
27 **| LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |**
28 **| DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |**
29 **| THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT   |**
30 **| (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |**
31 **| OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  |**
32 **|                                                                       |**
33 **+-----------------------------------------------------------------------+**
34 ****************************************************************************/
35
36 /** \file public_radio.h
37  *  \brief Contains information element defines/structures used by the TNETxxxx and host and Radio Module.
38  *
39  */
40
41 /*
42 =======================================================================================================================
43                       R E V I S I O N    H I S T O R Y
44
45   04/29/05  BRK  1. retrieved from ClearCase and added this rev. history
46                  2. added two new entries to RadioParamType_e  enum
47                  3. increased MAX_RADIO_PARAM_POWER_TABLE (from 20 to 56)
48                     - this is sort of a kludge, struct RadioParam_t  should have used an
49                       array pointer instead of an actual data block
50   06/10/05  BRK  changed MAX_RADIO_PARAM_POWER_TABLE for 1251 support (sort of a KLUDGE)
51   07/15/05  BRK  added RADIO_PABIAS_TABLE entry to RadioParamType_e  enum
52   04/12/06  MH   Added new run-time calibration state: RFPLL_CALIBRATION_NEEDED
53
54   Note: This code should only be edited with TAB stops set at 4
55 =======================================================================================================================
56  */
57 #ifndef PUBLIC_RADIO
58 #define PUBLIC_RADIO
59
60 // radio parameter to set
61  #ifdef TNETW1251
62 #define MAX_RADIO_PARAM_POWER_TABLE  4*48   // cPowLmtTbl[] max size for ABG radios
63  #else
64 #define MAX_RADIO_PARAM_POWER_TABLE  56     // cPowLmtTbl[] max size for BG radios
65  #endif
66 #define MAX_RADIO_PARAM_LEN          MAX_RADIO_PARAM_POWER_TABLE
67
68 #define RADIO_PARAM_POWER_TABLE_ENABLE        0x01  // mask for RADIO_PARAM_POWER_ENABLES usage
69 #define RADIO_PARAM_POWER_LIMIT_TABLE_ENABLE  0x02  // mask for RADIO_PARAM_POWER_ENABLES usage
70 #define RADIO_PARAM_POWER_ADJ_TABLE_ENABLE    0x04  // mask for RADIO_PARAM_POWER_ENABLES usage
71
72
73 #define NUM_OF_SUB_BANDS        5
74 #define NUM_OF_POWER_LEVEL      4
75
76 #ifndef HOST_IF_ENUMS_DISABLED
77 typedef enum RadioParamType_e
78 {
79     RADIO_PARAM_POWER_TABLE = 1,
80     RADIO_PARAM_POWER_LIMIT_TABLE,
81     RADIO_PARAM_POWER_ADJ_TABLE,
82     RADIO_PARAM_POWER_ENABLES,
83     RADIO_PABIAS_TABLE,
84         RADIO_PARAM_POWER_LEVELS,
85     MAX_RADIO_PARAM_TYPE = 0x7FFFFFFF /* force this enum to be uint32 */
86 } RadioParamType_e;
87 #else
88 typedef uint32 RadioParamType_e;
89 #endif
90
91 typedef struct RadioParam_t
92 {
93     RadioParamType_e parameterType;
94     int8  parameter[MAX_RADIO_PARAM_LEN];
95 } RadioParam_t;
96
97
98 /******************************************************************************
99
100     Name:       ACX_CAL_ASSESSMENT
101         Type:   Configuration
102         Access: Write Only
103         Length: 4
104         Note:   OBSOLETE !!! (DO_CALIBRATION_IN_DRIVER is not defined)
105         
106 ******************************************************************************/
107
108 typedef enum
109 {
110     RUNTIME_CALIBRATION_NOT_NEEDED = 1,
111     RUNTIME_CALIBRATION_NEEDED = 2,
112     RFPLL_CALIBRATION_NEEDED = 3,
113     MAX_RUNTIME_CALIBRATION_OPTIONS = 0x7FFFFFFF // force this enum to be uint32 
114 } RadioRuntimeCalState_enum;
115
116
117
118 #ifdef HOST_COMPILE
119 typedef uint32 RadioRuntimeCalState_e;
120 #else
121 typedef RadioRuntimeCalState_enum RadioRuntimeCalState_e;
122 #endif
123
124 /************************************************************************/
125 /*                                                                                                                                              */      
126 /*                                                      Commands section                            */
127 /*                                                                                                                                              */
128 /************************************************************************/
129
130
131 /******************************************************************************
132
133         Name:       ACX_PLT_NVS_BUFFER_UPDATE 
134         TestCmdId:      TEST_CMD_PLT_GET_NVS_UPDATE_BUFFER
135         Description: This PLT function provides the all information required by 
136                                         the upper driver in order to update the NVS image.
137                                         It received a parameter defining the type of update 
138                                         information required and provides an array of elements defining 
139                                         the data bytes to be written to the NVS image and the byte 
140                                         offset in which they should be written.         
141         Type:   PLT
142         Access: Read Only
143         Length: 420
144
145 ******************************************************************************/
146 #define  NVS_RESULTS_MAX_NUM_OF_TABLES          4
147 #define  NVS_RESULTS_MAX_UPDATE_TABLE_SIZE 100  
148
149 typedef struct resultsBuffer_t 
150 {
151          uint16   size;                                                               /* size of table*/
152      uint16   offset;                                                         /* offset in the binary image of the NVS file*/
153      uint8    data[NVS_RESULTS_MAX_UPDATE_TABLE_SIZE];/* the actual table data */
154 }resultsBuffer_t;
155
156
157 typedef struct PltNvsResultsBuffer_t
158 {
159         resultsBuffer_t tables[NVS_RESULTS_MAX_NUM_OF_TABLES];  /* array of structures of type containing the tables*/
160         uint8                   numOfTables;                                        /* number of tables needed to be updated*/
161         uint8                   padding[3];
162 }PltNvsResultsBuffer_t;
163
164
165 typedef struct PltGainGet_t
166 {
167             uint8 TxGain;            //Total TX chain gain according to the current setting
168             uint8 TxUpperBound;      //the max gain setting allowed
169             uint8 TxLowerBound;      //the min gain setting allowed
170             uint8 padding;           /* padding to 32 bit */
171 }PltGainGet_t;
172
173 #endif