zte's code,first commit

Change-Id: I9a04da59e459a9bc0d67f101f700d9d7dc8d681b
diff --git a/pub/include/ps_phy/pswphyint.h b/pub/include/ps_phy/pswphyint.h
new file mode 100644
index 0000000..102f7b5
--- /dev/null
+++ b/pub/include/ps_phy/pswphyint.h
@@ -0,0 +1,2452 @@
+ /*==============================================================================***

+ *°æ±¾ËùÓÐ (C)2012ÖÐÐËͨѶ¹É·ÝÓÐÏÞ¹«Ë¾

+ *  Ä£¿éÃû  £º

+ *  ÎļþÃû  £ºpswphyint.h

+ *  Îļþ±êʶ£º

+ *  Ïà¹ØÎļþ£º

+ *  ʵÏÖ¹¦ÄÜ£ºWCDMA psºÍWCDMA PHYµÄ½Ó¿Ú¶¨Òå

+ *  ×÷Õß    £º

+ *  °æ±¾    £º

+ *  Íê³ÉÈÕÆÚ£º

+ *  ÆäËü˵Ã÷£º

+*/ 

+

+#ifndef Z_PS_WPHY_INTERFACE_H

+#define Z_PS_WPHY_INTERFACE_H

+

+

+#ifndef Z_SEND_TO_SIMPHY

+#include "ram_config.h"

+#endif

+ /*==============================================================================

+*                        Í·Îļþ°üº¬                                      *

+==============================================================================*/

+

+/****************************************************************************/

+/*				ICP ÖжÏ״̬붨Òå											*/

+/****************************************************************************/

+/***********************************************************************/

+#define CONFIG_OPT_SIZE       (1)    /*for size optimize, if found some exception please disable it*/

+

+/* PHY_CPU -> PS_CPU ICP STAUTS*/

+#define PHY_PS_FRAME_ICP_MASK		       (DWORD)0x00000001

+#define PHY_PS_WAKEUP_ICP_MASK		(DWORD)0x00000002

+

+/* PS_CPU -> PHY_CPU ICP STAUTS*/

+#define PS_PHY_UPA_DATA_ICP_MASK	       (DWORD)0x00000001

+#define PS_PHY_WAKEUP_ICP_MASK		(DWORD)0x00000002

+

+ /*==============================================================================

+*                         È«¾Öºê¶¨Òå                                     *

+==============================================================================*/

+

+

+/*start:Ð¡ÇøËÑË÷²¿·ÖºêÖµ¶¨Òå*/

+#define Z_W_P_MAX_NO_OF_FREQSCAN_FREQ                (WORD)64   /*ÐèҪɨÃèµÄ×î´óƵ¶ÎÊýÄ¿*/

+#define Z_W_P_MAX_NO_OF_RSSI_RESULTS                 (WORD)32   /*ɨƵÉϱ¨µÄ×î´óƵµãÊýÄ¿*/

+#define Z_W_P_MAX_NO_OF_SEARCH_RESULTS               (WORD)8    /*Ð¡ÇøËÑË÷Éϱ¨µÄ×î´óÐ¡ÇøÊýÄ¿*/

+

+#define Z_W_P_CELLSRHTYPE_STRONGEST                  (WORD)0    /*·µ»ØÖ¸¶¨ÆµµãµÄ×îÇ¿Ð¡Çø*/

+#define Z_W_P_CELLSEARCHTYPE_BLIND                   (WORD)1    /*·µ»ØÖ¸¶¨ÆµµãµÄÐ¡ÇøÁбí*/

+#define Z_W_P_CELLSEARCHTYPE_SPEC                    (WORD)2    /*·µ»ØÖ¸¶¨PrimSrcµÄÐ¡Çø*/

+

+

+/*ÉèÖÃWÎïÀí²ãÊÇ·ñÖ÷ģʽ*/

+#define Z_W_P_IRAT_MODE_SLAVE                        (WORD)0    /*ÉèÖÃΪ¸¨Ä£Ê½*/

+#define Z_W_P_IRAT_MODE_MASTER                       (WORD)1    /*ÉèÖÃΪÖ÷ģʽ*/

+

+/*FDDƵ¶ÎºÅ¶¨Òå*/

+#define Z_W_P_BAND_FDDI                              (WORD)1

+#define Z_W_P_BAND_FDDII                             (WORD)2

+#define Z_W_P_BAND_FDDIII                            (WORD)3

+#define Z_W_P_BAND_FDDIV                             (WORD)4

+#define Z_W_P_BAND_FDDV                              (WORD)5

+#define Z_W_P_BAND_FDDVI                             (WORD)6

+#define Z_W_P_BAND_FDDVII                            (WORD)7

+#define Z_W_P_BAND_FDDVIII                           (WORD)8

+#define Z_W_P_BAND_FDDIX                             (WORD)9

+#define Z_W_P_BAND_FDDX                              (WORD)10

+#define Z_W_P_BAND_FDDXI                             (WORD)11

+#define Z_W_P_BAND_FDDXII                            (WORD)12

+#define Z_W_P_BAND_FDDXIII                           (WORD)13

+#define Z_W_P_BAND_FDDXIV                            (WORD)14

+#define Z_W_P_BAND_FDDXIX                            (WORD)15

+#define Z_W_P_BAND_FDDXX                             (WORD)16

+#define Z_W_P_BAND_FDDXXI                            (WORD)17

+/*end Ð¡ÇøËÑË÷²¿·ÖºêÖµ¶¨Òå*/

+

+/*start:ϵͳÐÅÏ¢²¿·ÖºêÖµ¶¨Òå*/

+#define Z_W_P_MAX_NUM_OF_BCH                                  (WORD)8      

+#define Z_W_P_MAX_NO_OF_SIB_OFFS                            (WORD)16     /*ϵͳÐÅÏ¢Æ«ÒÆ×î´óÊý×é¸öÊý*/

+#define Z_W_P_MAX_NO_OF_SIB_SCHEDULES                  (WORD)30    /*×î´óµ÷¶ÈÐÅÏ¢¸öÊý*/

+/*ϵͳÐÅÏ¢¿éÀàÐÍ*/

+#define Z_W_P_URRC_MIB                               (WORD)0

+#define Z_W_P_URRC_SIB1                              (WORD)1

+#define Z_W_P_URRC_SIB2                              (WORD)2

+#define Z_W_P_URRC_SIB3                              (WORD)3

+#define Z_W_P_URRC_SIB4                              (WORD)4

+#define Z_W_P_URRC_SIB5                              (WORD)5

+#define Z_W_P_URRC_SIB6                              (WORD)6

+#define Z_W_P_URRC_SIB7                              (WORD)7

+#define Z_W_P_URRC_SIB11                             (WORD)11

+#define Z_W_P_URRC_SIB12                             (WORD)12

+#define Z_W_P_URRC_SIB14                             (WORD)18

+#define Z_W_P_URRC_SIB15                             (WORD)19

+#define Z_W_P_URRC_SIB16                             (WORD)23

+#define Z_W_P_URRC_SIB18                             (WORD)26

+#define Z_W_P_URRC_SB1                               (WORD)27

+#define Z_W_P_URRC_SB2                               (WORD)28

+#define Z_W_P_URRC_SIB5BIS                           (WORD)30

+#define Z_W_P_URRC_SIB_TYPE_EXTENSION_TYPE           (WORD)31

+#define Z_W_P_URRC_SIB11BIS                          (WORD)32

+#define Z_W_P_URRC_SIB15BIS                          (WORD)33

+/*SIB-TypeExt2*/

+#define Z_W_P_URRC_SIB19                             (WORD)40

+#define Z_W_P_URRC_SIB20                             (WORD)42

+

+#define Z_W_P_BCH_REQ_ONE                            (WORD)0    /*ÇëÇóÎïÀí²ãÒÔÖ¸¶¨·½Ê½¶Ábch*/

+#define Z_W_P_BCH_REQ_ALL                            (WORD)1    /*ÇëÇóÎïÀí²ãÁ¬Ðø¶Ábch*/

+

+#define Z_W_P_STTD_NOTUSED                           (WORD)0    /*²»Ê¹ÓÃSTTD*/

+#define Z_W_P_STTD_USED                              (WORD)1    /*ʹÓÃSTTD*/

+#define Z_W_P_STTD_UNNOTIFY                          (WORD)2    /*δ֪£¬¼´ps²»È·Èϵ±Ç°Ð¡ÇøÊÇ·ñʹÓÃSTTD*/

+/*end:ϵͳÐÅÏ¢²¿·ÖºêÖµ¶¨Òå*/

+

+/*start:×ÊÔ´²¿·ÖºêÖµ¶¨Òå*/

+#define Z_W_P_MAX_UL_TRCH_NUM                         (WORD)8 

+#define Z_W_P_MAX_DL_TRCH_NUM                         (WORD)8

+#define Z_W_P_MAX_UL_TF_NUM                           (WORD)32

+#define Z_W_P_MAX_DL_TF_NUM                           (WORD)64

+#define Z_W_P_MAX_UL_TFC_NUM                          (WORD)64

+#define Z_W_P_MAX_DL_TFC_NUM                          (WORD)128

+#define Z_W_P_MAX_NO_OF_RL                            (WORD)8/*×î´óRLÊýÄ¿*/

+#define Z_W_P_MAX_EDCH_NO_OF_RL                       (WORD)4

+#define Z_W_P_MAX_NO_OF_DPCHS                         (WORD)8

+#define Z_W_P_MAX_H_PROCESS                           (WORD)8

+#define Z_W_P_MAX_HS_SCCH_CODES                       (WORD)4

+#define Z_W_P_MAX_REF_ETFCI                           (WORD)8

+#define Z_W_P_MAX_HSCCHLESS_TFS_NUM                   (WORD)4

+

+#define Z_W_P_TTI_2MS                                   (WORD)1

+#define Z_W_P_TTI_10MS                                  (WORD)2

+#define Z_W_P_TTI_20MS                                  (WORD)3

+#define Z_W_P_TTI_40MS                                  (WORD)4

+#define Z_W_P_TTI_80MS                                  (WORD)5

+

+#define Z_W_ACT_TIME_IMMEDIATELY          (WORD)256/*¼¤»îʱ¼äÊÇÁ¢¼´¼¤»î*/

+/*end ×ÊÔ´²¿·ÖºêÖµ¶¨Òå*/

+

+/*start²âÁ¿Ïà¹Øºê¶¨Òå*/

+#define  Z_W_P_MAX_CELL_NUM                           (WORD)32         /*ͬƵÒìÆµ×î´óÖ§³ÖÐ¡ÇøÊýÄ¿*/

+#define  Z_W_P_MAX_INTRAFREQ_NUM                      (WORD)1          /*ͬƵƵµãÊýÄ¿£¬²»¿¼ÂǵڶþÉÏÐÐÆµµãʱ¸ÃֵΪ1*/

+#define  Z_W_P_MAX_INTERFREQ_NUM                      (WORD)8         /*ÒìÆµÅäÖÃÆµµãÊýÄ¿*/

+#define  Z_W_P_MAX_BLIND_INTERFREQ_NUM                (WORD)16          /*ÒìÆµÃ¤ÆµµãµÄƵµãÊýÄ¿*/

+#define  Z_W_P_MAX_BLIND_INTERFREQ_CELL_NUM           (WORD)3          /*äƵµãÏÂÐ¡ÇøÊýÄ¿*/

+#define  Z_W_P_MAX_CM_NUM                             (WORD)6          /*ѹËõģʽÅäÖÃÏîÊýÄ¿*/

+#define  Z_W_P_MAX_FRAME_GAP_NUM                      (WORD)2          /*Ò»¸öÖ¡ÖÐ×î´óGAPÊýÄ¿*/

+/*end²âÁ¿Ïà¹Øºê¶¨Òå*/

+

+/*start²ã¶þÏà¹Øºê¶¨Òå*/

+/*ÎÞÏß×ÊÔ´ÅäÖÃÏà¹Øºê¶¨Òå*/

+

+#define     Z_W_P_MAX_UL_FREQUENCY_NUM                (WORD)2

+#define     Z_W_P_MAX_DL_FREQUENCY_NUM                (WORD)2

+

+/*´«ÊäÐŵÀÀàÐÍ,½öÓÃÓÚºÍÎïÀí²ãµÄ½Ó¿ÚÖÐ*/

+#define     Z_W_P_PCH                                 (WORD)0

+#define     Z_W_P_FACH                                (WORD)1

+#define     Z_W_P_DL_DCH                              (WORD)2

+#define     Z_W_P_RACH                                (WORD)3

+#define     Z_W_P_UL_DCH                              (WORD)4

+

+/*UPAÏà¹Ø²ÎÊý*/

+//#define     Z_W_P_MAX_REF_ETFCI_NUM                       (WORD)8/*Z_W_P_MAX_REF_ETFCI*/

+#define     Z_W_P_MAX_RG_NUM                          (WORD)4

+

+/*Êý¾Ý½Ó¿Ú´óС*/

+#define     Z_W_P_MAX_NO_OF_UL_BYTES                  (WORD)1168

+

+#define     Z_W_P_MAX_NO_OF_DL_BYTES                  (WORD)1168

+#define     Z_W_P_MAX_NO_OF_HSDPA_BYTES               (WORD)5274

+

+#define     Z_W_P_MAX_NO_OF_HSUPA_BYTES               (WORD)2876

+

+

+#define     Z_W_P_MAX_ETFCI_NUM                       (WORD)128

+#define     Z_W_P_MAX_NTR_NUM                          (WORD)8

+

+/*rachÏà¹Ø*/

+#define     Z_W_P_RACH_ACCESS_ACK                     (WORD)0

+#define     Z_W_P_RACH_ACCESS_NACK                    (WORD)1

+#define     Z_W_P_RACH_ACCESS_NO_ACK                  (WORD)2

+

+/*ÏÂÐÐÊý¾ÝÀàÐÍ*/

+#define        Z_W_P_PCH_FACH_DCH_DATA                (WORD)0

+#define        Z_W_P_DPA_DATA                         (WORD)1

+/*end²ã¶þÏà¹Øºê¶¨Òå*/

+

+

+

+/*wÖ÷Ä£Á¬½Ó̬(FACH ¡¢DCH)ÎïÀí²ãÉϱ¨GAPÐèÒª¿Û³ýµÄÉ䯵±£»¤¼ä¸ôµ¥Î»CHIP, 7520°æ±¾Í·Î²·Ö±ð¿Û³ý30chips(7.8125us) 660chips(171.875us). */

+

+#define   Z_W_P_MEAS_DCHGAP_START_OFF                 (WORD)30

+#define   Z_W_P_MEAS_DCHGAP_TAIL_OFF                  (WORD)660

+

+

+#define Z_ZWPCG_VALFG_NUM                             (WORD)8

+#define Z_ZWPCG_PARAM_NUM                             (WORD)25

+

+ /*==============================================================================

+*                         È«¾ÖÊý¾ÝÀàÐͶ¨Òå                                   *

+==============================================================================*/

+

+

+ /*==============================================================================

+ *                         Ð¡ÇøËÑË÷È«¾ÖÊý¾ÝÀàÐͶ¨Òå start                    *

+ ==============================================================================*/

+

+/*==============================================================================

+    RRC->PHY

+    ʼþ£ºP_W_FREQUENCY_SCAN_REQ

+    ¹¦ÄÜ:

+        ¿ÉÄܳöÏÖµÄÔÚ³õʼ״̬£¬IDLE̬£¬CELL_PCH̬£¬CELL_URA̬£¬L1¸ù¾ÝÏûÏ¢ÖÐ

+        Я´øµÄƵµã»òƵ¶ÎÐÅÏ¢½øÐÐɨƵ£¬Ê×ÏÈÖ´ÐÐÆµ¶ÎɨƵ£¬Ö®ºóÔÙ½«Æµ¶ÎɨÃè½á

+        ¹ûƵµãÓëЭÒéջϷ¢µÄÀëɢƵµã·ÅÔÚÒ»Æð½øÐÐÀëɢƵµãɨƵ

+    ½á¹¹:

+        T_zW_P_frequency_scan_req

+==============================================================================*/

+ typedef struct{   

+    WORD                                        wFreqStartRange;

+    WORD                                        wFreqEndRange;  

+    WORD                                        wBandInd;

+    WORD                                        wPadding;                                        

+}T_zW_P_frequency_range;

+

+typedef struct

+{    

+    WORD                                        wMsgId;

+    WORD                                        wFreqRangeNum;

+    WORD                                        wSeqNum;

+    WORD                                        wWonlyFlg; /*µ±Ç°ÊÇ·ñÊÇWµ¥Ä££¬wWonlyFlg=1Ϊµ¥Ä££¬·ñÔòΪ¶àÄ£*/

+    T_zW_P_frequency_range                      atFrequencyRange[Z_W_P_MAX_NO_OF_FREQSCAN_FREQ];

+}T_zW_P_frequency_scan_req;

+

+

+/*==============================================================================

+    RRC->PHY

+    ʼþ£ºP_W_ABORT_FREQ_SCAN_REQ

+    ¹¦ÄÜ:

+        Í£Ö¹L1ƵÂÊɨÃèÇëÇó

+    ½á¹¹:

+        T_zW_P_abort_frequency_scan_req,¿Õ½á¹¹

+==============================================================================*/

+typedef   struct{

+    WORD                                        wMsgId;

+    WORD                                        wPadding;

+}T_zW_P_abort_frequency_scan_req;

+

+

+/*==============================================================================

+    PHY->L1W

+    ʼþ£ºP_ABORT_FREQ_SCAN_CNF

+    ¹¦ÄÜ:

+        Í£Ö¹L1ƵÂÊɨÃèÈ·ÈÏ

+    ½á¹¹:

+        T_zW_P_abort_frequency_scan_cnf,¿Õ½á¹¹

+==============================================================================*/

+typedef   struct{

+    WORD                                        wMsgId;

+    WORD                                        wPadding;

+}T_zW_P_abort_frequency_scan_cnf;

+

+

+/*==============================================================================

+    PHY->RRC

+    ʼþ£ºP_FREQUENCY_SCAN_IND

+    ¹¦ÄÜ:

+        L1Íê³ÉɨƵºó£¬Í¨¹ýÏûÏ¢P_FREQUENCY_SCAN_INDÉϱ¨É¨Æµ½á¹û,ÎïÀí²ã¸ù¾Ý

+        RSSI²âÁ¿Öµ¼°PSCHÏà¹ØÄÜÁ¿¶ÔƵÂʽøÐÐÅÅÐò£¬×î¿ÉÄÜפÁôµÄƵÂÊ·ÅÔÚÊ×룬

+        ÒÀ´ÎÀàÍÆ£¬²»ÄÜפÁôµÄƵÂʲ»Éϱ¨¡£

+        Èç¹ûɨƵ½á¹û³¬¹ý32£¬ÎïÀí²ã½«Ç°32ǿƵµã×÷Ϊ½á¹ûÉϱ¨Ð­ÒéÕ»¡£

+    ½á¹¹:

+        T_zW_P_frequency_scan_ind

+==============================================================================*/

+ typedef struct{

+    WORD                                        wFrequency;

+    WORD                                        wPadding;

+ }T_zW_P_scan_result;

+

+typedef struct

+{    

+    WORD                                        wMsgId;

+    WORD                                           wScanRltNum;

+    WORD                                        wSeqNum; 

+    WORD                                        wPadding;     

+    T_zW_P_scan_result                          atScanResult[Z_W_P_MAX_NO_OF_RSSI_RESULTS]; /*ÎïÀí²ã½«É¨Æµ½á¹ûǰ32Ç¿Éϱ¨*/ 

+}T_zW_P_frequency_scan_ind; 

+

+

+/*==============================================================================

+    RRC->PHY

+    ʼþ£ºP_CELL_SEARCH_REQ

+    ¹¦ÄÜ:

+            Ö¸¶¨ÆµµãÉϲéÕÒÖ¸¶¨ÊýÄ¿Ð¡Çø¡£Èç¹ûµ±Ç°ÒÑÓзþÎñÐ¡Çø£¬L1ÐèҪͬʱ±£³Ö·þÎñÐ¡ÇøÍ¬²½£¬

+        ÒÔ¼°½ÓÊÕѰºôµÈ¡£Èç¹ûÊÕµ½Ñ°ºôµÈÇé¿öÐèÒªÖжÏL1Ð¡ÇøËÑË÷£¬ÖжϺóL1²»ÔÙÏòЭÒéÕ»Éϱ¨ÒÑ

+        ·¢ÏÖÐ¡ÇøÐÅÏ¢¡£Èç¹ûnum_of_cell_idÈ¡0£¬ÇëÇóL1ÔÚÖ¸¶¨ÆµµãÉÏäËÑÐ¡Çø£¬Âú×ã¡°ÃÅÏÞ¡±µÄ

+        num_of_result¸öÐ¡ÇøÉϱ¨¡£Èç¹ûnum_of_cell_idÈ¡·Ç0Öµ£¬ÇëÇóL1ÔÚÖ¸¶¨cell_parameter_idµÄ

+        Ð¡ÇøÁбíÖÐËÑË÷Âú×ã¡°ÃÅÏÞ¡±µÄÐ¡ÇøÉϱ¨¡£ÆäÖеġ° ÃÅÏÞ¡± ÓÉÎïÀí²ã¸ù¾ÝÐÔÄÜÈ·¶¨

+    ½á¹¹:

+        T_zW_P_cell_search_req

+==============================================================================*/

+typedef struct

+{

+    WORD                                        wTxDiversityInd; /*²Î¼ûºê¶¨Òå,½öµ±wSearchTypeΪָ¶¨ËÑË÷ʱÓÐЧ*/

+    WORD                                        wPrimSrc;

+}T_zW_P_cellsrh_info; 

+

+typedef struct

+{    

+    WORD                                        wMsgId;

+    WORD                                        wSeqNum;

+    WORD                                        wFrequency;

+    WORD                                        wSearchType;   /*²Î¼ûºê¶¨Òå*/

+    WORD                                        wNumOfResult;

+    WORD                                        wNumOfCell;

+    T_zW_P_cellsrh_info                         atCellSrhInfo[Z_W_P_MAX_NO_OF_SEARCH_RESULTS];

+}T_zW_P_cell_search_req; 

+

+

+/*==============================================================================

+    PHY->RRC

+    ʼþ£ºP_ABORT_CELL_SEARCH_REQ

+    ¹¦ÄÜ:

+        Í£Ö¹ÎïÀí²ãµÄcell search¡£

+    ½á¹¹:

+        T_zW_P_abort_cell_search_req,¿Õ½á¹¹

+==============================================================================*/

+typedef    struct{

+    WORD                                        wMsgId;

+    WORD                                        wPadding;

+}T_zW_P_abort_cell_search_req;

+

+

+/*==============================================================================

+    PHY->L1W

+    ʼþ£ºP_ABORT_CELL_SEARCH_CNF

+    ¹¦ÄÜ:

+        Í£Ö¹ÎïÀí²ãµÄcell searchÈ·ÈÏ¡£

+    ½á¹¹:

+        T_zW_P_abort_cell_search_cnf,¿Õ½á¹¹

+==============================================================================*/

+typedef    struct{

+    WORD                                        wMsgId;

+    WORD                                        wPadding;

+}T_zW_P_abort_cell_search_cnf;

+

+

+/*==============================================================================

+    PHY->RRC

+    ʼþ£ºP_CELL_SEARCH_IND

+    ¹¦ÄÜ:

+        Éϱ¨Ö¸¶¨ÆµµãÉÏÂú×ãÎïÀí²ã×îµÍÃÅÏÞÖµµÄ£¨Ö¸¶¨£©Ð¡Çø²âÁ¿½á¹û¡£

+    ½á¹¹:

+        T_zW_P_cell_search_ind

+==============================================================================*/

+typedef struct{    

+    WORD                                        wPrimSrc;    

+    WORD                                        wCpichRscp;

+    WORD                                        wCpichEcNo;  

+    WORD                                        wPadding;

+}T_zW_P_cell_params;

+

+typedef struct

+{

+    WORD                                        wMsgId;

+    WORD                                        wSeqNum;

+    WORD                                        wFrequency;  

+    WORD                                        wNumOfFoundCells;    

+    T_zW_P_cell_params                          atCell[Z_W_P_MAX_NO_OF_SEARCH_RESULTS];                   

+}T_zW_P_cell_search_ind; 

+

+

+/*==============================================================================

+    RRC->PHY

+    ʼþ£ºP_BCH_OPEN_REQ

+    ¹¦ÄÜ:

+        ¸ÃÏûÏ¢ÔÚ·ÇDCH̬»áÏ·¢,´ò¿ªBCH¶ÁϵͳÐÅÏ¢,¿ÕÏÐ̬,PCH̬¿ÉÒÔ¶ÁÈ¡·þÎñÐ¡Çø

+        ºÍÏàÁÚÐ¡ÇøÏµÍ³ÐÅÏ¢£¬FACHÖ»ÄܶÁÈ¡·þÎñÐ¡ÇøÏµÍ³ÐÅÏ¢¡£¸ÃÏûÏ¢ÎÞÏìÓ¦ÏûÏ¢¡£

+    ½á¹¹:

+        T_zP_TD_bch_open_req

+==============================================================================*/

+typedef struct

+{   

+    WORD                                        wSibType;   /*²Î¼ûºê¶¨Òå*/

+    WORD                                        wSegCount;/* SIBÏûÏ¢µÄ·Ö¶ÎÊýÄ¿£¬·¶Î§1..16*/

+    WORD                                        wSibRep; /* SIBÖØ¸´ÖÜÆÚ*/

+    WORD                                        wSibPos;/* SIBµÚÒ»¸ö·Ö¶ÎµÄλÖÃ*/

+    WORD                                        wSibOff[Z_W_P_MAX_NO_OF_SIB_OFFS];

+} T_sib_schedule_info;

+

+typedef struct {

+    WORD                                        wMsgId;

+    WORD                                        wType;      /*²Î¼ûºê¶¨Òå*/

+    WORD                                        wTxDivMode; /*²Î¼ûºê¶¨Òå*/     

+    WORD                                        wFrequency;

+    WORD                                        wPrimSrc;

+    WORD                                        wCellReselectFlg;/*wCellReselectFlg=1±íʾ´Ë´Î¶ÁSIBÊÇÒòÖØÑ¡·¢Æð¡£Îª0±íʾ·ÇÐ¡ÇøÖØÑ¡ÒýÆð*/

+    WORD                                        wNumOfSchedule;

+    WORD                                        wPadding;

+    T_sib_schedule_info                         tSibScheduleInfo[Z_W_P_MAX_NO_OF_SIB_SCHEDULES];

+}T_zW_P_bch_open_req;

+

+

+/*==============================================================================

+    PHY->RRC

+    ʼþ£ºP_BCH_IND

+    ¹¦ÄÜ:

+        ´ò¿ªBCHºóL1Öð¿éÉϱ¨ÏµÍ³ÐÅϢָʾ, ¿ÕÏûÏ¢£¬Ð­ÒéÕ»ÊÕµ½´ËָʾºóÈ¥

+        ¹Ì¶¨Buffer¶ÁϵͳÐÅÏ¢Êý¾Ý

+    ½á¹¹:

+        T_zW_P_Bch_Buffer

+==============================================================================*/

+typedef struct

+{  

+    WORD                                        wMsgId;

+    WORD                                        wSfn;

+    WORD                                        wCrcCheck;

+    WORD                                        wFrequency;

+    WORD                                        wPrimSrc;

+    WORD                                        wSfnDecodeRlt; /*0:ʧ°Ü£¬1³É¹¦*/

+    WORD                                         awDataArea[Z_W_P_MAX_NUM_OF_BCH*2];

+}T_zW_P_Bch_Ind; 

+

+

+/*==============================================================================

+    RRC->PHY

+    ʼþ£ºP_BCH_RELEASE_REQ

+    ¹¦ÄÜ:

+        ЭÒéÕ»ÇëÇóL1Í£Ö¹½ÓÊÕϵͳÐÅÏ¢£¬ÊÍ·ÅBCH

+    ½á¹¹:

+        T_zW_P_bch_release_req

+==============================================================================*/

+typedef struct{

+    WORD                                        wMsgId;

+    WORD                                        wPadding;

+}T_zW_P_bch_release_req;

+

+

+/*==============================================================================

+    PHY->L1W

+    ʼþ£ºP_BCH_RELEASE_CNF

+    ¹¦ÄÜ:

+        L1È·ÈÏЭÒéջֹͣ½ÓÊÕϵͳÐÅÏ¢

+    ½á¹¹:

+        T_zW_P_bch_release_cnf

+==============================================================================*/

+typedef struct{

+    WORD                                        wMsgId;

+    WORD                                        wPadding;

+}T_zW_P_bch_release_cnf;

+

+

+/*==============================================================================

+    RRC->PHY

+    ʼþ£ºP_CAMPON_A_CELL_REQ

+    ¹¦ÄÜ:

+        RRCÔÚϵͳÐÅÏ¢¶ÁÈ¡Íê³Éºó£¬ÈÏÎªÐ¡Çø¿ÉפÁô£¬·¢ËÍ´ËÏûϢ֪ͨ

+        ÎïÀí²ã´ËÐ¡ÇøÎª·þÎñÐ¡Çø¡£

+    ½á¹¹:

+        T_zW_P_camp_on_a_cell_req

+==============================================================================*/

+typedef struct

+{

+    WORD                                        wMsgId;    

+    WORD                                        wUlFrequency;

+    WORD                                        wDlFrequency;    

+    WORD                                        wPrimSrc;

+    WORD                                        wPreDlFrequency;

+    WORD                                        wPadding;

+}T_zW_P_camp_on_a_cell_req; 

+

+

+/*==============================================================================

+    PHY->L1W

+    ʼþ£ºP_CAMPON_A_CELL_CNF

+    ¹¦ÄÜ:

+        µ×²ãÈ·ÈÏפÁôÐ¡Çø¡£

+    ½á¹¹:

+        T_zW_P_camp_on_a_cell_cnf

+==============================================================================*/

+typedef struct

+{

+    WORD                                        wMsgId;    

+    WORD                                        wPadding;

+}T_zW_P_camp_on_a_cell_cnf; 

+

+

+/*==============================================================================

+    RRC->PHY

+    ʼþ£ºP_SET_IRAT_MODE_REQ

+    ¹¦ÄÜ:

+        ЭÒéջ֪ͨÎïÀí²ãģʽÀàÐÍ£¬ÊÇFDD mode¼´FDDΪÖ÷ģʽ£¬

+        »òÕß²»ÊÇFDD mode¼´FDDΪ¸¨¡£²»²Ù×÷É䯵¡£

+    ½á¹¹:

+        T_zW_P_set_irat_mode_Req

+==============================================================================*/

+typedef struct{

+    WORD                                        wMsgId;

+    WORD                                        wModeTypes; /*0-·ÇÖ÷£¬1-Ö÷Ä££¬²Î¼ûºê¶¨Òå*/       

+}T_zW_P_set_irat_mode_Req;

+

+

+/*==============================================================================

+    RRC->PHY

+    ʼþ£ºP_RESET_REQ

+    ¹¦ÄÜ:

+        ЭÒéջ֪ͨÎïÀí²ã¸´Î»

+    ½á¹¹:

+        T_zW_P_Reset_req

+==============================================================================*/

+typedef struct{

+    WORD                                        wMsgId;

+    WORD                                        wPadding;

+} T_zW_P_Reset_req;

+

+

+/*==============================================================================

+    PHY->RRC

+    ʼþ£ºP_RESET_CNF

+    ¹¦ÄÜ:

+        ÎïÀí²ã֪ͨЭÒéÕ»ÊÍ·ÅËùÓÐ×ÊÔ´½áÊø

+    ½á¹¹:

+        T_zW_P_Reset_cnf

+==============================================================================*/

+typedef struct{

+    WORD                                        wMsgId;

+    WORD                                        wPadding;

+}T_zW_P_reset_cnf;

+

+

+/*==============================================================================

+    RRC->PHY

+    ʼþ£ºP_W_REL_REQ

+    ¹¦ÄÜ:

+        ÎïÀí²ãÊÍ·ÅËùÓÐЭÒéջϷ¢µÄÒµÎñÇëÇó¼°É䯵¡£

+    ½á¹¹:

+        T_zW_P_release_req

+==============================================================================*/

+typedef struct{

+    WORD                                        wMsgId;

+    WORD                                        wPadding;

+} T_zW_P_release_req;

+

+

+/*==============================================================================

+    PHY->RRC

+    ʼþ£ºP_W_REL_CNF

+    ¹¦ÄÜ:

+        ÎïÀí²ã֪ͨЭÒéÕ»ÊÍ·ÅËùÓÐ×ÊÔ´½áÊø

+    ½á¹¹:

+        T_zW_P_release_cnf

+==============================================================================*/

+typedef struct{

+    WORD                                        wMsgId;

+    WORD                                        wPadding;

+} T_zW_P_release_cnf;

+

+

+ /*==============================================================================

+ *                         Ð¡ÇøËÑË÷È«¾ÖÊý¾ÝÀàÐͶ¨Òå --------end                          *

+ ==============================================================================*/

+

+

+ /*==============================================================================

+ *                        ×ÊÔ´ÅäÖÃÈ«¾ÖÊý¾ÝÀàÐͶ¨Òå --------start                         *

+ ==============================================================================*/

+

+

+typedef struct{

+    WORD                           wNum;

+    WORD                           awList[21];

+}T_zW_P_Imsi;

+

+typedef struct{

+    WORD                           wSrncId;

+    WORD                           wPadding;

+    DWORD                          dwSrnti;

+}T_zW_P_Urnti;

+

+typedef struct {

+    WORD                           wUeIdValidBitmap;/*bit0..bit3ÓÐЧ£¬ÒÀ´Î·Ö±ðָʾÐÅÔªTmsiGsm¡¢PTmsiGsm¡¢ImsiGsm¡¢URntiÊÇ·ñ´æÔÚ¡£bitλΪ1±íʾ¶ÔÓ¦ÐÅÔª´æÔÚ£¬·ñÔò²»´æÔÚ*/

+    WORD                           wPadding;

+    WORD                           awTmsiGsm[4];

+    WORD                           awPTmsiGsm[4];

+    T_zW_P_Imsi                    tImsiGsm;

+    T_zW_P_Urnti                   tUrnti;  /*PCH̬ʹÓÃ*/

+}T_zW_P_ue_id;

+

+

+typedef struct

+{

+    WORD                           wPichChanCode;

+    WORD                           wNumOfPiPerFrame;

+    WORD                           wPichSttdInd;

+    WORD                           wDrxCycleLengthCoeff;    

+    WORD                           wPichPowerOff; 

+    WORD                           wNumOfSccpch; 

+    T_zW_P_ue_id                   tUeIdInfo;

+} T_zW_P_pich_info;

+

+

+typedef struct{

+    WORD                           wSecScrambCodeFlg;

+    WORD                           wSecScrambCode;    

+    WORD                           wChanCode;

+    WORD                           wScrambCodeChangeFlg;

+} T_zW_P_dpch_ChannelCode;

+

+

+typedef struct{    

+    DWORD                          dwCtfc;

+    WORD                           wTfci;

+    WORD                           wTfcPowerParaFlg;/*¹¦ÂÊ¿ØÖƲÎÊý±êʶ£¬1±íʾÐèÒª²Î¿¼ÏÂÊö¹¦ÂʲÎÊýÐÅÏ¢£¨PowerOffPpmÐÅÏ¢£¬ÏÔʾBetaCºÍBetaDÐÅÏ¢£¬²Î¿¼TFCIDÐÅÏ¢£©¡£0±íʾÎÞ¹¦¿Ø²ÎÊý*/

+    WORD                           wPowerOffPpmFlg; 

+    WORD                           wPowerOffPpm;/*Needed only for PRACH*/

+    WORD                           wGainFactorInfo;/*±íʾBetaC£¬BetaDÓÃÏÔʾ¸ø³öµÄ·½Ê½»¹ÊÇÓòο¼TFC¼ÆËãµÄ·½Ê½¡£

+                                                                  ȡֵ0»ò1£¬0:±íʾÏÔʾ֪ͨ, BetaÖµ²ÉÓýӿÚÖÐÅäÖõÄwBetaD, wBetaC

+                                                                                           1:±íʾ²Î¿¼·½Ê½,¸ù¾ÝwRefTfcIdÕÒµ½¶ÔÓ¦µÄBetaÖµ*/

+    WORD                           wBetaC;/*signalledGainFactorsÏÔʾ¸ø³öµÄBetaC ȡֵ0~15*/

+    WORD                           wBetaD;              /*signalledGainFactorsÏÔʾ¸ø³öµÄBetaD ȡֵ0~15*/

+    WORD                           wRefTfcIdFlg;

+    WORD                           wRefTfcId;    /*computedGainFactors  Ref tfci£¬0~3 £¬ÐèÒªµ½²Î¿¼TFCIDÏÂѰÕÒ±¾TFCIDÐèÒªµÄBetaC£¬BetaD*/

+    WORD                           wPadding;

+}T_zW_P_ul_ctfc_tfc;

+

+typedef struct{

+    DWORD                          dwCtfc;

+    WORD                           wTfci;

+    WORD                           wPadding;

+}T_zW_P_dl_ctfc_tfc;

+

+

+typedef struct{

+    /*Unit is bits;UURRC should compute the  TB size by the rlc size*/

+    WORD                           wTransBlockSize;

+    WORD                           wNumOfTransBlocks;

+

+    WORD                           wTfi;

+    WORD                           wPadding;

+}T_zW_P_dynamic_tfs;

+

+

+typedef struct{

+    WORD                           wTrchId;

+    WORD                           wTrchType;  /*רÓÃÐŵÀ OR ¹«¹²ÐŵÀ*/

+    WORD                           wCodingTypeOfChannel;

+    WORD                           wTti;

+    WORD                           wCrcLength;

+    WORD                           wRmAttribute;

+    WORD                           wNumOfDynamicTfs;

+    WORD                           wPadding;

+}T_zW_P_static_tfs;

+    

+

+typedef struct{

+    WORD                           wNumOfTrch;

+    WORD                           wNumOfTfc;

+    T_zW_P_static_tfs           atStaticTFS[Z_W_P_MAX_UL_TRCH_NUM];

+    T_zW_P_dynamic_tfs       atDynamicTFS[Z_W_P_MAX_UL_TF_NUM];

+    T_zW_P_ul_ctfc_tfc          atCtfc[Z_W_P_MAX_UL_TFC_NUM];

+}T_zW_P_ul_dpch_trch_reconfig;

+

+typedef struct

+{    

+    WORD                           wPrimSrc; /* PrimaryCPICH */

+    WORD                           wPcpichUsageForChannelEst;   /*SecondaryCPICH-Info*/

+	

+    WORD                           wDpchFrameOffset;

+    WORD                           wSecCpScrCodeFlg;

+    WORD                           wSecCpichScrambCode; /*  SecondaryCPICH-Info*/

+    WORD                           wSecCpChanCodeFlg;

+    WORD                           wSecCpichChanCode;/*  SecondaryCPICH-Info*/

+    WORD                           wTpcCombIndex;  /* TPC-CombinationIndex */

+	

+    WORD                           wClosedLoopTimAdjMode;

+    WORD                           wPowerOffTpcPdpdch; /* PowerOffsetTPC-pdpdch */

+    WORD                           wTxDivMode;  /* DL-CommonInformation-r8*/

+    WORD                           wNumOfDpchs;

+

+    T_zW_P_dpch_ChannelCode  atDlDpchChannelCode[Z_W_P_MAX_NO_OF_DPCHS];

+} T_zW_P_dedicated_rl_params;

+

+typedef    struct{

+

+    WORD                           wNumOfTrch;

+    

+    WORD                           wNumOfTfc;

+    /* ´ÓÓÒµ½×óBITλ¶ÔÓ¦µÄ´«ÊäÐŵÀ˳ÐòÓëatStaticTFSÏàͬ£»bitÖµ0±íʾ²»ÐèÒª½âÎö£¬1±íʾÐèÒª½âÎö */

+    WORD                           wEnableDecodeBitmap;

+    WORD                           wPadding;

+    

+    /* ¸Ã¸ÃÊý×éÔÚDCH̬ʱÓÐЧ£¬Êý×éÔªËØ¶ÔÓ¦µÄ´«ÊäÐŵÀ˳ÐòÓëatStaticTFSÏàͬ£»

+                  Target_BLERΪ¿ÉÑ¡²ÎÊý£¬ÖµµÄ·¶Î§Îª0ÖÁ63£¬0xffff±íʾ²ÎÊý²»´æÔÚ£»ÎïÀí²ãÊÕµ½ºóÒª*£¨-0.1£©µÃµ½Êµ¼ÊÖµ   */

+    WORD                            awTargetBler[Z_W_P_MAX_DL_TRCH_NUM];

+    

+    T_zW_P_static_tfs            atStaticTfs[Z_W_P_MAX_DL_TRCH_NUM];

+    

+    T_zW_P_dynamic_tfs        atDynamicTfs[Z_W_P_MAX_DL_TF_NUM];

+    T_zW_P_dl_ctfc_tfc          atCtfc[Z_W_P_MAX_DL_TFC_NUM];

+}T_zW_P_dl_trch_reconfig;

+

+typedef struct

+{    

+    WORD              wPrimSrc; /** PrimaryCPICH */

+    WORD              wPcpichUsageForChannelEst;   /*SecondaryCPICH-Info*/

+    WORD              wDpchFrameOffset;

+    WORD              wFdpchSlotFormat;

+

+    WORD              wSecCpScrCodeFlg;

+    WORD              wSecCpichScrambCode; /*  SecondaryCPICH-Info*/

+

+    WORD              wSecCpChanCodeFlg;

+    WORD              wSecCpichChanCode;

+

+    WORD              wFdpchSecScrambCodeFlg;

+    WORD              wFdpchSecScrambCode;

+

+    WORD              wTpcCombIndex;  /* TPC-CombinationIndex */

+    WORD              wSttdIndication;

+    WORD              wFdpchChanCode;

+    WORD              wPadding;

+}T_zW_P_fdpch_dedicated_rl_params;

+

+

+typedef struct{

+    WORD                                  wNumOfTfc;

+    WORD                                  wPadding;

+    T_zW_P_static_tfs                  tStaticTFS;

+    T_zW_P_dynamic_tfs              atDynamicTFS[Z_W_P_MAX_UL_TF_NUM];

+    T_zW_P_ul_ctfc_tfc                atCtfc[Z_W_P_MAX_UL_TFC_NUM];

+} T_zW_P_rach_tfs_tfcs_config;

+

+

+typedef struct{

+    WORD                           wMaxTxPower;

+    WORD                           wPrachScrambCode; /* Preamble scrambling code number0-15 */

+    WORD                           wMinSpreadingFactor;/* Available SF In chips per symbol

+    Defines the minimum allowed SF */

+    /* Each bit indicates availability for a signature, where the signatures are numbered "signature 0" up to "signature 15". The value 1 of a bit indicates that the corresponding signature is available and the value 0 that it is not available*/

+    WORD                           wPuncturingLimit;

+    

+    /*10.3.6.55*/

+    /* Preamble_Initial_Power = Primary CPICH TX power - CPICH_RSCP + UL interference + Constant Value */

+    /* Preamble_Initial_Power= wInitialPowerOffset - CPICH_RSCP */

+    WORD                           wInitialPowerOff;

+    /*Prach Power Offset*/

+    WORD                           wPowerRampStep;/*PRACH¹¦ÂÊÆ«ÒÆ Power Ramp Step */

+    WORD                           wPreambleMaxRetrans;

+    

+    

+    /*10.3.6.2*/

+    WORD                           wAichChanCode;

+    WORD                           wAichTxdivMode;  /*·¢ËÍ·Ö¼¯Ö¸Ê¾*/

+    WORD                           wAichTransTiming; /*AICH´«Êäʱ¼ä */

+    WORD                           wAichPowerOff;

+    

+    WORD                           wRachTfsTfcsCfgFlg;

+

+    T_zW_P_rach_tfs_tfcs_config    tRachTfsAndTfcsConfig;

+} T_zW_P_prach_sysinfo; 

+

+typedef struct{

+    WORD                           wPowerOffHspdsch;

+      /* CQI feedback cycle count (0..160 ms) */

+    WORD                           wCqiFeedbackCycle;

+      /* CQI repetition factor (1..4) */

+    WORD                           wCqiRepFactor;

+      /* delta CQI (0..8) */

+    WORD                           wDeltaCqi;

+}T_zW_P_MeasFeedBack;

+

+

+typedef struct{

+

+    T_zW_P_MeasFeedBack      tMeasFeedBack;

+

+    WORD                             wDeltaAck; /* delta ACK (0..8) */

+    

+    WORD                             wDeltaNack; /* delta NACK (0..8) */

+    

+    /* ACK-NACK repetition factor (1..4)   UL-DPCH-PowerControlInfo-r7 */

+    WORD                             wAckNackRepFactor;      /*DPCH¹¦ÂÊ¿ØÖÆ*/

+    

+    /*(0, 1)1 indicates that preamble and postamble are used on the HS-DPCCH - see [29]*/

+    WORD                            wHarqPreambleMode; /* (MP)*/

+}T_zW_P_hs_dpcch;

+

+typedef  struct{

+    WORD                            wNumbOfProcess;

+    /*memory partitioning 0:implicit 1:explicit*/

+    WORD                            wMemoryPartition;

+

+    DWORD                           dwProcessMemorySize[2*Z_W_P_MAX_H_PROCESS];                               

+}T_zW_P_hs_harq_info;

+

+typedef struct { 

+    WORD                           wHsscchLessTfci;

+    WORD                           whsscchLessSecCodeSup;            

+} T_zW_P_hsscch_LessTfsList;

+

+typedef struct { 

+    WORD                           wHspdschCodeIndex;

+    WORD                           wHsscchLessTfsNum;

+    WORD                           wHsscchLessActiveFlg;

+    WORD                           wPadding;

+    T_zW_P_hsscch_LessTfsList      atHsscchLessTfsList[Z_W_P_MAX_HSCCHLESS_TFS_NUM];

+} T_zW_P_hsscch_less;

+

+typedef struct{

+    WORD                           wDtxCycle1;   

+    WORD                           wDtxCycle2;

+    WORD                           wDtxLongPreambleLength;

+    WORD                           wCqiDtxTimer;

+    WORD                           wDpcchBurst1;

+    WORD                           wDpcchBurst2;

+    WORD                           wCycle2InactivityThred;

+    WORD                           wDtxActiveFlg;  

+

+} T_zW_P_dtx_info;

+

+typedef struct{

+    WORD                           wDrxCycle;   

+    WORD                           wDrxCycleInacteThred;

+    WORD                           wDrxGrantMonitor;    

+    WORD                           wDrxActiveFlg;

+} T_zW_P_drx_info;

+

+typedef struct{

+    WORD                           wEnableDelay;   

+    WORD                           wDtxDrxOff;

+    WORD                           wUlDpcchSlotFormat;    

+    WORD                           wDrxFlg;

+    

+    T_zW_P_dtx_info            tDtxInfo;

+    T_zW_P_drx_info            tDrxInfo;

+} T_zW_P_dtx_drx_config;

+

+typedef struct{

+    /* indicate if secondary scrambling code exists for HS SCCH channel */

+    WORD                           wSecScrambCodeFlg;

+    /* secondary scrambling code value.

+    Valid only if sec_scr_code_valid is set to TRUE.

+    If not valid then primary CPICH scrambling code is used */

+    WORD                           wSecScrambCode;

+    /* number of channelisation codes to SCCH */

+    WORD                           wNumOfChannelCode;

+    WORD                           wPadding;

+    /* SCCH channelisation codes */

+    WORD                           awScchChannelCode [Z_W_P_MAX_HS_SCCH_CODES];

+}T_zW_P_hs_scch;

+

+typedef struct{

+    WORD                           wDlfreq;    

+    /* serving HS-PDSCH radio link primary scrambling code */

+    WORD                           wPrimSrc;   

+    WORD                           wHrnti;

+    WORD                           wDl64QAMConfigured;   

+    WORD                           wHsDschTbSizeTable;

+    WORD                           wResetDpaFlg;

+    

+    T_zW_P_hs_scch            tHsscchConfigInfo;

+}T_zW_P_hsdpa_info;

+

+typedef struct{

+    WORD                           wDlfreq;   

+    WORD                           wNewHrnti;

+    WORD                           wPrimSrc;   

+    

+    WORD                           wMeasPowerOff;  

+    WORD                           wDl64QAMConfigured;   

+    WORD                           wDiffTxDivers;   

+    WORD                           wHsDschTbSizeTable;

+    WORD                           wSecHsdpaActiveFlg;

+    

+    T_zW_P_hs_scch             tHsscchConfigInfo;

+}T_zW_P_sec_hsdpa_info;

+

+typedef    struct{

+    /*0:normalpattern,Ϊ0Ê±ÇøÓòIEÎÞЧ; 1: diversityPattern */

+    WORD                           wSecondCpichPattern;

+    WORD                           wScpichPowerOffFlg;

+    WORD                           wChanCode;

+    /*ȡֵ·¶Î§£º94-100 µ¥Î»dB,ÕæÊµÈ¡Öµ·¶Î§£º-6-0*/

+    WORD                           wScpichPowerOff;

+}T_zW_P_mimo_pilot_info;

+

+typedef struct{

+    /*ÓÃÓÚ´æ´¢mimoN-M-RatioÖÐö¾ÙÖµ¶ÔÓ¦µÄNµÄÖµ*/

+    WORD                           wMimoNRatio;

+    /*ÓÃÓÚ´æ´¢mimoN-M-RatioÖÐö¾ÙÖµ¶ÔÓ¦µÄMµÄÖµ*/

+    WORD                           wMimoMRatio;

+    WORD                           wPrecodeWeigRestr;

+    WORD                           wPadding;

+    T_zW_P_mimo_pilot_info   tMimoPilotCfg;

+} T_zW_P_mimo_info;

+

+typedef struct{

+    /* 10.3.6.69a*/

+    WORD                           wRefTfci;

+    WORD                           wTfciPo;

+} T_zW_P_edch_tfci_po;

+

+typedef struct{

+    WORD                           wEdchRefEtfciNum;

+    WORD                           wPadding;

+    T_zW_P_edch_tfci_po      atEdchTfciPo[Z_W_P_MAX_REF_ETFCI];

+} T_zW_P_edch_grant_config_info;

+

+typedef struct{

+    WORD                           wMinReducedEdpdchGainFactor; 

+    WORD                           wMinEtfcSet; /*0XFFFF±íʾûÓÐÅäÖÃ×îСETFC×Ó¼¯*/

+    T_zW_P_edch_grant_config_info  tEdchGrantConfigInfo;

+} T_zW_P_edpdch_info;

+

+typedef struct{

+    WORD                           wEdpcchPowerOffFlg;

+    WORD                           wDpcchPowerOff; 

+    WORD                           wEdpdchPowerInterpolation;

+    

+    /* E-TFC Boost Info */

+    WORD                           wEtfcBoostInfoFlg;

+    WORD                           wEtfciBoost;

+    WORD                           wDeltaT2TP;

+} T_zW_P_edpcch_info;

+

+typedef struct{

+    WORD                           wEdchTti; 

+

+  /* 25.331, 10.3.5.7d:

+     If "rv0" is indicated, the UE shall only use E_DCH RV index 0. 

+     Default value is "rvtable", in which case the UE shall use an RSN based

+     RV index. */

+    WORD                           wHarqRvConfig;/*0ºÍ1£¬·Ö±ð±íʾrv0ºÍrvtable*/

+

+    T_zW_P_edpdch_info       tEdpdchInfo;

+    T_zW_P_edpcch_info       tEdpcchInfo;

+} T_zW_P_edch_ul_info;

+

+typedef struct{

+    WORD                            wEagchChanCode;

+    WORD                            wPadding;

+} T_zW_P_edch_agch_info;

+

+

+typedef struct

+{   

+    /* E-HICH-RGCH-SignatureSequence Signature Sequence; Ref: 10.3.6.122 in 25.331*/

+    WORD                           wSignatSequence; /* 0..39 */

+    WORD                           wPadding;

+}T_zW_P_comm_edch_rgch_info;

+

+typedef struct{

+    /* RG combination index; Ref: 10.3.6.100 in 25.331*/

+    WORD                           wRgchCombIdx; /* 0..5 */

+    /* E-HICH-RGCH-SignatureSequence Signature Sequence; Ref: 10.3.6.100 in 25.331*/

+    WORD                           wSignatSequence; /* 0..39 */

+} T_zW_P_edch_rgch_info;

+

+typedef struct{

+    /* HICH channelization code; Ref: 10.3.6.101 in 25.331  E-HICH-ChannelisationCode */

+    WORD                           wEhichChannlCode; /* 0..127  */

+    /* E-HICH-RGCH-SignatureSequence Signature Sequence; Ref: 10.3.6.100 in 25.331*/

+    WORD                           wSignatSequence; /* 0..39 */

+} T_zW_P_edch_hich_info;

+

+typedef struct{

+    WORD                           wEchDlChanBitmap;

+

+    /* primary scrambling code of this RL */

+    WORD                           wEdchRlPrimSrc;

+    

+    T_zW_P_edch_rgch_info   tEdchErgchInfo;

+    T_zW_P_edch_hich_info   tEdchEhichInfo;

+} T_zW_P_edch_dl_per_rl_info;

+

+typedef struct{

+    WORD                           wPrimErntiFlg;

+    WORD                           wSecErntiFlg; 

+    

+    WORD                           wPrimErnti;

+    WORD                           wSecErnti;

+    /* Serving RL index in array  atEdchDRlAddRecfgInfo[ [MAX_edch_RL] */

+    WORD                           wEdchServRlIdx;     /* 0..(MAX_edch_RL-1) */

+    

+    /* number of enteries valid in array e_rl_info[L1_MAX_edch_RL] */

+    WORD                           wNumOfEdchRl;

+    T_zW_P_edch_agch_info           tEdchEagchInfo;

+    T_zW_P_edch_dl_per_rl_info     atEdchDlRlInfo[Z_W_P_MAX_EDCH_NO_OF_RL];

+} T_zW_P_edch_dl_info;

+

+

+typedef struct{

+      T_zW_P_edch_ul_info                  tEdchUlInfo;

+      T_zW_P_edch_dl_info                  tEdchDlInfo;

+}T_zW_P_edch_info;

+

+typedef struct{

+    WORD                                 wUlFreq;

+    WORD                                 wScrambCodeType;

+    DWORD                               dwScrambCodeNum; 

+    WORD                                 wPowerPreambleLen; 

+    WORD                                 wDpcchPowerOff;

+    

+    WORD                                 wNumOfRl;

+    WORD                                 wSecEdchActiveFlg;

+    T_zW_P_fdpch_dedicated_rl_params     atFdpchDedicatedRlParams[Z_W_P_MAX_NO_OF_RL];

+    

+    T_zW_P_edch_ul_info                         tEdchUlInfo;

+    T_zW_P_edch_dl_info                         tEdchDlInfo;

+} T_zW_P_sec_edch_info;

+

+typedef struct

+{    

+    WORD                       wT321;

+    WORD                       wDrx;

+    WORD                       wRxBurst; 

+    WORD                       wDrxInterrupHsdsch;

+} T_zW_P_fach_dpa_drx_info;

+

+typedef struct

+{

+    /* ACK-NACK repetition factor (1..4)   UL-DPCH-PowerControlInfo-r7 */

+    WORD                             wAackNackRepFactor;      /*DPCH¹¦ÂÊ¿ØÖÆ*/

+    

+    WORD                             wPowerControlAlgorith;  

+    WORD                             wTpcStepSize;

+    

+    WORD                             wMeasFeedBackFlg;

+    T_zW_P_MeasFeedBack      tMeasFeedBack;

+    

+    WORD                             wDeltaAckFlg;

+    WORD                             wDeltaAck; /* delta ACK (0..8) */

+    

+    WORD                             wDeltaNAckFlg;

+    WORD                             wDeltaNack; /* delta NACK (0..8) */

+} T_zW_P_fach_dpcch;

+

+typedef struct

+{

+    WORD                               wHrntiType; 

+    WORD                               wHrnti;

+    WORD                               wBcchHrnti; 

+    WORD                               wHsdpaDrxFlg;

+    WORD                               wHsdpcchSupAck;

+    WORD                               wFachDpcchFlg;

+    T_zW_P_hs_scch                     tHsscchConfig;

+    T_zW_P_hs_harq_info                tHsHarqInfo;    

+    T_zW_P_fach_dpa_drx_info           tHsdpaDrxInfo;

+    T_zW_P_fach_dpcch                  tFachDpcch;

+} T_zW_P_fach_dpa_info;

+

+typedef struct

+{

+    WORD                            wSymbolOff; 

+    WORD                            wFdpchChanCode;

+    WORD                            wUlDpcchScrambCodeType;

+    WORD                            wCommEdchRgchFlg;

+    DWORD                          dwUlDpcchScrambCode;

+    T_zW_P_comm_edch_rgch_info              tCommEdchRgchInfo;

+    T_zW_P_edch_hich_info                        tEdchEhichInfo;

+}T_zW_P_common_edch_resource_list;

+

+typedef struct

+{

+    WORD                                 wPriErntiFlg;

+    WORD                                 wPriErnti;

+    WORD                                  wResetFlg; 

+    WORD                                  wMaxTxPower;

+    WORD                                  wFdpchTpcCommandErrorRate;

+    /* 25.331, 10.3.5.7d:

+    If "rv0" is indicated, the UE shall only use E_DCH RV index 0. 

+    Default value is "rvtable", in which case the UE shall use an RSN based

+    RV index. */

+    WORD                                   wHarqRvConfig;

+

+    WORD                                   wAddEdchBackOff;

+    WORD                                   wEdchTti;

+    WORD                                   wEtfciTableIndex;

+    WORD                                   wCommonEdchResourceNum;

+

+    T_zW_P_edch_agch_info                       tEdchEagchInfo;

+    T_zW_P_edpdch_info                            tEdpdchInfo;

+    T_zW_P_edpcch_info                            tEdpcchInfo;

+    T_zW_P_common_edch_resource_list        atCommonEdchResourcelist[32];

+ } T_zW_P_fach_upa_info;

+

+typedef struct{

+

+    WORD                           wEaiInd;

+    WORD                           wDpcchPowerOffPe;

+    WORD                           wEaiPowerOff;

+    WORD                           wPadding;

+    T_zW_P_prach_sysinfo           tPrachSysinfo;/* ÔöÇ¿ÏÂPRACHÖ»ÓÐÒ»×é¡£*/

+}T_zW_P_hspa_plus_prach_info;

+

+typedef struct

+{

+    WORD                           wHrnti;/*½ÓÊÕÏÂÐÐHS-SCCHʱÓõ½µÄUE ±êʶ*/

+    WORD                           wBcchHrnti; /*ÔÚÏÂÐеÚÒ»ÌõHS-SCCHÉϽÓÊÕBCCHÉϵÄÏûϢʱÓõ½µÄרÓÃUE±êʶ*/

+    

+    T_zW_P_hs_scch             tHsscchConfig;

+    T_zW_P_hs_harq_info      tHsHarqInfo;    

+} T_zW_P_dcch_dtch_relate_info;

+

+typedef struct

+{

+    WORD                           wSecScrambCodeFlg;

+    WORD                           wSecScrambCode;

+    WORD                           wSubFrameNumOfPcch;/*number of subframes used to transmit the PAGING TYPE 1*/

+    WORD                           wHsdpaChanCode;

+    WORD                           wTbsNum;

+    WORD                           wPadding;

+    WORD                           awTbsList[2];

+}T_zW_P_pcch_relate_info;

+

+typedef struct

+{    

+    WORD                                     wDcchDtchRec;/*µ±Ç°ÊÇ·ñÖ§³Ö½ÓÊÕDTCHºÍDCCH£»0£º²»Ö§³Ö£»1£ºÖ§³Ö*/

+    WORD                                     wPadding;

+    T_zW_P_dcch_dtch_relate_info   tDcchDtchInfo; /*Dcch/DtchÉϵĽÓÊÕÅäÖÃÐÅÏ¢£¬½öµ±wDcch_dtch_rec_fg=1ʱÓÐЧ*/

+    T_zW_P_pcch_relate_info           tPcch_info; /*PcchÉϵĽÓÊÕÅäÖÃÐÅÏ¢£¬½öµ±wDcch_dtch_rec_fg=0ʱÓÐЧ*/    

+} T_zW_P_pch_dpa_info;

+

+

+

+

+/*==============================================================================

+ Ô­ÓP_ADD_PRACH_REQ( URRC->PHY )

+ ˵Ã÷: URRCÅäÖÃÎïÀí²ãËæ»ú½ÓÈëÐŵÀ

+==============================================================================*/

+typedef struct{

+    WORD                           wMsgId;

+    WORD                           wPadding;

+    T_zW_P_prach_sysinfo    tPrachSysinfo;

+}T_zW_P_add_prach_req;

+

+

+/*==============================================================================

+ Ô­ÓP_W_UL_DPCH_SETUP_MODIFY_REQ( URRC->PHY )

+ ˵Ã÷: URRC½¨Á¢ÉÏÐÐרÓÃÎïÀíÐŵÀ  ÓÃÓÚ·ÇDCH½¨Á¢µ½DCH¼°DCHÈíÓ²Çл»,

+              ÒÔ¼°È¡Ïû°éËæDPCH£¬ÉÏÐÐUPA£¬ÏÂÐÐFDPCH¶ÔÓ¦µÄÉÏÐÐDPCCHÅäÖá£

+==============================================================================*/

+typedef struct{

+    WORD                       wMsgId; 

+    WORD                       wActTime;

+    /*ÓÐͬƵ£¬ÒìÆµÓ²ÇУ¬DCH̬¿çÖÆÊ½Çл»£¬CCO»ØÍËÅäULDPCHʱ wHandoverConfigReturnFlg==1.ÆäËûÇé¿öwHandoverConfigReturnFlg==0

+*/

+//    WORD                       wHandoverConfigReturnFlg;

+

+    WORD                       wHandoConfReturBitmap;/*Ó²ÇÐʧ°Ü»ØÍËָʾBITMAP. ´ÓÓÒÏò×óBIT0ÖÃ1±íʾµ±Ç°ÎªÖÆÊ½ÄÚÓ²ÇÐʧ°Ü»ØÍË£¬BIT1ÖÃ1±íʾ¿çÖÆÊ½Çл»Ê§°Ü»ØÍË£¬BIT2ÖÃ1±íʾ¿çÖÆÊ½CCOʧ°Ü»ØÍË*/

+    WORD                       wUlFreq;

+	

+    WORD                       wDlFreq; 

+    WORD                       wSpreadingFactor; 

+    DWORD                     dwUlScrambCode; 

+	

+    WORD                       wScrambCodeType;

+    WORD                       wNumOfDPDCH;/*0±íʾûÓÐÅäÖÃDPDCH,Èç¹ûÈ¡0£¬´ËʱtUlTrchReconfig Ò²ÊÇÎÞЧµÄ¡£½ö½öÅäÖÃULDPCCH**/

+    WORD                       wTfciFlg;

+    WORD                       wNumOfFbiBits;

+    

+    /*µ±wTfciExist; wNumFbiBits ¶¼²»´æÔÚʱ£¬wNumTPCBits¿ÉÑ¡´æÔÚ*/

+    WORD                       wNumOfTPCBits;

+    WORD                       wPunctLimit;/*DPDCH²»Îª0ÊDzÅÓÐЧ*/

+    

+    WORD                       wPowerPreambleLen;

+    WORD                       wDpcchPowerOff;

+	

+    WORD                       wDpcchPowerOffStep;

+    WORD                       wPowerControlAlgorithm; 

+    WORD                       wTpcStepSize; 

+    WORD                       wMaxTxPower;

+    

+

+T_zW_P_ul_dpch_trch_reconfig    tUlTrchReconfig;

+}T_zW_P_ul_dpch_setup_modify_req; 

+

+/*==============================================================================

+ Ô­ÓP_W_DL _DPCH_SETUP_MODIFY_REQ( URRC->PHY )

+ ˵Ã÷: URRCÇëÇóÎïÀí²ã½¨Á¢×¨ÓÃÎïÀíÐŵÀ£¨ÓÃÓÚDPDCH¼°DPCCHµÄÅäÖã©

+==============================================================================*/

+typedef struct{

+    WORD                                     wMsgId;

+    WORD                                     wSoftHandoverFlg;

+    WORD                                     wActTime;

+    /*ʱ¼ä±£³Ö(ÐèҪͬ²½ºÍ²»ÐèҪͬ²½)»¹ÊÇʱ¼äÖØ½¨Ó²ÇÐָʾ ȡֵ·¶Î§£¨0-3£©  0±íʾ³õʼ»¯   1±íʾ²»ÐèҪͬ²½µÄʱ¼ä±£³ÖÓ²ÇУ¬2±íʾÐèҪͬ²½µÄʱ¼ä±£³ÖÓ²ÇУ¬3±íʾʱ¼äÖØ½¨Ó²ÇС£*/

+    WORD                                     wTimingIndication;

+    

+    WORD                                     wDpcMod;

+    WORD                                     wPowerOffPilotPdpdch;

+    WORD                                     wSf;

+    WORD                                     wNumOfPilotBits;

+    WORD                                     wTfciFlg;  

+    WORD                                     wTrCHFixedFlg;  

+    /*N312,N313,N315*/

+    WORD                                     wN312;

+    WORD                                     wN313;

+    WORD                                     wN315;

+    WORD                                     wPadding;

+    DWORD                                   dwDoff;

+    WORD                                     wPostVerifyPeriodFlg;

+    WORD                                     wNumOfRl;

+    T_zW_P_dedicated_rl_params                atDedRlParams[Z_W_P_MAX_NO_OF_RL];

+    T_zW_P_dl_trch_reconfig                      tDlTrchReconfig;

+}T_zW_P_dl_setup_modify_req;

+

+

+/*==============================================================================

+ Ô­ÓP_W_DL _FDPCH_SETUP_MODIFY_REQ( URRC->PHY )

+ ˵Ã÷: URRCÇëÇóÎïÀí²ã½¨Á¢²¿·ÖרÓÃÎïÀíÐŵÀ

+==============================================================================*/

+typedef struct{

+    WORD                                      wMsgId;

+    WORD                                      wSoftHandoverFlg;

+    WORD                                      wActTime;

+    /*Enumerated(Initialise,Maintain) 0:Initialise,1:Maintain*/

+    WORD                                      wTimingIndication;

+    WORD                                      wDpcMod;

+    WORD                                      wFdpchTpcErrorRate;

+    

+    /*N312,N313,N315*/

+    WORD                                      wN312;

+    WORD                                      wN313;

+    WORD                                      wN315;

+    WORD                                      wPadding;

+    DWORD                                    dwDoff;

+    WORD                                      wPostVerifyPeriodFlg;

+    WORD                                      wNumOfRl;

+    T_zW_P_fdpch_dedicated_rl_params         atFdpchDedRlParams[Z_W_P_MAX_NO_OF_RL];

+}T_zW_P_dl_fdpch_setup_modify_req;

+

+/*==============================================================================

+ Ô­ÓP_W_DPCH_SETUP_MODIFY_CNF( PHY->URRC )

+ ˵Ã÷: ÎïÀí²ã֪ͨURRCÅäÖü¤»îʱ¼äµ½,ÎïÀí²ãÒѾ­ÆôÓÃеÄÅäÖÃ,

+             ´ËʱUURRCÆô¶¯T312¶¨Ê±Æ÷.´ËÏûÏ¢ÓÃÓÚP_DL _DPCH_SETUP_MODIFY_REQºÍ

+             P_dl_FDPCH_SETUP_MODIFY_REQµÄ·´À¡

+==============================================================================*/

+typedef struct{

+    WORD                            wMsgId;

+    WORD                            wRlt ;

+}T_zW_P_dl_dpch_setup_modify_cnf;

+

+/*==============================================================================

+ Ô­ÓP_W_IN_SYNC_IND( PHY->URRC )

+ ˵Ã÷: ÎïÀí²ãÔÚ½¨Á¢×¨ÓÃÎïÀíÐŵÀʱ,֪ͨURRCͬ²½³É¹¦£¬ÌØÖ¸Ö÷ƵµãµÄͬ²½

+==============================================================================*/

+typedef struct{

+    WORD                           wMsgId;

+    WORD                           wPadding;

+}T_zW_P_in_sync_ind;

+

+/*==============================================================================

+ Ô­ÓP_W_OUT_SYNC_IND( PHY->URRC )

+ ˵Ã÷: ÎïÀí²ã֪ͨURRCʧ²½£¬ÌØÖ¸Ö÷ƵµãµÄʧ²½

+==============================================================================*/

+typedef struct{

+    WORD                           wMsgId;

+    WORD                           wPadding;

+}T_zW_P_out_sync_ind;

+

+/*==============================================================================

+ Ô­ÓP_W_UL_DPCH_REL_REQ( URRC->PHY )

+ ˵Ã÷: URRCÓÃÓÚÊÍ·ÅÉÏÐÐרÓÃÎïÀíÐŵÀ

+==============================================================================*/

+typedef struct{

+    WORD                          wMsgId;

+    WORD                          wActTime;

+}T_zW_P_ul_dpch_rel_req;

+

+/*==============================================================================

+ Ô­ÓP_W_DL_DPCH_REL_REQ( URRC->PHY )

+ ˵Ã÷: URRCÓÃÓÚÊÍ·ÅÏÂÐÐרÓÃÎïÀíÐŵÀ

+==============================================================================*/

+typedef struct{

+    WORD                          wMsgId;

+    WORD                          wActTime;

+}T_zW_P_dl_dpch_rel_req;

+

+/*==============================================================================

+ Ô­ÓP_W_DPCH_REL_CNF( PHY->URRC )

+ ˵Ã÷: µ×²ãÈ·ÈÏDPCHÐŵÀÊÍ·ÅÍê±Ï()¡£

+             ÊÇP_ul_DPCH_REL_REQ»òP_dl_DPCH_REL_REQµÄ·´À¡ÏûÏ¢¡£

+             µ±ÉÏÏÂÐÐDPCHÒ»Æðɾ³ýʱ£¬ÎïÀí²ãÖ»ÐèÒª»Ø¸´Ò»ÌõP_DPCH_REL_CNF

+==============================================================================*/

+typedef struct{

+    WORD                           wMsgId;

+    WORD                           wPadding;

+}T_zW_P_dpch_rel_cnf;

+

+/*==============================================================================

+ Ô­ÓP_W_REL_SCCPCH_REQ( URRC->PHY )

+ ˵Ã÷: URRC ÓÃÓÚÊͷŸ¨¹«¹²ÎïÀíÐŵÀ

+==============================================================================*/

+typedef struct{

+    WORD                           wMsgId;

+    WORD                           wActTime;

+}T_zW_P_rel_sccpch_req;

+

+/*==============================================================================

+ Ô­ÓP_W_REL_SCCPCH_CNF( PHY->URRC )

+ ˵Ã÷: µ×²ãÈ·ÈÏSCCPCHÐŵÀÊÍ·ÅÍê±Ï

+==============================================================================*/

+typedef struct{

+    WORD                           wMsgId;

+    WORD                           wPadding;

+}T_zW_P_rel_sccpch_cnf;

+

+/*==============================================================================

+ Ô­ÓP_W_ADD_MODIFY_SCCPCH_REQ( URRC->PHY )

+ ˵Ã÷: URRC ÓÃÓÚÅäÖø¨¹«¹²ÎïÀíÐŵÀ

+==============================================================================*/

+typedef struct{

+    WORD                           wMsgId;

+    WORD                           wSecScramblCodeFlg;

+    WORD                           wSecScramblCode;  /*Secondary scrambling code */

+    WORD                           wTxDivMode;     

+    WORD                           wSpreadingFactor;   

+    WORD                           wSccpchChanCode;   

+    WORD                           wSccpchChipsOffset;   

+    WORD                           wPilotExistence;   

+    WORD                           wTfciFlg;   

+    WORD                           wTrCHFixedFlg;

+    T_zW_P_dl_trch_reconfig        tDlTrchReconfig;

+}T_zW_P_add_modify_sccpch_req;

+

+/*==============================================================================

+ Ô­ÓP_W_PAGING_REQ( URRC->PHY )

+ ˵Ã÷: URRC ÓÃÓÚÅäÖÃѰºôÐŵÀ

+==============================================================================*/

+typedef struct{

+    WORD                                         wMsgId;

+    WORD                                         wPadding;

+    T_zW_P_add_modify_sccpch_req    tAddModifySccpchReq;

+    T_zW_P_pich_info                         tPichInfo;

+}T_zW_P_paging_req;

+

+/*==============================================================================

+ Ô­ÓP_W_STOP_PAGING_REQ( URRC->PHY )

+ ˵Ã÷: URRC ÓÃÓÚֹͣѰºô

+==============================================================================*/

+typedef struct{

+    WORD                           wMsgId;

+    WORD                           wPadding;

+}T_zW_P_stop_paging_req;

+

+/*==============================================================================

+ Ô­ÓP_W_STOP_PAGING_CNF( PHY->URRC )

+ ˵Ã÷: µ×²ãÈ·ÈÏÊÍ·ÅѰºôÐŵÀÍê±Ï

+==============================================================================*/

+typedef struct{

+    WORD                           wMsgId;

+    WORD                           wPadding;

+}T_zW_P_stop_paging_cnf;

+

+/*==============================================================================

+ Ô­ÓP_W_ADD_HSDPA_REQ( URRC->PHY )

+ ˵Ã÷: URRC ÓÃÓÚÅäÖÃHSDPAÏà¹ØÐŵÀ£¨ÐèÒªÓëDPCH»òFDPCHÅäÖÃÅäºÏʹÓã©

+==============================================================================*/

+typedef struct{

+    WORD                           wMsgId;

+    WORD                           wActTime; /*0~255; 256:ÎÞЧ*/

+    WORD                           wDtxDrxConfigFlg;    

+    WORD                           wHsscchLessFlg; 

+    

+    WORD                           wSecHsdpaInfoFlg;  

+    WORD                           wMimoParamFlg;/*¶ÔÓ¦atMimoInfo[0]ÖеIJÎÊý*/

+    WORD                           wSecCellMimoParaFlg; /*¶ÔÓ¦atMimoInfo[1]ÖеIJÎÊý*/

+    WORD                           wMacHdTyp;

+

+    T_zW_P_hs_dpcch           tHsdpcchConfigInfo;

+    T_zW_P_hs_harq_info      tHsHarqInfo;

+    T_zW_P_hsscch_less        tHsscchLessInfo;    

+    T_zW_P_dtx_drx_config    tDtxDrxConfig; 

+    T_zW_P_hsdpa_info         tHsdpaInfo;

+    T_zW_P_sec_hsdpa_info   tSecHsdpaInfo;

+    T_zW_P_mimo_info          atMimoInfo[2];

+}T_zW_P_hsdpa_config_req; 

+

+/*==============================================================================

+ Ô­ÓP_W_REL_HSDPA_REQ( URRC->PHY )

+ ˵Ã÷: URRCÊÍ·ÅHSDPAÅäÖÃÇëÇó

+==============================================================================*/

+typedef struct{

+    WORD                           wMsgId;

+    WORD                           wActTime;

+}T_zW_P_hsdpa_rel_req;

+

+/*==============================================================================

+ Ô­ÓP_W_REL_HSDPA_CNF( PHY->URRC )

+ ˵Ã÷: µ×²ãÈ·ÈÏÊÍ·ÅHSDPAÐŵÀÍê±Ï

+==============================================================================*/

+typedef struct{

+    WORD                           wMsgId;

+    WORD                           wPadding;

+}T_zW_P_hsdpa_rel_cnf;

+

+/*==============================================================================

+ Ô­ÓP_W_ADD_HSUPA_REQ( URRC->PHY )

+ ˵Ã÷: URRCÅäÖÃHSUPA

+==============================================================================*/

+typedef struct{

+    WORD                           wMsgId;

+    WORD                           wActTime;     

+    WORD                           wUlfreq;      

+    WORD                           wMaxTxPower;

+

+    WORD                           wUl16QAMFlg;

+    WORD                           wEtfciTableIndex;/* ·Ç16QAMʱȡֵ·¶Î§ÊÇ0µ½1.16QAMʱȡֵ·¶Î§ÊÇ2µ½3*/

+    WORD                           wSecEdchFlg;

+    WORD                           wPadding;

+    T_zW_P_edch_info          tEdchInfo;

+    T_zW_P_sec_edch_info    tSecEdchInfo;

+}T_zW_P_hsupa_config_req;

+

+/*==============================================================================

+ Ô­ÓP_W_HSUPA_REL_REQ( URRC->PHY )

+ ˵Ã÷: URRCɾ³ýHSUPA×ÊÔ´

+==============================================================================*/

+typedef struct{

+    WORD                           wMsgId;

+    WORD                           wActTime;

+}T_zW_P_hsupa_rel_req;

+

+/*==============================================================================

+ Ô­ÓP_W_HSUPA_REL_CNF( PHY->URRC )

+ ˵Ã÷: µ×²ãÈ·ÈÏɾ³ýHSUPA×ÊÔ´Íê±Ï

+==============================================================================*/

+typedef struct{

+    WORD                           wMsgId;

+    WORD                           wPadding;

+}T_zW_P_hsupa_rel_cnf;

+

+/*==============================================================================

+ Ô­ÓP_W_HSPA_PLUS_FACH_REQ( URRC->PHY )

+ ˵Ã÷: ÅäÖÃL1 FACHºÍIDLE̬ϵÄÏà¹ØÔöÇ¿ÅäÖÃ.½áºÏPRACHÅäÖÃÒ»ÆðʹÓÃ.

+             ÔöÇ¿FACH̬µ±ÏÂÐвÉÓÃDPAÊÇ£¬´ËʱwPlusUpaFlgÖÃ0£¬

+             ÉÏÐÐÐèÒªP_W_ADD_PRACH_REQÆÕͨRACHÅäÖÃ

+==============================================================================*/

+typedef struct{

+    WORD                           wMsgId;

+    WORD                           wDlFreq;

+    WORD                           wPlusUpaFlg; 

+    WORD                           wPadding;

+    T_zW_P_fach_dpa_info           tFachDpaInfo;

+    T_zW_P_fach_upa_info           tFachUpaInfo;

+    T_zW_P_hspa_plus_prach_info    tPlusPrachInfo;

+} T_zW_P_hspa_plus_fach_req;

+

+/*==============================================================================

+ Ô­ÓP_W_HSPA_PLUS_PCH_REQ( URRC->PHY )

+ ˵Ã÷: ÅäÖÃL1 PCH̬ϵÄÏà¹ØÔöÇ¿ÅäÖÃ

+==============================================================================*/

+typedef struct{

+    WORD                           wMsgId;

+    WORD                           wDlFreq; 

+    T_zW_P_pch_dpa_info     tPchDpaInfo; 

+    T_zW_P_pich_info           tPichInfo;    

+} T_zW_P_hspa_plus_pch_req;

+

+/*==============================================================================

+ Ô­ÓP_W_HSPA_PLUS_FACH_REL_REQ( URRC->PHY )

+ ˵Ã÷: ɾ³ýL1  FACHºÍIDLE̬ϵÄÏà¹ØÔöÇ¿ÅäÖÃ

+==============================================================================*/

+typedef struct{

+    WORD                           wMsgId;

+    WORD                           wActTime;          /*0~255; 256:Á¢¼´ÆðЧ*/

+} T_zW_P_hspa_plus_fach_rel_req;

+

+/*==============================================================================

+ Ô­ÓP_W_HSPA_PLUS_PCH_REL_REQ( URRC->PHY )

+ ˵Ã÷: ɾ³ýL1  PCH̬ϵÄÏà¹ØÔöÇ¿ÅäÖÃ

+==============================================================================*/

+typedef struct{

+    WORD                           wMsgId;

+    WORD                           wPadding;      

+} T_zW_P_hspa_plus_pch_rel_req;

+

+/*==============================================================================

+ Ô­ÓP_W_HSPA_PLUS_FACH_REL_CNF( PHY->URRC )

+ ˵Ã÷: ÎïÀí²ã»Ø¸´¸øL1TµÄÔöÇ¿FACHÅäÖÃɾ³ýÈ·ÈÏÏûÏ¢

+==============================================================================*/

+typedef struct{

+    WORD                     wMsgId;

+    WORD                     wPadding;     

+} T_zW_P_hspa_plus_fach_rel_cnf;

+

+/*==============================================================================

+ Ô­ÓP_W_HSPA_PLUS_PCH_REL_CNF( PHY->URRC )

+ ˵Ã÷: ÎïÀí²ã»Ø¸´¸øL1TµÄÔöÇ¿PCHÅäÖÃɾ³ýÈ·ÈÏÏûÏ¢

+==============================================================================*/

+typedef struct{

+    WORD                     wMsgId;

+    WORD                     wPadding;      

+} T_zW_P_hspa_plus_pch_rel_cnf;

+

+/*==============================================================================

+ Ô­ÓP_W_HSSCCH_ORDER_IND( PHY->URRC )

+ ˵Ã÷: ÎïÀí²ãÊÕµ½HSSCCH ORDERºóÉϱ¨PS

+==============================================================================*/

+typedef struct{ 

+    WORD                     wMsgId;

+	WORD                     wHsscchOrderTypeInd;/*ͨ¹ý´Ë±êʶ£¬PHY֪ͨPS£¬¸Õ¸ÕÊÕµ½µÄORDERÖÐЯ´øµÄÀàÐÍ£¬¸ÃÀàÐ͵碌îÈ¥»îÐèÒª¸ù¾ÝwHsscchOrderTypeÏàӦλÅжϡ£*/

+    WORD                     wHsscchOrderType;

+	WORD                     wPadding;

+}T_zW_P_Hscch_Order_Ind;

+

+/*wHsscchOrderTypeInd  ±íʾµ±Ç°ÊÕµ½ÁËÄÄЩORDERµÄÀàÐÍ¡£ÓëwHsscchOrderTypeÖеÄÀàÐÍÒ»Ò»¶ÔÓ¦¡£

+´ÓÓÒÏò×ó£¬Ã¿¸öBIT·Ö±ð±íʾHSDSCH·þÎñ±ä¸ü£¬EPCHʱÔÚHS_SCCHÉÏÊÕµ½HRNTI,LESS£¬µÚ¶þƵµãDPA£¬µÚ¶þƵµãUPAÇé¿ö£¬ÏàӦλ ÖÃÒ»±íʾÊÕµ½ÁËÏàÓ¦ÀàÐ͵ÄORDER,¡£

+µÚ0±ÈÌØ£º1±íʾ¸ÕÊÕµ½HSDSCH·þÎñÐ¡Çø¸ü¸ÄµÄORDER £»

+µÚ1±ÈÌØ£»1±íʾ¸ÕÊÕµ½EPCHʱÔÚHS_SCCHÉÏÊÕµ½HRNTIµÄORDER

+µÚ2±ÈÌØ£º1±íʾ¸ÕÊÕµ½DTXÏà¹ØORDER

+µÚ3±ÈÌØ£º1±íʾ¸ÕÊÕµ½µÄÊÇDRX Ïà¹ØORDER

+µÚ4±ÈÌØ£º1±íʾ¸Õ¸ÕÊÕµ½µÄÊÇHS_SCCH_LESSÏà¹ØµÄORDER

+µÚ5±ÈÌØ£º1±íʾ¸Õ¸ÕÊÕµ½µÄÊǵÚ2ƵµãÏÂÐÐDPAÏà¹ØµÄORDER

+µÚ6±ÈÌØ£º1±íʾ¸Õ¸ÕÊÕµ½µÄÊǵÚ2ƵµãÉÏÐÐUPAÏà¹ØµÄORDER

+*/

+/*

+wHsscchOrderType´ÓÓÒÏò×ó£¬Ã¿¸öBIT·Ö±ð±íʾHSDSCH·þÎñ±ä¸ü£¬EPCHʱÔÚHS_SCCHÉÏÊÕµ½HRNTI,LESSµÄ¼¤»îÈ¥»î£¬µÚ¶þƵµãDPA¼¤»îÈ¥»î£¬µÚ¶þƵµãUPAµÄ¼¤»îÈ¥»îÇé¿ö

+µÚ0±ÈÌØ£º0±íʾHSDSCH·þÎñÐ¡Çø¸ü¸Ä,1±íʾδÊÕµ½HSDSCH·þÎñÐ¡Çø¸ü¸Ä. £»

+µÚ1±ÈÌØ£»1±íʾEPCHʱÔÚHS_SCCHÉÏÊÕµ½HRNTI

+µÚ2±ÈÌØ£º0±íʾȥ»îDTX£¬1±íʾ¼¤»îDTX

+µÚ3±ÈÌØ£º0±íʾȥ»îDRX£¬1±íʾ¼¤»îDRX

+µÚ4±ÈÌØ£º0±íʾȥ»îHS_SCCH_LESS£¬ 1±íʾ¼¤»îHS_SCCH_LESS

+µÚ5±ÈÌØ£º0±íʾȥ»îµÚ2ƵµãÏÂÐÐDPA£¬1±íʾ¼¤»îµÚ2ƵµãÏÂÐÐDPA

+µÚ6±ÈÌØ£º0±íʾȥ»îµÚ2ƵµãÉÏÐÐUPA£¬1±íʾ¼¤»îµÚ2ƵµãÉÏÐÐUPA

+

+*/

+/*==============================================================================

+ Ô­ÓP_W_NERBERCELL_HSSCCH_ORDER_REQ( URRC->PHY )

+ ˵Ã÷: ÇëÇóÎïÀí²ã¶Áȡָ¶¨Ð¡ÇøµÄHSSCCH ORDER.ÏìÓ¦ÏûÏ¢ÊÇP_Hscch_Order_Ind.

+==============================================================================*/

+typedef struct{

+    WORD                       wMsgId;

+    WORD                       wPriSrc;

+    WORD                       wMonitorTimeLen;

+    WORD                       wPadding;

+    T_zW_P_hs_scch         tHsscchConfigInfo;

+}T_zW_P_Hscch_Order_Req;

+

+/*==============================================================================

+ Ô­ÓP_W_NERBERCELL_HSSCCH_ORDER_ABORT_REQ( URRC->PHY )

+ ˵Ã÷: ÇëÇóÎïÀí²ãÈ¡Ïû¶Áȡָ¶¨Ð¡ÇøµÄHSSCCH ORDER.

+==============================================================================*/

+typedef struct{

+    WORD                           wMsgId;

+    WORD                           wPaddng;

+}T_zW_P_Hscch_Order_Abort_Req;

+

+

+/*==============================================================================

+ Ô­ÓW_P_EFACH_UPDATE_RNTI_REQ( URRC->PHY )

+ ˵Ã÷: ֪ͨÎïÀí²ã¸üÐÂרÓõÄHRNTI»òERNTI

+==============================================================================*/

+typedef struct{  

+    WORD                     wMsgId;

+    WORD                     wActTime;/*0~255; 256:Á¢¼´ÆðЧ*/

+    WORD                     wUpdateType;/*1£ºÖ»¸üÐÂH-RNTI£»2£ºÖ»¸üÐÂE-RNTI£»3£º¸üÐÂH-RNTIºÍE-RNTI;*/

+    WORD                     wHrnti;

+    WORD                     wPriErnti; /*רÓÃÖ÷ERNTI*/

+    WORD                     wPadding; 

+ }T_zW_P_efach_update_rnti_req;

+

+ /*==============================================================================

+ *                         RBCÈ«¾ÖÊý¾ÝÀàÐͶ¨Òå -------end                        *

+ ==============================================================================*/

+  /*==============================================================================

+ *                         MCRÈ«¾ÖÊý¾ÝÀàÐͶ¨Òå --------start                         *

+ ==============================================================================*/

+

+ /*==============================================================================

+        RRC<->PHY

+        ¹¦ÄÜ:

+                RRCºÍPHY²ã¼äµÄͬƵ²âÁ¿ÅäÖýӿÚ

+        ½á¹¹:        

+                ͬƵ²âÁ¿ÅäÖÃÏûÏ¢ W_P_INTRA_FREQ_MEAS_REQ

+                ͬƵ²âÁ¿½á¹ûÏûÏ¢ W_P_INTRA_FREQ_MEAS_IND

+ ==============================================================================*/

+typedef struct {

+    WORD                            wCellId;

+    WORD                            wPrimSrc;

+    WORD                            wChipAccuracy;  

+    WORD                            wRefTimeDiff;    

+    WORD                            wTxDivInd;

+    WORD                            wSynInforNeed;     

+}T_zW_P_cell_info;

+

+typedef struct {

+    WORD                            wCellNum;

+    WORD                            wUarfcn;

+    T_zW_P_cell_info             atMeasCellInfo[Z_W_P_MAX_CELL_NUM];

+}T_zW_P_freq_meas_info;

+ 

+typedef struct {

+    WORD                            wUarfcn;

+    WORD                            wCellNum;

+    WORD                            awPrimSrc[Z_W_P_MAX_CELL_NUM];

+}T_zW_P_freq_not_meas_info;

+

+typedef struct {

+    WORD                            wMsgId;

+    WORD                            wDetectedSetQuantity;

+    WORD                            wMeasFreqNum;

+    WORD                            wNotMeasFreqNum;

+    DWORD                          dwMeasId;    

+    T_zW_P_freq_meas_info             atIntraFreqMeasInfo[Z_W_P_MAX_INTRAFREQ_NUM];

+    T_zW_P_freq_not_meas_info       atNotMeasFreqInfo[Z_W_P_MAX_INTRAFREQ_NUM];

+}T_zW_P_intra_freq_meas_req;

+

+

+typedef struct {

+    WORD                            wCellId;

+    WORD                            wPrimSrc;

+    WORD                            wSfnFlag:1;

+    WORD                            wCpichRscp:8;

+    WORD                            wCpichEcNo:7;

+    WORD                            wSfn;

+    WORD                            wOff;

+    WORD                            wTm;

+} T_zW_P_cell_meas_rlt; 

+

+typedef struct{

+    WORD                            wUarfcn;

+    WORD                            wCellNum:8;

+    WORD                            wRssi:8;

+    T_zW_P_cell_meas_rlt            atCellMeasRlt[Z_W_P_MAX_CELL_NUM];

+} T_zW_P_freq_meas_rlt;

+

+typedef struct {

+   WORD                             wMsgId;

+   WORD                             wFreqNum;

+   DWORD                           dwMeasId;

+   T_zW_P_freq_meas_rlt      atIntraFreqMeasRlt[Z_W_P_MAX_INTRAFREQ_NUM];

+}T_zW_P_intra_freq_meas_ind;

+

+ /*==============================================================================

+        RRC<->PHY

+        ¹¦ÄÜ:

+                RRCºÍPHY²ã¼äµÄÒìÆµ²âÁ¿ÅäÖýӿÚ

+        ½á¹¹:        

+                ÒìÆµ²âÁ¿ÅäÖÃÏûÏ¢ W_P_INTER_FREQ_MEAS_REQ

+

+==============================================================================*/

+typedef struct{

+    WORD                            wUarfcn;    

+    WORD                            wCearchCellFlg; /*1±íʾ¸ÃƵµã²»½ö²âÁ¿RSSI»¹ÐèÒª½øÐÐÐ¡ÇøËÑË÷£¬²¢½øÐÐÐ¡Çø²âÁ¿½á¹ûÉϱ¨¡£0±íʾ¸ÃƵµã½ö²âÁ¿RSSI*/

+}T_zW_P_Blind_freq_meas_req;

+

+

+typedef struct {

+    WORD                            wMsgId;    

+    WORD                            wFreqNum;

+    WORD                            wBlindFreqNum;

+    WORD                            wLbsFlag;

+    DWORD                          dwTmeasInial; 

+    DWORD                          dwTmeas;

+    DWORD                          dwMeasId;    

+    T_zW_P_freq_meas_info              atInterFreqMeasInfo[Z_W_P_MAX_INTERFREQ_NUM];      /*wFreqNumÊýĿָʾ*/    

+    T_zW_P_Blind_freq_meas_req      atBlindFreq[Z_W_P_MAX_BLIND_INTERFREQ_NUM];        /*wBlindFreqNumÊýĿָʾ*/    

+}T_zW_P_inter_freq_meas_req;

+

+ /*==============================================================================

+        RRC<->PHY

+        ¹¦ÄÜ:

+                RRCºÍPHY²ã¼äµÄÒìÆµ²âÁ¿ÅäÖýӿÚ

+        ½á¹¹:        

+                ÒìÆµ²âÁ¿½á¹ûÏûÏ¢ W_P_INTER_FREQ_MEAS_IND

+==============================================================================*/

+typedef struct

+{ 

+    WORD                            wPrimSrc;

+    WORD                            wCpichRscp;

+    WORD                            wCpichEcNo;

+    WORD                            wPadding;

+}T_zW_blind_cell_rlt;

+

+typedef struct

+{

+    WORD                            wUarfcn;

+    WORD                            wRssi;

+    WORD                            wCellNum; /* ¸ÃƵµãÏÂä²âÁ¿µÄÐ¡Çø¸öÊý */

+    WORD                            wPadding; 

+    T_zW_blind_cell_rlt          atBlindCellRlt[Z_W_P_MAX_BLIND_INTERFREQ_CELL_NUM];

+}T_zW_blind_uarfcn_rlt;

+

+

+typedef struct{

+    WORD                            wMsgId;

+    WORD                            wInterFreqNum;

+    WORD                            wBlindFreqNum;

+    WORD                            wRptFlg; /*0:ÖÜÆÚÉϱ¨ 1:ÌáǰÉϱ¨*/

+    DWORD                          dwMeasId; 

+    T_zW_P_freq_meas_rlt            atInterFreqMeasRlt[Z_W_P_MAX_INTERFREQ_NUM];

+    T_zW_blind_uarfcn_rlt             atBlindFreqRlt[Z_W_P_MAX_BLIND_INTERFREQ_NUM];

+}T_zW_P_inter_freq_meas_ind;

+

+

+/*==============================================================================

+        PHY->RRC

+        ¹¦ÄÜ:

+                RHYÏòRRC·¢ËÍ·þÎñÐ¡Çø²âÁ¿½á¹ûÉϱ¨

+        ½á¹¹:        

+                ·þÎñÐ¡Çø²âÁ¿½á¹ûÉϱ¨ÏûÏ¢ W_P_SERVCELL_MEAS_IND

+==============================================================================*/

+typedef struct {

+    WORD                            wMsgId;

+    WORD                            wPrimSrc; 

+    WORD                            wCpichRscp;    

+    WORD                            wCpichEcNo;

+    DWORD                          dwMeasId;

+    WORD                            wRssi; //·þÎñƵµãRSSIÖµ£¬È¡Öµ·¶Î§:0~76£¬¶ÔÓ¦-25dBm~-100dBm

+    WORD                            wPadding;

+}T_zW_P_servcell_meas_ind;

+

+/*==============================================================================

+        RRC<->PHY

+        ¹¦ÄÜ:

+                RRCºÍPHY²ã¼äµÄUEÄÚ²¿²âÁ¿ÅäÖýӿÚ

+        ½á¹¹:    

+                UEÄÚ²¿²âÁ¿ÇëÇóÏûÏ¢ W_P_UE_INTERNAL_MEAS_REQ

+                UEÄÚ²¿²âÁ¿½á¹ûÉϱ¨     W_P_UE_INTERNAL_MEAS_IND            

+==============================================================================*/

+

+typedef struct { 

+    WORD                            wMsgId;

+    WORD                            wPadding;         

+    WORD                            wRepInterval;

+    WORD                            wTxPowerNeed:1;        

+    WORD                            wRxTxNeed:1;      

+    WORD                            wRssiNeed:1;          

+    WORD                            :13;

+    DWORD                           dwMeasId;

+}T_zW_P_ueinternal_meas_req; 

+

+

+typedef struct {    

+    WORD                            wPrimSrc;

+    WORD                            wRxTxTimeDiff;

+}T_zW_P_rxtx_time_diff_rlt;

+

+typedef struct {

+    WORD                            wMsgId;

+    WORD                            wPadding;

+    WORD                            wTxPowerFlag:1;            

+    WORD                            wRssiFlag:1;          

+    WORD                            :14;

+    WORD                            wTxPower;

+    WORD                            wRssi;

+    WORD                            wNumOfRxTxResults;

+    DWORD                          dwMeasId;  

+    T_zW_P_rxtx_time_diff_rlt       atRxTxTimeDiffRlt[Z_W_P_MAX_NO_OF_RL];

+}T_zW_P_ueinternal_meas_ind; 

+

+ /*==============================================================================

+         RRC->PHY

+         ¹¦ÄÜ:

+               RRCÏòPHY·¢Ë͵IJâÁ¿É¾³ýָʾ  

+         ½á¹¹:

+               ²âÁ¿ÊÍ·ÅÏûÏ¢ W_P_MEAS_REL_REQ_EV

+               wMeasTypes±àÂ룺ÏàÓ¦bitλÖÃ1±íʾÊÍ·Å´ËÀàÐͲâÁ¿£»·ñÔò²»ÊÍ·Å

+                               bit0: ServCellMeas

+                               bit1: IntraFreq

+                               bit2: InterFreq

+                               bit3£ºUeInterMeas

+ ==============================================================================*/

+typedef struct {

+    WORD                           wMsgId;

+    WORD                           wMeasTypes;         

+}T_zW_P_meas_rel_req;

+

+ /*==============================================================================

+        RRC->PHY

+        ¹¦ÄÜ:

+                Fach̬ϲâÁ¿Ê±»úÅäÖÃ

+        ½á¹¹:        

+                FMOÐÅÏ¢ÅäÖà W_P_FMO_INFO_REQ

+==============================================================================*/

+typedef struct {

+    WORD                           wMsgId;

+    WORD                           wFMONeed;           /*ָʾÊÇ·ñʹÓÃFMO¡£0±íʾȡÏûFMO£¬·Ç0Öµ±íʾÅäÖÃFMO*/

+    WORD                           wTtiPeriod;         /*=M_REP, measurement occasion cycle length */

+    WORD                           wTtiOffset;         /*=C_rnti RNTImod M_REP*/

+}T_zW_P_fmo_req;

+

+ /*==============================================================================

+        RRC->PHY

+        ¹¦ÄÜ:

+                Dch̬ÏÂѹËõģʽÐÅÏ¢ÅäÖÃ

+        ½á¹¹:        

+                ѹËõģʽÐÅÏ¢ÅäÖà W_P_COMPRESS_MODE_REQ

+==============================================================================*/

+typedef struct {   

+    WORD                           wCompressedModeUsage;  /*ÓÃÓÚÉÏÐУ¬ÏÂÐл¹ÊÇÉÏÏÂÐÐ*/

+    WORD                           wDlCompModeMethod;

+    WORD                           wUlCompModeMethod;

+    WORD                           wDlFrameType;           /*Ö¡ÀàÐÍA OR B*/

+    WORD                           wRpp; /* Recovery Period Power control mode during the frame after the transmission gap within the compressed frame  ģʽ0»¹ÊÇģʽ1*/

+    WORD                           wItp;/* nitial Transmit Power is the uplink power control method to be used to compute the initial transmit power after the compressed mode gapģʽ0»¹ÊÇģʽ1*/

+    WORD                           wDeltaSir1;/*ÏÂÐÐSIRµ÷ÕûÖµ*/

+    WORD                           wDeltaSirAfter1;

+    WORD                           wDeltaSir2;            /*Real(0..3 by step of 0.1),À©´ó10±¶*/

+    WORD                           wDeltaSirAfter2;

+}T_zW_P_static_info;

+

+typedef struct {

+    WORD                           wTgpsi;              /*gap ID 1-6 */

+    WORD                           wActiveFlg;          /*1=¼¤»î£»0=È¥»î*/

+    WORD                           wMeasPurpose;        /*1=ÒìÆµ £¬2=RAT*/

+    WORD                           wTgsn;               /*Æðʼʱ϶ºÅ*/

+    WORD                           wTgprc;              /*´«Êä¼ä¸ôÖØ¸´´ÎÊý, 0xFFFF±íʾÎÞÏÞ´ÎÊý*/

+    WORD                           wTgcfn;              /*´«Êä¼ä¸ôÁ¬½ÓÖ¡ºÅ£¬ÊǵÚһģʽµÄµÚÒ»¸öÎÞÏßÖ¡µÄCFN*/

+    WORD                           wTgl1;               /*µÚÒ»¸öGAPµÄ³¤¶È£¬Ê±Ï¶Êý*/

+    WORD                           wTgl2;               /*µÚ¶þ¸öGAPµÄ³¤¶È*/

+    WORD                           wTgpl;               /*´«Êä¼ä¸ô³¤¶È£¬Ö¡Êý*/

+    WORD                           wTgd;                /*Á½¸öGAPÆðʼµãµÄ¾àÀ룬ʱ϶Êý£¬0xFFFF±íÃ÷GapÄ£ÐÍÖв»´æÔÚµÚ¶þ¸öGap*/

+    T_zW_P_static_info         tCmStaicInfo;

+}T_zW_P_compress_gap_pattern;

+

+

+typedef struct {

+    WORD                           wMsgId;

+    WORD                           wCmPatternNum;

+    WORD                           wActTime;        /*ȡֵ·¶Î§0-255£¬256£¬ÆäÖÐ256±íʾÁ¢¼´¼¤»î*/

+    WORD                           wCmCellInfoFlg; /*ȡֵ0»ò1£¬±íʾÊÇ·ñЯ´øÁËÐ¡ÇøÐÅÏ¢wDlUarfcnºÍwPrimSrc. ȡֵ1ʱwDlUarfcnºÍwPrimSrcÓÐЧ£¬·ñÔòÎÞЧ*/

+    WORD                           wDlUarfcn;

+    WORD                           wPrimSrc;

+    T_zW_P_compress_gap_pattern    atCopressModePattern[Z_W_P_MAX_CM_NUM];

+}T_zW_P_compress_mode_req;

+

+/*==============================================================================

+        L1W->PHY

+        ¹¦ÄÜ:

+                FDDΪ¸¨Ä£Ê½Ï£¬ÊÕµ½µÄGAPÅäÖÃW_P_IRATGAPCONFIG_REQ

+        ½á¹¹:        

+                GAPÇëÇóÐÅÏ¢ W_P_IRATGAPCONFIG_REQ

+==============================================================================*/

+

+typedef struct

+{

+    WORD               wMsgId;

+    WORD               wIdleOrConnectFlg;/*FDDΪ¸¨ÖÆÊ½Ê±Ö÷ÖÆÊ½µÄ״̬£¬È¡ÖµÎª0±íʾ¿ÕÏÐ̬ȡֵΪ1±íʾÁ¬½Ó̬*/

+    WORD               wStartSfn;/*GAPÆðʼµãÖ¡ºÅ,ȡֵ·¶Î§ 0--4096*/

+    WORD               wStartOffChip;  /*GAPÆðʼµã.CHIPÆ«ÒÆ£¨chips£©,ÕæÕýµÄGAPÆðʼµãÊÇwStartSfn+wStartOffChip*/

+    DWORD             dwLength;/* GAPÄ£ÐͳÖÐøÊ±¼ä,µ¥Î»ÊÇ£¨chips£©*/

+}T_zW_P_irat_gap_config_req;

+

+/*==============================================================================

+        L1W<->PHY

+        ¹¦ÄÜ:

+                L1WºÍPHY²ã¼äµÄABORT GAPÅäÖýӿÚ

+        ½á¹¹:        

+                ÇëÇóÎïÀí²ãֹͣʹÓÃGAPÏûÏ¢ W_P_ABORT_IRAT_GAP_REQ

+                ÎïÀí²ã²»ÔÚʹÓÃGAPµÄÈ·ÈÏ W_P_ABORT_IRAT_GAP_CNF

+==============================================================================*/

+typedef struct { 

+    WORD                            wMsgId; 

+    WORD                            wPadding;

+}T_zW_P_abort_irat_gap_req;  

+

+typedef struct { 

+    WORD                            wMsgId; 

+    WORD                            wPadding;

+}T_zW_P_abort_irat_gap_cnf;

+

+ /*==============================================================================

+        PHY->L1W

+        ¹¦ÄÜ:

+                ÎïÀí²ãÉϱ¨gapʱ¼äÐÅÏ¢

+        ½á¹¹:        

+                ÎïÀí²ãÉϱ¨GAPʱ¼äÐÅÏ¢ÏûÏ¢ W_P_INACTIVE_TIME_IND

+==============================================================================*/

+typedef struct {

+    WORD                            wStartRtFrame;   /*GAPÆðʼµãÖ¡ºÅ,ȡֵ·¶Î§0-255£¬ÓÉÎïÀí²ãRTʱ»úÄ£256µÃµ½*/

+    WORD                             wStartChipOff;    /*GAPÆðʼµãÏà¶ÔÓÚwStartCfnµÄCHIPÆ«ÒÆ*/

+    DWORD                           dwLengthChip;  /*GAP³¤¶È*/

+

+}T_zW_P_gap_info;

+

+typedef struct {

+    WORD                            wMsgId;  

+    WORD                            wSeqNum;

+    WORD                            wGapNum;   

+    WORD                            Wpadding;

+    T_zW_P_gap_info            atGapInfo[Z_W_P_MAX_FRAME_GAP_NUM];  

+}T_zW_P_inact_time_ind;

+

+/*==============================================================================

+        L1W->PHY

+        ¹¦ÄÜ:

+                ÅäÖÃL1ÊÇ·ñÉϱ¨Æägapʱ¼ä£¬ÓÃÀ´½øÐÐ2G/LTEÐ¡ÇøµÄ¹¤×÷

+        ½á¹¹:        

+                ÅäÖÃL1ÊÇ·ñÉϱ¨Æägapʱ¼äÏûÏ¢ W_P_IDLE_PERIOD_REPMODE_REQ

+==============================================================================*/

+typedef struct {    

+    WORD                             wMsgId;    

+    WORD                             wReportingMode;          /*0: not reprot gap, 1:report gap*/

+    WORD                             wSeqNum;

+    WORD                             wPadding;

+

+}T_zW_P_idle_period_repmode_req;

+

+/*==============================================================================

+ *                         ²âÁ¿È«¾ÖÊý¾ÝÀàÐͶ¨Òå --------end                        *

+ ==============================================================================*/

+

+ 

+  /*==============================================================================

+ *                         Êý¾ÝÃæÈ«¾ÖÊý¾ÝÀàÐͶ¨Òå start                    *

+ ==============================================================================*/

+ /*==============================================================================

+ ÏûÏ¢£ºP_RACH_PROCEDURE_REQ_EV( WMAC->PHY )

+ ˵Ã÷: MACÏ·¢Ëæ»ú½ÓÈëÇëÇó¸øÎïÀí²ã

+==============================================================================*/

+typedef struct {

+    WORD                        wMsgId;

+    WORD                        wSignatureBitmap;       /*¿ÉÓÃÇ©Ãûbitmap(16λ), BIT0ָʾµÚÒ»¸ö£¬BIT15ָʾ×îºóÒ»¸ö£¬ÓÒ±ßÊÇ×îµÍλ*/

+    WORD                        wSubchannelBitmap;      /*¿ÉÓÃ×ÓÐŵÀbitmap(12λ), BIT0ָʾµÚÒ»¸ö£¬BIT11ָʾ×îºóÒ»¸ö£¬ÓÒ±ßÊÇ×îµÍλ*/

+    WORD                        wLastFlag;              /*ָʾMACµÄRACH½ÓÈë¹ý³ÌÖд˴ÎÊÇ·ñÒÑΪµÚMmax´Î£¬¼´×îºóÒ»´Î£¨0~1£©*/

+}T_zW_P_rach_procedure_req;

+

+

+/*==============================================================================

+ ÏûÏ¢£ºP_RACH_PROCEDURE_IND_EV( PHY->WMAC )

+ ˵Ã÷: ÎïÀí²ã»Ø¸´Ëæ»ú½ÓÈë³É¹¦

+==============================================================================*/

+typedef struct {

+    WORD                        wMsgId;

+    WORD                        wResult;                /*RACH ACCESS½á¹û£¨0~2£©£»0£ºACK£¬1£ºNACK£¬2£ºNO ACK*/

+}T_zW_P_rach_procedure_ind;

+

+

+/*==============================================================================

+ ÏûÏ¢£ºP_POST_VERFY_FAIL_IND_EV( PHY->WMAC )

+ ˵Ã÷: ÔÚÓ²ÇÐL1ͬ²½A¹ý³Ìʱ£¬Èç¹û²ÉÓÃPostverfy£¬ÇÒÖ÷ÉÏÐÐÆµÂÊÉϵÄpost verfyʧ°ÜʱÎïÀí²ãÉϱ¨Ê§°Üָʾ

+==============================================================================*/

+typedef struct {

+    WORD                              wMsgId;

+    WORD                              wPadding;

+} T_zW_P_post_verfy_fail_ind;

+

+/*==============================================================================

+ ÏûÏ¢£ºT_zW_P_upa_grant_harq_info( PHY->WMAC )

+ ˵Ã÷: Ö¡ÖжÏÖÐÎïÀí²ãЯ´øµÄÊÚȨ¼°HARQÐÅÏ¢

+==============================================================================*/

+typedef struct {

+    WORD                        wHarqId;                /*¶ÔÓ¦½ø³ÌID£¨0~7£©*/

+    WORD                        wStatus;                /*¶ÔÓ¦½ø³ÌHARQ·´À¡½á¹û£¬0£ºACK£¬ 1£ºNACK */

+    WORD                        wServCellStatus;        /*·þÎñÐ¡ÇøÉÏָʾµÄHARQ·´À¡½á¹û£¬0£ºACK£¬ 1£ºNACK*/

+    WORD                        wPadding;

+}T_zW_P_harq_process_status;

+

+

+typedef struct {

+    WORD                        wCycle2Flag;            /*¸Ã±êʶÓÃÓÚ֪ͨPSÊÇ·ñ ¿ªÊ¼ÓÉCycle1½øÈëCycle2  £º0£ºÃ»ÓнøÈ룬1£ºÓÉcycle1½øÈëCycle2 .¸Ã±ê¼ÇÖ»Óе±ÎïÀí²ã´Ócycle1½øÈëcycle2ʱÖÃλΪ1£¬Í¨ÖªPS½øÈëCycle2£¬ÆäËûCycle1¼°Cycle2ÆÚ¼äµÄÉϱ¨µÄ¸Ã±ê¼Ç¾ùΪ0.*/

+    WORD                        wAGFlag;                /*ÊÇ·ñЯ´øAGÐÅÏ¢£¨0~1£©*/

+    WORD                        wAGIndex;               /*ÊÚȨֵË÷Òý£¨0~31£©£¬µ±wAGFlagΪ1ʱÓÐЧ*/

+    WORD                        wAGTypeAndScope;        /*IDÀàÐͺͷ¶Î§ÐÅÏ¢£¨0~2£©£»0:Primary ID&PerHARQ, 1:Primary ID&AllHARQ, 2:Secondary ID£¬µ±wAGFlagΪ1ʱÓÐЧ*/

+    WORD                        wPadding;

+    WORD                        wRGNum;                 /*ָʾ·þÎñRGºÍ·Ç·þÎñRGµÄ¸öÊý£¨0~4£©£»*/

+    WORD                        awRGValue[Z_W_P_MAX_RG_NUM];    /*RGÊý×飨0~3£©£¬0±íʾÎÞЧ£¬1±íʾ"UP"£¬2±íʾ"DOWN"£¬3±íʾ"HOLD"£¬ÆäÖеÚÒ»¸öĬÈÏÌîд·þÎñRGµÄÖµ*/

+}T_zW_P_hsupa_grant_info;

+

+

+typedef struct {

+    WORD                        wHarqBitmap;              /*ָʾÊÇ·ñЯ´øHARQ½ø³ÌÐÅÏ¢£¨bitmap£©£»BIT0£¨LSB£©£º¶ÔÓ¦Ö÷Ƶµã£¬BIT1¶ÔÓ¦¸¨Æµµã*/

+    WORD                        wGrantBitmap;             /*ָʾÊÇ·ñЯ´øÊÚȨÐÅÏ¢£¨bitmap£©£»BIT0£¨LSB£©£º¶ÔÓ¦Ö÷Ƶµã£¬BIT1¶ÔÓ¦¸¨Æµµã*/

+    T_zW_P_harq_process_status  tHarq[Z_W_P_MAX_UL_FREQUENCY_NUM];

+    T_zW_P_hsupa_grant_info     tGrant[Z_W_P_MAX_UL_FREQUENCY_NUM];

+}T_zW_P_upa_grant_harq_info;

+

+

+/*==============================================================================

+ ÏûÏ¢£ºT_zW_P_grant_monitor_req( WMAC->PHY )

+ ˵Ã÷: ָʾµ±Ç°TTIÊÇ·ñÂú×ãmonitorÌõ¼þ,ÎïÀí²ã´Ó¹Ì¶¨»º´æÄÚ¶ÁÈ¡

+==============================================================================*/

+typedef struct {

+    WORD                        wFreqId;                /*ÔØ²¨ÐÅÏ¢£¬0±íʾµÚÒ»¸öÔØ²¨£¬1±íʾµÚ¶þ¸öÔØ²¨*/

+    WORD                        wActMonitor;            /*ָʾÊÇ·ñÂú×ãMonitorÌõ¼þ£¬0£º²»Âú×㣬1£ºÂú×ã*/

+}T_zW_P_grant_monitor_req;

+

+

+/*==============================================================================

+ ÏûÏ¢£ºP_EFACH_NO_DATA_REQ_EV( WMAC->PHY )

+ ˵Ã÷: EFACHÏÂmacÎÞÊý¾Ý·¢ËÍʱ£¬Í¨ÖªÎïÀí²ãÎÞÊý¾Ý£¬ÎïÀí²ãÆôT321¶¨Ê±Æ÷

+==============================================================================*/

+typedef struct {

+    WORD                        wMsgId;

+    WORD                        wPadding;

+}T_zW_P_efach_no_data_req;

+

+

+/*==============================================================================

+ ÏûÏ¢£ºW_P_ MAC_DTX_CYCLE_INFO_REQ_EV( WMAC->PHY )

+ ˵Ã÷: DCH̬MAC½øÈëMAC_DTXºó֪ͨÎïÀí²ãÖÜÆÚÄ£ÐÍ£¬ÒÔ±ãÎïÀí²ãÔÚEDCHÊý¾Ýǰ×î¶àÌáǰһ֡·¢DPCCH preamble

+==============================================================================*/

+

+typedef struct {

+    WORD                      wMsgId;

+    WORD                      wMacDtxInfoFlg;/*ȡֵ0»ò1£¬È¡ÖµÎª1ʱ£¬±íʾMAC_DTXcycle ÓÐЧ£¬È¡ÖµÎª0ʱÎÞЧ£¬¼´Í˳öMAC_DTX*/

+    WORD                      wMacDtxStartCfn;/*MAC_DRX cycleµÄÆðʼ֡ºÅ*/

+    WORD                      wMacDtxStartSubCfn;/*MAC_DRX cycleµÄÆðʼ×ÓÖ¡ºÅ*/

+    WORD                      wMacDtxCycle;/*MAC_DRX cycleµÄÖÜÆÚ³¤¶È*/

+    WORD                      wPadding;

+} T_zW_P_mac_dtx_cycle_info;

+

+/*==============================================================================

+ ÏûÏ¢£ºW_P_TFCI_CM_INFO_IND_EV( PHY->WMAC )

+ ˵Ã÷: ÿ´ÎÉÏÐÐDPCHÖØÅäÖÃʱ,ÎïÀí²ã±¨¸æ7×éTFCSÖиöTFCIµÄÖ§³ÖÇé¿ö Ntr=[8,14]ʱ

+==============================================================================*/

+

+typedef struct {

+	WORD                        awSupFlag[Z_W_P_MAX_UL_TFC_NUM]; // Z_W_P_MAX_UL_TFC_NUM = 64, Êý×éϱê±íʾtfci£¬ÔªËØÄÚÈݱíʾ¸ÃTFCIÊÇ·ñÖ§³Ö£¬1-Ö§³Ö£¬0-²»Ö§³Ö¡£

+} T_zW_P_tfci_sup_Info;

+

+typedef struct {

+    WORD                         wMsgId;

+    WORD                         wPadding;

+    T_zW_P_tfci_sup_Info   atTfciSupInfo[Z_W_P_MAX_NTR_NUM];// Ntr-8¶ÔÓ¦Êý×éϱê

+} T_zW_P_tfci_cm_Info;

+

+

+/*==============================================================================

+ ÏûÏ¢£ºT_zW_P_ul_data_buffer( WMAC->PHY )

+ ˵Ã÷: ÉÏÐÐÊý¾Ý½Ó¿Ú( ·ÇUPA )

+==============================================================================*/

+typedef struct {

+    DWORD                      dwTrchBuffOff;          /*¸÷´«ÊäÐŵÀÊý¾ÝÔÚÊý×éÖжÔÓ¦µÄÆ«ÒÆ£¬ÒÔWORDΪµ¥Î»£¨0~583£©*/

+    WORD                        wTbNumAndTrchId;        /*´«ÊäÐŵÀidºÍ¶ÔÓ¦µÄtb¿é¸öÊý£¬¸ß8λ¶ÔÓ¦Trch Id£¬µÍ8λ¶ÔÓ¦Tb num*/

+    WORD                        wTbSize;                /*TB¿é´óС£¬µ¥Î»bit*/

+}T_zW_P_ul_trch_header;

+

+

+typedef struct {

+    WORD                        wTotalLength;           /*Êý¾Ý×ܹ²Õ¼ÓõÄWORDÊý£¨0~584£©*/

+    WORD                        wNumOfTrch;             /*´«ÊäÐŵÀ¸öÊý£¨1~8£©*/

+    WORD                        wTfci;                  /*Ñ¡ÔñµÄTfci£¨0~63£©*/

+    WORD                        wPadding;

+    T_zW_P_ul_trch_header       atUlTrchHeader[Z_W_P_MAX_UL_TRCH_NUM];

+    WORD                        awUlData[Z_W_P_MAX_NO_OF_UL_BYTES/2];

+}T_zW_P_ul_data_buffer;

+

+

+/*==============================================================================

+ ÏûÏ¢£ºT_zW_P_dl_data_buffer( PHY->WMAC )

+ ˵Ã÷: ÏÂÐÐÊý¾Ý½Ó¿Ú( ·ÇDPA )

+==============================================================================*/

+typedef struct {

+    DWORD                      dwTrchBuffOff;          /*¸÷´«ÊäÐŵÀÊý¾ÝÔÚÊý×éÖжÔÓ¦µÄÆ«ÒÆ£¬ÒÔWORDΪµ¥Î»£¨0~583£©*/

+    WORD                        wTrchId;                /*´«ÊäÐŵÀid £¨1~8£©*/

+    WORD                        wTrchType;              /*´«ÊäÐŵÀÀàÐÍ£¨0~4£©,¼ûºê¶¨Òå*/

+    WORD                        wCfnAndTbNum;           /*Êý¾Ý·¢ËÍʱµÄCfnºÍTb¿é¸öÊý£¬¸ß8λΪTb num£¬µÍ8λΪCfn*/

+    WORD                        wSfn;                   /*Êý¾Ý·¢ËÍʱµÄϵͳ֡ºÅ£¨0~4095£©*/

+    WORD                        wTbSize;                /*TB¿é´óС£¬µ¥Î»bit*/

+    WORD                        wPadding;   

+    DWORD                      dwCrcCheck;             /*CRC½á¹û bitmap*/

+}T_zW_P_dl_trch_header;

+

+

+typedef struct {

+    WORD                        wTotalLength;           /*Êý¾Ý×ܹ²Õ¼ÓõÄWORDÊý£¨0~584£©*/

+    WORD                        wNumOfTrch;             /*´«ÊäÐŵÀ¸öÊý£¨1~8£©*/

+    WORD                        wTfci;                  /*Ñ¡ÔñµÄTfci£¨0~127£©*/

+    WORD                        wPadding;

+    T_zW_P_dl_trch_header       atDlTrchHeader[Z_W_P_MAX_DL_TRCH_NUM];   

+    WORD                        awDlData[Z_W_P_MAX_NO_OF_DL_BYTES/2];

+}T_zW_P_dl_data_buffer;

+

+

+/*==============================================================================

+ ÏûÏ¢£ºT_zW_P_hsupa_buffer( WMAC->PHY )

+ ˵Ã÷: ÉÏÐÐÊý¾Ý½Ó¿Ú( UPA )

+==============================================================================*/

+typedef struct {

+    WORD                        wL;                     /*±íʾʹÓøÃE-TFCËùÓеÄE-DPDCHs£¬È¡Öµ·¶Î§(1~4)*/

+    WORD                        wBetaEc;                /*ȡֵ·¶Î§5~239¡£*/

+    WORD                        awBetaEd[4];            /*wL¸öÖµ£¬È¡Öµ·¶Î§5~377*/

+    WORD                        wSf;                         /*µÚÒ»ÌõE-dpdchµÄSF.ȡֵ·¶Î§0--512*/

+    WORD                        wPadding;

+}T_zW_p_etfc_gain_factor;

+

+

+typedef struct {

+    WORD                        wCfn;                   /*Á¬½ÓÖ¡ºÅ0--255*/

+    WORD                        wSubFrameNum;           /*×ÓÖ¡ºÅ0--4*/

+}T_zW_P_upa_trans_frame_num;

+

+typedef struct {

+    WORD                        wNej;

+    WORD                        wNdataJ;

+}T_zW_P_etfc_rm_info;

+

+typedef struct {

+    WORD                        wFreqId;                /*ָʾµ±Ç°ÊÇÄǸöÔØ²¨¶ÔÓ¦µÄÉÏÐÐÊý¾Ý£¬0±íʾµÚÒ»¸öÔØ²¨£¬1±íʾµÚ¶þ¸öÔØ²¨*/

+    WORD                        wErnti;                 /*´ËÊý¾Ý°ü¶ÔÓ¦µÄERNTI*/

+    WORD                        wHarqId;                /*HARQ½ø³ÌID£¨0~7£©*/

+    WORD                        wEtfci;                 /*Ñ¡ÔñµÄEtfci£¨0~127£©*/

+    T_zW_p_etfc_gain_factor     tEtfcGainFactor;

+    T_zW_P_etfc_rm_info         tEtfcRmInfo;

+    WORD                        wTbSize;                /*¶ÔÓ¦TB¿é´óСbits£¨18~22995£©*/

+    WORD                        wRsn;                   /*Tb¿é¶ÔÓ¦RSN£¨0~3£©*/

+    WORD                        wHappyBit;              /*Happy Bitָʾ£¨0~1£©*/

+    WORD                        wSchDataFg;             /*ָʾµ±Ç°ÊÇ·ñÊǵ÷¶ÈÊý¾Ý£¨0~1£©*/

+    T_zW_P_upa_trans_frame_num  tUpaTransFrameNum;

+//    WORD                        awHsupaData[Z_W_P_MAX_NO_OF_HSUPA_BYTES/2];  /*UPAÊý¾ÝÍ·ÐÅÏ¢·ÅÈë¹²ÏíRAM£¬UPAÊý¾ÝÐÅÏ¢Ö±½Ó°áÖÁÎïÀí²ãÓ²¼þ¼ÓËÙÆ÷E-UTR RAM*/

+}T_zW_P_hsupa_buffer;

+

+

+/*==============================================================================

+ ÏûÏ¢£ºT_zW_P_hsdpa_buffer( PHY->WMAC )

+ ˵Ã÷: ÏÂÐÐÊý¾Ý½Ó¿Ú( DPA )

+==============================================================================*/

+typedef struct {

+    WORD                        wTbSize;                /*Tb¿é´óСbit£¨120~27952£©*/

+    WORD                        wDataType;              /*ָʾ½ÓÊÕµÄÊý¾Ý¿éÀàÐÍ£¬0£ºÆäËû  1£ºPCCH  2£ºBCCH£»

+                                                        ÔÚEPCH̬»òEFACH̬ʹÓÃBCCH RNTI½âÂëʱ£¬Ôò¶ÔÓ¦wDataTypeÌîдBCCH£»

+                                                        ÔÚEPCH̬²»Ê¹ÓÃBCCH RNTI½âÂëʱ£¬¶ÔÓ¦wDataTypeÌîдPCCH£»

+                                                        ÆäËûÇé¿öÏÂwDataTypeÌîдÆäËû*/

+    WORD                        awHsdpaData[Z_W_P_MAX_NO_OF_HSDPA_BYTES/2];

+}T_zW_P_hsdpa_buffer;

+

+/*==============================================================================

+ÏûÏ¢£ºP_TFC_ETFC_PARAM_IND( WPHY->WMAC )

+˵Ã÷: L1½«¼ÆËãºÃµÄTFC gain factorÖµ¸øMAC£¬ÓÃÓÚETFCÏÞÖÆ¹ý³ÌʹÓÃ

+==============================================================================*/

+

+typedef struct {

+    WORD                        wTfci;                           /*Tfciֵ*/

+    WORD                        wPadding;

+    DWORD                       dwAjNumeratorLow;                /*¼ÆËãAjƽ·½ËùÓõķÖ×Ó,µÍ32λ*/

+    DWORD                       dwAjNumeratorHigh;               /*¼ÆËãAjƽ·½ËùÓõķÖ×Ó,¸ß32λ*/

+    DWORD                       dwAjDenominatorLow;              /*¼ÆËãAjƽ·½ËùÓõķÖĸ,µÍ32λ*/

+    DWORD                       dwAjDenominatorHigh;             /*¼ÆËãAjƽ·½ËùÓõķÖĸ,¸ß32λ*/

+}T_zW_P_tfc_gain_factor;/*signalledGainFactors & computedGainFactors*/

+

+typedef struct

+{

+    WORD                        wiMantissa;                      /*βÊý*/

+    WORD                        wiExp;                           /*¸ºÊý¼ÓÆ«ÒÆ¡£Ö¸Êý*/

+}T_zW_P_pc_flot_data;

+

+typedef struct {

+    WORD                        wMsgId;

+    WORD                        wNumOfTfc;                       /*Tfc Êý*/

+    WORD                        wUlDpdchNum;                     /*ÓëT_zW_P_ul_dpch_setup_modify_reqÖÐÐÅÔªwNumOfDPDCHÏàͬ*/    

+    WORD                        wPadding;

+

+    T_zW_P_tfc_gain_factor      atTfcParam[Z_W_P_MAX_UL_TFC_NUM];/*ËùÓÐTFCµÄBetaC,BetaD*/

+    T_zW_P_pc_flot_data         tPMax;

+}T_zW_P_tfc_etfc_param_ind;

+

+

+/*==============================================================================

+ÏûÏ¢£ºT_zW_P_ul_power_info( WPHY->WMAC )

+˵Ã÷:   TFC¹¦ÂÊ¿ØÖÆ

+==============================================================================*/

+typedef struct {

+    WORD                        wTfcPowerFlag;                            /*ÊÇ·ñЯ´øtfc power info£¨0~1£©*/

+    WORD                        wCompressedFlg;

+    WORD                        awExcessPowerFlag[Z_W_P_MAX_UL_TFC_NUM]; /*TFCIÊÇ·ñ³¬¹ý×î´ó´«Ê书ÂʵÄָʾ£¬Êý×éϱêΪTFCI£»Êý×éÄÚÈÝΪÈý¸öʱ϶µÄ²âÁ¿½á¹û£¨bitmap£©£¬BIT0£¨LSB£©£ºµÚÒ»¸öʱ϶²âÁ¿½á¹û£¬BIT1£ºµÚ¶þ¸öʱ϶²âÁ¿½á¹û£¬BIT2£ºµÚÈý¸öʱ϶²âÁ¿½á¹û*/

+}T_zW_P_ul_power_info;

+

+/*==============================================================================

+ÏûÏ¢£ºT_zW_P_upa_etfc_restrict_info( WPHY->WMAC )

+˵Ã÷:   ETFCÏÞÖÆ¹ý³ÌÐÅÏ¢

+==============================================================================*/

+typedef struct {

+    WORD                        wNpilotC;                             /*ѹËõÖ¡ÖУ¬Ã¿¸öʱ϶ÉÏDPCCHµÄpilot bitÊýÁ¿¡£È¡Öµ·¶Î§3~8bit*/

+    WORD                        wNpilotN;                             /*·ÇѹËõÖ¡ÖУ¬Ã¿¸öʱ϶ÉÏDPCCHµÄpilot bitÊýÁ¿¡£È¡Öµ·¶Î§3~8bit*/

+    WORD                        wNSlotC;                              /*ѹËõģʽ֡ÖУ¬²»·¢ËÍÊý¾ÝµÄʱ϶Êý¡£È¡Öµ·¶Î§1~15*/

+    WORD                        wPadding;

+}T_zW_P_dpch_compressed_info;

+

+typedef struct {

+    WORD                        wCompressedFlg;                       /*0-ÎÞѹËõģʽÐÅÏ¢£¬1-´æÔÚѹËõģʽÐÅÏ¢*/

+    WORD                        wBeltaHs;                             /*HsdpcchµÄÔöÒæÒò×Ó£¬·¶Î§0~38*15*/

+    WORD                        wEstimatePdpcchFilterSlotNum;         /*Â˲¨Ê±Ï¶¸öÊý*/

+    WORD                        wPadding;

+    T_zW_P_dpch_compressed_info tDpchCompressedInfo;                  /*ѹËõģʽÐÅÏ¢*/

+    T_zW_P_pc_flot_data         wEstimatePdpcchTarg[Z_W_P_MAX_UL_FREQUENCY_NUM];               /*DPCCHÆÀ¹À¹¦ÂÊ£¬Êý×éϱê0±íʾÖ÷Ƶ£¬Êý×éϱê1±íʾ¸¨Æµ£¬2msTTIʱÆÀ¹À3slots£¬10msTTIʱÆÀ¹À15slots¡£ÓÃÖ¸ÊýÐÎʽ±íʾ¡£Èç¹ûÊÇѹËõģʽ£¬¸Ã¹¦ÂÊÊÇÕÛËãºóµÄ¹¦ÂÊÖµ£¬¼´PDPCCH,target,i = PDPCCH,filtered,i¡Á (Npilot,N/ Npilot,C)*/

+}T_zW_P_upa_etfc_restrict_info;

+

+typedef struct {

+    WORD                      wPrimFreqTransFlg;                      /*Ö÷Ƶ,pc preambleÊÇ·ñ¿É·¢Êý¾Ý£¬»òѹËõģʽgapÊÇ·ñ¿É·¢Êý¾Ý¡£0£º²»ÔÊÐí·¢ËÍÊý¾Ý£¬1£ºÔÊÐí·¢Êý¾Ý*/

+    WORD                      wSecFreqTransFlg;  

+  }T_zW_P_upa_trans_info;

+

+typedef struct {

+    WORD                            wNtr[ Z_W_P_MAX_NTR_NUM];/*CMÔÚN+2--N+9Ö¡ÖУ¬Ã¿Ö¡ÖеÄÕ¼ÓÃʱ϶Êý£¬wNtr[0]¶ÔÓ¦N+2Ö¡,ÎïÀí²ãÔÚÊÕµ½CMÅäÖÃʱ¼°Ê±Éϱ¨£¬Ö®ºóµÄÉϱ¨Âú×ã CFN%8=0 Éϱ¨¡£Éϱ¨µÄÌáǰÁ¿Îª20MS*/

+    WORD                            wNtrStartCfn;/* Éϱ¨µÄNtr[0]ËùÔÚÖ¡Ö¡ºÅ*/

+    WORD                            wPadding;

+}T_zW_P_cm_ntr_info;

+

+/*==============================================================================

+ ½á¹¹£ºT_zW_P_data_frame_info( PHY->WMAC )

+ ˵Ã÷: Ö¡ÖжÏÊý¾ÝÐÅÏ¢Éϱ¨

+==============================================================================*/

+typedef struct {

+    WORD                                      wUph;

+    WORD                                      wDtxActive;         /*ÅäÖÃÁËDtxDrxºó£¬Ö¸Ê¾DtxÊÇ·ñ¼¤»î»òÈ¥»î£»0£ºÎÞЧ£¬1£ºÖ¸Ê¾¼¤»î£¬2£ºÖ¸Ê¾È¥»î*/

+    WORD                                      wDrxActive;         /*ÅäÖÃÁËDtxDrxºó£¬Ö¸Ê¾DrxÊÇ·ñ¼¤»î»òÈ¥»î£»0£ºÎÞЧ£¬1£ºÖ¸Ê¾¼¤»î£¬2£ºÖ¸Ê¾È¥»î*/

+    WORD                                      wSecCellActive;     /*ÅäÖõڶþƵµãºó£¬Ö¸Ê¾µÚ¶þƵµãÊÇ·ñ¼¤»î£»0£ºÎÞЧ£¬1£ºÖ¸Ê¾¼¤»î£¬2£ºÖ¸Ê¾È¥»î*/

+    WORD                                      wRachDchTransFg;               /*ָʾRACH,DCH´ËÖ¡ÊÇ·ñ¿ÉÒÔ·¢ËÍÊý¾Ý£¬0£º²»ÔÊÐí·¢ËÍÊý¾Ý£¬1£ºÔÊÐí·¢Êý¾Ý*/  

+    WORD                                      wCmNtrInfoFlg;

+    T_zW_P_cm_ntr_info                  tCmNtrInfo;

+    T_zW_P_upa_trans_info              tUpaTransInfo;

+    T_zW_P_upa_grant_harq_info      tGrantHarqInfo;

+    DWORD                                    dwCmPattern;                   /*Éϱ¨Ñ¹ËõģʽͼÑù£¬Ã¿¸ö×ÓÖ¡Éϱ¨Ò»´Î£¬Éϱ¨µÄÊÇ3¸ö×ÓÖ¡Ö®ºóµÄÖµ*/

+    

+    T_zW_P_ul_power_info               tUlPowerInfo;/*Õë¶ÔDPCH,ÎïÀí²ãÉϱ¨µÄÌáǰÁ¿ÊÇ2Ö¡*/

+

+    T_zW_P_upa_etfc_restrict_info    tEtfcRestrictInfo;/*Õë¶ÔUPA£¬ÎïÀí²ãÉϱ¨µÄÌáǰÁ¿ÊÇ2¸ö×ÓÖ¡*/

+}T_zW_P_data_frame_info; 

+

+/*==============================================================================

+    L1W->PHY

+    ʼþ£ºW_P_ZWPCG_REQ_EV

+    ¹¦ÄÜ:

+        ÐÞ¸Ä/²éѯWÎïÀí²ãÅäÖòÎÊý¡£

+==============================================================================*/

+typedef struct 

+{

+    WORD       wMsgId;

+    WORD       wCmd;      /* ÃüÁîºÅ£¬¶ÔÓ¦²»Í¬µÄÎïÀí²ã¹¦ÄÜ */

+    WORD       awValFg[Z_ZWPCG_VALFG_NUM];   /* ±íʾadwValÊÇ·ñ´æÔÚ£¬0±íʾ²»´æÔÚ£¬1±íʾ´æÔÚ */

+    DWORD      adwVal[Z_ZWPCG_VALFG_NUM];    /* ²ÎÊýÁÐ±í£¬ÐÞ¸Ä/¶ÁÈ¡µÄÎïÀí²ã²ÎÊý£¬²ÎÊýʵ¼Êº¬ÒåÓÉÎïÀí²ã¸ø³ö */

+}T_zW_P_Zwpcg_Req; 

+

+/*==============================================================================

+    PHY->L1W

+    ʼþ£ºW_P_ZWPCG_CNF_EV

+    ¹¦ÄÜ:

+        ÐÞ¸Ä/²éѯWÎïÀí²ãÅäÖòÎÊýµÄÏìÓ¦ÏûÏ¢¡£

+==============================================================================*/

+typedef struct 

+{

+    WORD       wMsgId;

+    WORD       wCmd;      /* ÃüÁîºÅ£¬¶ÔÓ¦²»Í¬µÄÎïÀí²ã¹¦ÄÜ£¬bMode=0/1¶¼ÓÐЧ */

+    WORD       wRslt;     /* ±íʾÉèÖýá¹û£¬Z_TRUEÉèÖóɹ¦£¬Z_FALSEÉèÖÃʧ°Ü  wCmdΪÉèÖÃÃüÁîʱÓÐЧ */

+    WORD       awValFg[Z_ZWPCG_PARAM_NUM]; /*°´ÕÕϱêºÍdwValÖÐÖµÒ»Ò»¶ÔÓ¦£¬bVal1Fg[0]±íʾdwVal[0]ÊÇ·ñ´æÔÚ,ÒÀ´ÎÀàÍÆ£¬0±íʾ²»´æÔÚ£¬1±íʾ´æÔÚ*/

+    LONG       alVal[Z_ZWPCG_PARAM_NUM];   /*²ÎÊý1/²ÎÊý2¡­£¬ÐÞ¸Ä/¶ÁÈ¡µÄÎïÀí²ã²ÎÊý£¬²ÎÊýʵ¼Êº¬ÒåÓÉÎïÀí²ã¸ø³ö*/

+}T_zW_P_Zwpcg_Cnf;

+

+

+

+/*==============================================================================

+    L1W->PHY

+    ʼþ£ºW_P_RPI_SET_REQ_EV

+    ¹¦ÄÜ:

+        ÉèÖÃWPHYʹÓõÄ×î´ó·¢É书ÂʵÄRPI VAULE

+==============================================================================*/

+typedef struct 

+{

+    WORD    wMsgId;

+    WORD    wRpi; /* PUMAX¶ÔÓ¦µÄRPIµµÎ»£¬·¶Î§0/1/2 */

+}T_zW_P_rpi_set_req; 

+

+

+#define   Z_MAX_RPI_NR                                  (BYTE)3

+#define   Z_W_RPI_SUPPORT_MAX_BAND          (BYTE)8

+

+

+typedef struct 

+{

+    WORD    wBand;        /* ¶ÔÓ¦µÄBANDºÅ */

+    WORD    bPumax[Z_MAX_RPI_NR];   /* ÒÔrpiΪindexÈ·ÈÏ×î´ó·¢É书ÂÊpumax */

+}T_zBandRpiCfg; 

+

+/*==============================================================================

+    L1W->PHY

+    ʼþ£ºW_P_RPI_CFG_REQ_EV

+    ¹¦ÄÜ:

+        ÅäÖÃWÏÂ8¸öBAND£¬Ã¿¸öBANDÏÂRPIºÍPUMAXµÄÓ³Éä¹ØÏµ£¬ÆäÖÐRPI·¶Î§0~2

+==============================================================================*/

+typedef struct 

+{

+    WORD    wMsgId;

+    T_zBandRpiCfg    tWBandRpiCfg[Z_W_RPI_SUPPORT_MAX_BAND];

+}T_zW_P_rpi_cfg_req;

+

+

+

+/*==============================================================================

+ *                         Êý¾ÝÃæÈ«¾ÖÊý¾ÝÀàÐͶ¨Òå end                   *

+ ==============================================================================*/

+

+

+

+/**************************************************************************

+ *        PSÓëWPHY ¹²ÏíDDRµÄ5MB ¿Õ¼ä                                   *

+ **************************************************************************/

+#if 0

+#if defined (_CHIP_ZX297550)

+#define DDR_BASE_ADDR_FOR_W            0x5800000

+#endif

+#if defined (_CHIP_ZX2804)

+#define DDR_BASE_ADDR_FOR_W           0x15800000

+#endif

+

+#endif

+/*PSÓëphy¹²ÏíDDR¸ù¾ÝÒµÎñÇé¿ö·Ö³É5¸öµÈ¼¶*/

+#define PS_WPHY_DL_DATA_DDR_GRADE_NUM           (5)

+#define PS_MAC_HEAD_IFNO_SIZE                   620//ec616000258401

+

+#define PS_WPHY_DL_DATA_TYPE0_GRADE_BUF_SIZE    0//(86 + PS_MAC_HEAD_IFNO_SIZE)

+#define PS_WPHY_DL_DATA_TYPE1_GRADE_BUF_SIZE    0//(238 + PS_MAC_HEAD_IFNO_SIZE)

+#define PS_WPHY_DL_DATA_TYPE2_GRADE_BUF_SIZE    0//(682 + PS_MAC_HEAD_IFNO_SIZE)

+#define PS_WPHY_DL_DATA_TYPE3_GRADE_BUF_SIZE    0//(1980 + PS_MAC_HEAD_IFNO_SIZE)

+#define PS_WPHY_DL_DATA_TYPE4_GRADE_BUF_SIZE    (5282 + PS_MAC_HEAD_IFNO_SIZE)

+

+

+#define PS_WPHY_DL_DATA_TYPE0_GRADE_BUF_NUM     0//505

+#define PS_WPHY_DL_DATA_TYPE1_GRADE_BUF_NUM     0//505

+#define PS_WPHY_DL_DATA_TYPE2_GRADE_BUF_NUM     0//400

+#define PS_WPHY_DL_DATA_TYPE3_GRADE_BUF_NUM     0//300

+#define PS_WPHY_DL_DATA_TYPE4_GRADE_BUF_NUM     131//200

+

+#define PS_WPHY_DL_DATA_TYPE_GRADE_BUF_NUM_ALL    (PS_WPHY_DL_DATA_TYPE0_GRADE_BUF_NUM + PS_WPHY_DL_DATA_TYPE1_GRADE_BUF_NUM + PS_WPHY_DL_DATA_TYPE2_GRADE_BUF_NUM\

+                                +PS_WPHY_DL_DATA_TYPE3_GRADE_BUF_NUM + PS_WPHY_DL_DATA_TYPE4_GRADE_BUF_NUM)//add by shideyou 

+

+/**************************************************************************

+ *        PSÓëWPHY ¹²ÏíRAMµÄ60K ¿Õ¼äPS_PHY_BASE_ADDR+144K---PS_PHY_BASE_ADDR+208K                                   *

+ **************************************************************************/

+#ifdef Z_SEND_TO_SIMPHY

+#define    PS_PHY_BASE_ADDR                     0x00000004//²úÆ·ÏßÌṩ

+#define    PS_WPHY_BASE_ADDR                    (PS_PHY_BASE_ADDR +24000)

+#else

+#define    PS_WPHY_BASE_ADDR                    IRAM_BASE_ADDR_FOR_W

+#endif

+

+#if 0

+#define    PS_WPHY_EVENT_ADDR                   PS_WPHY_BASE_ADDR

+

+/*PS ¸øÎïÀí²ã·¢ËÍÏûÏ¢µÄÆðʼµØÖ·*/

+#define    PS_TO_WPHY_EVENT_ADDR                PS_WPHY_BASE_ADDR

+

+#define    PS_TO_WPHY_ENENT_BUF_SIZE            (0X61BC >> CPU_SHIFT)     //add by shideyou  /*PS->WPHY  ÏûÏ¢²¿·ÖÕ¼ÓõÄRAM¿Õ¼ä´óС*/

+

+/*ÎïÀí²ã¸øPS·¢ËÍÏûÏ¢µÄÆðʼµØÖ·*/

+#define    WPHY_TO_PS_EVENT_ADDR                (PS_WPHY_BASE_ADDR + PS_TO_WPHY_ENENT_BUF_SIZE)

+

+/*PSÓëWPHY  ÏûÏ¢²¿·ÖÕ¼ÓõÄRAM¿Õ¼ä´óС*/

+#define    PS_WPHY_ENENT_BUF_SIZE               (0X8110 >> CPU_SHIFT)

+#endif

+

+/*Êý¾Ý±£»¤Çø´óС*/

+#define    PS_WPHY_SAFEGUARD_SIZE               (4 >> CPU_SHIFT)

+

+#if 0

+/*ÆÕͨÉÏÐÐÊý¾ÝµÄÆðʼµØÖ·*/

+#define    PS_WPHY_UL_DATA_ADDR                 (PS_WPHY_EVENT_ADDR + PS_WPHY_ENENT_BUF_SIZE +PS_WPHY_SAFEGUARD_SIZE)

+

+#define   PS_WPHY_UL_RACH_DPCH_ADDR             PS_WPHY_UL_DATA_ADDR

+#define   PS_W_UL_RACH_DPCH_BUF_SIZE            (2* sizeof(T_zW_P_ul_data_buffer))

+#endif

+/*UPA¿ØÖÆÐÅÏ¢²¿·ÖÆðʼµØÖ·*/

+#define  PS_WPHY_UPA_CTRL_INFO_HARQ_NUM         8   //add by shideyou ,ºóÃæÈç¹ûÖ§³ÖMIMOʱÐèÒª¸Ä³É16

+//#define  PS_WPHY_UPA_CTRL_INFO_ADDR             (PS_W_UL_RACH_DPCH_BUF_SIZE + PS_WPHY_UL_RACH_DPCH_ADDR+ 2* PS_WPHY_SAFEGUARD_SIZE)  //modify by shideyou,  add 4 byte for share harqid

+#define  PS_WPHY_UPA_CTRL_INFO_ADDR             (PS_WPHY_BASE_ADDR + 2* PS_WPHY_SAFEGUARD_SIZE)  //modify by shideyou,  add 4 byte for share harqid

+#define  PS_WPHY_UPA_ONE_HARQ_CTRL_INFO_BUF_SIZE     (sizeof(T_zW_P_hsupa_buffer))

+#define  PS_WPHY_UPA_CTRL_INFO_HARQ0_ADDR    PS_WPHY_UPA_CTRL_INFO_ADDR

+#define  PS_WPHY_UPA_CTRL_INFO_HARQ1_ADDR    (PS_WPHY_UPA_CTRL_INFO_HARQ0_ADDR + PS_WPHY_UPA_ONE_HARQ_CTRL_INFO_BUF_SIZE)

+#define  PS_WPHY_UPA_CTRL_INFO_HARQ2_ADDR    (PS_WPHY_UPA_CTRL_INFO_HARQ0_ADDR + (2*PS_WPHY_UPA_ONE_HARQ_CTRL_INFO_BUF_SIZE))

+#define  PS_WPHY_UPA_CTRL_INFO_HARQ3_ADDR    (PS_WPHY_UPA_CTRL_INFO_HARQ0_ADDR + (3*PS_WPHY_UPA_ONE_HARQ_CTRL_INFO_BUF_SIZE))

+#define  PS_WPHY_UPA_CTRL_INFO_HARQ4_ADDR    (PS_WPHY_UPA_CTRL_INFO_HARQ0_ADDR + (4*PS_WPHY_UPA_ONE_HARQ_CTRL_INFO_BUF_SIZE))

+#define  PS_WPHY_UPA_CTRL_INFO_HARQ5_ADDR    (PS_WPHY_UPA_CTRL_INFO_HARQ0_ADDR + (5*PS_WPHY_UPA_ONE_HARQ_CTRL_INFO_BUF_SIZE))

+#define  PS_WPHY_UPA_CTRL_INFO_HARQ6_ADDR    (PS_WPHY_UPA_CTRL_INFO_HARQ0_ADDR + (6*PS_WPHY_UPA_ONE_HARQ_CTRL_INFO_BUF_SIZE))

+#define  PS_WPHY_UPA_CTRL_INFO_HARQ7_ADDR    (PS_WPHY_UPA_CTRL_INFO_HARQ0_ADDR + (7*PS_WPHY_UPA_ONE_HARQ_CTRL_INFO_BUF_SIZE))

+

+#define  PS_WPHY_UPA_CTRL_INFO_BUF_SIZE        (16* PS_WPHY_UPA_ONE_HARQ_CTRL_INFO_BUF_SIZE)/*¿¼Âǵ½Ö§³ÖMIMOµÄÇé¿ö*/

+

+

+/*ÎïÀí²ãÓ²¼þW-EUTR²¿·ÖUPA´æ·ÅÊý¾ÝµØÖ·£º*/

+#if defined (_CHIP_ZX2804)

+/*2804ƽ̨£º 0x5040 0000; wphyÌṩ*/

+#define  WPHY_UPA_DATA_BASE_ADDR                     (0X40B00000 >> CPU_SHIFT)

+#endif

+#if defined(_CHIP_ZX297520) || defined(_CHIP_ZX297520V2)  || defined(_CHIP_ZX297520V1_1)

+/*7520ƽ̨£º */

+#define  WPHY_UPA_DATA_BASE_ADDR                     (0XA4000000 >> CPU_SHIFT)

+#endif

+#if defined (_CHIP_ZX297520V3) 

+/*7520V3ƽ̨£º */

+#define  WPHY_UPA_DATA_BASE_ADDR                     DDR_BASE_ADDR_WUPA_DATA//(0X2759AC00 >> CPU_SHIFT)

+#endif

+#if defined (_CHIP_ZX297550A)

+/*7550Aƽ̨£º0xA280 0000;*/

+#define  WPHY_UPA_DATA_BASE_ADDR                     (0XA2800000 >> CPU_SHIFT)

+#endif

+#if defined (_CHIP_ZX297520V3) 

+/*7520V3ƽ̨£º UPAÊý¾ÝÔÚDDRÉÏ*/

+#define  WPHY_UPA_DATA_HARQ_BASE_ADDR                0

+#define  WPHY_UPA_DATA_TTI2_HARQ1_BUF_SIZE           ((0X168*4) >> CPU_SHIFT)

+#define  WPHY_UPA_DATA_TTI10_HARQ1_BUF_SIZE          ((0X2d0*4) >> CPU_SHIFT)

+#else

+#define  WPHY_UPA_DATA_HARQ_BASE_ADDR                (0Xb000*4)

+#define  WPHY_UPA_DATA_TTI2_HARQ1_BUF_SIZE           (0X168*4)

+#define  WPHY_UPA_DATA_TTI10_HARQ1_BUF_SIZE          (0X2d0*4)

+#endif

+

+#define  WPHY_UPA_DATA_TTI2_HARQ0_BUF_ADDR   (WPHY_UPA_DATA_BASE_ADDR + WPHY_UPA_DATA_HARQ_BASE_ADDR ) 

+#define  WPHY_UPA_DATA_TTI2_HARQ1_BUF_ADDR   (WPHY_UPA_DATA_BASE_ADDR + WPHY_UPA_DATA_HARQ_BASE_ADDR + WPHY_UPA_DATA_TTI2_HARQ1_BUF_SIZE) 

+#define  WPHY_UPA_DATA_TTI2_HARQ2_BUF_ADDR   (WPHY_UPA_DATA_BASE_ADDR + WPHY_UPA_DATA_HARQ_BASE_ADDR + 2*WPHY_UPA_DATA_TTI2_HARQ1_BUF_SIZE) 

+#define  WPHY_UPA_DATA_TTI2_HARQ3_BUF_ADDR   (WPHY_UPA_DATA_BASE_ADDR + WPHY_UPA_DATA_HARQ_BASE_ADDR + 3*WPHY_UPA_DATA_TTI2_HARQ1_BUF_SIZE) 

+#define  WPHY_UPA_DATA_TTI2_HARQ4_BUF_ADDR   (WPHY_UPA_DATA_BASE_ADDR + WPHY_UPA_DATA_HARQ_BASE_ADDR + 4*WPHY_UPA_DATA_TTI2_HARQ1_BUF_SIZE) 

+#define  WPHY_UPA_DATA_TTI2_HARQ5_BUF_ADDR   (WPHY_UPA_DATA_BASE_ADDR + WPHY_UPA_DATA_HARQ_BASE_ADDR + 5*WPHY_UPA_DATA_TTI2_HARQ1_BUF_SIZE) 

+#define  WPHY_UPA_DATA_TTI2_HARQ6_BUF_ADDR   (WPHY_UPA_DATA_BASE_ADDR + WPHY_UPA_DATA_HARQ_BASE_ADDR + 6*WPHY_UPA_DATA_TTI2_HARQ1_BUF_SIZE) 

+#define  WPHY_UPA_DATA_TTI2_HARQ7_BUF_ADDR   (WPHY_UPA_DATA_BASE_ADDR + WPHY_UPA_DATA_HARQ_BASE_ADDR + 7*WPHY_UPA_DATA_TTI2_HARQ1_BUF_SIZE) 

+

+#define  WPHY_UPA_DATA_TTI10_HARQ0_BUF_ADDR   (WPHY_UPA_DATA_BASE_ADDR + WPHY_UPA_DATA_HARQ_BASE_ADDR ) 

+#define  WPHY_UPA_DATA_TTI10_HARQ1_BUF_ADDR   (WPHY_UPA_DATA_BASE_ADDR + WPHY_UPA_DATA_HARQ_BASE_ADDR + WPHY_UPA_DATA_TTI10_HARQ1_BUF_SIZE) 

+#define  WPHY_UPA_DATA_TTI10_HARQ2_BUF_ADDR   (WPHY_UPA_DATA_BASE_ADDR + WPHY_UPA_DATA_HARQ_BASE_ADDR + 2*WPHY_UPA_DATA_TTI10_HARQ1_BUF_SIZE) 

+#define  WPHY_UPA_DATA_TTI10_HARQ3_BUF_ADDR   (WPHY_UPA_DATA_BASE_ADDR + WPHY_UPA_DATA_HARQ_BASE_ADDR + 3*WPHY_UPA_DATA_TTI10_HARQ1_BUF_SIZE) 

+

+

+/*Ö¡ÖжÏÐÅÏ¢°üÀ¨Êý¾Ý²¿·Ö£¬ÒÔ¼°Ö¡ºÅ£¬PSÓëÎïÀí²ã¹²ÏíµÄÆäËûÐÅÏ¢ÈçDRX GRANT REQÐÅÏ¢*/

+#define  PS_WPHY_FRAME_DATA_INFO_ADDR              (PS_WPHY_UPA_CTRL_INFO_ADDR  + PS_WPHY_UPA_CTRL_INFO_BUF_SIZE + PS_WPHY_SAFEGUARD_SIZE)

+#define  PS_WPHY_FRAME_DATA_BUF_SIZE                 (sizeof(T_zW_P_data_frame_info))

+

+

+/*Ö¡ºÅÏà¹ØÐÅÏ¢*/

+#define PS_WPHY_CFN_ADDR                                      (PS_WPHY_FRAME_DATA_BUF_SIZE + PS_WPHY_FRAME_DATA_INFO_ADDR + PS_WPHY_SAFEGUARD_SIZE)

+#define PS_WPHY_SUBFRAME_ADDR                            ((4>>CPU_SHIFT) + PS_WPHY_CFN_ADDR)

+#define PS_WPHY_SFN_ADDR                                      ((4>>CPU_SHIFT) + PS_WPHY_SUBFRAME_ADDR)

+#define PS_WPHY_RTSFN_ADDR                                  ((4>>CPU_SHIFT) + PS_WPHY_SFN_ADDR)

+#define PS_WPHY_RTCFN_ADDR                                  ((4>>CPU_SHIFT) + PS_WPHY_RTSFN_ADDR)/*ÎïÀí²ãÿ¸öÖ¡ÖжÏÉϱ¨µÄRT Ïà¹ØCFN£¬È¡Öµ·¶Î§0-255.ÓÉÎïÀí²ãRTʱ»úÄ£256µÃµ½*/

+

+/*ÓÃÓÚÊý¾Ý·¢ËÍ¿ØÖƵÄTransFlg.ÎïÀí²ãд,PS¶Á*/

+#define PS_WPHY_TRANSFLG_ADDR                            ((4>>CPU_SHIFT) + PS_WPHY_RTCFN_ADDR)

+

+/*ÓÃÓÚDRX¿ØÖƵÄGRANT MONITOR REQ.PSдÎïÀí²ãÖ¡Í·¶Á*/

+#define PS_WPHY_GRANT_MONITOR_REQ_ADDR        ((4>>CPU_SHIFT) + PS_WPHY_TRANSFLG_ADDR + PS_WPHY_SAFEGUARD_SIZE)

+#define PS_WPHY_GRANT_MONITOR_REQ_BUF_SIZE  (sizeof( T_zW_P_grant_monitor_req))

+

+

+/*Çý¶¯Î¬»¤¹²ÏíDDRµÄRING BUF¶ÓÁÐÐÅÏ¢£ºÕ¼ÓÃBUFºÍ¿ÕÏÐBUF add by shideyou*/

+

+/*IRAM DL free buf addr  add by shideyou*/

+#define PS_WPHY_FREE_BUF_ADDR    (PS_WPHY_GRANT_MONITOR_REQ_ADDR + PS_WPHY_GRANT_MONITOR_REQ_BUF_SIZE)

+#define PS_WPHY_FREE_BUF_SIZE    ((2*4*PS_WPHY_DL_DATA_DDR_GRADE_NUM +  4*(PS_WPHY_DL_DATA_TYPE_GRADE_BUF_NUM_ALL + PS_WPHY_DL_DATA_DDR_GRADE_NUM))>>CPU_SHIFT)

+

+#if 0

+/*IRAM DL send buf addr  add by shideyou*/

+#define PS_WPHY_SEND_BUF_NUM    15      

+#define PS_WPHY_SEND_BUF_ADDR    (PS_WPHY_FREE_BUF_ADDR + PS_WPHY_FREE_BUF_SIZE)

+#define PS_WPHY_SEND_BUF_SIZE    ((2*4 + 4 * (PS_WPHY_SEND_BUF_NUM + 1))>>CPU_SHIFT)

+#endif

+

+/*HFN address  add by shideyou.outputed by wphy and used for TMT */

+#define WPHY_HFN_ADDRESS  (PS_WPHY_FREE_BUF_ADDR + PS_WPHY_FREE_BUF_SIZE)

+#define WPHY_HFN_SIZE         (0x4 >>CPU_SHIFT)

+#endif        // Z_PS_WPHY_INTERFACE_H

+

+

+