TWD/FirmwareApi/public_radio.h
changeset 0 10c42ec6c05f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TWD/FirmwareApi/public_radio.h	Tue Jun 29 12:34:26 2010 +0100
@@ -0,0 +1,1768 @@
+/*
+ * public_radio.h
+ *
+ * Copyright(c) 1998 - 2010 Texas Instruments. All rights reserved.      
+ * All rights reserved.      
+ * 
+ * This program and the accompanying materials are made available under the 
+ * terms of the Eclipse Public License v1.0 or BSD License which accompanies
+ * this distribution. The Eclipse Public License is available at
+ * http://www.eclipse.org/legal/epl-v10.html and the BSD License is as below.                                   
+ *                                                                       
+ * Redistribution and use in source and binary forms, with or without    
+ * modification, are permitted provided that the following conditions    
+ * are met:                                                              
+ *                                                                       
+ *  * Redistributions of source code must retain the above copyright     
+ *    notice, this list of conditions and the following disclaimer.      
+ *  * Redistributions in binary form must reproduce the above copyright  
+ *    notice, this list of conditions and the following disclaimer in    
+ *    the documentation and/or other materials provided with the         
+ *    distribution.                                                      
+ *  * Neither the name Texas Instruments nor the names of its            
+ *    contributors may be used to endorse or promote products derived    
+ *    from this software without specific prior written permission.      
+ *                                                                       
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS   
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT     
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT  
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT      
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT   
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/**********************************************************************************************************************
+  FILENAME:       public_radio.h
+
+  DESCRIPTION:    Contains information element defines/structures used by the TNETxxxx and host and Radio Module.
+                  This is a PUBLIC header, which customers will use.
+***********************************************************************************************************************/
+/*
+=======================================================================================================================
+                      R E V I S I O N    H I S T O R Y
+
+  04/29/05  BRK  1. retrieved from ClearCase and added this rev. history
+                 2. added two new entries to RadioParamType_e  enum
+                 3. increased MAX_RADIO_PARAM_POWER_TABLE (from 20 to 56)
+                    - this is sort of a kludge, struct RadioParam_t  should have used an
+                      array pointer instead of an actual data block
+  06/10/05  BRK  changed MAX_RADIO_PARAM_POWER_TABLE for 1251 support (sort of a KLUDGE)
+  07/15/05  BRK  added RADIO_PABIAS_TABLE entry to RadioParamType_e  enum
+  04/12/06  MH   Added new run-time calibration state: RFPLL_CALIBRATION_NEEDED
+
+  Note: This code should only be edited with TAB stops set at 4
+=======================================================================================================================
+ */
+#ifndef PUBLIC_RADIO
+#define PUBLIC_RADIO
+
+#include "public_types.h"
+#define MAC_ADDR_SIZE 6
+/* typedef uint8 TMacAddr[MAC_ADDR_SIZE]; */
+/************************************************************************/
+/*																		*/	
+/*							Definitions section                         */
+/*																		*/
+/************************************************************************/
+/* radio parameter to set */
+#ifdef TNETW1251
+#define MAX_RADIO_PARAM_POWER_TABLE  			(4*48)		/* cPowLmtTbl[] max size for ABG radios */
+#else
+#define MAX_RADIO_PARAM_POWER_TABLE  			(56)     	/* cPowLmtTbl[] max size for BG radios*/
+#endif
+#define MAX_RADIO_PARAM_LEN          			(MAX_RADIO_PARAM_POWER_TABLE)
+
+#define RADIO_PARAM_POWER_TABLE_ENABLE        	(0x01)  	/* mask for RADIO_PARAM_POWER_ENABLES usage*/
+#define RADIO_PARAM_POWER_LIMIT_TABLE_ENABLE  	(0x02)  	/* mask for RADIO_PARAM_POWER_ENABLES usage*/
+#define RADIO_PARAM_POWER_ADJ_TABLE_ENABLE    	(0x04)  	/* mask for RADIO_PARAM_POWER_ENABLES usage*/
+
+#define NUM_OF_POWER_LEVEL      				(4)
+
+
+#define TX_TEMPLATE_MAX_BUF_LEN					(512)
+
+#define RX_PLT_LNA_STEPS_BUF_LEN				(4)
+#define RX_PLT_TA_STEPS_BUF_LEN					(4)
+
+#define RX_STAT_PACKETS_PER_MESSAGE           	(20) 
+
+#define MULTIPLE_PACKET_SIZE		1024
+#define MAX_TX_PACKET_SIZE_11_B		(2 * MULTIPLE_PACKET_SIZE)
+#define MAX_TX_PACKET_SIZE_11_G		(4 * MULTIPLE_PACKET_SIZE)
+#define MAX_TX_PACKET_SIZE_11_N		(8 * MULTIPLE_PACKET_SIZE) /* must be PDU */
+
+/* Radio Band */
+typedef enum
+{
+	eELEVEN_A_B,
+	eELEVEN_A_G,
+	eELEVEN_N,
+
+	MAX_MODULATION
+}Modulation;
+
+/************************************************************************/
+/*																		*/	
+/*							Enumerations section                        */
+/*																		*/
+/************************************************************************/
+
+/* Radio band types. */
+typedef enum RADIO_BAND_TYPE_ENMT
+{		
+	FIRST_BAND_TYPE_E,
+/*______________________________________*/
+
+	_2_4_G_BAND_TYPE_E = FIRST_BAND_TYPE_E,
+	_5_G_BAND_TYPE_E,
+/*_______________________________________________*/
+    UNUSED_BAND_TYPE_E,
+	NUMBER_OF_BANDS_E = UNUSED_BAND_TYPE_E,				
+	LAST_BAND_TYPE_E = (NUMBER_OF_BANDS_E - 1)
+
+}RADIO_BAND_TYPE_ENM;
+
+
+#define RADIO_BAND_2_4GHZ_BASE_FREQUENCY					2407
+#define RADIO_BAND_JAPAN_4_9_GHZ_BASE_FREQUENCY				5000
+#define RADIO_BAND_5GHZ_BASE_FREQUENCY						5000
+
+#define RADIO_BAND_2_4GHZ_MULTIPLE_BASE_FREQUENCY			5
+#define RADIO_BAND_JAPAN_4_9_GHZ_MULTIPLE_BASE_FREQUENCY	(-5)
+#define RADIO_BAND_5GHZ_MULTIPLE_BASE_FREQUENCY				5
+
+#define GIGA_HZ_TO_MEGA_HZ									1000
+
+
+
+/* Radio sub-band types. */
+typedef enum RADIO_SUB_BAND_TYPE_ENMT
+{
+	FIRST_SUB_BAND_TYPE_E,
+/*______________________________________*/
+
+	_2_4_G_SUB_BAND_TYPE_E = FIRST_SUB_BAND_TYPE_E, /* band b/g */
+	FIRST_SUB_BANDS_IN_5G_BAND_E,
+	LOW_JAPAN_4_9_G_SUB_BAND_TYPE_E = FIRST_SUB_BANDS_IN_5G_BAND_E,	/* band 4.9Ghz (Japan) low sub-band (J1-J4) */
+	MID_JAPAN_4_9_G_SUB_BAND_TYPE_E,                /* band 4.9Ghz (Japan) mid sub-band(J8,J12,J16) */
+	HIGH_JAPAN_4_9_G_SUB_BAND_TYPE_E,               /* band 4.9Ghz (Japan) high sub-band(J34,36,J38,40, J42, 44, J46,48) */
+	_5_G_FIRST_SUB_BAND_TYPE_E,                     /* band 5GHz 1st sub-band(52->64 in steps of 4) */
+	_5_G_SECOND_SUB_BAND_TYPE_E,                    /* band 5GHz 2nd sub-band(100->116 in steps of 4) */
+	_5_G_THIRD_SUB_BAND_TYPE_E,                     /* band 5GHz 3rd sub-band(120->140 in steps of 4) */
+    _5_G_FOURTH_SUB_BAND_TYPE_E,                    /* band 5GHz 4th sub-band(149->165 in steps of 4) */
+	LAST_SUB_BANDS_IN_5G_BAND_E = _5_G_FOURTH_SUB_BAND_TYPE_E,
+/*_______________________________________________*/
+    UNUSED_SUB_BAND_TYPE_E,
+	NUMBER_OF_SUB_BANDS_E = UNUSED_SUB_BAND_TYPE_E,				
+	LAST_SUB_BAND_TYPE_E = (NUMBER_OF_SUB_BANDS_E - 1)
+
+}RADIO_SUB_BAND_TYPE_ENM;
+
+#define NUMBER_OF_SUB_BANDS_IN_5G_BAND_E	(LAST_SUB_BANDS_IN_5G_BAND_E - FIRST_SUB_BANDS_IN_5G_BAND_E + 1)	
+
+typedef struct
+{
+	uint8					uDbm[NUMBER_OF_SUB_BANDS_E][NUM_OF_POWER_LEVEL]; 
+} TpowerLevelTable_t;
+
+/* Channel number */
+typedef enum RADIO_CHANNEL_NUMBER_ENMT
+{
+	/*---------------------------------*/
+	/* _2_4_G_SUB_BAND_TYPE_E          */
+	/*---------------------------------*/
+	
+	/* index 0 */ RADIO_CHANNEL_INDEX_0_NUMBER_1_E = 1,
+	/* index 1 */ RADIO_CHANNEL_INDEX_1_NUMBER_2_E = 2,	
+	/* index 2 */ RADIO_CHANNEL_INDEX_2_NUMBER_3_E = 3,	
+	/* index 3 */ RADIO_CHANNEL_INDEX_3_NUMBER_4_E = 4,	
+	/* index 4 */ RADIO_CHANNEL_INDEX_4_NUMBER_5_E = 5,	
+	/* index 5 */ RADIO_CHANNEL_INDEX_5_NUMBER_6_E = 6,	
+	/* index 6 */ RADIO_CHANNEL_INDEX_6_NUMBER_7_E = 7,	
+	/* index 7 */ RADIO_CHANNEL_INDEX_7_NUMBER_8_E = 8,	
+	/* index 8 */ RADIO_CHANNEL_INDEX_8_NUMBER_9_E = 9,	
+	/* index 9 */ RADIO_CHANNEL_INDEX_9_NUMBER_10_E = 10,	
+	/* index 10 */ RADIO_CHANNEL_INDEX_10_NUMBER_11_E = 11,	
+	/* index 11 */ RADIO_CHANNEL_INDEX_11_NUMBER_12_E = 12,	
+	/* index 12 */ RADIO_CHANNEL_INDEX_12_NUMBER_13_E = 13,	
+	/* index 13 */ RADIO_CHANNEL_INDEX_13_NUMBER_14_E = 14,	
+	
+	/*---------------------------------*/
+	/* LOW_JAPAN_4_9_G_SUB_BAND_TYPE_E */
+	/*---------------------------------*/
+	/* index 14 */ RADIO_CHANNEL_INDEX_14_NUMBER_J1_E = 16,	
+	/* index 15 */ RADIO_CHANNEL_INDEX_15_NUMBER_J2_E = 12,	
+	/* index 16 */ RADIO_CHANNEL_INDEX_16_NUMBER_J3_E = 8,		
+	/* index 17 */ RADIO_CHANNEL_INDEX_17_NUMBER_J4_E = 4,	
+    
+	/*---------------------------------*/
+	/* MID_JAPAN_4_9_G_SUB_BAND_TYPE_E */
+	/*---------------------------------*/
+	/* index 18 */ RADIO_CHANNEL_INDEX_18_NUMBER_J8_E = 8,
+	/* index 19 */ RADIO_CHANNEL_INDEX_19_NUMBER_J12_E = 12,
+	/* index 20 */ RADIO_CHANNEL_INDEX_20_NUMBER_J16_E = 16,
+
+	/*----------------------------------*/
+	/* HIGH_JAPAN_4_9_G_SUB_BAND_TYPE_E */
+	/*----------------------------------*/
+	/* index 21 */ RADIO_CHANNEL_INDEX_21_NUMBER_J34_E = 34,
+	/* index 22 */ RADIO_CHANNEL_INDEX_22_NUMBER_36_E = 36,
+	/* index 23 */ RADIO_CHANNEL_INDEX_23_NUMBER_J38_E = 38,
+	/* index 24 */ RADIO_CHANNEL_INDEX_24_NUMBER_40_E = 40,
+	/* index 25 */ RADIO_CHANNEL_INDEX_25_NUMBER_J42_E = 42,
+	/* index 26 */ RADIO_CHANNEL_INDEX_26_NUMBER_44_E = 44,
+	/* index 27 */ RADIO_CHANNEL_INDEX_27_NUMBER_J46_E = 46,
+	/* index 28 */ RADIO_CHANNEL_INDEX_28_NUMBER_48_E = 48, 
+
+	/*---------------------------------*/
+	/* _5_G_FIRST_SUB_BAND_TYPE_E      */
+	/*---------------------------------*/
+	/* index 29 */ RADIO_CHANNEL_INDEX_29_NUMBER_52_E = 52,
+	/* index 30 */ RADIO_CHANNEL_INDEX_30_NUMBER_56_E = 56,
+	/* index 31 */ RADIO_CHANNEL_INDEX_31_ENUMBER_60_E = 60,
+	/* index 32 */ RADIO_CHANNEL_INDEX_32_ENUMBER_64_E = 64,
+
+	/*---------------------------------*/
+	/* _5_G_SECOND_SUB_BAND_TYPE_E     */
+	/*---------------------------------*/
+	/* index 33 */ RADIO_CHANNEL_INDEX_33_NUMBER_100_E = 100,
+	/* index 34 */ RADIO_CHANNEL_INDEX_34_NUMBER_104_E = 104,
+	/* index 35 */ RADIO_CHANNEL_INDEX_35_NUMBER_108_E = 108,
+	/* index 36 */ RADIO_CHANNEL_INDEX_36_NUMBER_112_E = 112,
+	/* index 37 */ RADIO_CHANNEL_INDEX_37_NUMBER_116_E = 116,
+
+	/*---------------------------------*/
+	/* _5_G_THIRD_SUB_BAND_TYPE_E      */
+	/*---------------------------------*/
+	/* index 38 */ RADIO_CHANNEL_INDEX_38_NUMBER_120_E = 120,
+	/* index 39 */ RADIO_CHANNEL_INDEX_39_NUMBER_124_E = 124,
+	/* index 40 */ RADIO_CHANNEL_INDEX_40_NUMBER_128_E = 128,
+	/* index 41 */ RADIO_CHANNEL_INDEX_41_NUMBER_132_E = 132,
+	/* index 42 */ RADIO_CHANNEL_INDEX_42_NUMBER_136_E = 136,
+	/* index 43 */ RADIO_CHANNEL_INDEX_43_NUMBER_140_E = 140,
+
+
+	/*---------------------------------*/
+	/* _5_G_FOURTH_SUB_BAND_TYPE_E     */
+	/*---------------------------------*/
+	/* index 44 */ RADIO_CHANNEL_INDEX_44_NUMBER_149_E = 149,
+	/* index 45 */ RADIO_CHANNEL_INDEX_45_NUMBER_153_E = 153,
+	/* index 46 */ RADIO_CHANNEL_INDEX_46_NUMBER_157_E = 157,
+	/* index 47 */ RADIO_CHANNEL_INDEX_47_NUMBER_161_E = 161,
+	/* index 48 */ RADIO_CHANNEL_INDEX_48_NUMBER_165_E = 165
+
+}RADIO_CHANNEL_NUMBER_ENM;
+
+/* Radio channels */
+typedef enum RADIO_CHANNEL_INDEX_ENMT
+{		
+	FIRST_RADIO_CHANNEL_INDEX_E,
+/*______________________________________*/
+
+	/*---------------------------------*/
+	/* _2_4_G_SUB_BAND_TYPE_E          */
+	/*---------------------------------*/
+	FIRST_2_4_G_BAND_RADIO_CHANNEL_INDEX_E = FIRST_RADIO_CHANNEL_INDEX_E,					/* 0 */
+	FIRST_2_4_G_SUB_BAND_RADIO_CHANNEL_INDEX_E = FIRST_2_4_G_BAND_RADIO_CHANNEL_INDEX_E,	/* 0 */
+	
+	/* Channels 0-13 indexes in the FW are 1-14 channels number in the RS */
+	RADIO_CHANNEL_INDEX_0_E = FIRST_2_4_G_SUB_BAND_RADIO_CHANNEL_INDEX_E,/* 0 */
+	RADIO_CHANNEL_INDEX_1_E,	/* 1 */
+	RADIO_CHANNEL_INDEX_2_E,	/* 2 */
+	RADIO_CHANNEL_INDEX_3_E,	/* 3 */
+	RADIO_CHANNEL_INDEX_4_E,	/* 4 */
+	RADIO_CHANNEL_INDEX_5_E,	/* 5 */
+	RADIO_CHANNEL_INDEX_6_E,	/* 6 */
+	RADIO_CHANNEL_INDEX_7_E,	/* 7 */
+	RADIO_CHANNEL_INDEX_8_E,	/* 8 */
+	RADIO_CHANNEL_INDEX_9_E,	/* 9 */
+	RADIO_CHANNEL_INDEX_10_E,	/* 10 */
+	RADIO_CHANNEL_INDEX_11_E,	/* 11 */
+	RADIO_CHANNEL_INDEX_12_E,	/* 12 */
+	RADIO_CHANNEL_INDEX_13_E,	/* 13 */	
+	LAST_2_4_G_SUB_BAND_RADIO_CHANNEL_INDEX_E = RADIO_CHANNEL_INDEX_13_E,				/* 13 */
+    LAST_2_4_G_BAND_RADIO_CHANNEL_INDEX_E = LAST_2_4_G_SUB_BAND_RADIO_CHANNEL_INDEX_E,	/* 13 */
+	NUMBER_OF_2_4_G_CHANNEL_INDICES_E = LAST_2_4_G_BAND_RADIO_CHANNEL_INDEX_E,			/* 13 */
+
+	/*---------------------------------*/
+	/* LOW_JAPAN_4_9_G_SUB_BAND_TYPE_E */
+	/*---------------------------------*/
+	FIRST_5_G_BAND_RADIO_CHANNEL_INDEX_E,	/* 14 */
+	FIRST_LOW_JAPAN_4_9_G_SUB_BAND_RADIO_CHANNEL_INDEX_E = FIRST_5_G_BAND_RADIO_CHANNEL_INDEX_E,	/* 14 */
+
+	/* Channels 14-17 indexes in the FW are J1-J4 channels number in the RS */
+	RADIO_CHANNEL_INDEX_14_E = FIRST_LOW_JAPAN_4_9_G_SUB_BAND_RADIO_CHANNEL_INDEX_E,				/* 14 */
+	RADIO_CHANNEL_INDEX_15_E,	/* 15 */
+	RADIO_CHANNEL_INDEX_16_E,	/* 16 */
+	RADIO_CHANNEL_INDEX_17_E,	/* 17 */
+    LAST_LOW_JAPAN_4_9_G_SUB_BAND_RADIO_CHANNEL_INDEX_E = RADIO_CHANNEL_INDEX_17_E,	/* 17 */
+	
+	/*---------------------------------*/
+	/* MID_JAPAN_4_9_G_SUB_BAND_TYPE_E */
+	/*---------------------------------*/
+	FIRST_MID_JAPAN_4_9_G_SUB_BAND_RADIO_CHANNEL_INDEX_E,	/* 18 */
+
+	/* Channel 18 index in the FW is channel number J8 in the RS */
+    RADIO_CHANNEL_INDEX_18_E = FIRST_MID_JAPAN_4_9_G_SUB_BAND_RADIO_CHANNEL_INDEX_E,	/* 18 */ 
+
+	/* Channel 19 index in the FW is channel number J12 in the RS */
+	RADIO_CHANNEL_INDEX_19_E,	/* 19 */
+	
+	/* Channel 20 index in the FW is channel number J16 in the RS */
+	RADIO_CHANNEL_INDEX_20_E,	/* 20 */
+    LAST_MID_JAPAN_4_9_G_SUB_BAND_RADIO_CHANNEL_INDEX_E = RADIO_CHANNEL_INDEX_20_E,		/* 20 */
+    
+	/*----------------------------------*/
+	/* HIGH_JAPAN_4_9_G_SUB_BAND_TYPE_E */
+	/*----------------------------------*/
+	FIRST_HIGH_JAPAN_4_9_G_SUB_BAND_RADIO_CHANNEL_INDEX_E,	/* 21 */
+
+	/* Channel 21 index in the FW is channel number J34 in the RS */
+    RADIO_CHANNEL_INDEX_21_E = FIRST_HIGH_JAPAN_4_9_G_SUB_BAND_RADIO_CHANNEL_INDEX_E, /* 21 */
+
+	/* Channel 22 index in the FW is channel number 36 in the RS */
+	RADIO_CHANNEL_INDEX_22_E,	/* 22 */
+
+	/* Channel 23 index in the FW is channel number J38 in the RS */
+	RADIO_CHANNEL_INDEX_23_E,	/* 23 */
+
+	/* Channel 24 index in the FW is channel number 40 in the RS */
+	RADIO_CHANNEL_INDEX_24_E,	/* 24 */
+
+	/* Channel 25 index in the FW is channel number J42 in the RS */
+	RADIO_CHANNEL_INDEX_25_E,	/* 25 */
+
+	/* Channel 26 index in the FW is channel number 44 in the RS */
+	RADIO_CHANNEL_INDEX_26_E,	/* 26 */
+
+	/* Channel 27 index in the FW is channel number J46 in the RS */
+	RADIO_CHANNEL_INDEX_27_E,	/* 27 */
+
+	/* Channel 28 index in the FW is channel number 48 in the RS */
+	RADIO_CHANNEL_INDEX_28_E,	/* 28 */
+    LAST_HIGH_JAPAN_4_9_G_SUB_BAND_RADIO_CHANNEL_INDEX_E = RADIO_CHANNEL_INDEX_28_E, /* 28 */
+    LAST_JAPAN_4_9_G_SUB_BAND_RADIO_CHANNEL_INDEX_E = LAST_HIGH_JAPAN_4_9_G_SUB_BAND_RADIO_CHANNEL_INDEX_E,	/* 28 */
+	/*---------------------------------*/
+	/* _5_G_FIRST_SUB_BAND_TYPE_E      */
+	/*---------------------------------*/
+	FIRST_5_G_FIRST_SUB_BAND_RADIO_CHANNEL_INDEX_E,	/* 29 */
+
+	/* Channel 29 index in the FW is channel number 52 in the RS */
+	RADIO_CHANNEL_INDEX_29_E = FIRST_5_G_FIRST_SUB_BAND_RADIO_CHANNEL_INDEX_E,	/* 29 */
+
+	/* Channel 30 index in the FW is channel number 56 in the RS */
+	RADIO_CHANNEL_INDEX_30_E,	/* 30 */
+
+	/* Channel 31 index in the FW is channel number 60 in the RS */
+	RADIO_CHANNEL_INDEX_31_E,	/* 31 */
+
+	/* Channel 32 index in the FW is channel number 64 in the RS */
+	RADIO_CHANNEL_INDEX_32_E,	/* 32 */
+	LAST_5_G_FIRST_SUB_BAND_RADIO_CHANNEL_INDEX_E = RADIO_CHANNEL_INDEX_32_E,	/* 32 */
+	
+	/*---------------------------------*/
+	/* _5_G_SECOND_SUB_BAND_TYPE_E     */
+	/*---------------------------------*/
+	FIRST_5_G_SECOND_SUB_BAND_RADIO_CHANNEL_INDEX_E,	/* 33 */
+
+	/* Channel 33 index in the FW is channel number 100 in the RS */
+	RADIO_CHANNEL_INDEX_33_E = FIRST_5_G_SECOND_SUB_BAND_RADIO_CHANNEL_INDEX_E,	/* 33 */
+
+	/* Channel 34 index in the FW is channel number 104 in the RS */
+	RADIO_CHANNEL_INDEX_34_E,	/* 34 */
+
+	/* Channel 35 index in the FW is channel number 108 in the RS */
+	RADIO_CHANNEL_INDEX_35_E,	/* 35 */
+
+	/* Channel 36 index in the FW is channel number 112 in the RS */
+	RADIO_CHANNEL_INDEX_36_E,	/* 36 */
+
+	/* Channel 37 index in the FW is channel number 116 in the RS */
+	RADIO_CHANNEL_INDEX_37_E,	/* 37 */
+	LAST_5_G_SECOND_SUB_BAND_RADIO_CHANNEL_INDEX_E = RADIO_CHANNEL_INDEX_37_E,	/* 37 */
+	
+	/*---------------------------------*/
+	/* _5_G_THIRD_SUB_BAND_TYPE_E      */
+	/*---------------------------------*/
+	FIRST_5_G_THIRD_SUB_BAND_RADIO_CHANNEL_INDEX_E,	/* 38 */
+
+	/* Channel 38 index in the FW is channel number 120 in the RS */
+	RADIO_CHANNEL_INDEX_38_E = FIRST_5_G_THIRD_SUB_BAND_RADIO_CHANNEL_INDEX_E,	/* 38 */
+
+	/* Channel 39 index in the FW is channel number 124 in the RS */
+	RADIO_CHANNEL_INDEX_39_E,	/* 39 */
+
+	/* Channel 40 index in the FW in the FW is channel number 128 in the RS */
+	RADIO_CHANNEL_INDEX_40_E,	/* 40 */
+
+	/* Channel 41 index in the FW is channel number 132 in the RS */
+	RADIO_CHANNEL_INDEX_41_E,	/* 41 */
+
+	/* Channel 42 index in the FW is channel number 136 in the RS */
+	RADIO_CHANNEL_INDEX_42_E,	/* 42 */
+
+	/* Channel 43 index in the FW is channel number 140 in the RS */
+	RADIO_CHANNEL_INDEX_43_E,	/* 43 */
+	LAST_5_G_THIRD_SUB_BAND_RADIO_CHANNEL_INDEX_E = RADIO_CHANNEL_INDEX_43_E,	/* 43 */
+	
+	/*---------------------------------*/
+	/* _5_G_FOURTH_SUB_BAND_TYPE_E     */
+	/*---------------------------------*/
+	FIRST_5_G_FOURTH_SUB_BAND_RADIO_CHANNEL_INDEX_E,	/* 44 */
+
+	/* Channel 44 index in the FW is channel number 149 in the RS */
+    RADIO_CHANNEL_INDEX_44_E = FIRST_5_G_FOURTH_SUB_BAND_RADIO_CHANNEL_INDEX_E,	/* 44 */
+
+	/* Channel 45 index in the FW is channel number 153 in the RS */
+	RADIO_CHANNEL_INDEX_45_E,	/* 45 */
+
+	/* Channel 46 index in the FW is channel number 157 in the RS */
+	RADIO_CHANNEL_INDEX_46_E,	/* 46 */
+
+	/* Channel 47 index in the FW is channel number 161 in the RS */
+	RADIO_CHANNEL_INDEX_47_E,	/* 47 */
+
+	/* Channel 48 index in the FW is channel number 165 in the RS */
+	RADIO_CHANNEL_INDEX_48_E,	/* 48 */
+	LAST_5_G_FOURTH_SUB_BAND_RADIO_CHANNEL_INDEX_E = RADIO_CHANNEL_INDEX_48_E,	/* 48 */
+	LAST_5_G_BAND_RADIO_CHANNEL_INDEX_E = LAST_5_G_FOURTH_SUB_BAND_RADIO_CHANNEL_INDEX_E,	/* 48 */	
+/*_______________________________________________*/
+
+    UNUSED_RADIO_CHANNEL_INDEX_E,               /* 49 */
+	NUMBER_OF_RADIO_CHANNEL_INDEXS_E = UNUSED_RADIO_CHANNEL_INDEX_E,	/* 49 */
+	LAST_RADIO_CHANNEL_INDEX_E = (NUMBER_OF_RADIO_CHANNEL_INDEXS_E - 1)	/* 48 */
+
+}RADIO_CHANNEL_INDEX_ENM;
+
+#define NUMBER_OF_2_4_G_CHANNELS    (NUMBER_OF_2_4_G_CHANNEL_INDICES_E + 1)
+#define NUMBER_OF_5G_CHANNELS       (NUMBER_OF_RADIO_CHANNEL_INDEXS_E - NUMBER_OF_2_4_G_CHANNELS)
+
+typedef enum RADIO_RATE_GROUPS_ENMT
+{		
+	FIRST_RATE_GROUP_E,
+/*______________________________________*/
+
+	MCS7_RATE_GROUP_E = FIRST_RATE_GROUP_E,
+	_54_48_RATE_GROUP_E,                /* band 4.9Ghz (Japan) low sub-band (J1-J4) */
+	_36_24_RATE_GROUP_E,                /* band 4.9Ghz (Japan) mid sub-band(J8,J12,J16) */
+	_18_12_RATE_GROUP_E,                /* band 4.9Ghz (Japan) high sub-band(J34,36,J38,40, J42, 44, J46,48) */
+	_9_6_RATE_GROUP_E,                  /* band 5GHz 1st sub-band(52->64 in steps of 4) */
+	_11b_RATE_GROUP_E,                  /* band 5GHz 2nd sub-band(100->116 in steps of 4) */
+/*_______________________________________________*/
+    UNUSED_RATE_GROUPS_E,
+	NUMBER_OF_RATE_GROUPS_E = UNUSED_RATE_GROUPS_E,				
+	LAST_RATE_GROUP_E = (NUMBER_OF_RATE_GROUPS_E - 1)
+
+}RADIO_RATE_GROUPS_ENM;
+
+
+typedef enum
+{
+    RADIO_BAND_2_4_GHZ                  = 0,
+    RADIO_BAND_5_0_GHZ                  = 1,
+    RADIO_BAND_DUAL                     = 2,
+    RADIO_BAND_NUM_OF_BANDS             = 2
+
+} ERadioBand;
+
+
+/******************************************************************************
+ TTestCmdRunCalibration - Calibration manager message
+                  
+ Note:  
+******************************************************************************/
+
+typedef enum CALIBRATION_COMMANDS_ENMT
+{
+	/* RX */
+	CM_space1_e,
+	CM_RX_IQ_MM_calibration_e,
+	CM_RX_IQ_MM_correction_upon_channel_change_e,
+	CM_RX_IQ_MM_correction_upon_temperature_change_e,
+	CM_RX_IQ_MM_duplicate_VGA_e,
+	CM_space2_e,
+
+	CM_RX_analog_DC_Correction_calibration_e,
+	CM_RX_DC_AUX_cal_mode_e,
+	CM_RX_DC_AUX_normal_mode_e,
+	CM_space3_e,
+
+	CM_RX_BIP_enter_mode_e,
+	CM_RX_BIP_perform_e,
+	CM_RX_BIP_exit_mode_e,
+	CM_space4_e,
+
+	/* TX */
+	CM_TX_power_detector_calibration_e,
+	CM_TX_power_detector_buffer_calibration_e,
+	CM_space5_e,
+
+	CM_TX_LO_Leakage_calibration_e,
+	CM_TX_PPA_Steps_calibration_e,
+	CM_TX_CLPC_calibration_e,
+	CM_TX_IQ_MM_calibration_e,
+	CM_TX_BIP_calibration_e,
+    /* DRPw */
+	CM_RX_TANK_TUNE_calibration_e,
+/*    CM_PD_BUFF_TUNE_calibration_e,*/
+        CM_RX_DAC_TUNE_calibration_e,
+        CM_RX_IQMM_TUNE_calibration_e,
+        CM_RX_LPF_TUNE_calibration_e,
+        CM_TX_LPF_TUNE_calibration_e,
+        CM_TA_TUNE_calibration_e,
+        CM_TX_MIXERFREQ_calibration_e,
+        CM_RX_IF2GAIN_calibration_e,
+    CM_RTRIM_calibration_e,
+    CM_RX_LNAGAIN_calibration_e,
+
+	CM_SMART_REFLEX_calibration_e,
+	CM_CHANNEL_RESPONSE_calibration_e
+
+}CALIBRATION_COMMANDS_ENM;
+
+
+typedef enum CALIBRATIONS_ENMT
+{
+	FIRST_CALIBRATION_TYPE_E,
+/*----------------------------------------------------------*/
+	/**** GENERAL ****/
+	DRPW_RFCALIBFXN_RXTXLPF_TYPE_E = FIRST_CALIBRATION_TYPE_E,
+	DRPW_TUNE_TYPE_E,	/* TUNE will perform DCO_freq, AB/TB, KDCO, TDC_inverter */
+	DRPW_RFCALIBFXN_RTRIM_TYPE_E,
+	/**** TX ****/
+	CM_TX_LO_LEAKAGE_CALIBRATION_TYPE_E,
+	DRPW_RFCALIBFXN_TXMIXERFREQ_TYPE_E,
+    CM_TX_IQ_MM_CALIBRATION_TYPE_E,
+	/**** RX ****/
+	DRPW_RFCALIBFXN_TA_TYPE_E,
+	DRPW_RFCALIBFXN_RXLNAGAIN_TYPE_E,
+	DRPW_RFCALIBFXN_RXIF2GAIN_TYPE_E,
+	DRPW_RFCALIBFXN_RXDAC_TYPE_E,
+	DRPW_RFCALIBFXN_LNATANK_TYPE_E,
+	RX_ANALOG_DC_CORRECTION_CALIBRATION_TYPE_E,
+	CM_RX_IQ_MM_CORRECTION_CALIBRATION_TYPE_E,
+    SMART_REFLEX_CALIBRATION_TYPE_E,
+	/* ... */
+/*----------------------------------------------------------*/
+	NUMBER_OF_CALIBRATIONS_E,
+	LAST_CALIBRATION_TYPE_E = (NUMBER_OF_CALIBRATIONS_E - 1)
+} CALIBRATIONS_ENMT;
+
+/******************************************************************************
+
+    Name:	ACX_CAL_ASSESSMENT
+	Type:	Configuration
+	Access:	Write Only
+	Length: 4
+	Note:	OBSOLETE !!! (DO_CALIBRATION_IN_DRIVER is not defined)
+	
+******************************************************************************/
+typedef enum
+{
+    RUNTIME_CALIBRATION_NOT_NEEDED = 1,
+    RUNTIME_CALIBRATION_NEEDED = 2,
+    RFPLL_CALIBRATION_NEEDED = 3,
+    MAX_RUNTIME_CALIBRATION_OPTIONS = 0x7FFFFFFF /* force this enum to be uint32 */
+} RadioRuntimeCalState_enum;
+
+
+#ifdef HOST_COMPILE
+typedef uint32 RadioRuntimeCalState_e;
+#else
+typedef RadioRuntimeCalState_enum RadioRuntimeCalState_e;
+#endif
+
+/************************************************************************/
+/*																		*/	
+/*							Commands section                            */
+/*																		*/
+/************************************************************************/
+typedef struct PltGainGet_t
+{
+            uint8 TxGain;            /*Total TX chain gain according to the current setting*/
+            uint8 TxUpperBound;      /*the max gain setting allowed*/
+            uint8 TxLowerBound;      /*the min gain setting allowed*/
+            uint8 padding;           /* padding to 32 bit */
+}PltGainGet_t;
+
+typedef struct 
+{
+    uint8 refTxPower;
+    uint8 band;
+    uint8 channel;
+    uint8 padding;
+}RadioPltTxCalibrationRequest_t;
+
+
+/******************************************************************************
+
+Name:	PowerLevelTable_t
+Desc:   Retrieve Maximum Dbm per power level and sub-band.
+Type:	Configuration
+Access:	Read Only
+Length: 20 
+
+******************************************************************************/
+typedef struct
+{
+	uint8 txPowerTable[NUMBER_OF_SUB_BANDS_E][NUM_OF_POWER_LEVEL]; /* Maximun Dbm in Dbm/10 units */
+} PowerLevelTable_t;
+
+/* DORONS [4/27/2008] testing the 2nd auxiliary function */
+typedef struct
+{
+    int8 desiredTone;
+    int8 desiredGain;
+    uint8 mode;
+    uint8 padding;
+} TestToneParams_t;
+
+typedef enum
+{
+	ePM_AWAKE,
+	ePM_LISTEN_ENTER,
+	ePM_LISTEN_EXIT,
+	ePM_POWER_DOWN_ENTER,
+	ePM_POWER_DOWN_EXIT,
+	ePM_ELP_ENTER,
+	ePM_ELP_EXIT,
+	ePM_CORTEX_GATE_ENTER,
+	ePM_CORTEX_GATE_EXIT
+}PowerMode;
+
+typedef struct 
+
+{
+	uint8	iPowerMode;		/* Awake					- 0 */
+							/* Enter Listen Mode		- 1 */
+							/* Exit Listen Mode			- 2 */
+							/* Enter Power Down Mode	- 3 */
+							/* Exit Power Down Mode		- 4 */
+							/* ELP Mode					- 5 */							
+							/* Enter Cortex Gate Mode	- 6 */
+							/* Exit Cortex Gate Mode	- 7 */
+	uint8	  padding[3];
+}TTestCmdPowerMode;
+
+/************************************************************************
+                PLT  DBS
+				To modify these DBs Latter - according to Architecture Document, 
+				and move it to public_commands.h
+************************************************************************/
+
+/******************************************************************************
+
+      ID:     CMD_TEST
+    Desc:   The TEST command can be issued immediately after the firmware has 
+          been downloaded, with no further configuration of the WiLink required.
+          Full initialization of the WiLink is not required to invoke the TEST 
+          command and perform the radio test function.
+          After testing, the system must be reset.
+          Test parameters can be modified while a test is executing. 
+          For instance, the host program can change the channel without resetting
+          the system.
+    
+      Params:     TestCmdID_enum - see below.
+          The returned values are copied to the cmd/sts MB replacing  the command
+          (similar to the interrogate mechanism).
+
+******************************************************************************/
+/* Efil -	when adding parameter here fill the switch case sentence in function
+			"cmdBld_CmdIeTest" in module "TWD\Ctrl\CmdBldCmdIE.c" */
+typedef enum
+{	
+/*	0x01	*/  TEST_CMD_PD_BUFFER_CAL = 0x1,	/* TX PLT */
+/*	0x02	*/  TEST_CMD_P2G_CAL,				/* TX BiP */
+/*	0x03	*/  TEST_CMD_RX_PLT_ENTER,
+/*	0x04	*/  TEST_CMD_RX_PLT_CAL,			/* RSSI Cal */
+/*	0x05	*/  TEST_CMD_RX_PLT_EXIT,
+/*	0x06	*/  TEST_CMD_RX_PLT_GET,
+/*	0x07	*/  TEST_CMD_FCC,					/* Continuous TX */ 
+/*	0x08	*/  TEST_CMD_TELEC,					/* Carrier wave in a specific channel and band */
+/*	0x09	*/  TEST_CMD_STOP_TX,				/* Stop FCC or TELEC */
+/*	0x0A	*/  TEST_CMD_PLT_TEMPLATE,			/* define Template for TX */
+/*	0x0B	*/  TEST_CMD_PLT_GAIN_ADJUST,
+/*	0x0C	*/  TEST_CMD_PLT_GAIN_GET,
+/*	0x0D	*/	TEST_CMD_CHANNEL_TUNE,
+/*	0x0E	*/	TEST_CMD_FREE_RUN_RSSI,         /* Free running RSSI measurement */
+/*	0x0F	*/  TEST_CMD_DEBUG,					/* test command for debug using the struct: */
+/*	0x10	*/  TEST_CMD_CLPC_COMMANDS,
+/*	0x11	*/  RESERVED_4,
+/*	0x12	*/  TEST_CMD_RX_STAT_STOP,
+/*	0x13	*/  TEST_CMD_RX_STAT_START,
+/*	0x14	*/  TEST_CMD_RX_STAT_RESET,
+/*	0x15	*/  TEST_CMD_RX_STAT_GET,
+/*	0x16	*/	TEST_CMD_LOOPBACK_START,		/* for FW Test Debug */
+/*	0x17	*/  TEST_CMD_LOOPBACK_STOP,			/* for FW Test Debug */
+/*	0x18	*/	TEST_CMD_GET_FW_VERSIONS,
+/*  0x19    */  TEST_CMD_INI_FILE_RADIO_PARAM,
+/*  0x1A	*/  TEST_CMD_RUN_CALIBRATION_TYPE,
+/*  0x1B    */	TEST_CMD_TX_GAIN_ADJUST,
+/*	0x1C	*/	TEST_CMD_UPDATE_PD_BUFFER_ERRORS,
+/*	0x1D	*/	TEST_CMD_UPDATE_PD_REFERENCE_POINT,
+/*  0x1E    */	TEST_CMD_INI_FILE_GENERAL_PARAM,
+/*	0x1F	*/	TEST_CMD_SET_EFUSE,
+/*	0x20	*/	TEST_CMD_GET_EFUSE, 
+/* DORONS [4/27/2008] testing the 2nd auxiliary function */
+/*0x21 */   TEST_CMD_TEST_TONE,
+/*	0x22	*/	TEST_CMD_POWER_MODE,
+/*	0x23	*/	TEST_CMD_SMART_REFLEX,
+/*	0x24	*/	TEST_CMD_CHANNEL_RESPONSE,
+/*	0x25	*/	TEST_CMD_DCO_ITRIM_FEATURE,
+
+    MAX_TEST_CMD_ID = 0xFF	/* Dummy - must be last!!! (make sure that Enum variables are type of int) */
+
+} TestCmdID_enum;
+
+/************************************************************************/
+/* radio test result information struct									*/
+/************************************************************************/	
+#define DEFAULT_MULTIPLE_ACTIVATION_TIME		5
+
+#define MULTIPLE_ACTIVATION_TIME				1000000		
+
+#define DEFAULT_RSMODE_CALIBRATION_INTERVAL		(DEFAULT_MULTIPLE_ACTIVATION_TIME * MULTIPLE_ACTIVATION_TIME)	/* RadioScope calibration interval - 5 sec */
+
+typedef enum
+{
+	eCMD_GET_CALIBRAIONS_INFO,
+	eCMD_GET_CLPC_VBAT_TEMPERATURE_INFO
+}TTestCmdDeubug_enum;
+
+/* struct of calibration status, indication if RM performed calibration */
+typedef struct  
+{
+	uint8		operateCalibration;									/* RM performed calibration */
+	int8		calibrationsResult[NUMBER_OF_CALIBRATIONS_E];		/* Calibrations status	*/
+}CalibrationInfo;
+
+/* struct of CLPC output, temperature, battery voltage */
+typedef struct  
+{
+	int					ClpcOffset[NUMBER_OF_RATE_GROUPS_E];		 /* CLPC */
+	int8				CurrentTemperature;							 /* current temperature in Celsius */
+	uint16				CurrentVbat;								 /* VBat	*/
+	uint8				enableCalibration;							 /* enableCalibration */
+	
+}CLPCTempratureVbatStruct;
+
+typedef struct  
+{
+	int16			oRadioStatus;
+	uint8			iCommand; /* command to check */
+	
+	CalibrationInfo				oCalibInfo;			/* for eCMD_GET_CALIBRAIONS_INFO */
+	CLPCTempratureVbatStruct	oCLPCTempVbatInfo;	/* for eCMD_GET_CLPC_VBAT_TEMPERATURE_INFO */
+
+	uint8			padding[3];
+	
+}TTestCmdDebug;
+
+/************************************************************************/
+/* end radio test result information struct								*/
+/************************************************************************/	
+
+
+#ifdef HOST_COMPILE
+typedef uint8 TestCmdID_e;
+#else
+typedef TestCmdID_enum TestCmdID_e;
+#endif
+
+/******************************************************************************/
+typedef enum
+{
+    TEST_MODE_HOST_ORIGINATED_DATA      = 0x00,
+    TEST_MODE_FIXED_SEQ_NUMBER          = 0x00,
+    TEST_MODE_FW_ORIGINATED_DATA     	= 0x01,
+    TEST_MODE_RANDOM_DATA               = 0x05,
+    TEST_MODE_ZOZO_DATA                 = 0x09,
+    TEST_MODE_FILLING_PATERN_MASK       = 0x0F,
+    TEST_MODE_DELAY_REQUIRED            = 0x10,
+    TEST_MODE_DISABLE_SRCRAMBLING_FLAG  = 0x20
+}TestModeCtrlTypes_e;
+
+#ifdef HOST_COMPILE
+typedef uint8 FccTestType_e;
+#else
+typedef TestModeCtrlTypes_e FccTestType_e;
+#endif
+
+/******************************************************************************/
+#define     TEST_SEQ_NUM_MODE_FIXED             (0)
+#define     TEST_SEQ_NUM_MODE_INCREMENTED       (1)
+
+/******************************************************************************/
+/* DORONS [4/23/2008] RX Tone activation for DRPw cals */
+#define     ACTIVE_TONE_CAL_MODE                (0)
+#define     ACTIVE_TONE_NORM_MODE               (1)
+/******************************************************************************
+
+  TestCmdId :   TEST_CMD_FCC - Tx continuous test
+
+  Description:  Continuous transmit series of numbers with a valid MAC header
+                as was received from driver.
+                However there is no 802.11 air access compliance. 
+
+  Params:       PERTxCfg_t fcc - see below.
+
+******************************************************************************/
+#define NUM_OF_MAC_ADDR_ELEMENTS 6
+typedef struct PERTxCfg_t
+{
+            /*input parameters*/
+            uint32 numFrames;       				/* number of frams to transmit, 0 = endless*/
+            uint32 interFrameGap;   				/* time gap in uSec */          
+            uint32 seqNumMode;      				/* Fixed / Incremented */
+            uint32 frameBodySize;    				/* length of Mac Payload */       
+            uint8 channel;          				/*channel number*/
+            uint8 dataRate;         				/* MBps 1,2,11,22,... 54           */
+            uint8 modPreamble;      				/* CTL_PREAMBLE 0x01 */           
+            uint8 band;             				/* {BAND_SELECT_24GHZ 0x00 | BAND_SELECT_5GHZ 0x01} */          
+            uint8 modulation;       				/* {PBCC_MODULATION_MASK |OFDM_MODULATION_MASK }*/      
+            FccTestType_e testModeCtrl;     
+            uint8 dest[NUM_OF_MAC_ADDR_ELEMENTS];  	/* set to hard codded default {0,0,0xde,0xad,0xbe,0xef}; */        
+} PERTxCfg_t;
+
+/******************************************************************************
+
+  TestCmdId :   TEST_CMD_SET_EFUSE, TEST_CMD_GET_EFUSE
+
+  Description:  Get and set the eFuse parameters 
+
+******************************************************************************/
+typedef enum EFUSE_PARAMETER_TYPE_ENMT
+{
+	EFUSE_FIRST_PARAMETER_E,
+/*_______________________________________________*/
+
+	/* RX PARAMETERS */
+    EFUSE_FIRST_RX_PARAMETER_E = EFUSE_FIRST_PARAMETER_E,
+	RX_BIP_MAX_GAIN_ERROR_BAND_B_E = EFUSE_FIRST_RX_PARAMETER_E,		/* MaxGainErrBandB */
+																		
+	RX_BIP_MAX_GAIN_ERROR_J_LOW_MID_E,									/* MaxGainErrJLowMid */
+	RX_BIP_MAX_GAIN_ERROR_J_HIGH_E,										/* MaxGainErrJHigh  */
+																		
+	RX_BIP_MAX_GAIN_ERROR_5G_1ST_E,										/* MaxGainErr5G1st  */
+	RX_BIP_MAX_GAIN_ERROR_5G_2ND_E,										/* MaxGainErr5G2nd  */
+	RX_BIP_MAX_GAIN_ERROR_5G_3RD_E,										/* MaxGainErr5G3rd  */
+	RX_BIP_MAX_GAIN_ERROR_5G_4TH_E,										/* MaxGainErr5G4th  */
+																		
+	RX_BIP_LNA_STEP_CORR_BAND_B_4TO3_E,									/* LnaStepCorrBandB (Step 4To3) */
+	RX_BIP_LNA_STEP_CORR_BAND_B_3TO2_E,									/* LnaStepCorrBandB (Step 3To2) */
+	RX_BIP_LNA_STEP_CORR_BAND_B_2TO1_E,									/* LnaStepCorrBandB (Step 2To1) */
+	RX_BIP_LNA_STEP_CORR_BAND_B_1TO0_E,									/* LnaStepCorrBandB (Step 1To0) */
+																		
+	RX_BIP_LNA_STEP_CORR_BAND_A_4TO3_E,									/* LnaStepCorrBandA (Step 4To3) */
+	RX_BIP_LNA_STEP_CORR_BAND_A_3TO2_E,									/* LnaStepCorrBandA (Step 3To2) */
+	RX_BIP_LNA_STEP_CORR_BAND_A_2TO1_E,									/* LnaStepCorrBandA (Step 2To1) */
+	RX_BIP_LNA_STEP_CORR_BAND_A_1TO0_E,									/* LnaStepCorrBandA (Step 1To0) */
+																		
+	RX_BIP_TA_STEP_CORR_BAND_B_2TO1_E,									/* TaStepCorrBandB (Step 2To1) */
+	RX_BIP_TA_STEP_CORR_BAND_B_1TO0_E,									/* TaStepCorrBandB (Step 1To0) */
+																		
+	RX_BIP_TA_STEP_CORR_BAND_A_2TO1_E,									/* TaStepCorrBandA (Step 2To1) */
+	RX_BIP_TA_STEP_CORR_BAND_A_1TO0_E,									/* TaStepCorrBandA (Step 1To0) */
+																		
+	NUMBER_OF_RX_BIP_EFUSE_PARAMETERS_E,								/* Number of RX parameters */
+
+	/* TX PARAMETERS */
+	TX_BIP_PD_BUFFER_GAIN_ERROR_E = NUMBER_OF_RX_BIP_EFUSE_PARAMETERS_E,/* PD_Buffer_Gain_error */
+	TX_BIP_PD_BUFFER_VBIAS_ERROR_E,										/* PD_Buffer_Vbias_error */
+
+/*_______________________________________________*/
+	EFUSE_NUMBER_OF_PARAMETERS_E,
+    EFUSE_LAST_PARAMETER_E = (EFUSE_NUMBER_OF_PARAMETERS_E - 1)
+
+}EFUSE_PARAMETER_TYPE_ENM;
+
+typedef struct 
+{
+	int8	EfuseParameters[EFUSE_NUMBER_OF_PARAMETERS_E];
+
+	int16	oRadioStatus;
+    int8	padding[3];     /* Align to 32bit */
+
+} EfuseParameters_t;
+
+/******************************************************************************/
+
+/******************************************************************************
+
+  TestCmdId :       TEST_CMD_PLT_GAIN_GET
+
+    Description: Retrieves the TX chain gain settings.         
+
+  Params:           PltGainGet_t       gainGet - see public_radio.h
+
+
+******************************************************************************/
+
+/******************************************************************************
+
+    TestCmdId:  TEST_CMD_PLT_GET_NVS_UPDATE_BUFFER
+    
+    Description: This PLT function provides the all information required by 
+                    the upper driver in order to update the NVS image.
+                    It received a parameter defining the type of update 
+                    information required and provides an array of elements 
+                    defining the data bytes to be written to the NVS image 
+                    and the byte offset in which they should be written.         
+ Params:     PltNvsResultsBuffer_t nvsUpdateBuffer  - see public_radio.h
+    
+
+*****************************************************************************/
+
+
+/******************************************************************************
+
+  TestCmdId :   TEST_CMD_PLT_GAIN_ADJUST
+
+    Description: retrieves the TX chain gain settings.                        
+
+    Params:     int32                txGainAdjust
+
+*****************************************************************************/
+
+/******************************************************************************
+
+  TestCmdId :   TEST_CMD_PLT_RX_CALIBRATION
+
+    Description: Used as part of the  RX calibration procedure, call this 
+            function for every calibration channel. 
+            The response for that function indicates only that command had been received by th FW,
+            and not that the calibration procedure had been finished.
+            The upper layer need to wait amount of ((numOfSamples*intervalBetweenSamplesUsec).
+            To make sure that the RX  calibration  completed. before calling to the next command.
+            
+    Params:     PltRxCalibrationRequest_t    rxCalibration 
+  
+  ******************************************************************************/
+
+typedef struct
+{
+	uint8 iBand;
+	uint8 iChannel;
+	int16 oRadioStatus;
+} TTestCmdChannel;
+
+typedef struct TTestCmdPdBufferCalStruct
+{
+	uint8   iGain;
+	uint8   iVBias; 
+	int16	oAdcCodeword;
+	int16	oRadioStatus;
+	uint8	Padding[2];
+} TTestCmdPdBufferCal;
+
+typedef struct
+{
+	int8	vBIASerror;
+	int8	gainError;
+	uint8	padding[2];
+}TTestCmdPdBufferErrors;
+
+typedef struct 
+{
+	int32     iReferencePointPower;
+	int32     iReferencePointDetectorValue;
+	uint8     isubBand;
+	uint8     padding[3];
+}TTestCmdUpdateReferncePoint;
+
+typedef struct
+{
+	int16 oRadioStatus;
+	uint8 iCalibratonType;
+	uint8 Padding;
+
+} TTestCmdRunCalibration;
+
+typedef struct 
+{
+    uint8   DCOItrimONOff;
+	uint8	padding[3];
+}TTestCmdDCOItrimOnOff;
+
+typedef enum
+{
+	eDISABLE_LIMIT_POWER,
+	eENABLE_LIMIT_POWER
+}UseIniFileLimitPower;
+
+typedef struct 
+{
+	int32	iTxGainValue;
+	int16	oRadioStatus;
+	uint8	iUseinifilelimitPower;
+	uint8	padding;
+} TTxGainAdjust;
+
+/* TXPWR_CFG0__VGA_STEP_GAIN_E */
+typedef enum TXPWR_CFG0__VGA_STEP_ENMT
+{
+	TXPWR_CFG0__VGA_STEP__FIRST_E,					
+/*_______________________________________________*/
+	TXPWR_CFG0__VGA_STEP__MINIMUM_E = TXPWR_CFG0__VGA_STEP__FIRST_E,
+	TXPWR_CFG0__VGA_STEP__0_E = TXPWR_CFG0__VGA_STEP__MINIMUM_E,	
+	TXPWR_CFG0__VGA_STEP__1_E,						
+	TXPWR_CFG0__VGA_STEP__2_E,						
+	TXPWR_CFG0__VGA_STEP__3_E,						
+	TXPWR_CFG0__VGA_STEP__4_E,					
+	TXPWR_CFG0__VGA_STEP__MAXIMUM_E = TXPWR_CFG0__VGA_STEP__4_E,
+/*_______________________________________________*/
+	TXPWR_CFG0__VGA_STEP__NUMBER_OF_STEPS_E,				
+	TXPWR_CFG0__VGA_STEP__LAST_E = (TXPWR_CFG0__VGA_STEP__NUMBER_OF_STEPS_E - 1)
+
+} TXPWR_CFG0__VGA_STEP_ENM;
+
+/******************************************************************************
+
+	Name:	ACX_PLT_NVS_BUFFER_UPDATE 
+	TestCmdId:	TEST_CMD_PLT_GET_NVS_UPDATE_BUFFER
+	Description: This PLT function provides the all information required by 
+					the upper driver in order to update the NVS image.
+					It received a parameter defining the type of update 
+					information required and provides an array of elements defining 
+					the data bytes to be written to the NVS image and the byte 
+					offset in which they should be written.         
+	Type:	PLT
+	Access:	Read Only
+	Length: 420
+
+******************************************************************************/
+
+/* default efuse value */
+#define DEFAULT_EFUSE_VALUE				0
+
+/* Default hard-coded power to gain offsets (these values will be overridden by NVS) */
+#define DB_FACTOR						1000			/* factor because we can't use float */
+
+/* TX BIP default parameters */
+#define CALIBRATION_STEP_SIZE			1000
+#define CALIBRATION_POWER_HIGHER_RANGE	22000
+#define CALIBRATION_POWER_LOWER_RANGE	(-3000)
+
+#define FIRST_PD_CURVE_TO_SET_2_OCTET	(10 * CALIBRATION_STEP_SIZE)/* dBm */
+
+#define SIZE_OF_POWER_DETECTOR_TABLE	((((CALIBRATION_POWER_HIGHER_RANGE) - (CALIBRATION_POWER_LOWER_RANGE))\
+	                                      / (CALIBRATION_STEP_SIZE)) + 1)
+
+/* default PPA steps value */
+#define DEFAULT_PPA_STEP_VALUE			(-6000)
+
+#define P2G_TABLE_TO_NVS				(-1) * 8 / DB_FACTOR
+
+#define DEF_2_4_G_SUB_BAND_P2G_OFFSET           (-25000)
+#define DEF_LOW_JAPAN_4_9_G_SUB_BAND_P2G_OFFSET (-25*DB_FACTOR)
+#define DEF_MID_JAPAN_4_9_G_SUB_BAND_OFFSET     (-25*DB_FACTOR)
+#define DEF_HIGH_JAPAN_4_9_G_SUB_BAND_OFFSET    (-25*DB_FACTOR)
+#define DEF_5_G_FIRST_SUB_BAND_P2G_OFFSET       (-25*DB_FACTOR)
+#define DEF_5_G_SECOND_SUB_BAND_P2G_OFFSET      (-25*DB_FACTOR)
+#define DEF_5_G_THIRD_SUB_BAND_P2G_OFFSET       (-25*DB_FACTOR)
+#define DEF_5_G_FOURTH_SUB_BAND_P2G_OFFSET      (-25*DB_FACTOR)
+
+#define START_TYPE_INDEX_IN_TLV	0
+#define TLV_TYPE_LENGTH			1
+#define START_LENGTH_INDEX		(START_TYPE_INDEX_IN_TLV + TLV_TYPE_LENGTH) /* 1 */
+#define TLV_LENGTH_LENGTH		2
+#define START_PARAM_INDEX		(START_LENGTH_INDEX + TLV_LENGTH_LENGTH) /* 3 */
+
+#define	NVS_VERSION_1			1
+#define	NVS_VERSION_2			2
+
+#define	NVS_MAC_FIRST_LENGTH_INDEX			0
+#define	NVS_MAC_FIRST_LENGHT_VALUE			1
+
+#define NVS_MAC_L_ADDRESS_INDEX				((NVS_MAC_FIRST_LENGTH_INDEX) + 1) /* 1*/
+#define NVS_MAC_L_ADDRESS_LENGTH			2
+
+#define NVS_MAC_L_VALUE_INDEX				((NVS_MAC_L_ADDRESS_INDEX) + (NVS_MAC_L_ADDRESS_LENGTH)) /* 3 */
+#define NVS_MAC_L_VALUE_LENGTH				4
+
+#define	NVS_MAC_SECONDE_LENGTH_INDEX		((NVS_MAC_L_VALUE_INDEX) + 4) /* 7 */
+#define	NVS_MAC_SECONDE_LENGHT_VALUE		1
+
+#define NVS_MAC_H_ADDRESS_INDEX				((NVS_MAC_SECONDE_LENGTH_INDEX) + 1) /* 8*/
+#define NVS_MAC_H_ADDRESS_LENGTH			2
+
+#define NVS_MAC_H_VALUE_INDEX				((NVS_MAC_H_ADDRESS_INDEX) + (NVS_MAC_H_ADDRESS_LENGTH)) /* 10 */
+#define NVS_MAC_H_VALUE_LENGTH				4
+
+#define NVS_END_BURST_TRANSACTION_INDEX		((NVS_MAC_H_VALUE_INDEX) + (NVS_MAC_H_VALUE_LENGTH))	/* 14 */
+#define NVS_END_BURST_TRANSACTION_VALUE		0
+#define NVS_END_BURST_TRANSACTION_LENGTH	7
+
+#define NVS_ALING_TLV_START_ADDRESS_INDEX	((NVS_END_BURST_TRANSACTION_INDEX) + (NVS_END_BURST_TRANSACTION_LENGTH))	/* 21 */
+#define NVS_ALING_TLV_START_ADDRESS_VALUE	0
+#define NVS_ALING_TLV_START_ADDRESS_LENGTH	3
+
+
+/* NVS pre TLV length */
+#define NVS_PRE_PARAMETERS_LENGTH			((NVS_ALING_TLV_START_ADDRESS_INDEX) + (NVS_ALING_TLV_START_ADDRESS_LENGTH)) /* 24 */
+
+/* NVS P2G table */
+#define NVS_TX_P2G_TABLE_LENGTH			((NUMBER_OF_SUB_BANDS_E) * 1 /* byte */) /* 8 */
+
+/* NVS PPA table */
+#define NVS_TX_PPA_STEPS_TABLE_LENGTH	((NUMBER_OF_SUB_BANDS_E) * \
+                                         ((TXPWR_CFG0__VGA_STEP__NUMBER_OF_STEPS_E) \
+                                          - 1) * 1 /* byte */) 	/* 32 */
+
+/* NVS version 1 TX PD curve table length */
+#define NVS_TX_PD_TABLE_LENGTH_NVS_V1	(1 /* byte to set size of table */ + \
+                                         ((NUMBER_OF_SUB_BANDS_E) * (2 /* 1 byte offset, 1 byte low range */ + \
+                                          2 /* first index in table */ + (((SIZE_OF_POWER_DETECTOR_TABLE) - 1) * 1 /* 1 byte */)))) /* 233 */
+
+/* NVS version 2 TX PD curve table length */ 
+#define NVS_TX_PD_TABLE_LENGTH_NVS_V2	((NUMBER_OF_SUB_BANDS_E) * (12 /* 12index of one byte -2 dBm - 9dBm */ +\
+                                        28 /* 14 indexes of 2 byte -3dBm, 10dBm - 22 dBm */)) /* 320 */
+
+/* NVS version 1 TX parameters Length */
+#define	NVS_TX_PARAM_LENGTH_NVS_V1		((NVS_TX_P2G_TABLE_LENGTH) + (NVS_TX_PPA_STEPS_TABLE_LENGTH) +\
+                                         (NVS_TX_PD_TABLE_LENGTH_NVS_V1)) /* 273 */
+
+/* NVS version 2 TX parameters Length */
+#define NVS_TX_PARAM_LENGTH_NVS_V2		((NVS_TX_P2G_TABLE_LENGTH) + (NVS_TX_PPA_STEPS_TABLE_LENGTH) +\
+                                         (NVS_TX_PD_TABLE_LENGTH_NVS_V2) +\
+                                         (NUMBER_OF_RADIO_CHANNEL_INDEXS_E /* for Per Channel power Gain Offset table */)) /* 409 */
+
+/* NVS TX version */
+#define NVS_TX_PARAM_LENGTH				NVS_TX_PARAM_LENGTH_NVS_V2
+
+/* NVS RX version */
+#define	NVS_RX_PARAM_LENGTH				NUMBER_OF_RX_BIP_EFUSE_PARAMETERS_E				/* 19		 */
+
+/* NVS version parameter length */
+#define NVS_VERSION_PARAMETER_LENGTH	3
+
+/* NVS max length */
+#define NVS_TOTAL_LENGTH				500 /* original ((NVS_TOTAL_LENGTH) + 4 - ((NVS_TOTAL_LENGTH) % 4)) */
+
+/* TLV max length */
+#define  MAX_TLV_LENGTH 				NVS_TOTAL_LENGTH  
+
+#define	 MAX_NVS_VERSION_LENGTH			12
+
+/* type to set in the NVS for each mode of work */ 
+typedef enum
+{
+	eNVS_VERSION = 0xaa,
+	eNVS_RADIO_TX_PARAMETERS = 1,
+	eNVS_RADIO_RX_PARAMETERS = 2,
+
+	eNVS_RADIO_INI = 16,
+
+
+	eNVS_NON_FILE = 0xFE,
+
+	/* last TLV type */
+	eTLV_LAST = 0xFF
+}NVSType;
+
+/* type to set parameter type buffers for each mode of work */
+typedef enum
+{
+	eFIRST_RADIO_TYPE_PARAMETERS_INFO,											/* 0 */
+	eNVS_RADIO_TX_TYPE_PARAMETERS_INFO = eFIRST_RADIO_TYPE_PARAMETERS_INFO,		/* 0 */
+	eNVS_RADIO_RX_TYPE_PARAMETERS_INFO,											/* 1 */
+	eLAST_RADIO_TYPE_PARAMETERS_INFO = eNVS_RADIO_RX_TYPE_PARAMETERS_INFO,		/* 1 */
+	UNUSED_RADIO_TYPE_PARAMETERS_INFO,											/* 2 */
+	eNUMBER_RADIO_TYPE_PARAMETERS_INFO = UNUSED_RADIO_TYPE_PARAMETERS_INFO,		/* 2 */
+	LAST_RADIO_TYPE_PARAMETERS_INFO = (eNUMBER_RADIO_TYPE_PARAMETERS_INFO - 1)	/* 1 */
+}NVSTypeInfo;
+
+
+typedef enum
+{
+	eCURRENT_SUB_BAND,
+	eALL_SUB_BANDS	
+}TxBipCurrentAllSubBand;
+
+typedef struct 
+{
+	uint16 	Length;			       	/* TLV length in bytes */
+	uint8 	Buffer[MAX_TLV_LENGTH]; /* TLV buffer content to be burned */
+	uint8 	Type;					/* TLV Type Index */ 
+	uint8   padding;
+}TNvsStruct;
+
+typedef struct
+{
+	uint32		oNVSVersion;
+	TNvsStruct	oNvsStruct; 	/* output (P2G array) */
+	int16		oRadioStatus;
+    uint8             iSubBandMask;             /* 7 sub-band bit mask (asserted bit - calibration required) */
+    uint8             Padding;
+} TTestCmdP2GCal;
+
+typedef struct
+{
+	int16			oRadioStatus;
+	uint16			Pad;
+	uint32			iDelay;			/* between packets (usec) */
+	uint32	     	iRate; 			/* 1MBPS	= 0x00000001,
+										2MBPS   = 0x00000002,
+										5.5MBPS	= 0x00000004,
+										6MBPS   = 0x00000008,
+										9MBPS   = 0x00000010,
+										11MBPS  = 0x00000020,
+										12MBPS  = 0x00000040,
+										18MBPS  = 0x00000080,
+										24MBPS  = 0x00000200,
+										36MBPS  = 0x00000400,
+										48MBPS  = 0x00000800,
+										54MBPS  = 0x00001000,
+										MCS_0  	= 0x00002000,
+										MCS_1  	= 0x00004000,
+										MCS_2  	= 0x00008000,
+										MCS_3  	= 0x00010000,
+										MCS_4  	= 0x00020000,
+										MCS_5  	= 0x00040000,
+										MCS_6  	= 0x00080000,
+										MCS_7  	= 0x00100000 */
+	uint16	     	iSize; 			/* size of packet (bytes) */
+	uint16			iAmount; 		/* in case of multiple (# of packets) */
+	int32			iPower;			/* upper power limit (dBm) */
+	uint16			iSeed;	
+	uint8			iPacketMode; 	/* single, multiple, InfiniteLength, Continuous, FCC */
+	uint8	     	iDcfOnOff; 		/* use DCF access (1) */
+	uint8	     	iGI;			/* Guard Interval: long:800ns (0), short:400ns (1) */
+	uint8	     	iPreamble;		/* long (0), short (1),  OFDM (4), GF (7), Mixed (6) */
+	uint8	     	iType;			/* Data (0), Ack (1), Probe-request(2), Random (3), User-defined (4), PER (5) */
+	uint8	     	iScrambler;		/* Off (0), On (1) */
+	uint8	     	iEnableCLPC; 	/* range 0-100. 0 - disable calibration										/
+									   range 1-99 - enable Cal asses periodic time, every step is 200msecond 
+	                                   periodic of cal assess for example: 1.2 second put the value 6.
+									   if the value is out of range it will be change to 25 represent 
+	                                   5 second of cal assess periodical */	
+	uint8 	     	iSeqNumMode; 	/* Fixed sequence number (0), incremental (1) - used for PER test only */
+	TMacAddr	 	iSrcMacAddr; 	/* Source address (BSSID) - used for PER test only */
+	TMacAddr	    iDstMacAddr; 	/* Destination address - used for PER test only */
+	
+} TPacketParam;
+
+typedef struct
+{
+	int16			 oRadioStatus;
+	uint16			 Pad;
+	int32		     iPower;
+	uint8	    	 iToneType;
+	uint8		     iPpaStep;
+	uint8		     iToneNumberSingleTones;
+	uint8 	    	 iToneNumberTwoTones;
+	uint8		     iUseDigitalDC;
+	uint8 		     iInvert;
+	uint8	    	 iElevenNSpan;
+	uint8		     iDigitalDC;
+	uint8		     iAnalogDCFine;
+	uint8	    	 iAnalogDCCoarse;
+} TToneParam;
+
+typedef  struct 
+{
+	uint16 	bufferOffset;
+	uint16 	bufferLength;
+	int16	oRadioStatus;
+	int8 	buffer[TX_TEMPLATE_MAX_BUF_LEN];
+	uint8	padding[2];
+} TTxTemplate;
+
+typedef enum
+{
+	eDISABLE_CLPC,
+	eENABLE_CLPC,
+	eRESET_CLPC_TABLES,
+	eINIDCATE_CLPC_ACTIVATION_TIME,
+	eENABLE_CALIBRATIAONS,
+	eDISABLE_CALIBRATIAONS
+}CLPCCommands;
+
+typedef struct 
+{
+	int16	oStatus;
+	uint8	iCLPCActivationTime; /* range 0-100. 0 - disable calibration										/
+									range 1-99 - enable Cal asses periodic time, every step is 200msecond 
+	                                periodic of cal assess for example: 1.2 second put the value 6.
+									if the value is out of range it will be change to 25 represent 
+	                                5 second of cal assess periodical */
+	uint8	iCLPCCommands;
+}TTestCmdCLPCCommands;
+
+
+/************************************************************************
+                PLT  DBS
+				Theses DBs were moved from the TWDExternalIf.h because of
+				redundency.
+************************************************************************/
+typedef struct 
+{
+	uint8   oAbsoluteGain; 	/* Per Sub-Band (output) */
+	uint8   oLNASteps[RX_PLT_LNA_STEPS_BUF_LEN]; 	/* 4 steps per Band (output) */
+	uint8   oTASteps[RX_PLT_TA_STEPS_BUF_LEN]; 	/* 2 steps per Band (output) */
+	uint8   Padding; 
+} TTestCmdRxPlt;
+
+typedef struct 
+{
+	uint32  ReceivedValidPacketsNumber;
+    uint32  ReceivedFcsErrorPacketsNumber;
+    uint32  ReceivedPlcpErrorPacketsNumber;
+    uint32 	SeqNumMissCount; /* For PER calculation */
+    int16   AverageSnr;
+    int16   AverageRssi;
+    int16  AverageEvm;
+    uint8   Padding[2];
+} RxPathStatistics_t;
+
+typedef struct 
+{
+	uint16  Length; 
+    uint16  EVM; 
+    uint16  RSSI;
+    uint16  FrequencyDelta; 
+    uint16  Flags;
+    int8	Type;
+    uint8   Rate;
+    uint8   Noise;
+    uint8   AgcGain;
+    uint8   Padding[2];
+} RxPacketStatistics_t;
+
+#define RX_STAT_PACKETS_PER_MESSAGE           (20) 
+typedef struct 
+{
+	RxPathStatistics_t		oRxPathStatistics;
+    uint32           		oBasePacketId; 
+    uint32           		ioNumberOfPackets; 			/* input/output: number of following packets */
+	uint32					oNumberOfMissedPackets;		/* number of following packet statistic entries that were dropped */
+    /*RxPacketStatistics_t    RxPacketStatistics[RX_STAT_PACKETS_PER_MESSAGE];*/
+	int16					oRadioStatus;
+} RadioRxStatistics;
+
+/* RX RF gain values */
+typedef enum PHY_RADIO_RX_GAIN_VALUES_ENMT
+{
+	FIRST_RX_GAIN_VALUE_E,					
+/*_______________________________________________*/
+	RX_GAIN_VALUE_0_E = FIRST_RX_GAIN_VALUE_E,	
+	RX_GAIN_VALUE_1_E,						
+	RX_GAIN_VALUE_2_E,						
+	RX_GAIN_VALUE_3_E,						
+	RX_GAIN_VALUE_4_E,					
+	RX_GAIN_VALUE_5_E,					
+	RX_GAIN_VALUE_6_E,					
+	RX_GAIN_VALUE_7_E,					
+/*_______________________________________________*/
+	NUMBER_OF_RX_GAIN_VALUES_E,				
+	LAST_RX_GAIN_VALUE_E = (NUMBER_OF_RX_GAIN_VALUES_E - 1)
+
+}PHY_RADIO_RX_GAIN_VALUES_ENM;
+
+/* RX BIP */
+typedef struct 
+{
+	uint32		oNVSVersion;
+	int32		iExternalSignalPowerLevel;
+	int32		oLnaTaCompensationValues[NUMBER_OF_RX_GAIN_VALUES_E-1];
+	TNvsStruct	oNvsStruct; 
+	int16		oRadioStatus;
+	int8		padding[2];
+}RadioRxPltCal;
+
+
+typedef enum
+{
+	eSINGLE_BAND_INI_FILE,
+	eDUAL_BAND_INI_FILE
+}IniFileSingleDualBand;
+
+#define SMART_REFLEX_LENGTH_INDEX				0
+#define SMART_REFLEX_UPPER_LIMIT_INDEX			1	
+#define SMART_REFLEX_START_ERROR_VALUE_INDEX	2
+
+#define MAX_SMART_REFLEX_FUB_VALUES		14
+/* 1. first index is the number of param	*/
+/* 2. second is the higher value			*/
+/* 3. 14 parameter of the correction		*/
+#define MAX_SMART_REFLEX_PARAM					(MAX_SMART_REFLEX_FUB_VALUES + SMART_REFLEX_START_ERROR_VALUE_INDEX)	
+
+
+
+typedef struct 
+{
+	uint8	RefClk;                                 
+	uint8	SettlingTime;                                                                 
+	uint8	ClockValidOnWakeup;                      
+	uint8	DC2DCMode;                               
+	uint8	Single_Dual_Band_Solution;  
+	uint8	TXBiPFEMAutoDetect;
+	uint8	TXBiPFEMManufacturer;                    
+/*	GeneralSettingsByte	Settings; */
+    uint8               GeneralSettings;
+	/* smart reflex state*/
+	uint8				SRState;
+	/* FUB parameters */
+	int8				SRF1[MAX_SMART_REFLEX_PARAM];
+	int8				SRF2[MAX_SMART_REFLEX_PARAM];
+	int8				SRF3[MAX_SMART_REFLEX_PARAM];
+	/* FUB debug parameters */
+	int8				SR_Debug_Table[MAX_SMART_REFLEX_PARAM];
+	uint8				SR_SEN_N_P;
+	uint8				SR_SEN_N_P_Gain;
+	uint8				SR_SEN_NRN;
+	uint8				SR_SEN_PRN;
+
+	uint8				padding[3];
+}IniFileGeneralParam;  
+
+typedef enum 
+{		
+	FEM_MANUAL_DETECT_MODE_E,
+	FEM_AUTO_DETECT_MODE_E
+
+}FEM_DETECT_MODE_ENM;
+
+typedef enum 
+{		
+	FEM_RFMD_TYPE_E,
+	FEM_TRIQUINT_TYPE_E,
+	NUMBER_OF_FEM_TYPES_E
+
+}FEM_TYPE_ENM;
+
+typedef enum 
+{		
+	eREF_CLK_19_2_E,
+	eREF_CLK_26_E,
+	eREF_CLK_38_4_E,
+	eREF_CLK_52_E,
+	eREF_CLK_XTAL
+	
+
+}REF_CLK_ENM;
+
+typedef enum 
+{		
+	REF_CLK_NOT_VALID_E,
+	REF_CLK_VALID_AND_STABLE_E
+
+}CLK_VALID_ON_WAKEUP_ENM;
+
+typedef enum 
+{		
+	BT_SPI_IS_NOT_USED_E,
+	MUX_DC2DC_TO_BT_FUNC2_E
+
+}DC2DC_MODE_ENM;
+
+typedef enum 
+{		
+	SINGLE_BAND_SOLUTION_E,
+	DUAL_BAND_SOLUTION_E
+
+}SINGLE_DUAL_BAND_SOLUTION_ENM;
+
+/* General settings byte */
+typedef enum 
+{		
+	TELEC_CHAN_14_OFF_E,
+	TELEC_CHAN_14_ON_E
+
+}TELEC_CHAN_14_ENM;
+
+typedef enum 
+{		
+	NBI_OFF_E,
+	NBI_ON_E
+
+}NBI_ENM;
+
+#define RSSI_AND_PROCESS_COMPENSATION_TABLE_SIZE   (15)
+
+typedef struct 
+{
+	/* SECTION 1: 2.4G parameters */
+	uint8 RxTraceInsertionLoss_2_4G;																							
+	uint8 TXTraceLoss_2_4G;																							
+	int8  RxRssiAndProcessCompensation_2_4G[RSSI_AND_PROCESS_COMPENSATION_TABLE_SIZE];						
+	
+	/* SECTION 2: 5G parameters */										 
+	uint8 RxTraceInsertionLoss_5G[NUMBER_OF_SUB_BANDS_IN_5G_BAND_E];																
+	uint8 TXTraceLoss_5G[NUMBER_OF_SUB_BANDS_IN_5G_BAND_E];																
+	int8  RxRssiAndProcessCompensation_5G[RSSI_AND_PROCESS_COMPENSATION_TABLE_SIZE];									
+
+}TStatRadioParams;  
+
+typedef struct 
+{
+	/* SECTION 1: 2.4G parameters */
+	uint16 TXBiPReferencePDvoltage_2_4G;									
+	uint8  TxBiPReferencePower_2_4G;																				
+	int8  TxBiPOffsetdB_2_4G;																							
+	int8  TxPerRatePowerLimits_2_4G_Normal[NUMBER_OF_RATE_GROUPS_E];							
+	int8  TxPerRatePowerLimits_2_4G_Degraded[NUMBER_OF_RATE_GROUPS_E];							
+	int8  TxPerRatePowerLimits_2_4G_Extreme[NUMBER_OF_RATE_GROUPS_E];							
+	int8  TxPerChannelPowerLimits_2_4G_11b[NUMBER_OF_2_4_G_CHANNELS];	
+	int8  TxPerChannelPowerLimits_2_4G_OFDM[NUMBER_OF_2_4_G_CHANNELS];	
+	int8  TxPDVsRateOffsets_2_4G[NUMBER_OF_RATE_GROUPS_E];												
+	uint8 TxIbiasTable_2_4G[NUMBER_OF_RATE_GROUPS_E];														
+	uint8 RxFemInsertionLoss_2_4G;																			
+    uint8 DegradedLowToNormalThr_2_4G;
+    uint8 NormalToDegradedHighThr_2_4G;
+
+	/* SECTION 2: 5G parameters */
+	uint16 TXBiPReferencePDvoltage_5G[NUMBER_OF_SUB_BANDS_IN_5G_BAND_E];
+	uint8  TxBiPReferencePower_5G[NUMBER_OF_SUB_BANDS_IN_5G_BAND_E];				
+	int8  TxBiPOffsetdB_5G[NUMBER_OF_SUB_BANDS_IN_5G_BAND_E];								
+	int8  TxPerRatePowerLimits_5G_Normal[NUMBER_OF_RATE_GROUPS_E];							
+	int8  TxPerRatePowerLimits_5G_Degraded[NUMBER_OF_RATE_GROUPS_E];						
+	int8  TxPerRatePowerLimits_5G_Extreme[NUMBER_OF_RATE_GROUPS_E];						
+	int8  TxPerChannelPowerLimits_5G_OFDM[NUMBER_OF_5G_CHANNELS];                         
+	int8  TxPDVsRateOffsets_5G[NUMBER_OF_RATE_GROUPS_E];										
+	int8  TxIbiasTable_5G[NUMBER_OF_RATE_GROUPS_E];											
+	uint8  RxFemInsertionLoss_5G[NUMBER_OF_SUB_BANDS_IN_5G_BAND_E];									
+    uint8 DegradedLowToNormalThr_5G;
+    uint8 NormalToDegradedHighThr_5G;
+ 
+}TDynRadioParams;  
+
+typedef struct 
+{
+	TStatRadioParams	tStatRadioParams;
+	TDynRadioParams		tDynRadioParams;
+    uint8				Padding[2];
+
+}IniFileRadioParam;  
+
+/*\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
+
+/* Describes a reference design supported by the HDK Module */
+typedef struct HDKReferenceDesign_t
+{
+    uint16  referenceDesignId;          /* Reference design Id supported */
+    uint8   nvsMajorVersion;            /* First EEPROM version supported */
+    uint8   nvsMinorVersion;
+    uint8   nvsMinorMinorVersion;
+} THDKReferenceDesign;
+
+typedef struct HDKModuleVersion_t
+{
+    uint8               ProductName;				/* '6' for WiLink6, '4' for WiLink4 */
+    uint8               PgNumber;                   /* Hardware tag */
+    uint8               SoftwareVersionLevel;       /* SW level number (Major SW change) */
+    uint8               SoftwareVersionDelivery;    /* Delivery number inside any (Inside any level) */
+
+    uint8					radioModuleType;                    /* The radio that is currently supported by the HDK module */
+    uint8					numberOfReferenceDesignsSupported;  /* The number of reference designs supported by the HDK module */
+    THDKReferenceDesign*   referenceDesignsSupported;			/* Array of reference_design supported */
+	
+} THDKModuleVersion;
+
+#define FW_VERSION_LENGTH 5
+
+typedef struct 
+{	
+	THDKModuleVersion	hdkVersion;
+	uint8				FWVersion[FW_VERSION_LENGTH];		
+    uint32               drpwVersion;
+	int16				oRadioStatus;
+	uint8				padding[3];		
+}TFWVerisons;
+
+typedef struct
+{
+    int16       RSSIVal;      /* free running RSSI value, 1dB resolution */
+    int16		oRadioStatus;   
+}TTestCmdFreeRSSI;
+
+typedef struct
+{
+    TestCmdID_e     testCmdId;
+	int8            padding[3];
+
+	/* Efil -	when adding parameter here fill the switch case sentence in function
+			"cmdBld_CmdIeTest" in module "TWD\Ctrl\CmdBldCmdIE.c" */
+    union
+    {
+		TTestCmdChannel 			Channel;
+		RadioRxPltCal 					RxPlt;          
+		TTestCmdPdBufferCal 		PdBufferCal;
+		TTestCmdP2GCal 				P2GCal;             
+		TTestCmdPdBufferErrors			PdBufferErrors;
+		TTestCmdUpdateReferncePoint		PdBufferCalReferencePoint;
+		TPacketParam 				TxPacketParams;
+		TToneParam 					TxToneParams;
+		TTxTemplate					TxTemplateParams;
+		/*uint32               			txGainAdjust; */
+		TTxGainAdjust				txGainAdjust;
+		RadioRxStatistics			Statistics;
+		TFWVerisons					fwVersions;
+		TTestCmdRunCalibration		RunCalibration;
+        IniFileRadioParam           IniFileRadioParams;
+        IniFileGeneralParam				IniFileGeneralParams;
+		EfuseParameters_t				EfuseParams;
+        TestToneParams_t				TestToneParams;
+		TTestCmdPowerMode				powerMode;
+        TTestCmdFreeRSSI                freeRSSI;
+		TTestCmdCLPCCommands			clpcCommands;
+        TTestCmdDCOItrimOnOff              DCOitrimFeatureOnOff;
+
+		TTestCmdDebug					testDebug;
+    }testCmd_u;
+}TTestCmd;
+
+
+#ifndef HOST_IF_ENUMS_DISABLED
+typedef enum RadioParamType_e
+{
+    RADIO_PARAM_POWER_TABLE = 1,
+    RADIO_PARAM_POWER_LIMIT_TABLE,
+    RADIO_PARAM_POWER_ADJ_TABLE,
+    RADIO_PARAM_POWER_ENABLES,
+    RADIO_PABIAS_TABLE,
+    RADIO_PARAM_POWER_LEVELS,
+
+    MAX_RADIO_PARAM_TYPE = 0x7FFFFFFF /* force this enum to be uint32 */
+    
+} RadioParamType_e;
+#else
+typedef uint32 RadioParamType_e;
+#endif
+
+typedef struct RadioParam_t
+{
+    RadioParamType_e parameterType;
+    int8  parameter[MAX_RADIO_PARAM_LEN];
+} RadioParam_t;
+
+typedef enum RadioState_e
+{
+    RADIO_STATE_INIT = 1,           /* Completed radio initialization */
+    RADIO_STATE_TUNE = 2,           /* Completed channel tuning */
+    RADIO_STATE_DC_CAL = 3,         /* Completed radio DC calibration */
+    RADIO_STATE_AFE_DC_CAL =4,      /* Completed AFE DC calibration */
+    RADIO_STATE_TX_MM = 5,          /* Completed transmit IQ mismatch calibration */
+    RADIO_STATE_TX_EQUAL = 6,       /* Completed transmit equalization  calibration */
+    RADIO_STATE_CARR_SUPP = 7,      /* Completed carrier suppression calibration */
+    RADIO_STATE_TX_PWR_CTRL = 8     /* Completed transmit power control calibration (only for bg and abg radios) */
+
+} RadioState_e;
+
+typedef enum
+{
+    PS_MODE_ENTER_ELP = 0x0,
+    PS_MODE_ENTER_PD = 0x1,
+    PS_MODE_EXIT_FROM_ELP = 0x2,
+    PS_MODE_EXIT_FROM_PD = 0x4,
+    PS_MODE_ENTER_ELP_SG_EN = 0x10,
+    PS_MODE_ENTER_PD_SG_EN = 0x11,
+    PS_MODE_EXIT_FROM_ELP_SG_EN = 0x12,
+    PS_MODE_EXIT_FROM_PD_SG_EN = 0x14,
+    PS_MODE_INVALID = 0xFF
+
+}PowerSaveMode_e;
+
+typedef struct RadioTune_t
+{
+    Channel_e   channel;
+    RadioBand_e band;
+} RadioTune_t;
+
+typedef struct RadioRSSIAndSNR_t
+{
+    int16   rssi;
+    int16   snr;
+}RadioRSSIAndSNR_t;
+
+/* VBIAS values (in mili-volts) */
+typedef enum PHY_RADIO_VBIAS_MV_ENMT
+{
+	FIRST_VBIAS_VALUE_E = -1,
+
+	VBIAS_0MV_E = FIRST_VBIAS_VALUE_E,
+	VBIAS_100MV_E = 0,
+	VBIAS_200MV_E = 1,
+	VBIAS_300MV_E = 2,
+	VBIAS_400MV_E = 3,
+	VBIAS_500MV_E = 4,
+	VBIAS_600MV_E = 5,
+	VBIAS_700MV_E = 6,
+	VBIAS_800MV_E = 7,
+
+	NUMBER_OF_VBIAS_VALUES_E = 9,
+    LAST_VBIAS_VALUE_E = (NUMBER_OF_VBIAS_VALUES_E - 1)
+
+}PHY_RADIO_VBIAS_MV_ENM;
+
+/* Gain monitor values */
+typedef enum PHY_RADIO_GAIN_MONITOR_TYPES_ENMT
+{
+	FIRST_GAIN_MONITOR_TYPE_E,
+	GAIN_MONITOR_DISABLE = 0,
+	GAIN_MONITOR_RESERVED = 1,
+/*_______________________________________________*/
+	GAIN_MONITOR_X0_5_E = 2,
+	GAIN_MONITOR_X1_E = 3,
+	GAIN_MONITOR_X2_E = 4,
+	GAIN_MONITOR_X4_E = 5,
+	GAIN_MONITOR_X8_E = 6,
+	GAIN_MONITOR_X16_E = 7,
+/*_______________________________________________*/
+	NUMBER_OF_GAIN_MONITOR_TYPES_E = GAIN_MONITOR_X16_E,				
+	LAST_GAIN_MONITOR_TYPE_E = (NUMBER_OF_GAIN_MONITOR_TYPES_E - 1)	
+
+}PHY_RADIO_GAIN_MONITOR_TYPES_ENM;
+
+
+/* TX Packet Mode; */
+typedef enum
+{
+	eTX_MODE_SINGLE_PACKET,              /* 0 */
+	eTX_MODE_MULTIPLE_PACKET,            /* 1 */
+	eTX_MODE_INFINITE_LENGTH_PACKET,     /* 2 */
+	eTX_MODE_CONTINUES_PACKET,           /* 3 */
+	eTX_MODE_FCC_PACKET,                 /* 4 */
+	eTX_MODE_SENARIO_PACKET,	     /* 5 */
+
+	eMAX_PACKET_MODE_PACKET
+}PacketTypeMode;
+
+/* TX tone mode */
+typedef enum
+{
+	eSILENCE_TONE_MODE,
+	eCARRIER_FEED_THROUGH_MODE,
+	eSINGLE_TONE_MODE,
+	eTWO_TONE_MODE,
+	eMULTI_TONE_MODE,
+
+	eMax_TONE_MODE
+}ToneTypeMode;
+
+
+/**********************************************************************/
+/*		For RSSI Calculation - Save Parameters						  */
+/**********************************************************************/
+
+typedef struct 
+{
+	uint16 linerEvmVal;
+	uint16 ccaEcalcMonReg;
+	uint16 ccaEcalcRssi;
+	uint16 linerEvmPilVal;
+	uint8 lanTableIndex;
+	uint8 taTableIndex;
+	uint8 lnaTableIndex;
+	RADIO_SUB_BAND_TYPE_ENM currSubBand;
+	RADIO_BAND_TYPE_ENM		currBand;
+}rssiParamSave_t;
+
+
+
+#endif	/* #ifndef PUBLIC_RADIO */