view cdg-hybrid/cdginc/p_em.val @ 268:f2e52cab0a73

abb_inth.c: check all interrupt causes, not just one The original code used if - else if - else if etc constructs, thus the first detected interrupt was the only one handled. However, Iota ITSTATREG is a clear-on-read register, thus if we only handle the first detected interrupt and skip checking the others, then the other interrupts will be lost, if more than one interrupt happened to occur in one ABB interrupt handling cycle - a form of rare race condition. Change the code to check all interrupts that were read in this cycle.
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 13 Jun 2021 18:17:53 +0000
parents 35f7a1dc9f7d
children
line wrap: on
line source

/*
+--------------------------------------------------------------------------+
| PROJECT : PROTOCOL STACK                                                 |
| FILE    : p_em.val                                                       |
| SOURCE  : "sap\em.pdf"                                                   |
| LastModified : "2002-02-25"                                              |
| IdAndVersion : "8304.129.96.103"                                         |
| SrcFileTime  : "Thu Nov 29 09:40:50 2007"                                |
| Generated by CCDGEN_2.5.5A on Fri Oct 14 21:41:52 2016                   |
|           !!DO NOT MODIFY!!DO NOT MODIFY!!DO NOT MODIFY!!                |
+--------------------------------------------------------------------------+
*/

/* PRAGMAS
 * PREFIX                 : NONE
 * COMPATIBILITY_DEFINES  : NO (require PREFIX)
 * ALWAYS_ENUM_IN_VAL_FILE: NO
 * ENABLE_GROUP: NO
 * CAPITALIZE_TYPENAME: NO
 */


#ifndef P_EM_VAL
#define P_EM_VAL


#define CDG_ENTER__P_EM_VAL

#define CDG_ENTER__FILENAME _P_EM_VAL
#define CDG_ENTER__P_EM_VAL__FILE_TYPE CDGINC
#define CDG_ENTER__P_EM_VAL__LAST_MODIFIED _2002_02_25
#define CDG_ENTER__P_EM_VAL__ID_AND_VERSION _8304_129_96_103

#define CDG_ENTER__P_EM_VAL__SRC_FILE_TIME _Thu_Nov_29_09_40_50_2007

#include "CDG_ENTER.h"

#undef CDG_ENTER__P_EM_VAL

#undef CDG_ENTER__FILENAME


/*
 * Value constants for VAL_arfcn
 */
#define VAL_ARFCN___FFFF               (0xffff)   /* not present                    */

/*
 * Value constants for VAL_tn
 */

/*
 * Value constants for VAL_txlev
 */

/*
 * Value constants for VAL_rxlev
 */

/*
 * Value constants for VAL_rxqual_f
 */

/*
 * Value constants for VAL_bsic
 */
#define VAL_BSIC___FF                  (0xff)     /* not present                    */

/*
 * Value constants for VAL_t3212
 */

/*
 * Value constants for VAL_v_start
 */
#define VAL_V_START___0                (0x0)      /* no starting time               */
#define VAL_V_START___1                (0x1)      /* with starting time             */

/*
 * Value constants for VAL_dtx_stat
 */
#define VAL_DTX_STAT___0               (0x0)      /* without dtx                    */
#define VAL_DTX_STAT___1               (0x1)      /* with dtx                       */

/*
 * Value constants for VAL_bs_pa_mfrms
 */
#define VAL_BS_PA_MFRMS___0            (0x0)      /* 2 Multiframe Periods           */
#define VAL_BS_PA_MFRMS___1            (0x1)      /* 3 Multiframe Periods           */
#define VAL_BS_PA_MFRMS___2            (0x2)      /* 4 Multiframe Periods           */
#define VAL_BS_PA_MFRMS___3            (0x3)      /* 5 Multiframe Periods           */
#define VAL_BS_PA_MFRMS___4            (0x4)      /* 6 Multiframe Periods           */
#define VAL_BS_PA_MFRMS___5            (0x5)      /* 7 Multiframe Periods           */
#define VAL_BS_PA_MFRMS___6            (0x6)      /* 8 Multiframe Periods           */
#define VAL_BS_PA_MFRMS___7            (0x7)      /* 9 Multiframe Periods           */

/*
 * Value constants for VAL_entity
 */
#define EM_L1                          (0x1)      /* L1                             */
#define EM_DL                          (0x2)      /* DL                             */
#define EM_RR                          (0x3)      /* RR                             */
#define EM_MM                          (0x4)      /* MM                             */
#define EM_CC                          (0x5)      /* CC                             */
#define EM_SS                          (0x6)      /* SS                             */
#define EM_SMS                         (0x7)      /* SMS                            */
#define EM_SIM                         (0x8)      /* SIM                            */
#define EM_GRR                         (0x9)      /* GRR                            */
#define EM_GMM                         (0xa)      /* GMM                            */
#define EM_GRLC                        (0xb)      /* GRLC                           */

/*
 * Value constants for VAL_pco_bitmap
 */
#define EM_PCO_SC_INFO                 (0x1)      /* request RR SC information      */
#define EM_PCO_GPRS_INFO               (0x2)      /* request GPRS SC information    */
#define EM_PCO_NC_INFO                 (0x4)      /* request RR NC information      */
#define EM_PCO_LOC_PAG_INFO            (0x8)      /* request RR Location and Paging information */
#define EM_PCO_PLMN_INFO               (0x10)     /* request RR PLMN information    */
#define EM_PCO_CIPH_HOP_DTX_INFO       (0x20)     /* request RR Ciphering Hopping and DTX information */
#define EM_PCO_POWER_INFO              (0x40)     /* request RR Power (Classmark) information */
#define EM_PCO_IDENTITY_INFO           (0x80)     /* request RR Identity information */
#define EM_PCO_SW_VERSION_INFO         (0x100)    /* request SW Version information */
#define EM_PCO_GMM_INFO                (0x200)    /* request GMM information        */
#define EM_PCO_GRLC_INFO               (0x400)    /* request GRLC information       */
#define EM_PCO_AMR_INFO                (0x800)    /* request AMR information        */
#define EM_PCO_PDP_INFO                (0x1000)   /* request PDP information        */

/*
 * Value constants for VAL_hyst
 */
#define CELL_HYST_0_DB                 (0x0)      /* 0 dB RXLEV hysteresis for LA re-selection */
#define CELL_HYST_2_DB                 (0x1)      /* 2 dB RXLEV hysteresis for LA re-selection */
#define CELL_HYST_4_DB                 (0x2)      /* 4 dB RXLEV hysteresis for LA re-selection */
#define CELL_HYST_6_DB                 (0x3)      /* 6 dB RXLEV hysteresis for LA re-selection */
#define CELL_HYST_8_DB                 (0x4)      /* 8 dB RXLEV hysteresis for LA re-selection */
#define CELL_HYST_10_DB                (0x5)      /* 10 dB RXLEV hysteresis for LA re-selection */
#define CELL_HYST_12_DB                (0x6)      /* 12 dB RXLEV hysteresis for LA re-selection */
#define CELL_HYST_14_DB                (0x7)      /* 14 dB RXLEV hysteresis for LA re-selection */

/*
 * Value constants for VAL_gprs_prio_class
 */
#define GPRS_PRIORITY_CLASS_INVALID    (0xff)     /* This value is used to indicate the absence of this parameter */

/*
 * Value constants for VAL_tbf_trans_type
 */
#define EM_TBF_TYPE_NULL               (0x0)      /* No GPRS data transfer          */
#define EM_TBF_TYPE_SB                 (0x1)      
#define EM_TBF_TYPE_FA                 (0x2)      /* Fixed Allocation               */
#define EM_TBF_TYPE_DA                 (0x3)      /* Dynamic Allocation             */
#define EM_TBF_TYPE_DL                 (0x4)      /* DL                             */
#define EM_TBF_TYPE_DL_AND_DA          (0x5)      /* DL + Dynamic Allocation        */
#define EM_TBF_TYPE_DL_AND_FA          (0x6)      /* DL + Fixed Allocation          */

/*
 * Value constants for VAL_nco
 */
#define FMM_NC0                        (0x0)      /* NC0                            */
#define FMM_NC1                        (0x1)      /* NC1                            */
#define FMM_NC2                        (0x2)      /* NC2, network controlled        */
#define FMM_RESET                      (0x3)      /* BCCH based reselection order   */
#define FMM_EMPTY                      (0x4)      /* undefined                      */

/*
 * Value constants for VAL_grlc_state
 */
#define ACCESS_DISABLED                (0x0)      /* access disabled                */
#define PIM                            (0x1)      /* Packet idle mode               */
#define PAM                            (0x2)      /* Packet access mode             */
#define PTM                            (0x3)      /* Packet transfer mode           */
#define WAIT_4_PIM                     (0x4)      /* wait for PIM                   */

/*
 * Value constants for VAL_cs
 */
#define CS_MODE_1                      (0x0)      /* Values Item                    */
#define CS_MODE_2                      (0x1)      /* Values Item                    */
#define CS_MODE_3                      (0x2)      /* Values Item                    */
#define CS_MODE_4                      (0x3)      /* Values Item                    */

/*
 * Value constants for VAL_cell_type_ind
 */
#define EM_CELL_NA                     (0x0)      /* Cell type is not available     */
#define EM_CELL_GSM                    (0x1)      /* Cell supports GSM only         */
#define EM_CELL_GPRS                   (0x2)      /* Cell supports GSM and GPRS     */

/*
 * Value constants for VAL_cell_resel_offset
 */

/*
 * Value constants for VAL_temp_offset
 */

/*
 * Value constants for VAL_rxlev_acc_min
 */

/*
 * Value constants for VAL_vocoder
 */
#define EM_VOC_SIG                     (0x0)      /* Signalling only                */
#define EM_VOC_SPEECH                  (0x1)      /* Speech                         */
#define EM_VOC_EFR                     (0x21)     /* Enhanced full rate             */
#define EM_VOC_AMR                     (0x41)     /* Adaptive multi rate            */
#define EM_VOC_14_4                    (0xf)      /* User data rate of 14.4 kbps    */
#define EM_VOC_9_6                     (0x3)      /* User data rate of 9.6kbps/12kbps radio interface rate */
#define EM_VOC_4_8                     (0xb)      /* User data rate of 4.8kbps/6kbps radio interface rate */
#define EM_VOC_2_4                     (0x13)     /* User data rate of 2.4kbps/3.6 radio interface rate */
#define EM_VOC_NA                      (0xff)     /* Not applicable in this state   */

/*
 * Value constants for VAL_t3312_state
 */
#define EM_T3312_ACTIVE                (0x0)      /* Periodic RAU timer is active   */
#define EM_T3312_DEACTIVE              (0x1)      /* Periodic RAU timer is de active */

/*
 * Value constants for VAL_amr_voc
 */
#define EM_AFS                         (0x1)      /* AMR full rate speech           */
#define EM_AH0                         (0x2)      /* AMR half speech on sub channel 0 */
#define EM_AH1                         (0x3)      /* AMR half rate speech on sub channel 1 */

/*
 * Value constants for VAL_amr_icmi
 */
#define EM_AMR_ICMI_IMP                (0x0)      /* The initial codec mode is defined by the implicit rule provided in 3GPP TS 05.09 */
#define EM_AMR_ICMI_SMF                (0x1)      /* The initial codec mode is defined by the Start Mode field */

/*
 * Value constants for VAL_amr_first_cod
 */
#define EM_AMR_MODE_4_75               (0x0)      /* 4.75 kbps codec bit rate       */
#define EM_AMR_MODE_5_15               (0x1)      /* 5.15 kbps codec bit rate       */
#define EM_AMR_MODE_5_9                (0x2)      /* 5.9 kbps codec bit rate        */
#define EM_AMR_MODE_6_7                (0x3)      /* 6.7 kbps codec bit rate        */
#define EM_AMR_MODE_7_4                (0x4)      /* 7.4 kbps codec bit rate        */
#define EM_AMR_MODE_7_95               (0x5)      /* 7.95 kbps codec bit rate       */
#define EM_AMR_MODE_10_2               (0x6)      /* 10.2 kbps codec bit rate       */
#define EM_AMR_MODE_12_2               (0x7)      /* 12.2 kbps codec bit rate       */

/*
 * Value constants for VAL_hop
 */
#define EM_HOP_NO                      (0x0)      /* Hopping is not present         */
#define EM_HOP                         (0x1)      /* Hopping used                   */

// VALTAB-FF: REL99 
// 
// Value constants for VAL_sgsnr
// 
// VAL-FF: REL99  
// #define EM_SGSNR_L98                   (0x0)   /* SGSN is R-98 or older          */
// VAL-FF: REL99  
// #define EM_SGSNR_G99                   (0x1)   /* SGSN is R-99 or later.         */

// VALTAB-FF: REL99 
// 
// Value constants for VAL_mscr
// 
// VAL-FF: REL99  
// #define EM_MSCR_L98                    (0x0)   /* MSC release is 98 or older.    */
// VAL-FF: REL99  
// #define EM_MSCR_G99                    (0x1)   /* MSC release is 99 or later.    */

// VALTAB-FF: REL99 
// 
// Value constants for VAL_net_rel
// 
// VAL-FF: REL99  
// #define EM_BSS_L98                     (0x0)   /* BSS release version is 98 or older. */
// VAL-FF: REL99  
// #define EM_BSS_99                      (0x1)   /* BSS release version is 99      */
// VAL-FF: REL99  
// #define EM_BSS_R4                      (0x2)   /* BSS release verison is R4      */
// VAL-FF: REL99  
// #define EM_BSS_NOT_SET                 (0xff)  /* BSS release is not set.        */

// VALTAB-FF: REL99 
// 
// Value constants for Val_band_ind
// 
// #define EM_BAND_1800                   (0x0)   /* ARFCN belongs to 1800 band     */
// #define EM_BAND_1900                   (0x1)   /* ARFCN belongs to 1900 band     */
// #define EM_BAND_NOT_SET                (0x2)   /* Band Indicator Value is not set by serving cell */

/*
 * user defined constants
 */
#define MAX_SDU_LEN                    (0x1)      
#define MAX_PDP_CTXT                   (0x2)      

#include "CDG_LEAVE.h"


#endif