FreeCalypso > hg > fc-magnetite
view cdg3/cdginc-locosto/p_gsim.h @ 673:62a5285e014a
Lorekeeping: allow tpudrv-leonardo.lib on Leonardo/Tango
Back in 2015 the Mother's idea was to produce a FreeCalypso development
board that would be a clone of TI Leonardo, including the original
quadband RFFE; one major additional stipulation was that this board
needed to be able to run original unmodified TCS211-20070608 firmware
with all blobs intact, with only minimal binary patches to main.lib
and tpudrv.lib. The necessary patched libs were produced at that time
in the tcs211-patches repository.
That plan was changed and we produced FCDEV3B instead, with Openmoko's
triband RFFE instead of Leonardo quadband, but when FC Magnetite started
in 2016, a TPUDRV_blob= provision was still made, allowing the possibility
of patching OM's tpudrv.lib for a restored Leonardo RFFE.
Now in 2020 we have FC Tango which is essentially a verbatim clone of
Leonardo core, including the original quadband RFFE. We have also
deblobbed our firmware so much that we have absolutely no real need
for a blob version of tpudrv.lib - but I thought it would be neat to put
the ancient TPUDRV_blob= mechanism (classic config) to its originally
intended use, just for the heck of it.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Fri, 29 May 2020 03:55:36 +0000 |
parents | c15047b3d00d |
children |
line wrap: on
line source
/* +--------------------------------------------------------------------------+ | PROJECT : PROTOCOL STACK | | FILE : p_gsim.h | | SOURCE : "sap\gsim.pdf" | | LastModified : "2003-02-04" | | IdAndVersion : "8441.113.99.004" | | SrcFileTime : "Thu Nov 29 09:43:12 2007" | | Generated by CCDGEN_2.5.5A on Thu Sep 25 09:18:53 2014 | | !!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_GSIM_H #define P_GSIM_H #define CDG_ENTER__P_GSIM_H #define CDG_ENTER__FILENAME _P_GSIM_H #define CDG_ENTER__P_GSIM_H__FILE_TYPE CDGINC #define CDG_ENTER__P_GSIM_H__LAST_MODIFIED _2003_02_04 #define CDG_ENTER__P_GSIM_H__ID_AND_VERSION _8441_113_99_004 #define CDG_ENTER__P_GSIM_H__SRC_FILE_TIME _Thu_Nov_29_09_43_12_2007 #include "CDG_ENTER.h" #undef CDG_ENTER__P_GSIM_H #undef CDG_ENTER__FILENAME #include "p_gsim.val" #ifndef __T_imsi_field__ #define __T_imsi_field__ /* * international mobile subscriber identity * CCDGEN:WriteStruct_Count==1693 */ typedef struct { U8 c_field; /*< 0: 1> length of imsi */ U8 field[MAX_IMSI]; /*< 1: 9> imsi */ U8 _align0; /*< 10: 1> alignment */ U8 _align1; /*< 11: 1> alignment */ } T_imsi_field; #endif /* * End of substructure section, begin of primitive definition section */ #ifndef __T_GSIM_UPDATE_REQ__ #define __T_GSIM_UPDATE_REQ__ /* * * CCDGEN:WriteStruct_Count==1694 */ typedef struct { U8 sim_gprs_invalid; /*< 0: 1> SIM invalid for GPRS service */ U8 gu; /*< 1: 1> GPRS update status */ U8 _align0; /*< 2: 1> alignment */ U8 _align1; /*< 3: 1> alignment */ U32 ptmsi; /*< 4: 4> packet temporary mobile subscriber identity */ U8 ptmsi_signature_flag; /*< 8: 1> P-TMSI Signature flag */ U8 rai[7]; /*< 9: 7> routing_area information */ } T_GSIM_UPDATE_REQ; #endif #ifndef __T_GSIM_STORE_KC_REQ__ #define __T_GSIM_STORE_KC_REQ__ /* * * CCDGEN:WriteStruct_Count==1695 */ typedef struct { U8 gsim_kc[8]; /*< 0: 8> GPRS ciphering key */ U8 gsim_cksn; /*< 8: 1> GPRS ciphering key sequence number */ U8 _align0; /*< 9: 1> alignment */ U8 _align1; /*< 10: 1> alignment */ U8 _align2; /*< 11: 1> alignment */ } T_GSIM_STORE_KC_REQ; #endif #ifndef __T_GSIM_INSERTED_IND__ #define __T_GSIM_INSERTED_IND__ /* * * CCDGEN:WriteStruct_Count==1696 */ typedef struct { U8 sim_gprs_invalid; /*< 0: 1> SIM invalid for GPRS service */ U8 gu; /*< 1: 1> GPRS update status */ U8 rai[7]; /*< 2: 7> routing_area information */ U8 _align0; /*< 9: 1> alignment */ U8 _align1; /*< 10: 1> alignment */ U8 _align2; /*< 11: 1> alignment */ U32 ptmsi; /*< 12: 4> packet temporary mobile subscriber identity */ U32 tmsi; /*< 16: 4> temporary mobile subscriber identity */ T_imsi_field imsi_field; /*< 20: 12> international mobile subscriber identity */ U8 gsim_kc[8]; /*< 32: 8> GPRS ciphering key */ U8 gsim_cksn; /*< 40: 1> GPRS ciphering key sequence number */ U8 _align3; /*< 41: 1> alignment */ U16 acc_contr_class; /*< 42: 2> Access Control Class */ } T_GSIM_INSERTED_IND; #endif #ifndef __T_GSIM_REMOVED_IND__ #define __T_GSIM_REMOVED_IND__ /* * * CCDGEN:WriteStruct_Count==1697 */ typedef struct { U8 dummy; /*< 0: 1> no parameters */ } T_GSIM_REMOVED_IND; #endif #ifndef __T_GSIM_AUTHENTICATION_REQ__ #define __T_GSIM_AUTHENTICATION_REQ__ /* * * CCDGEN:WriteStruct_Count==1698 */ typedef struct { U8 rand[SIZE_RAND]; /*< 0: 16> authentication parameter rand */ U8 gsim_cksn; /*< 16: 1> GPRS ciphering key sequence number */ U8 _align0; /*< 17: 1> alignment */ U8 _align1; /*< 18: 1> alignment */ U8 _align2; /*< 19: 1> alignment */ } T_GSIM_AUTHENTICATION_REQ; #endif #ifndef __T_GSIM_AUTHENTICATION_CNF__ #define __T_GSIM_AUTHENTICATION_CNF__ /* * * CCDGEN:WriteStruct_Count==1699 */ typedef struct { U8 sres[SIZE_SRES]; /*< 0: 4> authentication parameter Sres */ U8 gsim_kc[SIZE_KC]; /*< 4: 8> GPRS ciphering key */ } T_GSIM_AUTHENTICATION_CNF; #endif #include "CDG_LEAVE.h" #endif