view src/cs/riviera/rvm/rvm_use_id_list.h @ 303:f76436d19a7a default tip

!GPRS config: fix long-standing AT+COPS chance hanging bug There has been a long-standing bug in FreeCalypso going back years: sometimes in the AT command bring-up sequence of an ACI-only MS, the AT+COPS command would produce only a power scan followed by cessation of protocol stack activity (only L1 ADC traces), instead of the expected network search sequence. This behaviour was seen in different FC firmware versions going back to Citrine, and seemed to follow some law of chance, not reliably repeatable. This bug has been tracked down and found to be specific to !GPRS configuration, stemming from our TCS2/TCS3 hybrid and reconstruction of !GPRS support that was bitrotten in TCS3.2/LoCosto version. ACI module psa_mms.c, needed only for !GPRS, was missing in the TCS3 version and had to be pulled from TCS2 - but as it turns out, there is a new field in the MMR_REG_REQ primitive that needs to be set correctly, and that psa_mms.c module is the place where this initialization needed to be added.
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 08 Jun 2023 08:23:37 +0000
parents 2d7d95e7f9c2
children
line wrap: on
line source

/**
 * @file    rvm_use_id_list.h
 *
 * List of common SWE USE IDs.
 *
 * Note on USE ID management:
 * This file should only contain USE ID of SWE part of the standard TI releases.
 * Development SWE as well as customer SWE should use the rvm_ext_use_id_list.h
 * file for their USE IDs.
 *
 * @author  David Lamy-Charrier (d-lamy@ti.com)
 * @version 0.1
 */

/*
 * Revision History:
 *
 *  Date        Author                  Modification
 *  -------------------------------------------------------------------
 *  10/25/2001  David Lamy-Charrier     Create.
 *  11/20/2001  Vincent Oberle          Added BUILD_MESSAGE_OFFSET.
 *
 * (C) Copyright 2001 by Texas Instruments Incorporated, All Rights Reserved
 */


#ifndef __RVM_USE_ID_LIST_H_
#define __RVM_USE_ID_LIST_H_


/**
 * Macro used to build the use_id from the cust, offset and mask parameters.
 *
 * IMPORTANT: The mask parameter must a 16-bit unsigned integer with only one
 * bit at 1 and others at 0.
 * E.g. possible values are 0x0001, 0x0002, 0x0004, 0x0008, 0x0010... 0x8000.
 */
#define BUILD_USE_ID(cust, cluster, mask) ( (cust<<31) | ( (cluster & 0x7FFF) <<16) | (mask & 0xFFFF) )

/**
 * Macro for building the message offset from the USE ID.
 */
#define BUILD_MESSAGE_OFFSET(useid) ( (useid & 0xFFFF0000) +            \
                                      ((((useid & 0xAAAA) ? 1 : 0) +    \
                                        ((useid & 0xCCCC) ? 2 : 0) +    \
                                        ((useid & 0xF0F0) ? 4 : 0) +    \
                                        ((useid & 0xFF00) ? 8 : 0)) << 12) )


#define RIVIERA_USE_ID_CLUSTER_1    (1)

#define DRIVERS_USE_ID_CLUSTER_1    (10)

#define BLUETOOTH_USE_ID_CLUSTER_1  (20)

#define SERVICES_USE_ID_CLUSTER_1   (30)
#define SERVICES_USE_ID_CLUSTER_2   (31)

#define TEST_USE_ID_CLUSTER_1       (40)

#define CONDAT_USE_ID_CLUSTER_1     (50)

#define JAVA_USE_ID_CLUSTER_1       (60)

#define TCPIP_USE_ID_CLUSTER_1      (70)

#define OBIGO_USE_ID_CLUSTER_1      (80)
#define OBIGO_USE_ID_CLUSTER_2      (81)

#define WIDCOMM_BT_USE_ID_CLUSTER_1 (90)

/**
 * @name    Widcomm cluster
 *
 * Riviera insfrastructure
 */
/*@{*/


#define BTU_USE_ID  BUILD_USE_ID( 0, WIDCOMM_BT_USE_ID_CLUSTER_1, 0x0002)
#define GKI_USE_ID  BUILD_USE_ID( 0, WIDCOMM_BT_USE_ID_CLUSTER_1, 0x0004)
#define BTH_USE_ID  BUILD_USE_ID( 0, WIDCOMM_BT_USE_ID_CLUSTER_1, 0x0008)
#define BTUI_USE_ID BUILD_USE_ID( 0, WIDCOMM_BT_USE_ID_CLUSTER_1, 0x0010)
#define RPC_USE_ID  BUILD_USE_ID( 0, WIDCOMM_BT_USE_ID_CLUSTER_1, 0x0020)
/**
 * @name    Riviera cluster
 *
 * Riviera insfrastructure
 */
/*@{*/

/* this one is only used for trace purpose */
#define RVM_USE_ID      BUILD_USE_ID( 0, RIVIERA_USE_ID_CLUSTER_1, 0x0001)

#define RVT_USE_ID      BUILD_USE_ID( 0, RIVIERA_USE_ID_CLUSTER_1, 0x0002)

#define TI_PRF_USE_ID   BUILD_USE_ID( 0, RIVIERA_USE_ID_CLUSTER_1, 0x0004)

/*@}*/



/**
 * @name    Driver cluster
 *
 * Drivers
 */
/*@{*/

#define R2D_USE_ID      BUILD_USE_ID( 0, DRIVERS_USE_ID_CLUSTER_1, 0x0001)

#define RTC_USE_ID      BUILD_USE_ID( 0, DRIVERS_USE_ID_CLUSTER_1, 0x0002)

#define FFS_USE_ID      BUILD_USE_ID( 0, DRIVERS_USE_ID_CLUSTER_1, 0x0004)

#define KPD_USE_ID      BUILD_USE_ID( 0, DRIVERS_USE_ID_CLUSTER_1, 0x0008)

#define SPI_USE_ID      BUILD_USE_ID( 0, DRIVERS_USE_ID_CLUSTER_1, 0x0010)

#define PWR_USE_ID      BUILD_USE_ID( 0, DRIVERS_USE_ID_CLUSTER_1, 0x0020)

/* Overloading PWR_USE_ID */
#define LCC_USE_ID      BUILD_USE_ID( 0, DRIVERS_USE_ID_CLUSTER_1, 0x0020)

/* Yet another version of PWR SWE */
#define FCHG_USE_ID     BUILD_USE_ID( 0, DRIVERS_USE_ID_CLUSTER_1, 0x0020)

#define RGUI_USE_ID     BUILD_USE_ID( 0, DRIVERS_USE_ID_CLUSTER_1, 0x0040)

/*@}*/




/**
 * @name    Bluetooth cluster
 *
 * Bluetooth related SWE
 */
/*@{*/

#define HCI_USE_ID      BUILD_USE_ID( 0, BLUETOOTH_USE_ID_CLUSTER_1, 0x0001)

#define L2CAP_USE_ID    BUILD_USE_ID( 0, BLUETOOTH_USE_ID_CLUSTER_1, 0x0002)

#define BTCTRL_USE_ID   BUILD_USE_ID( 0, BLUETOOTH_USE_ID_CLUSTER_1, 0x0004)

#define RFC_USE_ID      BUILD_USE_ID( 0, BLUETOOTH_USE_ID_CLUSTER_1, 0x0008)

#define SPP_USE_ID      BUILD_USE_ID( 0, BLUETOOTH_USE_ID_CLUSTER_1, 0x0010)

#define HS_USE_ID       BUILD_USE_ID( 0, BLUETOOTH_USE_ID_CLUSTER_1, 0x0020)

#define HSG_USE_ID      BUILD_USE_ID( 0, BLUETOOTH_USE_ID_CLUSTER_1, 0x0040)

#define SDP_USE_ID      BUILD_USE_ID( 0, BLUETOOTH_USE_ID_CLUSTER_1, 0x0080)

#define DUN_USE_ID      BUILD_USE_ID( 0, BLUETOOTH_USE_ID_CLUSTER_1, 0x0100)

#define FAX_USE_ID      BUILD_USE_ID( 0, BLUETOOTH_USE_ID_CLUSTER_1, 0x0200)

#define OBX_USE_ID      BUILD_USE_ID( 0, BLUETOOTH_USE_ID_CLUSTER_1, 0x0400)

#define OPP_USE_ID      BUILD_USE_ID( 0, BLUETOOTH_USE_ID_CLUSTER_1, 0x0800)

#define FTP_USE_ID      BUILD_USE_ID( 0, BLUETOOTH_USE_ID_CLUSTER_1, 0x1000)

#define SYN_USE_ID      BUILD_USE_ID( 0, BLUETOOTH_USE_ID_CLUSTER_1, 0x2000)

/*@}*/



/**
 * @name    Services cluster
 *
 * Services
 */
/*@{*/

#define EXPL_USE_ID     BUILD_USE_ID( 0, SERVICES_USE_ID_CLUSTER_1, 0x0001)

#define AUDIO_USE_ID    BUILD_USE_ID( 0, SERVICES_USE_ID_CLUSTER_1, 0x0002)

#define ETM_USE_ID      BUILD_USE_ID( 0, SERVICES_USE_ID_CLUSTER_1, 0x0004)

#define DAR_USE_ID      BUILD_USE_ID( 0, SERVICES_USE_ID_CLUSTER_1, 0x0008)

#define MKS_USE_ID      BUILD_USE_ID( 0, SERVICES_USE_ID_CLUSTER_1, 0x0010)

#define MPM_USE_ID      BUILD_USE_ID( 0, SERVICES_USE_ID_CLUSTER_1, 0x0020)

#define LLS_USE_ID      BUILD_USE_ID( 0, SERVICES_USE_ID_CLUSTER_1, 0x0040)

#define ATP_USE_ID      BUILD_USE_ID( 0, SERVICES_USE_ID_CLUSTER_1, 0x0080)

#define ATP_UART_USE_ID BUILD_USE_ID( 0, SERVICES_USE_ID_CLUSTER_1, 0x0100)

#define MDC_USE_ID      BUILD_USE_ID( 0, SERVICES_USE_ID_CLUSTER_1, 0x0200)

#define TTY_USE_ID      BUILD_USE_ID( 0, SERVICES_USE_ID_CLUSTER_1, 0x0400)

#define DCM_USE_ID      BUILD_USE_ID( 0, SERVICES_USE_ID_CLUSTER_1, 0x0800)

#define DCFG_USE_ID     BUILD_USE_ID( 0, SERVICES_USE_ID_CLUSTER_1, 0x1000)

#define MMS_USE_ID      BUILD_USE_ID( 0, SERVICES_USE_ID_CLUSTER_1, 0x1000)
/*@}*/


/**
 * @name    Services cluster - 2
 *
 * Services
 */
/*@{*/

#define MFW_USE_ID          BUILD_USE_ID( 0, SERVICES_USE_ID_CLUSTER_2, 0x0001)

#define SMBS_USE_ID         BUILD_USE_ID( 0, SERVICES_USE_ID_CLUSTER_2, 0x0002)

#define AUDIO_BGD_USE_ID    BUILD_USE_ID( 0, SERVICES_USE_ID_CLUSTER_2, 0x0004)

#define IMG_USE_ID          BUILD_USE_ID( 0, SERVICES_USE_ID_CLUSTER_2, 0x0008)

#define MDL_USE_ID          BUILD_USE_ID( 0, SERVICES_USE_ID_CLUSTER_2, 0x0010)

/* FreeCalypso additions follow */

#define FCBM_USE_ID         BUILD_USE_ID( 0, SERVICES_USE_ID_CLUSTER_2, 0x0020)

#define BUZM_USE_ID         BUILD_USE_ID( 0, SERVICES_USE_ID_CLUSTER_2, 0x0040)

#define VIBR_USE_ID         BUILD_USE_ID( 0, SERVICES_USE_ID_CLUSTER_2, 0x0080)

/*@}*/


/**
 * @name    Test cluster
 *
 * Tests related SWEs
 */
/*@{*/

#define  RTEST_USE_ID   BUILD_USE_ID( 0, TEST_USE_ID_CLUSTER_1, 0x0001)

/* maybe put in another cluster */
#define  TUT_USE_ID     BUILD_USE_ID( 0, TEST_USE_ID_CLUSTER_1, 0x0002)

/*@}*/


/**
 * @name    J2ME cluster
 *
 * Java related SWEs
 */
/*@{*/

#define  KIL_USE_ID     BUILD_USE_ID( 0, JAVA_USE_ID_CLUSTER_1, 0x0001)

#define  KGC_USE_ID     BUILD_USE_ID( 0, JAVA_USE_ID_CLUSTER_1, 0x0002)

#define  KCL_USE_ID     BUILD_USE_ID( 0, JAVA_USE_ID_CLUSTER_1, 0x0004)

#define  KMM_USE_ID     BUILD_USE_ID( 0, JAVA_USE_ID_CLUSTER_1, 0x0008)

#define  KNM_USE_ID     BUILD_USE_ID( 0, JAVA_USE_ID_CLUSTER_1, 0x0010)

#define  UVM_USE_ID     BUILD_USE_ID( 0, JAVA_USE_ID_CLUSTER_1, 0x0020)

#define  KZP_USE_ID     BUILD_USE_ID( 0, JAVA_USE_ID_CLUSTER_1, 0x0040)

#define  KPG_USE_ID     BUILD_USE_ID( 0, JAVA_USE_ID_CLUSTER_1, 0x0080)

#define  JTM_USE_ID     BUILD_USE_ID( 0, JAVA_USE_ID_CLUSTER_1, 0x0100)

/*@}*/



/**
 * @name    Stack TCP/IP cluster
 *
 * Stack TCP/IP.
 */
/*@{*/
#define RNET_USE_ID     BUILD_USE_ID( 0, TCPIP_USE_ID_CLUSTER_1, 0x0001)

#define RNET_WS_USE_ID  BUILD_USE_ID( 0, TCPIP_USE_ID_CLUSTER_1, 0x0002)

#define RNET_RT_USE_ID  BUILD_USE_ID( 0, TCPIP_USE_ID_CLUSTER_1, 0x0004)

#define RNET_BR_USE_ID  BUILD_USE_ID( 0, TCPIP_USE_ID_CLUSTER_1, 0x0008)

/*@}*/


/**
 * @name    Condat cluster
 *
 * Condat related SWEs
 */
/*@{*/

#define  CONDAT_FRM_USE_ID BUILD_USE_ID( 0, CONDAT_USE_ID_CLUSTER_1, 0x0001)


/*@}*/



/**
 * @name    Obigo cluster
 *
 * Obigo related SWE's
 */
/*@{*/
#define MSME_USE_ID BUILD_USE_ID( 0, OBIGO_USE_ID_CLUSTER_1, 0x0001)

#define MSFE_USE_ID BUILD_USE_ID( 0, OBIGO_USE_ID_CLUSTER_1, 0x0002)

#define STKE_USE_ID BUILD_USE_ID( 0, OBIGO_USE_ID_CLUSTER_1, 0x0004)

#define BRSE_USE_ID BUILD_USE_ID( 0, OBIGO_USE_ID_CLUSTER_1, 0x0008)

#define BRAE_USE_ID BUILD_USE_ID( 0, OBIGO_USE_ID_CLUSTER_1, 0x0010)

#define PHSE_USE_ID BUILD_USE_ID( 0, OBIGO_USE_ID_CLUSTER_1, 0x0020)

#define MMSE_USE_ID BUILD_USE_ID( 0, OBIGO_USE_ID_CLUSTER_1, 0x0040)

#define SLSE_USE_ID BUILD_USE_ID( 0, OBIGO_USE_ID_CLUSTER_1, 0x0080)

#define SMAE_USE_ID BUILD_USE_ID( 0, OBIGO_USE_ID_CLUSTER_1, 0x0100)

#define MEAE_USE_ID BUILD_USE_ID( 0, OBIGO_USE_ID_CLUSTER_1, 0x0200)

#define SECE_USE_ID BUILD_USE_ID( 0, OBIGO_USE_ID_CLUSTER_1, 0x0400)

#define SELE_USE_ID BUILD_USE_ID( 0, OBIGO_USE_ID_CLUSTER_1, 0x0800)

#define PRSE_USE_ID BUILD_USE_ID( 0, OBIGO_USE_ID_CLUSTER_1, 0x1000)

#define JAAE_USE_ID BUILD_USE_ID( 0, OBIGO_USE_ID_CLUSTER_1, 0x2000)

#define JASE_USE_ID BUILD_USE_ID( 0, OBIGO_USE_ID_CLUSTER_1, 0x4000)
/*@{*/


/**
 * @name    Obigo second cluster
 *
 * Obigo related test SWE's
 */
#define EMAE_USE_ID BUILD_USE_ID( 0, OBIGO_USE_ID_CLUSTER_2, 0x0001)

#define EMSE_USE_ID BUILD_USE_ID( 0, OBIGO_USE_ID_CLUSTER_2, 0x0002)

#define IT1E_USE_ID BUILD_USE_ID( 0, OBIGO_USE_ID_CLUSTER_2, 0x0004)

#define IT2E_USE_ID BUILD_USE_ID( 0, OBIGO_USE_ID_CLUSTER_2, 0x0008)

#define IT0E_USE_ID BUILD_USE_ID( 0, OBIGO_USE_ID_CLUSTER_2, 0x0010)

#define UISE_USE_ID BUILD_USE_ID( 0, OBIGO_USE_ID_CLUSTER_2, 0x0020)

#define UIAE_USE_ID BUILD_USE_ID( 0, OBIGO_USE_ID_CLUSTER_2, 0x0040)
/*@{*/


#endif  /* __RVM_USE_ID_LIST_H_ */