FreeCalypso > hg > fc-magnetite
annotate src/g23m-gprs/sndcp/sndcp_pdaf.c @ 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 | 219afcfc6250 | 
| children | 
| rev | line source | 
|---|---|
| 
183
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1 /* | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2 +----------------------------------------------------------------------------- | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3 | Project : GPRS (8441) | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
4 | Modul : sndcp_pdaf.c | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
5 +----------------------------------------------------------------------------- | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
6 | Copyright 2002 Texas Instruments Berlin, AG | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
7 | All rights reserved. | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
8 | | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
9 | This file is confidential and a trade secret of Texas | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
10 | Instruments Berlin, AG | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
11 | The receipt of or possession of this file does not convey | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
12 | any rights to reproduce or disclose its contents or to | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
13 | manufacture, use, or sell anything it may describe, in | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
14 | whole, or in part, without the specific written consent of | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
15 | Texas Instruments Berlin, AG. | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
16 +----------------------------------------------------------------------------- | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
17 | Purpose : This modul is part of the entity SNDCP and implements all | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
18 | procedures and functions as described in the | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
19 | SDL-documentation (PDA-statemachine) | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
20 +----------------------------------------------------------------------------- | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
21 */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
22 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
23 #define ENTITY_SNDCP | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
24 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
25 /*==== INCLUDES =============================================================*/ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
26 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
27 #include "typedefs.h" /* to get Condat data types */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
28 #include "vsi.h" /* to get a lot of macros */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
29 #include "macdef.h" | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
30 #include "prim.h" /* to get the definitions of used SAP and directions */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
31 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
32 #include "dti.h" | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
33 #include "sndcp.h" /* to get the global entity definitions */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
34 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
35 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
36 /*==== CONST ================================================================*/ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
37 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
38 /*==== LOCAL VARS ===========================================================*/ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
39 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
40 /*==== PRIVATE FUNCTIONS ====================================================*/ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
41 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
42 /*==== PUBLIC FUNCTIONS =====================================================*/ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
43 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
44 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
45 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
46 /* | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
47 +------------------------------------------------------------------------------ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
48 | Function : pda_init | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
49 +------------------------------------------------------------------------------ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
50 | Description : Initializes the pda service. | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
51 | | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
52 | Parameters : | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
53 | | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
54 +------------------------------------------------------------------------------ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
55 */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
56 GLOBAL void pda_init (void) | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
57 { | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
58 TRACE_FUNCTION( "pda_init" ); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
59 sndcp_data->pda = & sndcp_data->pda_base[0]; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
60 INIT_STATE(PDA_0, PDA_DEFAULT); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
61 #ifdef SNDCP_2to1 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
62 sndcp_data->pda->sapi = PS_SAPI_3; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
63 #else | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
64 sndcp_data->pda->sapi = LL_SAPI_3; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
65 #endif /*SNDCP_2to1*/ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
66 sndcp_data->pda = & sndcp_data->pda_base[1]; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
67 INIT_STATE(PDA_1, PDA_DEFAULT); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
68 #ifdef SNDCP_2to1 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
69 sndcp_data->pda->sapi = PS_SAPI_5; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
70 #else | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
71 sndcp_data->pda->sapi = LL_SAPI_5; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
72 #endif /*SNDCP_2to1*/ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
73 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
74 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
75 sndcp_data->pda = & sndcp_data->pda_base[2]; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
76 INIT_STATE(PDA_2, PDA_DEFAULT); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
77 #ifdef SNDCP_2to1 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
78 sndcp_data->pda->sapi = PS_SAPI_9; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
79 #else | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
80 sndcp_data->pda->sapi = LL_SAPI_9; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
81 #endif /*SNDCP_2to1*/ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
82 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
83 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
84 sndcp_data->pda = & sndcp_data->pda_base[3]; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
85 INIT_STATE(PDA_3, PDA_DEFAULT); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
86 #ifdef SNDCP_2to1 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
87 sndcp_data->pda->sapi = PS_SAPI_11; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
88 #else | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
89 sndcp_data->pda->sapi = LL_SAPI_11; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
90 #endif /*SNDCP_2to1*/ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
91 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
92 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
93 } /* pda_init() */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
94 | 
