FreeCalypso > hg > fc-magnetite
view cdg3/cdginc-conservative/uicc.h @ 685:3fb7384e820d
tpudrv12.h: FCDEV3B goes back to being itself
A while back we had the idea of a FreeCalypso modem family whereby our
current fcdev3b target would some day morph into fcmodem, with multiple
FC modem family products, potentially either triband or quadband, being
firmware-compatible with each other and with our original FCDEV3B. But
in light of the discovery of Tango modules that earlier idea is now being
withdrawn: instead the already existing Tango hw is being adopted into
our FreeCalypso family.
Tango cannot be firmware-compatible with triband OM/FCDEV3B targets
because the original quadband RFFE on Tango modules is wired in TI's
original Leonardo arrangement. Because this Leonardo/Tango way is now
becoming the official FreeCalypso way of driving quadband RFFEs thanks
to the adoption of Tango into our FC family, our earlier idea of
extending FIC's triband RFFE control signals with TSPACT5 no longer makes
much sense - we will probably never produce any new hardware with that
once-proposed arrangement. Therefore, that triband-or-quadband FCFAM
provision is being removed from the code base, and FCDEV3B goes back to
being treated the same way as CONFIG_TARGET_GTAMODEM for RFFE control
purposes.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Thu, 24 Sep 2020 21:03:08 +0000 |
parents | c15047b3d00d |
children |
line wrap: on
line source
/* +--------------------------------------------------------------------------+ | PROJECT : PROTOCOL STACK | | FILE : uicc.h | | SOURCE : "sap\8010_136_SIMDRV_SAP.pdf" | | LastModified : "2004-06-10" | | IdAndVersion : "8010.136.03.009" | | SrcFileTime : "Thu Nov 29 09:27:56 2007" | | Generated by CCDGEN_2.5.5A on Thu Sep 25 09:52:55 2014 | | !!DO NOT MODIFY!!DO NOT MODIFY!!DO NOT MODIFY!! | +--------------------------------------------------------------------------+ */ /* PRAGMAS * PREFIX : SIMDRV * COMPATIBILITY_DEFINES : NO * ALWAYS_ENUM_IN_VAL_FILE: YES * ENABLE_GROUP: YES * CAPITALIZE_TYPENAME: NO */ #ifndef UICC_INCLUDE #define UICC_INCLUDE #define PUB_L1_MISC_ENTER__Uicc_H #define PUB_L1_MISC_ENTER__FILENAME _Uicc_H #define PUB_L1_MISC_ENTER__Uicc_H__FILE_TYPE CDGINC #define PUB_L1_MISC_ENTER__Uicc_H__LAST_MODIFIED _2004_06_10 #define PUB_L1_MISC_ENTER__Uicc_H__ID_AND_VERSION _8010_136_03_009 #define PUB_L1_MISC_ENTER__Uicc_H__SRC_FILE_TIME _Thu_Nov_29_09_27_56_2007 #include "pub_L1_misc_enter.h" #undef PUB_L1_MISC_ENTER__Uicc_H #undef PUB_L1_MISC_ENTER__FILENAME /* * Enum to value table VAL_reset_return_val * CCDGEN:WriteEnum_Count==30 */ #ifndef UICC_VAL_RESET_RETURN_VAL_CLASS #define UICC_VAL_RESET_RETURN_VAL_CLASS enum { UICC_SIM_INSERTED = 0x0, /* A SIM is inserted and ATR/PPS was successful */ UICC_SIM_NOT_INSERTED = 0x1, /* No SIM inserted (hardware detected) */ UICC_INVALID_CARD = 0x2, /* Card is not responding or gives unintelligible answers, communications time out. */ UICC_ME_FAILURE = 0x3, /* Power management related problems, e.g. voltage selection */ UICC_IMPROPER_CALL_BACK = 0x4, /* simdrv_register function called with pointer improperly set, e.g. NULL. */ UICC_ME_READER_NOT_AVAILABLE = 0x5 /* The reader requested is not available */ }; typedef Uint8 Uicc_ValResetReturnVal; #endif /* UICC_VAL_RESET_RETURN_VAL_CLASS */ /* * Enum to value table VAL_len * CCDGEN:WriteEnum_Count==32 */ #ifndef UICC_VAL_LEN_CLASS #define UICC_VAL_LEN_CLASS enum { UICC_VAL_LEN__RANGE_MIN = 0x0, /* minimum */ UICC_VAL_LEN__RANGE_MAX = 0x100, /* maximum */ UICC_LENGTH_UNKNOWN = 0xffff /* Indicating that the length expected is unknown. */ }; typedef Uint16 Uicc_ValLen; #endif /* UICC_VAL_LEN_CLASS */ /* * Enum to value table VAL_sw1_2 * CCDGEN:WriteEnum_Count==34 */ #ifndef UICC_VAL_SW_1_2_CLASS #define UICC_VAL_SW_1_2_CLASS enum { UICC_ERR_NOCARD = 0x1, /* No SIM inserted (hardware detected) */ UICC_ERR_NOT_RESET = 0x2, /* A reset has not been performed on the driver with the requested Id. */ UICC_ERR_ME_FAIL = 0x3, /* Unrecoverable ME failure (for instance interrupt fails to occur) */ UICC_ERR_RETRY_FAIL = 0x4, /* ME/SIM communication failed after certain retries, SIM reset required */ UICC_ERR_PARAM_WRONG = 0x5 /* A driver function is called with invalid parameters */ }; typedef Uint8 Uicc_ValSw1_2; #endif /* UICC_VAL_SW_1_2_CLASS */ /* * Enum to value table VAL_cla * CCDGEN:WriteEnum_Count==36 */ #ifndef UICC_VAL_CLA_CLASS #define UICC_VAL_CLA_CLASS enum { UICC_GSM_CLASS_BYTE = 0xa0, /* GSM Class byte according to [GSM 11.11 / 3GPP 51.011] */ UICC_UMTS_CLASS_BYTE = 0x80, /* UMTS Class byte according to [ETSI 102 221 10.1.2] */ UICC_UICC_CLASS_BYTE = 0x0 /* UICC Class byte according to [ISO 7816-4] */ }; typedef Uint8 Uicc_ValCla; #endif /* UICC_VAL_CLA_CLASS */ /* * Enum to value table VAL_ins * CCDGEN:WriteEnum_Count==38 */ #ifndef UICC_VAL_INS_CLASS #define UICC_VAL_INS_CLASS enum { UICC_INS_SELECT = 0xa4, /* Select Instruction */ UICC_INS_STATUS = 0xf2, /* Status Instruction */ UICC_INS_READ_BINARY = 0xb0, /* Read Binary Instruction */ UICC_INS_UPDATE_BINARY = 0xd6, /* Update Binary Instruction */ UICC_INS_READ_RECORD = 0xb2, /* Read Record Instruction */ UICC_INS_UPDATE_RECORD = 0xdc, /* Update Record Instruction */ UICC_INS_SEEK = 0xa2, /* Seek Instruction */ UICC_INS_INCREASE = 0x32, /* Increase Instruction */ UICC_INS_VERIFY_CHV = 0x20, /* Verify Chv Instruction */ UICC_INS_CHANGE_CHV = 0x24, /* Change Chv Instruction */ UICC_INS_DISABLE_CHV = 0x26, /* Disable Chv Instruction */ UICC_INS_ENABLE_CHV = 0x28, /* Ensable Chv Instruction */ UICC_INS_UNBLOCK_CHV = 0x2c, /* Unblock Chv Instruction */ UICC_INS_INVALIDATE = 0x4, /* Invalidate Instruction */ UICC_INS_REHABILITATE = 0x44, /* Rehabilitate Instruction */ UICC_INS_AUTHENTICATE = 0x88, /* Run GSM Algorithm (2/2.5G) / Authenticate (3G) Instruction */ UICC_INS_TERMINAL_PROFILE = 0x10, /* Terminal Profile Instruction */ UICC_INS_ENVELOPE = 0xc2, /* Envelope Instruction */ UICC_INS_FETCH = 0x12, /* Fetch Instruction */ UICC_INS_TERMINAL_RESPONSE = 0x14, /* Terminal Response Instruction */ UICC_INS_GET_RESPONSE = 0xc0 /* Get Response Instruction */ }; typedef Uint8 Uicc_ValIns; #endif /* UICC_VAL_INS_CLASS */ /* * Enum to value table VAL_voltage_select * CCDGEN:WriteEnum_Count==40 */ #ifndef UICC_VAL_VOLTAGE_SELECT_CLASS #define UICC_VAL_VOLTAGE_SELECT_CLASS enum { UICC_REQ_VOLTAGE_SEL = 0x0, /* The SIM reader driver shall perform voltage selection */ UICC_OMIT_VOLTAGE_SEL = 0x1 /* The SIM reader driver shall restart with the current voltage */ }; typedef Uint8 Uicc_ValVoltageSelect; #endif /* UICC_VAL_VOLTAGE_SELECT_CLASS */ /* * Enum to value table VAL_config_requested * CCDGEN:WriteEnum_Count==42 */ #ifndef UICC_VAL_CONFIG_REQUESTED_CLASS #define UICC_VAL_CONFIG_REQUESTED_CLASS enum { UICC_OMIT_CONFIG_CHARACTERISTICS = 0x0, /* PS Shall not retrieve Configuration Characteristics */ UICC_REQUEST_CONFIG_CHARACTERISTICS = 0x1 /* PS Shall retrieve Configuration Characteristics */ }; typedef Uint8 Uicc_ValConfigRequested; #endif /* UICC_VAL_CONFIG_REQUESTED_CLASS */ /* * Enum to value table VAL_reader_id * CCDGEN:WriteEnum_Count==44 */ #ifndef UICC_VAL_READER_ID_CLASS #define UICC_VAL_READER_ID_CLASS enum { UICC_VAL_READER_ID__RANGE_MIN = 0x1, /* minimum */ UICC_VAL_READER_ID__RANGE_MAX = 0x2 /* maximum */ }; typedef Uint8 Uicc_ValReaderId; #endif /* UICC_VAL_READER_ID_CLASS */ #define UICC_SIZE_ATR_INFO (0x21) #ifndef UICC_ATR_STRING_INFO_CLASS #define UICC_ATR_STRING_INFO_CLASS /* * SIM Card Info * CCDGEN:WriteStruct_Count==1284 */ typedef struct { Uint8 atrStringArrayCount; /*< 0: 1> counter */ Uint8 atrStringArray[UICC_SIZE_ATR_INFO]; /*< 1: 33> SIM Card Answer to reset string */ Uint8 __dummy0; /*< 34: 1> alignment */ Uint8 __dummy1; /*< 35: 1> alignment */ } Uicc_AtrStringInfo; #endif /* UICC_ATR_STRING_INFO_CLASS */ /* * typedef between var and valtab enums */ #ifndef UICC_LEN_CLASS #define UICC_LEN_CLASS typedef Uicc_ValLen Uicc_Len; #endif /* Uicc_Len_CLASS */ #define UICC_MAX_RESULT (0x100) #ifndef UICC_RESULT_INFO_CLASS #define UICC_RESULT_INFO_CLASS /* * Result Buffer * CCDGEN:WriteStruct_Count==1286 */ typedef struct { Uicc_Len len; /*< 0: 2> Uicc_Len, Maximum length of expected data */ Uint16 resultArrayCount; /*< 2: 2> counter */ Uint8 *resultArray; /*< 4: 4> pointer codetransparent to Result byte */ } Uicc_ResultInfo; #endif /* UICC_RESULT_INFO_CLASS */ #define UICC_MAX_DATA_SIZE (0xff) #ifndef UICC_DATA_INFO_CLASS #define UICC_DATA_INFO_CLASS /* * Data element info * CCDGEN:WriteStruct_Count==1288 */ typedef struct { Uint8 __dummy0; /*< 0: 1> alignment */ Uint8 __dummy1; /*< 1: 1> alignment */ Uint8 __dummy2; /*< 2: 1> alignment */ Uint8 dataArrayCount; /*< 3: 1> counter */ Uint8 *dataArray; /*< 4: 4> pointer codetransparent to Data element */ } Uicc_DataInfo; #endif /* UICC_DATA_INFO_CLASS */ /* * typedef between var and valtab enums */ #ifndef UICC_CLA_CLASS #define UICC_CLA_CLASS typedef Uicc_ValCla Uicc_Cla; #endif /* Uicc_Cla_CLASS */ #ifndef UICC_INS_CLASS #define UICC_INS_CLASS typedef Uicc_ValIns Uicc_Ins; #endif /* Uicc_Ins_CLASS */ #ifndef UICC_CMD_HEADER_CLASS #define UICC_CMD_HEADER_CLASS /* * Transparent command header * CCDGEN:WriteStruct_Count==1290 */ typedef struct { Uicc_Cla cla; /*< 0: 1> Uicc_Cla, Class Byte */ Uicc_Ins ins; /*< 1: 1> Uicc_Ins, instruction code */ Uint8 p1; /*< 2: 1> Parameter 1 of the SIM APDU */ Uint8 p2; /*< 3: 1> Parameter 2 of the SIM APDU */ } Uicc_CmdHeader; #endif /* UICC_CMD_HEADER_CLASS */ #ifndef UICC_CONFIG_CHARACTERISTICS_CLASS #define UICC_CONFIG_CHARACTERISTICS_CLASS /* * Configuration Characteristics * CCDGEN:WriteStruct_Count==1292 */ typedef struct { Uint8 uiccCharacteristics; /*< 0: 1> UICC Characteristics */ Uint8 __dummy0; /*< 1: 1> alignment */ Uint8 __dummy1; /*< 2: 1> alignment */ Uint8 __dummy2; /*< 3: 1> alignment */ } Uicc_ConfigCharacteristics; #endif /* UICC_CONFIG_CHARACTERISTICS_CLASS */ /* * typedef between var and valtab enums */ #ifndef UICC_RESET_RETURN_VAL_CLASS #define UICC_RESET_RETURN_VAL_CLASS typedef Uicc_ValResetReturnVal Uicc_ResetReturnVal; #endif /* Uicc_ResetReturnVal_CLASS */ #ifndef UICC_LEN_CLASS #define UICC_LEN_CLASS typedef Uicc_ValLen Uicc_Len; #endif /* Uicc_Len_CLASS */ #ifndef UICC_SW_1_2_CLASS #define UICC_SW_1_2_CLASS typedef Uicc_ValSw1_2 Uicc_Sw1_2; #endif /* Uicc_Sw1_2_CLASS */ #ifndef UICC_CLA_CLASS #define UICC_CLA_CLASS typedef Uicc_ValCla Uicc_Cla; #endif /* Uicc_Cla_CLASS */ #ifndef UICC_INS_CLASS #define UICC_INS_CLASS typedef Uicc_ValIns Uicc_Ins; #endif /* Uicc_Ins_CLASS */ #ifndef UICC_VOLTAGE_SELECT_CLASS #define UICC_VOLTAGE_SELECT_CLASS typedef Uicc_ValVoltageSelect Uicc_VoltageSelect; #endif /* Uicc_VoltageSelect_CLASS */ #ifndef UICC_CONFIG_REQUESTED_CLASS #define UICC_CONFIG_REQUESTED_CLASS typedef Uicc_ValConfigRequested Uicc_ConfigRequested; #endif /* Uicc_ConfigRequested_CLASS */ #ifndef UICC_READER_ID_CLASS #define UICC_READER_ID_CLASS typedef Uicc_ValReaderId Uicc_ReaderId; #endif /* Uicc_ReaderId_CLASS */ #ifndef UICC_DUMMY_CLASS #define UICC_DUMMY_CLASS /* * * CCDGEN:WriteStruct_Count==1294 */ typedef struct { Puf_PrimHdr primHdr; Uicc_AtrStringInfo *atrStringInfoPtr; /*< 0: 4> pointer to SIM Card Info */ Uicc_ResetReturnVal resetReturnVal; /*< 4: 1> Uicc_ResetReturnVal, Reset return value */ Uint8 __dummy0; /*< 5: 1> alignment */ Uint8 __dummy1; /*< 6: 1> alignment */ Uint8 __dummy2; /*< 7: 1> alignment */ Uicc_ResultInfo *resultInfoPtr; /*< 8: 4> pointer to Result Buffer */ Uicc_Len len; /*< 12: 2> Uicc_Len, Maximum length of expected data */ Uint8 __dummy3; /*< 14: 1> alignment */ Uint8 __dummy4; /*< 15: 1> alignment */ Uicc_DataInfo *dataInfoPtr; /*< 16: 4> pointer to Data element info */ Uicc_Sw1_2 sw1_2; /*< 20: 2> Uicc_Sw1_2, Status Words */ Uicc_Cla cla; /*< 22: 1> Uicc_Cla, Class Byte */ Uicc_Ins ins; /*< 23: 1> Uicc_Ins, instruction code */ Uicc_CmdHeader cmdHeader; /*< 24: 4> Transparent command header */ Uicc_VoltageSelect voltageSelect; /*< 28: 1> Uicc_VoltageSelect, Perform Voltage Selection */ Uint8 p1; /*< 29: 1> Parameter 1 of the SIM APDU */ Uint8 p2; /*< 30: 1> Parameter 2 of the SIM APDU */ Uicc_ConfigRequested configRequested; /*< 31: 1> Uicc_ConfigRequested, Configuration Characteristics requested */ Uicc_ConfigCharacteristics *configCharacteristicsPtr; /*< 32: 4> pointer to Configuration Characteristics */ Uicc_ReaderId readerId; /*< 36: 1> Uicc_ReaderId, Reader Id */ Uint8 uiccCharacteristics; /*< 37: 1> UICC Characteristics */ Uint8 __dummy5; /*< 38: 1> alignment */ Uint8 __dummy6; /*< 39: 1> alignment */ } Uicc_Dummy; #define UICC_DUMMY_SIZE() \ ( \ sizeof(Uicc_Dummy) \ ) #endif /* UICC_DUMMY_CLASS */ #define UICC_MIN_RESULT (0x1) #define UICC_MIN_DATA_SIZE (0x1) #define UICC_MAX_READERS (0x2) #include "pub_L1_misc_leave.h" #endif