view cdg211/cdginc/p_cgrlc.val @ 662:8cd8fd15a095

SIM speed enhancement re-enabled and made configurable TI's original code supported SIM speed enhancement, but Openmoko had it disabled, and OM's disabling of speed enhancement somehow caused certain SIM cards to start working which didn't work before (OM's bug #666). Because our FC community is much smaller in year 2020 than OM's community was in their day, we are not able to find one of those #666-affected SIMs, thus the real issue they had encountered remains elusive. Thus our solution is to re-enable SIM speed enhancement and simply wait for if and when someone runs into a #666-affected SIM once again. We provide a SIM_allow_speed_enhancement global variable that allows SIM speed enhancement to be enabled or disabled per session, and an /etc/SIM_spenh file in FFS that allows it to enabled or disabled on a non-volatile basis. SIM speed enhancement is now enabled by default.
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 24 May 2020 05:02:28 +0000
parents 56abf6cf8a0b
children
line wrap: on
line source

/*
+--------------------------------------------------------------------------+
| PROJECT : PROTOCOL STACK                                                 |
| FILE    : p_cgrlc.val                                                    |
| SOURCE  : "__out__\g23m_dfile\prim\cgrlc.pdf"                            |
| LastModified : "2004-05-17"                                              |
| IdAndVersion : "8010.119.008.04"                                         |
| SrcFileTime  : "Mon Apr 24 15:43:20 2006"                                |
| Generated by CCDGEN_2.5.5 on Fri Jun 08 13:59:15 2007                    |
|           !!DO NOT MODIFY!!DO NOT MODIFY!!DO NOT MODIFY!!                |
+--------------------------------------------------------------------------+
*/

/* PRAGMAS
 * PREFIX                 : CGRLC
 * COMPATIBILITY_DEFINES  : NO
 * ALWAYS_ENUM_IN_VAL_FILE: NO
 * ENABLE_GROUP: NO
 * CAPITALIZE_TYPENAME: NO
 */


#ifndef P_CGRLC_VAL
#define P_CGRLC_VAL


#define CDG_ENTER__P_CGRLC_VAL

#define CDG_ENTER__FILENAME _P_CGRLC_VAL
#define CDG_ENTER__P_CGRLC_VAL__FILE_TYPE CDGINC
#define CDG_ENTER__P_CGRLC_VAL__LAST_MODIFIED _2004_05_17
#define CDG_ENTER__P_CGRLC_VAL__ID_AND_VERSION _8010_119_008_04

#define CDG_ENTER__P_CGRLC_VAL__SRC_FILE_TIME _Mon_Apr_24_15_43_20_2006

#include "CDG_ENTER.h"

#undef CDG_ENTER__P_CGRLC_VAL

#undef CDG_ENTER__FILENAME


/*
 * Value constants for VAL_access_type
 */
#define CGRLC_AT_NULL                  (0x0)      /* No access is required          */
#define CGRLC_AT_ONE_PHASE             (0x1)      /* One phase access requested.    */
#define CGRLC_AT_TWO_PHASE             (0x2)      /* Two phase access requested.    */
#define CGRLC_AT_SHORT_ACCESS          (0x3)      /* Short access requested.        */
#define CGRLC_AT_PAGE_RESPONSE         (0x4)      /* Page response requested.       */
#define CGRLC_AT_CELL_UPDATE           (0x5)      /* Access for cell update primitive requested. */
#define CGRLC_AT_MM_PROCEDURE          (0x6)      /* Access for MM/GMM primitive requested. */
#define CGRLC_AT_SINGLE_BLOCK          (0x7)      /* Only used in GRR: access for single block without TBF */

/*
 * Value constants for VAL_dl_timeslot_offset
 */
#define CGRLC_TEST_TN0                 (0x0)      /* Downlink timeslot offset 0.    */
#define CGRLC_TEST_TN1                 (0x1)      /* Downlink timeslot offset 1.    */
#define CGRLC_TEST_TN2                 (0x2)      /* Downlink timeslot offset 2.    */
#define CGRLC_TEST_TN3                 (0x3)      /* Downlink timeslot offset 3.    */
#define CGRLC_TEST_TN4                 (0x4)      /* Downlink timeslot offset 4.    */
#define CGRLC_TEST_TN5                 (0x5)      /* Downlink timeslot offset 5.    */
#define CGRLC_TEST_TN6                 (0x6)      /* Downlink timeslot offset 6.    */
#define CGRLC_TEST_TN7                 (0x7)      /* Downlink timeslot offset 7.    */

/*
 * Value constants for VAL_failure
 */
#define CGRLC_ACCESS_2_NETWORK_NOT_ALLOWED (0x0)  /* Access to the network is not allowed. */
#define CGRLC_PACKET_ACCESS_FAILURE    (0x1)      /* Failure during packet access procedure, e.g. T3162 expired. */
#define CGRLC_RLC_MAC_ERROR            (0x2)      /* T3168 expires during contention resolution. */
#define CGRLC_TLLI_MISMATCH            (0x3)      /* TLLI mismatch has occurred.    */
#define CGRLC_TBF_ESTABLISHMENT_FAILURE (0x4)     /* T3164 expires or failure occurs due to any other reason. */
#define CGRLC_RESUMPTION_FAILURE       (0x5)      /* Resumption failure after dedicated mode was left. */
#define CGRLC_CONTENTION_RESOLUTION_FAILED (0x6)  /* Contention Resolution has failed. */

/*
 * Value constants for VAL_prim_status
 */
#define CGRLC_PRIM_STATUS_NULL         (0x0)      /* No primitives shall be deleted. */
#define CGRLC_PRIM_STATUS_ONE          (0x1)      /* One primitive shall be deleted. */
#define CGRLC_PRIM_STATUS_TBF          (0x2)      /* All primitives, which belongs to the current TBF, shall be deleted. */
#define CGRLC_PRIM_STATUS_ALL          (0xff)     /* All primitives shall be deleted. */

/*
 * Value constants for VAL_prim_type
 */
#define CGRLC_PRIM_TYPE_GMM            (0x0)      /* At least one GMM primitive was confirmed. */
#define CGRLC_PRIM_TYPE_OTHER          (0x1)      /* No GMM primitive was confirmed. Other User data was confirmed. */

/*
 * Value constants for VAL_tbf_rel_cause
 */
#define CGRLC_TBF_REL_NORMAL           (0x0)      /* Normal TBF release is or shall be performed. */
#define CGRLC_TBF_REL_ABNORMAL         (0x1)      /* Abnormal TBF release is or shall be performed. */
#define CGRLC_TBF_REL_CR_FAILED        (0x2)      /* Contention resolution failed   */
#define CGRLC_TBF_REL_WITH_CELL_RESELECT (0x3)    /* TBF release with cell reselection */

/*
 * Value constants for VAL_starting_time
 */
#define CGRLC_STARTING_TIME_NOT_PRESENT (0xffffffff)/* No TBF starting time present.  */

/*
 * Value constants for VAL_test_mode_flag
 */
#define CGRLC_TEST_RANDOM              (0x0)      /* Pseudo random data.            */
#define CGRLC_LOOP                     (0x1)      /* Loop back.                     */
#define CGRLC_TEST_MODE_RELEASE        (0xfe)     /* used in GRLC, intermediate status during release procedure */
#define CGRLC_NO_TEST_MODE             (0xff)     /* No testmode active             */

/*
 * Value constants for VAL_ti
 */
#define CGRLC_TLLI_NOT_PRESENT         (0x0)      /* TLLI shall not be sent in the RLC data block. */
#define CGRLC_TLLI_PRESENT             (0x1)      /* TLLI shall be sent in the RLC data block. */

/*
 * Value constants for VAL_cs_mode
 */
#define CGRLC_CS_MODE_1                (0x0)      /* Coding scheme 1.               */
#define CGRLC_CS_MODE_2                (0x1)      /* Coding scheme 2.               */
#define CGRLC_CS_MODE_3                (0x2)      /* Coding scheme 3.               */
#define CGRLC_CS_MODE_4                (0x3)      /* Coding scheme 4.               */

/*
 * Value constants for VAL_tlli_cs_mode
 */
#define CGRLC_TLLI_CS_MODE_1           (0x0)      /* CS 1 shall be used during Contention resolution. */
#define CGRLC_TLLI_CS_MODE_DEF         (0x1)      /* Default coding scheme shall be used during Contention resolution. */

/*
 * Value constants for VAL_mac_mode
 */
#define CGRLC_MAC_MODE_DA              (0x0)      /* Dynamic allocation.            */
#define CGRLC_MAC_MODE_EDA             (0x1)      /* Extended dynamic allocation.   */
#define CGRLC_MAC_MODE_FA              (0x2)      /* Fixed allocation.              */
#define CGRLC_MAC_MODE_FA_HD           (0x3)      /* Fixed allocation, half duplex mode. */

/*
 * Value constants for VAL_queue_mode
 */
#define CGRLC_QUEUE_MODE_DEFAULT       (0x0)      /* Use current queue.             */
#define CGRLC_QUEUE_MODE_GMM           (0x1)      /* Use GMM queue (RAU procedure). */
#define CGRLC_QUEUE_MODE_LLC           (0x2)      /* Use LLC queue.                 */

/*
 * Value constants for VAL_rlc_mode
 */
#define CGRLC_RLC_MODE_ACK             (0x0)      /* RLC acknowledged mode.         */
#define CGRLC_RLC_MODE_UACK            (0x1)      /* RLC unacknowledged mode.       */

/*
 * Value constants for VAL_tbf_mode
 */
#define CGRLC_TBF_MODE_NULL            (0x0)      /* No tbf active, used in GRR     */
#define CGRLC_TBF_MODE_ACCESS_FAILED   (0x1)      /* Access has failed. GRLC handles prim queue. */
#define CGRLC_TBF_MODE_DL              (0x2)      /* Downlink TBF is assigned/released. */
#define CGRLC_TBF_MODE_UL              (0x3)      /* Uplink TBF is assigned/released. */
#define CGRLC_TBF_MODE_TMA             (0x4)      /* Uplink TBF for Testmode A is assigned. */
#define CGRLC_TBF_MODE_TMB             (0x5)      /* Uplink TBF for Testmode B is assigned. */
#define CGRLC_TBF_MODE_DL_UL           (0x6)      /* Uplink and Downlink TBF assigned/released. */
#define CGRLC_TBF_MODE_ESTABLISHMENT_FAILURE (0x7)/* T3164 expires or failure occurs due to any other reason */

/*
 * Value constants for VAL_rxlev
 */
#define CGRLC_RXLEV_MIN                (0x0)      /* Minimum receive signal level value. */
#define CGRLC_RXLEV_MAX                (0x3f)     /* Maximum receive signal level value. */
#define CGRLC_RXLEV_NONE               (0x80)     /* Specific value used to indicate that no new RX value is present or RX value is invalid. */

/*
 * Value constants for VAL_alpha
 */
#define CGRLC_ALPHA_INVALID            (0xff)     /* No alpha value is available.   */

/*
 * Value constants for VAL_pc_meas_chan
 */
#define CGRLC_MEAS_CHAN_BCCH           (0x0)      /* Downlink measurements for power control shall be made on BCCH. */
#define CGRLC_MEAS_CHAN_PDCH           (0x1)      /* Downlink measurements for power control shall be made on PDCH. */

/*
 * Value constants for VAL_gamma_ch
 */
#define CGRLC_GAMMA_INVALID            (0xff)     /* No GCH is available.           */

/*
 * Value constants for VAL_disable_class
 */
#define CGRLC_DISABLE_CLASS_NULL       (0x0)      /* Initial state of the disable class */
#define CGRLC_DISABLE_CLASS_OTHER      (0x1)      /* Any other cause for disable class */
#define CGRLC_DISABLE_CLASS_CR         (0x2)      /* Disable cause is cell reselection */

/*
 * Value constants for VAL_poll_b_type
 */
#define CGRLC_POLL_NONE                (0x0)      /* No poll position present,only in grlc */
#define CGRLC_POLL_COLLISION           (0x1)      /* Collision detected, only in grlc */
#define CGRLC_POLL_DATA                (0x2)      /* Poll for dl ack/nack, only in grlc */
#define CGRLC_POLL_UACK                (0x3)      /* Poll for pca uplink tbf relaase */
#define CGRLC_POLL_CTRL                (0x4)      /* Default poll for control msg.  */
#define CGRLC_POLL_RES_NB              (0x5)      /* Poll for normal burst with packet polling req */
#define CGRLC_POLL_RES_AB              (0x6)      /* Poll for access burst with packet polling req */

/*
 * Value constants for VAL_burst_type
 */
#define CGRLC_BURST_TYPE_AB            (0x0)      /* Access burst                   */
#define CGRLC_BURST_TYPE_NB            (0x1)      /* Normal burst                   */

/*
 * Value constants for VAL_ab_type
 */
#define CGRLC_AB_8_BIT                 (0x0)      /* 8 bit access burst             */
#define CGRLC_AB_11_BIT                (0x1)      /* 11 bit access burst            */

/*
 * Value constants for VAL_blk_owner
 */
#define CGRLC_BLK_OWNER_CTRL           (0x0)      /* Owner is service ctrl (GRR).   */
#define CGRLC_BLK_OWNER_CS             (0x1)      /* Owner is service cs (GRR).     */
#define CGRLC_BLK_OWNER_TM             (0x2)      /* Owner is service tm (GRLC).    */
#define CGRLC_BLK_OWNER_MEAS           (0x3)      /* Owner is service meas (GRR).   */
#define CGRLC_BLK_OWNER_NONE           (0x4)      /* Owner is not specified         */

/*
 * Value constants for VAL_cu_cause
 */
#define CGRLC_RA_DEFAULT               (0x0)      /* No action required             */
#define CGRLC_RA_CU                    (0x1)      /* Next packet access cause will be cell update */

/*
 * Value constants for VAL_pmax
 */
#define CGRLC_NO_UPDATE_N3102          (0xff)     /* N3102 shall not be updated     */

/*
 * Value constants for VAL_llc_prim_type
 */
#define CGRLC_LLC_PRIM_TYPE_NULL       (0x0)      /* No primitive available         */
#define CGRLC_LLC_PRIM_TYPE_DATA_REQ   (0x1)      /* GRLC_DATA_REQ                  */
#define CGRLC_LLC_PRIM_TYPE_UNITDATA_REQ (0x2)    /* GRLC_UNITDATA_REQ              */

/*
 * Value constants for VAL_ac_class
 */
#define CGRLC_CCCH_AC_NOT_ALLOWED      (0x8)      /* CCCH access control class not allowed */
#define CGRLC_PCCCH_AC_NOT_ALLOWED     (0x9)      /* PCCCH access control class not allowed */
#define CGRLC_PCCCH_AC_ALLOWED         (0xa)      /* PCCCH access control class allowed */

/*
 * Value constants for VAL_enable_cause
 */
#define CGRLC_ENAC_NORMAL              (0x0)      /* Normal Operation               */
#define CGRLC_ENAC_ABNORM_RELEASE_CRESELECT_FAILED (0x1)/* Abnormal Release with Cell Re-Selection has Failed */

/*
 * Value constants for VAL_rlc_db_granted
 */
#define CGRLC_OPEN_ENDED_TBF           (0x0)      /* Open ended tbf                 */

/*
 * Value constants for VAL_t3314_val
 */
#define CGRLC_STANDBY                  (0x0)      /* MS always in STANDBY state.    */
#define CGRLC_T3314_DEFAULT            (0xabe0)   /* Default timeout value for T3314. */
#define CGRLC_DEACTIVATED              (0xffffffff)/* MS always in READY state.      */

/*
 * Value constants for VAL_pdch_band
 */
#define CGRLC_GSM_400                  (0x0)      /* GSM 400MHz Band.               */
#define CGRLC_GSM_850                  (0x1)      /* GSM 850MHz Band.               */
#define CGRLC_GSM_900                  (0x2)      /* GSM 900MHz Band.               */
#define CGRLC_DCS_1800                 (0x3)      /* DCS 1800MHz Band.              */
#define CGRLC_PCS_1900                 (0x4)      /* PCS 1900MHz Band.              */

/*
 * Value constants for VAL_ilev
 */
#define CGRLC_ILEV_MIN                 (0x0)      /* Minimum interference level value. */
#define CGRLC_ILEV_MAX                 (0x3f)     /* Maximum interference level value. */
#define CGRLC_ILEV_NONE                (0x80)     /* Specific value used to indicate that no new interference level value is present or interference level value is invalid. */

/*
 * user defined constants
 */
#define CGRLC_MAX_CTRL_MSG_SIZE        (0x17)     
#define CGRLC_MAX_TIMESLOTS            (0x8)      

#include "CDG_LEAVE.h"


#endif