FreeCalypso > hg > fc-magnetite
annotate src/cs/layer1/tpu_drivers/source0/tpudrv10.c @ 639:026c98f757a6
tpudrv12.h & targets/gtm900.h: our current support is for MGC2GSMT version only
As it turns out, there exist two different Huawei-made hw platforms both
bearing the marketing name GTM900-B: one is MG01GSMT, the other is MGC2GSMT.
The two are NOT fw-compatible: aside from flash chip differences which
should be handled by autodetection, the two hw platforms are already known
to have different RFFEs with different control signals, and there may be
other differences not yet known. Our current gtm900 build target is for
MGC2GSMT only; we do not yet have a specimen of MG01GSMT on hand, hence
no support for that version will be possible until and unless someone
provides one.
| author | Mychaela Falconia <falcon@freecalypso.org> |
|---|---|
| date | Thu, 30 Jan 2020 18:19:01 +0000 |
| parents | f8e74b692c80 |
| children |
| rev | line source |
|---|---|
|
69
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 /* |
|
404
35638332aff5
tpudrv10.c: initial placeholder version
Mychaela Falconia <falcon@freecalypso.org>
parents:
233
diff
changeset
|
2 * The situation with the tpudrv10 RF TPU driver is even worse than with |
|
35638332aff5
tpudrv10.c: initial placeholder version
Mychaela Falconia <falcon@freecalypso.org>
parents:
233
diff
changeset
|
3 * tpudrv12: not only are we missing the original tpudrv10.c source, |
|
35638332aff5
tpudrv10.c: initial placeholder version
Mychaela Falconia <falcon@freecalypso.org>
parents:
233
diff
changeset
|
4 * but we don't even have a tpudrv10.obj to reconstruct from. |
|
616
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
5 * The present reconstruction has been made from the 20020917 fw |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
6 * image that came with our D-Sample board. |
|
69
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 * |
|
616
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
8 * The deep sleep functions haven't been reconstructed yet, |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
9 * thus the firmware needs to be built with DISABLE_SLEEP=1. |
|
69
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 |
|
404
35638332aff5
tpudrv10.c: initial placeholder version
Mychaela Falconia <falcon@freecalypso.org>
parents:
233
diff
changeset
|
12 #define TPUDRV10_C |
|
69
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 #include "board.cfg" |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 #include "chipset.cfg" |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 #include "l1sw.cfg" |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
17 #include "rf.cfg" |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
18 #include "swconfig.cfg" |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
19 #include "sys.cfg" |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
20 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21 #include "sys_types.h" |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
22 #include "l1_confg.h" |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24 #include "l1_macro.h" |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25 #include "l1_const.h" |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26 #include "l1_types.h" |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27 #if TESTMODE |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
28 #include "l1tm_defty.h" |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
29 #endif |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
30 #if (AUDIO_TASK == 1) |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
31 #include "l1audio_const.h" |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
32 #include "l1audio_cust.h" |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
33 #include "l1audio_defty.h" |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
34 #endif |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
35 #if (L1_GTT == 1) |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
36 #include "l1gtt_const.h" |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
37 #include "l1gtt_defty.h" |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
38 #endif |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
39 #if (L1_MP3 == 1) |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
40 #include "l1mp3_defty.h" |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
41 #endif |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
42 #if (L1_MIDI == 1) |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
43 #include "l1midi_defty.h" |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
44 #endif |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
45 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
46 #if (L1_AAC == 1) |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
47 #include "l1aac_defty.h" |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
48 #endif |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
49 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
50 #include "l1_defty.h" |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
51 #include "l1_time.h" |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
52 #include "l1_ctl.h" |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
53 #include "tpudrv.h" |
|
404
35638332aff5
tpudrv10.c: initial placeholder version
Mychaela Falconia <falcon@freecalypso.org>
parents:
233
diff
changeset
|
54 #include "tpudrv10.h" |
|
35638332aff5
tpudrv10.c: initial placeholder version
Mychaela Falconia <falcon@freecalypso.org>
parents:
233
diff
changeset
|
55 #include "l1_rf10.h" |
|
69
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
56 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
57 #include "mem.h" |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
58 #include "armio.h" |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
59 #include "clkm.h" |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
60 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
61 // Global variables |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
62 extern T_L1_CONFIG l1_config; |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
63 extern UWORD16 AGC_TABLE[]; |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
64 extern UWORD16 *TP_Ptr; |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
65 |
|
233
17d79c62e638
tpudrv12.c fix from tcs211-l1-reconst: rf_index static var changed to UWORD8
Mychaela Falconia <falcon@freecalypso.org>
parents:
78
diff
changeset
|
66 static UWORD8 rf_index; /* index into rf_path[] */ |
|
69
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
67 static UWORD8 rfband; /* ditto */ |
|
415
b3d65ae5f02c
tpudrv10.c: magic2 tables added
Mychaela Falconia <falcon@freecalypso.org>
parents:
414
diff
changeset
|
68 static UWORD8 magic2_byte; |
|
616
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
69 static UWORD16 lna_off_flag; |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
70 |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
71 static UWORD8 magic_83be24 = 0x0E; |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
72 static UWORD8 magic_83be25 = 0x01; |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
73 static UWORD8 magic_83be26 = 0x00; |
|
69
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
74 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
75 // Internal function prototypes |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
76 void l1dmacro_rx_down (WORD32 t); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
77 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
78 SYS_UWORD16 Convert_l1_radio_freq(SYS_UWORD16 radio_freq); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
79 WORD32 rf_init(WORD32 t); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
80 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
81 // External function prototypes |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
82 UWORD8 Cust_is_band_high(UWORD16 radio_freq); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
83 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
84 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
85 extern T_RF_BAND rf_band[]; |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
86 extern T_RF rf; |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
87 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
88 /**************************************************************************/ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
89 /**************************************************************************/ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
90 /* DEFINITION OF MACROS FOR CHIPS SERIAL PROGRAMMATION */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
91 /**************************************************************************/ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
92 /**************************************************************************/ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
93 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
94 /*------------------------------------------*/ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
95 /* Is arfcn in the DCS band (512-885) ? */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
96 /*------------------------------------------*/ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
97 #define IS_HIGH_BAND(arfcn) (((arfcn >= 512) && (arfcn <= 885)) ? 1 : 0) |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
98 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
99 /*------------------------------------------*/ |
|
616
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
100 /* Send a value to Clara RF */ |
|
69
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
101 /*------------------------------------------*/ |
|
616
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
102 #define TSP_TO_RF_24(rf_data)\ |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
103 {\ |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
104 *TP_Ptr++ = TPU_MOVE(TSP_TX_REG_1, ((rf_data) >> 16) & 0xFF); \ |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
105 *TP_Ptr++ = TPU_MOVE(TSP_TX_REG_2, ((rf_data) >> 8) & 0xFF); \ |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
106 *TP_Ptr++ = TPU_MOVE(TSP_TX_REG_3, (rf_data) & 0xFF); \ |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
107 *TP_Ptr++ = TPU_MOVE(TSP_CTRL1, TC1_DEVICE_RF | 0x17); \ |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
108 *TP_Ptr++ = TPU_MOVE(TSP_CTRL2, TC2_WR); \ |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
109 } |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
110 |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
111 #define TSP_TO_RF_16(rf_data)\ |
|
69
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
112 {\ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
113 *TP_Ptr++ = TPU_MOVE(TSP_TX_REG_1, ((rf_data) >> 8) & 0xFF); \ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
114 *TP_Ptr++ = TPU_MOVE(TSP_TX_REG_2, (rf_data) & 0xFF); \ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
115 *TP_Ptr++ = TPU_MOVE(TSP_CTRL1, TC1_DEVICE_RF | 0x0F); \ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
116 *TP_Ptr++ = TPU_MOVE(TSP_CTRL2, TC2_WR); \ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
117 } |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
118 |
|
616
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
119 #define TSP_TO_RF_8(rf_data)\ |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
120 {\ |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
121 *TP_Ptr++ = TPU_MOVE(TSP_TX_REG_1, (rf_data) & 0xFF); \ |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
122 *TP_Ptr++ = TPU_MOVE(TSP_CTRL1, TC1_DEVICE_RF | 0x07); \ |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
123 *TP_Ptr++ = TPU_MOVE(TSP_CTRL2, TC2_WR); \ |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
124 } |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
125 |
|
69
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
126 /*------------------------------------------*/ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
127 /* Send a TSP command to ABB */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
128 /*------------------------------------------*/ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
129 #define TSP_TO_ABB(data)\ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
130 {\ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
131 *TP_Ptr++ = TPU_MOVE(TSP_TX_REG_1, (data) & 0xFF); \ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
132 *TP_Ptr++ = TPU_MOVE(TSP_CTRL1, TC1_DEVICE_ABB | 0x06); \ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
133 *TP_Ptr++ = TPU_MOVE(TSP_CTRL2, TC2_WR); \ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
134 } |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
135 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
136 /*------------------------------------------*/ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
137 /* Trace arfcn for conversion debug */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
138 /*------------------------------------------*/ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
139 #ifdef ARFCN_DEBUG |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
140 // ----Debug information : record all arfcn programmed into synthesizer! |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
141 #define MAX_ARFCN_TRACE 4096 // enough for 5 sessions of 124+374 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
142 SYS_UWORD16 arfcn_trace[MAX_ARFCN_TRACE]; |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
143 static UWORD32 arfcn_trace_index = 0; |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
144 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
145 void trace_arfcn(SYS_UWORD16 arfcn) |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
146 { |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
147 arfcn_trace[arfcn_trace_index++] = arfcn; |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
148 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
149 // Wrap to beginning |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
150 if (arfcn_trace_index == MAX_ARFCN_TRACE) |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
151 arfcn_trace_index = 0; |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
152 } |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
153 #endif |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
154 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
155 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
156 /**************************************************************************/ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
157 /**************************************************************************/ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
158 /* DEFINITION OF HARWARE DEPENDANT CONSTANTS */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
159 /**************************************************************************/ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
160 /**************************************************************************/ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
161 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
162 /**************************************************************************/ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
163 /**************************************************************************/ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
164 /* INTERNAL FUNCTIONS OF TPUDRV14.C */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
165 /* EFFECTIVE DOWNLOADING THROUGH TSP */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
166 /**************************************************************************/ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
167 /**************************************************************************/ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
168 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
169 struct synth_s { |
|
414
cbc25978be5a
tpudrv10.c: beginning to reconstruct the frequency programming function
Mychaela Falconia <falcon@freecalypso.org>
parents:
413
diff
changeset
|
170 // common |
|
cbc25978be5a
tpudrv10.c: beginning to reconstruct the frequency programming function
Mychaela Falconia <falcon@freecalypso.org>
parents:
413
diff
changeset
|
171 UWORD16 arfcn0; |
|
cbc25978be5a
tpudrv10.c: beginning to reconstruct the frequency programming function
Mychaela Falconia <falcon@freecalypso.org>
parents:
413
diff
changeset
|
172 UWORD16 limit; |
|
cbc25978be5a
tpudrv10.c: beginning to reconstruct the frequency programming function
Mychaela Falconia <falcon@freecalypso.org>
parents:
413
diff
changeset
|
173 // Tx |
|
cbc25978be5a
tpudrv10.c: beginning to reconstruct the frequency programming function
Mychaela Falconia <falcon@freecalypso.org>
parents:
413
diff
changeset
|
174 UWORD16 ul_farfcn0; |
|
cbc25978be5a
tpudrv10.c: beginning to reconstruct the frequency programming function
Mychaela Falconia <falcon@freecalypso.org>
parents:
413
diff
changeset
|
175 WORD8 ul_sign; |
|
cbc25978be5a
tpudrv10.c: beginning to reconstruct the frequency programming function
Mychaela Falconia <falcon@freecalypso.org>
parents:
413
diff
changeset
|
176 // Rx |
|
cbc25978be5a
tpudrv10.c: beginning to reconstruct the frequency programming function
Mychaela Falconia <falcon@freecalypso.org>
parents:
413
diff
changeset
|
177 UWORD16 dl_farfcn0; |
|
cbc25978be5a
tpudrv10.c: beginning to reconstruct the frequency programming function
Mychaela Falconia <falcon@freecalypso.org>
parents:
413
diff
changeset
|
178 UWORD8 dl_mult; |
|
69
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
179 }; |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
180 |
|
412
2b038b43e31b
tpudrv10.c: magic1_900[] table reconstructed
Mychaela Falconia <falcon@freecalypso.org>
parents:
411
diff
changeset
|
181 struct magic1_s { |
|
2b038b43e31b
tpudrv10.c: magic1_900[] table reconstructed
Mychaela Falconia <falcon@freecalypso.org>
parents:
411
diff
changeset
|
182 UWORD16 limit; |
|
2b038b43e31b
tpudrv10.c: magic1_900[] table reconstructed
Mychaela Falconia <falcon@freecalypso.org>
parents:
411
diff
changeset
|
183 UWORD16 magic; |
|
2b038b43e31b
tpudrv10.c: magic1_900[] table reconstructed
Mychaela Falconia <falcon@freecalypso.org>
parents:
411
diff
changeset
|
184 }; |
|
2b038b43e31b
tpudrv10.c: magic1_900[] table reconstructed
Mychaela Falconia <falcon@freecalypso.org>
parents:
411
diff
changeset
|
185 |
|
415
b3d65ae5f02c
tpudrv10.c: magic2 tables added
Mychaela Falconia <falcon@freecalypso.org>
parents:
414
diff
changeset
|
186 struct magic2_s { |
|
b3d65ae5f02c
tpudrv10.c: magic2 tables added
Mychaela Falconia <falcon@freecalypso.org>
parents:
414
diff
changeset
|
187 UWORD16 limit; |
|
b3d65ae5f02c
tpudrv10.c: magic2 tables added
Mychaela Falconia <falcon@freecalypso.org>
parents:
414
diff
changeset
|
188 UWORD8 magic; |
|
b3d65ae5f02c
tpudrv10.c: magic2 tables added
Mychaela Falconia <falcon@freecalypso.org>
parents:
414
diff
changeset
|
189 }; |
|
b3d65ae5f02c
tpudrv10.c: magic2 tables added
Mychaela Falconia <falcon@freecalypso.org>
parents:
414
diff
changeset
|
190 |
|
69
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
191 struct rf_path_s { |
|
411
ee49b250774f
tpudrv10.c: initial rf_path[] reconstruction
Mychaela Falconia <falcon@freecalypso.org>
parents:
406
diff
changeset
|
192 UWORD16 rf_chip_band; |
|
ee49b250774f
tpudrv10.c: initial rf_path[] reconstruction
Mychaela Falconia <falcon@freecalypso.org>
parents:
406
diff
changeset
|
193 UWORD8 rx_up; |
|
ee49b250774f
tpudrv10.c: initial rf_path[] reconstruction
Mychaela Falconia <falcon@freecalypso.org>
parents:
406
diff
changeset
|
194 UWORD8 rx_down; |
|
ee49b250774f
tpudrv10.c: initial rf_path[] reconstruction
Mychaela Falconia <falcon@freecalypso.org>
parents:
406
diff
changeset
|
195 UWORD8 tx_up; |
|
ee49b250774f
tpudrv10.c: initial rf_path[] reconstruction
Mychaela Falconia <falcon@freecalypso.org>
parents:
406
diff
changeset
|
196 UWORD8 tx_down; |
|
ee49b250774f
tpudrv10.c: initial rf_path[] reconstruction
Mychaela Falconia <falcon@freecalypso.org>
parents:
406
diff
changeset
|
197 UWORD8 tx_up_rev; |
|
415
b3d65ae5f02c
tpudrv10.c: magic2 tables added
Mychaela Falconia <falcon@freecalypso.org>
parents:
414
diff
changeset
|
198 const struct synth_s *synth; |
|
b3d65ae5f02c
tpudrv10.c: magic2 tables added
Mychaela Falconia <falcon@freecalypso.org>
parents:
414
diff
changeset
|
199 const struct magic1_s *tx_magic1; |
|
b3d65ae5f02c
tpudrv10.c: magic2 tables added
Mychaela Falconia <falcon@freecalypso.org>
parents:
414
diff
changeset
|
200 const struct magic2_s *rx_magic2; |
|
69
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
201 }; |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
202 |
|
412
2b038b43e31b
tpudrv10.c: magic1_900[] table reconstructed
Mychaela Falconia <falcon@freecalypso.org>
parents:
411
diff
changeset
|
203 static const struct synth_s synth_900[] = |
|
69
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
204 { |
|
414
cbc25978be5a
tpudrv10.c: beginning to reconstruct the frequency programming function
Mychaela Falconia <falcon@freecalypso.org>
parents:
413
diff
changeset
|
205 { 0, 124, 890, 1, 935, 4},// gsm 0 - 124 |
|
cbc25978be5a
tpudrv10.c: beginning to reconstruct the frequency programming function
Mychaela Falconia <falcon@freecalypso.org>
parents:
413
diff
changeset
|
206 {974, 1023, 880, 1, 925, 4},// egsm 975 - 1023 |
|
69
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
207 }; |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
208 |
|
412
2b038b43e31b
tpudrv10.c: magic1_900[] table reconstructed
Mychaela Falconia <falcon@freecalypso.org>
parents:
411
diff
changeset
|
209 static const struct magic1_s magic1_900[] = |
|
2b038b43e31b
tpudrv10.c: magic1_900[] table reconstructed
Mychaela Falconia <falcon@freecalypso.org>
parents:
411
diff
changeset
|
210 { |
|
2b038b43e31b
tpudrv10.c: magic1_900[] table reconstructed
Mychaela Falconia <falcon@freecalypso.org>
parents:
411
diff
changeset
|
211 { 26, 0x0820}, |
|
2b038b43e31b
tpudrv10.c: magic1_900[] table reconstructed
Mychaela Falconia <falcon@freecalypso.org>
parents:
411
diff
changeset
|
212 { 35, 0x0854}, |
|
2b038b43e31b
tpudrv10.c: magic1_900[] table reconstructed
Mychaela Falconia <falcon@freecalypso.org>
parents:
411
diff
changeset
|
213 { 42, 0x0847}, |
|
2b038b43e31b
tpudrv10.c: magic1_900[] table reconstructed
Mychaela Falconia <falcon@freecalypso.org>
parents:
411
diff
changeset
|
214 { 54, 0x0861}, |
|
2b038b43e31b
tpudrv10.c: magic1_900[] table reconstructed
Mychaela Falconia <falcon@freecalypso.org>
parents:
411
diff
changeset
|
215 { 60, 0x0847}, |
|
2b038b43e31b
tpudrv10.c: magic1_900[] table reconstructed
Mychaela Falconia <falcon@freecalypso.org>
parents:
411
diff
changeset
|
216 { 69, 0x0861}, |
|
2b038b43e31b
tpudrv10.c: magic1_900[] table reconstructed
Mychaela Falconia <falcon@freecalypso.org>
parents:
411
diff
changeset
|
217 { 79, 0x0847}, |
|
2b038b43e31b
tpudrv10.c: magic1_900[] table reconstructed
Mychaela Falconia <falcon@freecalypso.org>
parents:
411
diff
changeset
|
218 { 94, 0x083A}, |
|
2b038b43e31b
tpudrv10.c: magic1_900[] table reconstructed
Mychaela Falconia <falcon@freecalypso.org>
parents:
411
diff
changeset
|
219 { 105, 0x0847}, |
|
2b038b43e31b
tpudrv10.c: magic1_900[] table reconstructed
Mychaela Falconia <falcon@freecalypso.org>
parents:
411
diff
changeset
|
220 { 112, 0x0854}, |
|
2b038b43e31b
tpudrv10.c: magic1_900[] table reconstructed
Mychaela Falconia <falcon@freecalypso.org>
parents:
411
diff
changeset
|
221 { 117, 0x082D}, |
|
2b038b43e31b
tpudrv10.c: magic1_900[] table reconstructed
Mychaela Falconia <falcon@freecalypso.org>
parents:
411
diff
changeset
|
222 { 124, 0x0847}, |
|
2b038b43e31b
tpudrv10.c: magic1_900[] table reconstructed
Mychaela Falconia <falcon@freecalypso.org>
parents:
411
diff
changeset
|
223 { 988, 0x0820}, |
|
2b038b43e31b
tpudrv10.c: magic1_900[] table reconstructed
Mychaela Falconia <falcon@freecalypso.org>
parents:
411
diff
changeset
|
224 {1014, 0x083A}, |
|
2b038b43e31b
tpudrv10.c: magic1_900[] table reconstructed
Mychaela Falconia <falcon@freecalypso.org>
parents:
411
diff
changeset
|
225 {1023, 0x0820}, |
|
2b038b43e31b
tpudrv10.c: magic1_900[] table reconstructed
Mychaela Falconia <falcon@freecalypso.org>
parents:
411
diff
changeset
|
226 }; |
|
2b038b43e31b
tpudrv10.c: magic1_900[] table reconstructed
Mychaela Falconia <falcon@freecalypso.org>
parents:
411
diff
changeset
|
227 |
|
415
b3d65ae5f02c
tpudrv10.c: magic2 tables added
Mychaela Falconia <falcon@freecalypso.org>
parents:
414
diff
changeset
|
228 static const struct magic2_s magic2_rx900[] = |
|
b3d65ae5f02c
tpudrv10.c: magic2 tables added
Mychaela Falconia <falcon@freecalypso.org>
parents:
414
diff
changeset
|
229 { |
|
b3d65ae5f02c
tpudrv10.c: magic2 tables added
Mychaela Falconia <falcon@freecalypso.org>
parents:
414
diff
changeset
|
230 {0x4B00, 7}, |
|
b3d65ae5f02c
tpudrv10.c: magic2 tables added
Mychaela Falconia <falcon@freecalypso.org>
parents:
414
diff
changeset
|
231 {0x4E20, 7}, |
|
b3d65ae5f02c
tpudrv10.c: magic2 tables added
Mychaela Falconia <falcon@freecalypso.org>
parents:
414
diff
changeset
|
232 {0xFFFF, 7}, |
|
b3d65ae5f02c
tpudrv10.c: magic2 tables added
Mychaela Falconia <falcon@freecalypso.org>
parents:
414
diff
changeset
|
233 }; |
|
b3d65ae5f02c
tpudrv10.c: magic2 tables added
Mychaela Falconia <falcon@freecalypso.org>
parents:
414
diff
changeset
|
234 |
|
412
2b038b43e31b
tpudrv10.c: magic1_900[] table reconstructed
Mychaela Falconia <falcon@freecalypso.org>
parents:
411
diff
changeset
|
235 static const struct synth_s synth_1800[] = |
|
69
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
236 { |
|
414
cbc25978be5a
tpudrv10.c: beginning to reconstruct the frequency programming function
Mychaela Falconia <falcon@freecalypso.org>
parents:
413
diff
changeset
|
237 {511, 885, 1710, -1, 1805, 1}, // dcs 512 - 885 |
|
69
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
238 }; |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
239 |
|
413
780fa76e9c9b
tpudrv10.c: all magic1 tables reconstructed
Mychaela Falconia <falcon@freecalypso.org>
parents:
412
diff
changeset
|
240 static const struct magic1_s magic1_1800[] = |
|
780fa76e9c9b
tpudrv10.c: all magic1 tables reconstructed
Mychaela Falconia <falcon@freecalypso.org>
parents:
412
diff
changeset
|
241 { |
|
780fa76e9c9b
tpudrv10.c: all magic1 tables reconstructed
Mychaela Falconia <falcon@freecalypso.org>
parents:
412
diff
changeset
|
242 {571, 0x0820}, |
|
780fa76e9c9b
tpudrv10.c: all magic1 tables reconstructed
Mychaela Falconia <falcon@freecalypso.org>
parents:
412
diff
changeset
|
243 {610, 0x0847}, |
|
780fa76e9c9b
tpudrv10.c: all magic1 tables reconstructed
Mychaela Falconia <falcon@freecalypso.org>
parents:
412
diff
changeset
|
244 {671, 0x083A}, |
|
780fa76e9c9b
tpudrv10.c: all magic1 tables reconstructed
Mychaela Falconia <falcon@freecalypso.org>
parents:
412
diff
changeset
|
245 {688, 0x082D}, |
|
780fa76e9c9b
tpudrv10.c: all magic1 tables reconstructed
Mychaela Falconia <falcon@freecalypso.org>
parents:
412
diff
changeset
|
246 {719, 0x083A}, |
|
780fa76e9c9b
tpudrv10.c: all magic1 tables reconstructed
Mychaela Falconia <falcon@freecalypso.org>
parents:
412
diff
changeset
|
247 {730, 0x0861}, |
|
780fa76e9c9b
tpudrv10.c: all magic1 tables reconstructed
Mychaela Falconia <falcon@freecalypso.org>
parents:
412
diff
changeset
|
248 {755, 0x083A}, |
|
780fa76e9c9b
tpudrv10.c: all magic1 tables reconstructed
Mychaela Falconia <falcon@freecalypso.org>
parents:
412
diff
changeset
|
249 {794, 0x0847}, |
|
780fa76e9c9b
tpudrv10.c: all magic1 tables reconstructed
Mychaela Falconia <falcon@freecalypso.org>
parents:
412
diff
changeset
|
250 {845, 0x0820}, |
|
780fa76e9c9b
tpudrv10.c: all magic1 tables reconstructed
Mychaela Falconia <falcon@freecalypso.org>
parents:
412
diff
changeset
|
251 {885, 0x082D}, |
|
780fa76e9c9b
tpudrv10.c: all magic1 tables reconstructed
Mychaela Falconia <falcon@freecalypso.org>
parents:
412
diff
changeset
|
252 }; |
|
780fa76e9c9b
tpudrv10.c: all magic1 tables reconstructed
Mychaela Falconia <falcon@freecalypso.org>
parents:
412
diff
changeset
|
253 |
|
415
b3d65ae5f02c
tpudrv10.c: magic2 tables added
Mychaela Falconia <falcon@freecalypso.org>
parents:
414
diff
changeset
|
254 static const struct magic2_s magic2_rx1800[] = |
|
b3d65ae5f02c
tpudrv10.c: magic2 tables added
Mychaela Falconia <falcon@freecalypso.org>
parents:
414
diff
changeset
|
255 { |
|
b3d65ae5f02c
tpudrv10.c: magic2 tables added
Mychaela Falconia <falcon@freecalypso.org>
parents:
414
diff
changeset
|
256 {0x24B8, 0}, |
|
b3d65ae5f02c
tpudrv10.c: magic2 tables added
Mychaela Falconia <falcon@freecalypso.org>
parents:
414
diff
changeset
|
257 {0x2710, 0}, |
|
b3d65ae5f02c
tpudrv10.c: magic2 tables added
Mychaela Falconia <falcon@freecalypso.org>
parents:
414
diff
changeset
|
258 {0xFFFF, 0}, |
|
b3d65ae5f02c
tpudrv10.c: magic2 tables added
Mychaela Falconia <falcon@freecalypso.org>
parents:
414
diff
changeset
|
259 }; |
|
b3d65ae5f02c
tpudrv10.c: magic2 tables added
Mychaela Falconia <falcon@freecalypso.org>
parents:
414
diff
changeset
|
260 |
|
412
2b038b43e31b
tpudrv10.c: magic1_900[] table reconstructed
Mychaela Falconia <falcon@freecalypso.org>
parents:
411
diff
changeset
|
261 static const struct synth_s synth_1900[] = |
|
69
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
262 { |
|
414
cbc25978be5a
tpudrv10.c: beginning to reconstruct the frequency programming function
Mychaela Falconia <falcon@freecalypso.org>
parents:
413
diff
changeset
|
263 {511, 810, 1850, -1, 1930, 1}, // pcs 512 - 810; |
|
69
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
264 }; |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
265 |
|
413
780fa76e9c9b
tpudrv10.c: all magic1 tables reconstructed
Mychaela Falconia <falcon@freecalypso.org>
parents:
412
diff
changeset
|
266 static const struct magic1_s magic1_1900[] = |
|
780fa76e9c9b
tpudrv10.c: all magic1 tables reconstructed
Mychaela Falconia <falcon@freecalypso.org>
parents:
412
diff
changeset
|
267 { |
|
780fa76e9c9b
tpudrv10.c: all magic1 tables reconstructed
Mychaela Falconia <falcon@freecalypso.org>
parents:
412
diff
changeset
|
268 {550, 0x0847}, |
|
780fa76e9c9b
tpudrv10.c: all magic1 tables reconstructed
Mychaela Falconia <falcon@freecalypso.org>
parents:
412
diff
changeset
|
269 {615, 0x082D}, |
|
780fa76e9c9b
tpudrv10.c: all magic1 tables reconstructed
Mychaela Falconia <falcon@freecalypso.org>
parents:
412
diff
changeset
|
270 {642, 0x083A}, |
|
780fa76e9c9b
tpudrv10.c: all magic1 tables reconstructed
Mychaela Falconia <falcon@freecalypso.org>
parents:
412
diff
changeset
|
271 {702, 0x0820}, |
|
780fa76e9c9b
tpudrv10.c: all magic1 tables reconstructed
Mychaela Falconia <falcon@freecalypso.org>
parents:
412
diff
changeset
|
272 {777, 0x0854}, |
|
780fa76e9c9b
tpudrv10.c: all magic1 tables reconstructed
Mychaela Falconia <falcon@freecalypso.org>
parents:
412
diff
changeset
|
273 {810, 0x0861}, |
|
780fa76e9c9b
tpudrv10.c: all magic1 tables reconstructed
Mychaela Falconia <falcon@freecalypso.org>
parents:
412
diff
changeset
|
274 }; |
|
780fa76e9c9b
tpudrv10.c: all magic1 tables reconstructed
Mychaela Falconia <falcon@freecalypso.org>
parents:
412
diff
changeset
|
275 |
|
415
b3d65ae5f02c
tpudrv10.c: magic2 tables added
Mychaela Falconia <falcon@freecalypso.org>
parents:
414
diff
changeset
|
276 static const struct magic2_s magic2_rx1900[] = |
|
b3d65ae5f02c
tpudrv10.c: magic2 tables added
Mychaela Falconia <falcon@freecalypso.org>
parents:
414
diff
changeset
|
277 { |
|
b3d65ae5f02c
tpudrv10.c: magic2 tables added
Mychaela Falconia <falcon@freecalypso.org>
parents:
414
diff
changeset
|
278 {0x26DE, 0}, |
|
b3d65ae5f02c
tpudrv10.c: magic2 tables added
Mychaela Falconia <falcon@freecalypso.org>
parents:
414
diff
changeset
|
279 {0x2710, 0}, |
|
b3d65ae5f02c
tpudrv10.c: magic2 tables added
Mychaela Falconia <falcon@freecalypso.org>
parents:
414
diff
changeset
|
280 {0xFFFF, 0}, |
|
b3d65ae5f02c
tpudrv10.c: magic2 tables added
Mychaela Falconia <falcon@freecalypso.org>
parents:
414
diff
changeset
|
281 }; |
|
b3d65ae5f02c
tpudrv10.c: magic2 tables added
Mychaela Falconia <falcon@freecalypso.org>
parents:
414
diff
changeset
|
282 |
|
412
2b038b43e31b
tpudrv10.c: magic1_900[] table reconstructed
Mychaela Falconia <falcon@freecalypso.org>
parents:
411
diff
changeset
|
283 static const struct synth_s synth_850[] = |
|
69
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
284 { |
|
414
cbc25978be5a
tpudrv10.c: beginning to reconstruct the frequency programming function
Mychaela Falconia <falcon@freecalypso.org>
parents:
413
diff
changeset
|
285 {127, 251, 824, 1, 869, 4}, // gsm850 |
|
69
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
286 }; |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
287 |
|
413
780fa76e9c9b
tpudrv10.c: all magic1 tables reconstructed
Mychaela Falconia <falcon@freecalypso.org>
parents:
412
diff
changeset
|
288 static const struct magic1_s magic1_850[] = |
|
780fa76e9c9b
tpudrv10.c: all magic1 tables reconstructed
Mychaela Falconia <falcon@freecalypso.org>
parents:
412
diff
changeset
|
289 { |
|
780fa76e9c9b
tpudrv10.c: all magic1 tables reconstructed
Mychaela Falconia <falcon@freecalypso.org>
parents:
412
diff
changeset
|
290 {251, 0x0924}, |
|
780fa76e9c9b
tpudrv10.c: all magic1 tables reconstructed
Mychaela Falconia <falcon@freecalypso.org>
parents:
412
diff
changeset
|
291 }; |
|
780fa76e9c9b
tpudrv10.c: all magic1 tables reconstructed
Mychaela Falconia <falcon@freecalypso.org>
parents:
412
diff
changeset
|
292 |
|
415
b3d65ae5f02c
tpudrv10.c: magic2 tables added
Mychaela Falconia <falcon@freecalypso.org>
parents:
414
diff
changeset
|
293 static const struct magic2_s magic2_rx850[] = |
|
b3d65ae5f02c
tpudrv10.c: magic2 tables added
Mychaela Falconia <falcon@freecalypso.org>
parents:
414
diff
changeset
|
294 { |
|
b3d65ae5f02c
tpudrv10.c: magic2 tables added
Mychaela Falconia <falcon@freecalypso.org>
parents:
414
diff
changeset
|
295 {0x4B00, 7}, |
|
b3d65ae5f02c
tpudrv10.c: magic2 tables added
Mychaela Falconia <falcon@freecalypso.org>
parents:
414
diff
changeset
|
296 {0x4E20, 7}, |
|
b3d65ae5f02c
tpudrv10.c: magic2 tables added
Mychaela Falconia <falcon@freecalypso.org>
parents:
414
diff
changeset
|
297 {0xFFFF, 7}, |
|
b3d65ae5f02c
tpudrv10.c: magic2 tables added
Mychaela Falconia <falcon@freecalypso.org>
parents:
414
diff
changeset
|
298 }; |
|
b3d65ae5f02c
tpudrv10.c: magic2 tables added
Mychaela Falconia <falcon@freecalypso.org>
parents:
414
diff
changeset
|
299 |
|
b3d65ae5f02c
tpudrv10.c: magic2 tables added
Mychaela Falconia <falcon@freecalypso.org>
parents:
414
diff
changeset
|
300 static const struct magic2_s magic2_tx[] = |
|
b3d65ae5f02c
tpudrv10.c: magic2 tables added
Mychaela Falconia <falcon@freecalypso.org>
parents:
414
diff
changeset
|
301 { |
|
b3d65ae5f02c
tpudrv10.c: magic2 tables added
Mychaela Falconia <falcon@freecalypso.org>
parents:
414
diff
changeset
|
302 {0x1A90, 6}, |
|
b3d65ae5f02c
tpudrv10.c: magic2 tables added
Mychaela Falconia <falcon@freecalypso.org>
parents:
414
diff
changeset
|
303 {0x1CED, 7}, |
|
b3d65ae5f02c
tpudrv10.c: magic2 tables added
Mychaela Falconia <falcon@freecalypso.org>
parents:
414
diff
changeset
|
304 {0x1D4C, 7}, |
|
b3d65ae5f02c
tpudrv10.c: magic2 tables added
Mychaela Falconia <falcon@freecalypso.org>
parents:
414
diff
changeset
|
305 {0xFFFF, 7}, |
|
b3d65ae5f02c
tpudrv10.c: magic2 tables added
Mychaela Falconia <falcon@freecalypso.org>
parents:
414
diff
changeset
|
306 }; |
|
b3d65ae5f02c
tpudrv10.c: magic2 tables added
Mychaela Falconia <falcon@freecalypso.org>
parents:
414
diff
changeset
|
307 |
|
b3d65ae5f02c
tpudrv10.c: magic2 tables added
Mychaela Falconia <falcon@freecalypso.org>
parents:
414
diff
changeset
|
308 static const struct rf_path_s rf_path[] = { |
|
b3d65ae5f02c
tpudrv10.c: magic2 tables added
Mychaela Falconia <falcon@freecalypso.org>
parents:
414
diff
changeset
|
309 //same index used as for band_config[] - 1 |
|
411
ee49b250774f
tpudrv10.c: initial rf_path[] reconstruction
Mychaela Falconia <falcon@freecalypso.org>
parents:
406
diff
changeset
|
310 /* EGSM */ |
|
ee49b250774f
tpudrv10.c: initial rf_path[] reconstruction
Mychaela Falconia <falcon@freecalypso.org>
parents:
406
diff
changeset
|
311 { BAND_SELECT_GSM, RU_900, RD_900, TU_900, TD_900, TU_REV_900, |
|
415
b3d65ae5f02c
tpudrv10.c: magic2 tables added
Mychaela Falconia <falcon@freecalypso.org>
parents:
414
diff
changeset
|
312 synth_900, magic1_900, magic2_rx900}, |
|
411
ee49b250774f
tpudrv10.c: initial rf_path[] reconstruction
Mychaela Falconia <falcon@freecalypso.org>
parents:
406
diff
changeset
|
313 /* DCS */ |
|
ee49b250774f
tpudrv10.c: initial rf_path[] reconstruction
Mychaela Falconia <falcon@freecalypso.org>
parents:
406
diff
changeset
|
314 { BAND_SELECT_DCS, RU_1800, RD_1800, TU_1800, TD_1800, TU_REV_1800, |
|
415
b3d65ae5f02c
tpudrv10.c: magic2 tables added
Mychaela Falconia <falcon@freecalypso.org>
parents:
414
diff
changeset
|
315 synth_1800, magic1_1800, magic2_rx1800}, |
|
411
ee49b250774f
tpudrv10.c: initial rf_path[] reconstruction
Mychaela Falconia <falcon@freecalypso.org>
parents:
406
diff
changeset
|
316 /* PCS */ |
|
ee49b250774f
tpudrv10.c: initial rf_path[] reconstruction
Mychaela Falconia <falcon@freecalypso.org>
parents:
406
diff
changeset
|
317 { BAND_SELECT_PCS, RU_1900, RD_1900, TU_1900, TD_1900, TU_REV_1900, |
|
415
b3d65ae5f02c
tpudrv10.c: magic2 tables added
Mychaela Falconia <falcon@freecalypso.org>
parents:
414
diff
changeset
|
318 synth_1900, magic1_1900, magic2_rx1900}, |
|
411
ee49b250774f
tpudrv10.c: initial rf_path[] reconstruction
Mychaela Falconia <falcon@freecalypso.org>
parents:
406
diff
changeset
|
319 /* GSM850 */ |
|
ee49b250774f
tpudrv10.c: initial rf_path[] reconstruction
Mychaela Falconia <falcon@freecalypso.org>
parents:
406
diff
changeset
|
320 { BAND_SELECT_850, RU_850, RD_850, TU_850, TD_850, TU_REV_850, |
|
415
b3d65ae5f02c
tpudrv10.c: magic2 tables added
Mychaela Falconia <falcon@freecalypso.org>
parents:
414
diff
changeset
|
321 synth_850, magic1_850, magic2_rx850}, |
|
411
ee49b250774f
tpudrv10.c: initial rf_path[] reconstruction
Mychaela Falconia <falcon@freecalypso.org>
parents:
406
diff
changeset
|
322 /* PCS in dual-us */ |
|
ee49b250774f
tpudrv10.c: initial rf_path[] reconstruction
Mychaela Falconia <falcon@freecalypso.org>
parents:
406
diff
changeset
|
323 { BAND_SELECT_PCS, RU_1900, RD_1900, TU_1900, TD_1900, TU_REV_1900, |
|
415
b3d65ae5f02c
tpudrv10.c: magic2 tables added
Mychaela Falconia <falcon@freecalypso.org>
parents:
414
diff
changeset
|
324 synth_1900, magic1_1900, magic2_rx1900}, |
|
411
ee49b250774f
tpudrv10.c: initial rf_path[] reconstruction
Mychaela Falconia <falcon@freecalypso.org>
parents:
406
diff
changeset
|
325 /* non-E GSM */ |
|
ee49b250774f
tpudrv10.c: initial rf_path[] reconstruction
Mychaela Falconia <falcon@freecalypso.org>
parents:
406
diff
changeset
|
326 { BAND_SELECT_GSM, RU_900, RD_900, TU_900, TD_900, TU_REV_900, |
|
415
b3d65ae5f02c
tpudrv10.c: magic2 tables added
Mychaela Falconia <falcon@freecalypso.org>
parents:
414
diff
changeset
|
327 synth_900, magic1_900, magic2_rx900}, |
|
69
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
328 }; |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
329 |
|
616
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
330 static UWORD16 calc_tx_magic(UWORD16 arfcn) |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
331 { |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
332 const struct magic1_s *m1; |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
333 UWORD16 sp6, sp8; |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
334 |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
335 m1 = rf_path[rf_index].tx_magic1; |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
336 while(m1->limit < arfcn) |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
337 m1++; |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
338 sp6 = m1->magic << 1; |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
339 sp8 = sp6 / 13; |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
340 return ((sp8 & 0x1FF) << 5); |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
341 } |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
342 |
|
416
5ca341a26dda
tpudrv10.c: frequency programming function reconstructed
Mychaela Falconia <falcon@freecalypso.org>
parents:
415
diff
changeset
|
343 static UWORD32 calc_freq_prog(UWORD16 arfcn, UWORD8 downlink) |
|
69
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
344 { |
|
414
cbc25978be5a
tpudrv10.c: beginning to reconstruct the frequency programming function
Mychaela Falconia <falcon@freecalypso.org>
parents:
413
diff
changeset
|
345 UWORD32 farfcn; /* sp+0x1C, in 200 kHz units */ |
|
416
5ca341a26dda
tpudrv10.c: frequency programming function reconstructed
Mychaela Falconia <falcon@freecalypso.org>
parents:
415
diff
changeset
|
346 const struct synth_s *s; |
|
5ca341a26dda
tpudrv10.c: frequency programming function reconstructed
Mychaela Falconia <falcon@freecalypso.org>
parents:
415
diff
changeset
|
347 const struct magic1_s *m1; |
|
5ca341a26dda
tpudrv10.c: frequency programming function reconstructed
Mychaela Falconia <falcon@freecalypso.org>
parents:
415
diff
changeset
|
348 const struct magic2_s *m2; |
|
414
cbc25978be5a
tpudrv10.c: beginning to reconstruct the frequency programming function
Mychaela Falconia <falcon@freecalypso.org>
parents:
413
diff
changeset
|
349 UWORD32 magic1; /* sp+0x24 */ |
|
cbc25978be5a
tpudrv10.c: beginning to reconstruct the frequency programming function
Mychaela Falconia <falcon@freecalypso.org>
parents:
413
diff
changeset
|
350 UWORD16 sp4; |
|
416
5ca341a26dda
tpudrv10.c: frequency programming function reconstructed
Mychaela Falconia <falcon@freecalypso.org>
parents:
415
diff
changeset
|
351 UWORD32 sp8, sp0xC, sp0x10, sp0x14, sp0x18, sp0x20; |
|
69
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
352 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
353 s = rf_path[rf_index].synth; |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
354 while(s->limit < arfcn) |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
355 s++; |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
356 |
|
415
b3d65ae5f02c
tpudrv10.c: magic2 tables added
Mychaela Falconia <falcon@freecalypso.org>
parents:
414
diff
changeset
|
357 m1 = rf_path[rf_index].tx_magic1; |
|
414
cbc25978be5a
tpudrv10.c: beginning to reconstruct the frequency programming function
Mychaela Falconia <falcon@freecalypso.org>
parents:
413
diff
changeset
|
358 while(m1->limit < arfcn) |
|
cbc25978be5a
tpudrv10.c: beginning to reconstruct the frequency programming function
Mychaela Falconia <falcon@freecalypso.org>
parents:
413
diff
changeset
|
359 m1++; |
|
cbc25978be5a
tpudrv10.c: beginning to reconstruct the frequency programming function
Mychaela Falconia <falcon@freecalypso.org>
parents:
413
diff
changeset
|
360 magic1 = m1->magic; |
|
cbc25978be5a
tpudrv10.c: beginning to reconstruct the frequency programming function
Mychaela Falconia <falcon@freecalypso.org>
parents:
413
diff
changeset
|
361 |
|
cbc25978be5a
tpudrv10.c: beginning to reconstruct the frequency programming function
Mychaela Falconia <falcon@freecalypso.org>
parents:
413
diff
changeset
|
362 if (downlink) { |
|
cbc25978be5a
tpudrv10.c: beginning to reconstruct the frequency programming function
Mychaela Falconia <falcon@freecalypso.org>
parents:
413
diff
changeset
|
363 sp0x20 = 0x27627 * s->dl_mult + 8; |
|
cbc25978be5a
tpudrv10.c: beginning to reconstruct the frequency programming function
Mychaela Falconia <falcon@freecalypso.org>
parents:
413
diff
changeset
|
364 farfcn = 5*s->dl_farfcn0 + (arfcn - s->arfcn0); |
|
cbc25978be5a
tpudrv10.c: beginning to reconstruct the frequency programming function
Mychaela Falconia <falcon@freecalypso.org>
parents:
413
diff
changeset
|
365 sp4 = farfcn * s->dl_mult; |
|
cbc25978be5a
tpudrv10.c: beginning to reconstruct the frequency programming function
Mychaela Falconia <falcon@freecalypso.org>
parents:
413
diff
changeset
|
366 sp0x18 = sp4 << 21; |
|
cbc25978be5a
tpudrv10.c: beginning to reconstruct the frequency programming function
Mychaela Falconia <falcon@freecalypso.org>
parents:
413
diff
changeset
|
367 sp0x14 = sp0x20 * farfcn; |
|
415
b3d65ae5f02c
tpudrv10.c: magic2 tables added
Mychaela Falconia <falcon@freecalypso.org>
parents:
414
diff
changeset
|
368 m2 = rf_path[rf_index].rx_magic2; |
|
414
cbc25978be5a
tpudrv10.c: beginning to reconstruct the frequency programming function
Mychaela Falconia <falcon@freecalypso.org>
parents:
413
diff
changeset
|
369 } else { |
|
cbc25978be5a
tpudrv10.c: beginning to reconstruct the frequency programming function
Mychaela Falconia <falcon@freecalypso.org>
parents:
413
diff
changeset
|
370 sp0x20 = 0x2762F; |
|
cbc25978be5a
tpudrv10.c: beginning to reconstruct the frequency programming function
Mychaela Falconia <falcon@freecalypso.org>
parents:
413
diff
changeset
|
371 farfcn = 5*s->ul_farfcn0 + (arfcn - s->arfcn0); |
|
cbc25978be5a
tpudrv10.c: beginning to reconstruct the frequency programming function
Mychaela Falconia <falcon@freecalypso.org>
parents:
413
diff
changeset
|
372 sp4 = magic1 * s->ul_sign + farfcn; |
|
cbc25978be5a
tpudrv10.c: beginning to reconstruct the frequency programming function
Mychaela Falconia <falcon@freecalypso.org>
parents:
413
diff
changeset
|
373 sp0x18 = sp4 << 21; |
|
cbc25978be5a
tpudrv10.c: beginning to reconstruct the frequency programming function
Mychaela Falconia <falcon@freecalypso.org>
parents:
413
diff
changeset
|
374 sp0x14 = sp0x20 * (magic1 * s->ul_sign + farfcn); |
|
415
b3d65ae5f02c
tpudrv10.c: magic2 tables added
Mychaela Falconia <falcon@freecalypso.org>
parents:
414
diff
changeset
|
375 m2 = magic2_tx; |
|
414
cbc25978be5a
tpudrv10.c: beginning to reconstruct the frequency programming function
Mychaela Falconia <falcon@freecalypso.org>
parents:
413
diff
changeset
|
376 } |
|
cbc25978be5a
tpudrv10.c: beginning to reconstruct the frequency programming function
Mychaela Falconia <falcon@freecalypso.org>
parents:
413
diff
changeset
|
377 |
|
415
b3d65ae5f02c
tpudrv10.c: magic2 tables added
Mychaela Falconia <falcon@freecalypso.org>
parents:
414
diff
changeset
|
378 while(m2->limit < sp4) |
|
b3d65ae5f02c
tpudrv10.c: magic2 tables added
Mychaela Falconia <falcon@freecalypso.org>
parents:
414
diff
changeset
|
379 m2++; |
|
b3d65ae5f02c
tpudrv10.c: magic2 tables added
Mychaela Falconia <falcon@freecalypso.org>
parents:
414
diff
changeset
|
380 magic2_byte = (m2->magic & 7) << 5; |
|
b3d65ae5f02c
tpudrv10.c: magic2 tables added
Mychaela Falconia <falcon@freecalypso.org>
parents:
414
diff
changeset
|
381 |
|
416
5ca341a26dda
tpudrv10.c: frequency programming function reconstructed
Mychaela Falconia <falcon@freecalypso.org>
parents:
415
diff
changeset
|
382 sp8 = (sp0x14 / 16) >> 21; |
|
5ca341a26dda
tpudrv10.c: frequency programming function reconstructed
Mychaela Falconia <falcon@freecalypso.org>
parents:
415
diff
changeset
|
383 sp0xC = sp0x14 - (sp8 << 25); |
|
5ca341a26dda
tpudrv10.c: frequency programming function reconstructed
Mychaela Falconia <falcon@freecalypso.org>
parents:
415
diff
changeset
|
384 sp0x10 = (((sp8 << 4) + sp0xC) * 0x1A00000 - 0x18) >> 21; |
|
69
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
385 |
|
416
5ca341a26dda
tpudrv10.c: frequency programming function reconstructed
Mychaela Falconia <falcon@freecalypso.org>
parents:
415
diff
changeset
|
386 return ((sp0xC & 0xF) << 12) | ((sp8 & 0x7F) << 16) | ((sp0x10 & 0xF) << 8); |
|
69
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
387 } |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
388 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
389 /*------------------------------------------*/ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
390 /* Convert_l1_radio_freq */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
391 /*------------------------------------------*/ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
392 /* conversion of l1 radio_freq to */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
393 /* real channel number */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
394 /*------------------------------------------*/ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
395 SYS_UWORD16 Convert_l1_radio_freq(SYS_UWORD16 radio_freq) |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
396 { |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
397 switch(l1_config.std.id) |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
398 { |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
399 case GSM: |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
400 case DCS1800: |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
401 case PCS1900: |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
402 case GSM850: |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
403 return (radio_freq); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
404 //omaps00090550 break; |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
405 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
406 case DUAL: |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
407 { |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
408 if (radio_freq < l1_config.std.first_radio_freq_band2) |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
409 // GSM band... |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
410 return(radio_freq); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
411 else |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
412 // DCS band... |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
413 return (radio_freq - l1_config.std.first_radio_freq_band2 + 512); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
414 } |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
415 //omaps00090550 break; |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
416 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
417 case DUALEXT: |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
418 { |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
419 if (radio_freq < l1_config.std.first_radio_freq_band2) |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
420 // E-GSM band... |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
421 { |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
422 if(radio_freq <= 124) |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
423 // GSM part... |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
424 return(radio_freq); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
425 if(radio_freq < 174) |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
426 // Extended part... |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
427 return (radio_freq - 125 + 975); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
428 else |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
429 // Extended part, special case of ARFCN=0 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
430 return(0); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
431 } |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
432 else |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
433 { |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
434 // DCS band... |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
435 return (radio_freq - l1_config.std.first_radio_freq_band2 + 512); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
436 } |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
437 } |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
438 // break; |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
439 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
440 case GSM_E: |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
441 { |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
442 if(radio_freq <= 124) |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
443 // GSM part... |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
444 return(radio_freq); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
445 else |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
446 if(radio_freq < 174) |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
447 // Extended part... |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
448 return (radio_freq - 125 + 975); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
449 else |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
450 // Extended part, special case of ARFCN=0 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
451 return(0); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
452 } |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
453 //omaps00090550 break; |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
454 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
455 case DUAL_US: |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
456 { |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
457 if (radio_freq < l1_config.std.first_radio_freq_band2) |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
458 { |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
459 return(radio_freq - l1_config.std.first_radio_freq + 128); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
460 } |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
461 else |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
462 { |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
463 // PCS band... |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
464 return (radio_freq - l1_config.std.first_radio_freq_band2 + 512); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
465 } |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
466 } |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
467 // break; |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
468 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
469 default: // should never occur. |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
470 return(radio_freq); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
471 } // end of switch |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
472 } |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
473 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
474 /*------------------------------------------*/ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
475 /* rf_init */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
476 /*------------------------------------------*/ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
477 /* Initialization routine for PLL */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
478 /* Effective downloading through TSP */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
479 /*------------------------------------------*/ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
480 /* Rita and LoCosto versions look totally */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
481 /* different, reconstructing from disasm. */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
482 /*------------------------------------------*/ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
483 WORD32 rf_init(WORD32 t) |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
484 { |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
485 *TP_Ptr++ = TPU_AT(t); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
486 *TP_Ptr++ = TPU_MOVE(TSP_CTRL1, 0x47); |
|
616
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
487 *TP_Ptr++ = TPU_MOVE(TSP_ACT, 0x01); |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
488 *TP_Ptr++ = TPU_MOVE(TSP_ACT, 0x00); |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
489 *TP_Ptr++ = TPU_MOVE(TSP_ACT, 0x01); |
|
69
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
490 t += 8; |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
491 *TP_Ptr++ = TPU_AT(t); |
|
616
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
492 TSP_TO_RF_16(0x8008); |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
493 *TP_Ptr++ = TPU_MOVE(TSP_ACT, 0x1F); |
|
69
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
494 t += 7; |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
495 *TP_Ptr++ = TPU_AT(t); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
496 *TP_Ptr++ = TPU_AT(t); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
497 *TP_Ptr++ = TPU_AT(t); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
498 *TP_Ptr++ = TPU_AT(t); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
499 *TP_Ptr++ = TPU_AT(t); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
500 *TP_Ptr++ = TPU_AT(t); |
|
616
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
501 *TP_Ptr++ = TPU_MOVE(TSP_ACT, 0x1F); |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
502 *TP_Ptr++ = TPU_MOVE(TSP_ACT, 0x1E); |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
503 *TP_Ptr++ = TPU_MOVE(TSP_ACT, 0x1F); |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
504 TSP_TO_RF_16(0x8018); |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
505 t += 9; |
|
69
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
506 *TP_Ptr++ = TPU_AT(t); |
|
616
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
507 TSP_TO_RF_24(0x140753); |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
508 t += 8; |
|
69
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
509 *TP_Ptr++ = TPU_AT(t); |
|
616
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
510 TSP_TO_RF_24(0x2db084); |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
511 t += 8; |
|
69
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
512 *TP_Ptr++ = TPU_AT(t); |
|
616
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
513 TSP_TO_RF_8((magic_83be26 << 4) | (magic_83be25 << 5) | 0x06); |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
514 t += 384; |
|
69
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
515 *TP_Ptr++ = TPU_AT(t); |
|
616
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
516 TSP_TO_RF_24(((UWORD32) magic_83be24 << 19) | 7); |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
517 t += 8; |
|
69
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
518 return(t); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
519 } |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
520 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
521 /*------------------------------------------*/ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
522 /* rf_init_light */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
523 /*------------------------------------------*/ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
524 /* Initialization routine for PLL */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
525 /* Effective downloading through TSP */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
526 /*------------------------------------------*/ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
527 WORD32 rf_init_light(WORD32 t) |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
528 { |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
529 // initialization for change of multi-band configuration dependent on STD |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
530 return(t); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
531 } |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
532 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
533 UWORD8 arfcn_to_rf_index(SYS_UWORD16 arfcn) |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
534 { |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
535 UWORD8 index; |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
536 extern const T_STD_CONFIG std_config[]; |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
537 index = std_config[l1_config.std.id].band[0]; |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
538 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
539 if ((std_config[l1_config.std.id].band[1] != BAND_NONE) && IS_HIGH_BAND(arfcn)) |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
540 index = std_config[l1_config.std.id].band[1]; |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
541 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
542 return (index - 1); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
543 } |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
544 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
545 /*------------------------------------------*/ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
546 /* rf_program */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
547 /*------------------------------------------*/ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
548 /* Programs the RF synthesizer */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
549 /* called each frame */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
550 /* downloads NA counter value */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
551 /* t = start time in the current frame */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
552 /*------------------------------------------*/ //change 2 UWORD8 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
553 UWORD32 rf_program(UWORD32 t, SYS_UWORD16 radio_freq, UWORD32 rx) |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
554 { |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
555 SYS_UWORD16 arfcn; |
|
616
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
556 UWORD32 sp0x10, sp0x14; |
|
69
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
557 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
558 rfband = Cust_is_band_high(radio_freq); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
559 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
560 arfcn = Convert_l1_radio_freq(radio_freq); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
561 #ifdef ARFCN_DEBUG |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
562 trace_arfcn(arfcn); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
563 #endif |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
564 rf_index = arfcn_to_rf_index(arfcn); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
565 |
|
616
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
566 sp0x10 = calc_freq_prog(arfcn, rx); |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
567 if (rx == 1) { |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
568 TSP_TO_RF_24(sp0x10 | magic2_byte | MODE2); |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
569 *TP_Ptr++ = TPU_WAIT(1); |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
570 TSP_TO_RF_16(0x8A18 | rf_path[rf_index].rf_chip_band); |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
571 TSP_TO_RF_24(sp0x10 | magic2_byte | MODE2); |
|
69
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
572 } else { |
|
616
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
573 sp0x14 = calc_tx_magic(arfcn); |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
574 TSP_TO_ABB(0x80); |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
575 *TP_Ptr++ = TPU_MOVE(TSP_ACT, 0x17); |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
576 TSP_TO_RF_16(0x0518 | rf_path[rf_index].rf_chip_band); |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
577 TSP_TO_RF_24(sp0x10 | magic2_byte | MODE2); |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
578 *TP_Ptr++ = TPU_FAT(0x1280); |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
579 TSP_TO_ABB(0xC0); |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
580 *TP_Ptr++ = TPU_FAT(0x128B); |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
581 TSP_TO_RF_16(sp0x14 | MODE5); |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
582 *TP_Ptr++ = TPU_FAT(0x12F7); |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
583 TSP_TO_RF_24(0x140973); |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
584 *TP_Ptr++ = TPU_FAT(0x1305); |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
585 TSP_TO_ABB(0x80); |
|
69
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
586 } |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
587 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
588 return(t); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
589 } |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
590 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
591 /**************************************************************************/ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
592 /**************************************************************************/ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
593 /* EXTERNAL FUNCTIONS CALLED BY LAYER1 */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
594 /* COMMON TO L1 and TOOLKIT */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
595 /**************************************************************************/ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
596 /**************************************************************************/ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
597 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
598 /*------------------------------------------*/ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
599 /* agc */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
600 /*------------------------------------------*/ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
601 /* Program a gain into IF amp */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
602 /* agc_value : gain in dB */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
603 /* */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
604 /* additional parameter for LNA setting */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
605 /*------------------------------------------*/ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
606 /* Rita and LoCosto versions look totally */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
607 /* different, reconstructing from disasm. */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
608 /*------------------------------------------*/ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
609 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
610 void l1dmacro_agc(SYS_UWORD16 radio_freq, WORD8 gain, UWORD8 lna_off) |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
611 { |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
612 int agc_table_index; |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
613 |
|
616
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
614 agc_table_index = gain - 6; |
|
69
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
615 if (agc_table_index < 0) |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
616 agc_table_index++; |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
617 agc_table_index >>= 1; |
|
616
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
618 if (agc_table_index >= 27) |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
619 agc_table_index = 26; |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
620 if (agc_table_index < 0) |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
621 agc_table_index = 0; |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
622 *TP_Ptr++ = TPU_FAT(0x1313); |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
623 TSP_TO_RF_16(AGC_TABLE[agc_table_index] << 11 | 0x3B9); |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
624 lna_off_flag = (lna_off & 1) << 15; |
|
69
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
625 } |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
626 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
627 /*------------------------------------------*/ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
628 /* l1dmacro_rx_synth */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
629 /*------------------------------------------*/ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
630 /* programs RF synth for recceive */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
631 /*------------------------------------------*/ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
632 void l1dmacro_rx_synth(SYS_UWORD16 radio_freq) |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
633 { |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
634 UWORD32 t; |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
635 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
636 // Important: always use rx_synth_start_time for first TPU_AT |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
637 // Never remove below 2 lines!!! |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
638 t = l1_config.params.rx_synth_start_time; |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
639 *TP_Ptr++ = TPU_FAT (t); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
640 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
641 t = rf_program(t, radio_freq, 1); // direction is set to 1 for Rx |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
642 } |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
643 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
644 /*------------------------------------------*/ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
645 /* l1dmacro_tx_synth */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
646 /*------------------------------------------*/ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
647 /* programs RF synth for transmit */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
648 /* programs OPLL for transmit */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
649 /*------------------------------------------*/ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
650 void l1dmacro_tx_synth(SYS_UWORD16 radio_freq) |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
651 { |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
652 UWORD32 t; |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
653 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
654 // Important: always use tx_synth_start_time for first TPU_AT |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
655 // Never remove below 2 lines!!! |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
656 t = l1_config.params.tx_synth_start_time; |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
657 *TP_Ptr++ = TPU_FAT (t); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
658 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
659 t = rf_program(t, radio_freq, 0); // direction set to 0 for Tx |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
660 } |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
661 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
662 /*------------------------------------------*/ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
663 /* l1dmacro_rx_up */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
664 /*------------------------------------------*/ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
665 /* Open window for normal burst reception */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
666 /*------------------------------------------*/ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
667 /* Rita version differs from LoCosto, */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
668 /* reconstructing from disassembly. */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
669 /*------------------------------------------*/ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
670 void l1dmacro_rx_up (void) |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
671 { |
|
616
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
672 *TP_Ptr++ = TPU_FAT(0x1321); |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
673 TSP_TO_RF_16(0x9A18 | rf_path[rf_index].rf_chip_band); |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
674 *TP_Ptr++ = TPU_FAT(7); |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
675 TSP_TO_RF_16(0x0238 | rf_path[rf_index].rf_chip_band | lna_off_flag); |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
676 *TP_Ptr++ = TPU_WAIT(5); |
|
69
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
677 TSP_TO_ABB(0x10); |
|
616
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
678 *TP_Ptr++ = TPU_FAT(0x1B); |
|
69
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
679 TSP_TO_ABB(0x18); |
|
616
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
680 *TP_Ptr++ = TPU_FAT(0x36); |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
681 *TP_Ptr++ = TPU_MOVE(TSP_ACT, rf_path[rf_index].rx_up | 0x09); |
|
69
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
682 *TP_Ptr++ = TPU_FAT(62); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
683 TSP_TO_ABB(0x14); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
684 } |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
685 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
686 /*------------------------------------------*/ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
687 /* l1pdmacro_rx_down */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
688 /*------------------------------------------*/ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
689 /* Close window for normal burst reception */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
690 /*------------------------------------------*/ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
691 /* Rita version differs from LoCosto, */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
692 /* reconstructing from disassembly. */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
693 /*------------------------------------------*/ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
694 void l1dmacro_rx_down (WORD32 t) |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
695 { |
|
616
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
696 *TP_Ptr++ = TPU_FAT(t - 36); |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
697 TSP_TO_RF_16(0x8018); |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
698 *TP_Ptr++ = TPU_MOVE(TSP_ACT, rf_path[rf_index].rx_down | 0x09); |
|
69
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
699 *TP_Ptr++ = TPU_FAT(t - 4); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
700 TSP_TO_ABB(0x00); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
701 } |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
702 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
703 /*------------------------------------------*/ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
704 /* l1dmacro_tx_up */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
705 /*------------------------------------------*/ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
706 /* Open transmission window for normal burst*/ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
707 /*------------------------------------------*/ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
708 /* Rita version differs from LoCosto, */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
709 /* reconstructing from disassembly. */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
710 /*------------------------------------------*/ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
711 void l1dmacro_tx_up (void) |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
712 { |
|
616
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
713 *TP_Ptr++ = TPU_FAT(0x1309); |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
714 TSP_TO_RF_16(0x0558 | rf_path[rf_index].rf_chip_band); |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
715 *TP_Ptr++ = TPU_FAT(0x133A); |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
716 TSP_TO_RF_24(0x140753); |
|
69
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
717 *TP_Ptr++ = TPU_FAT(0x1384); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
718 TSP_TO_ABB(0xA0); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
719 *TP_Ptr++ = TPU_FAT(16); |
|
616
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
720 *TP_Ptr++ = TPU_MOVE(TSP_ACT, rf_path[rf_index].tx_up | 0x01); |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
721 *TP_Ptr++ = TPU_FAT(24); |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
722 *TP_Ptr++ = TPU_MOVE(TSP_ACT, rf_path[rf_index].tx_up | 0x21); |
|
69
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
723 } |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
724 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
725 /*-------------------------------------------*/ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
726 /* l1dmacro_tx_down */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
727 /*-------------------------------------------*/ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
728 /* Close transmission window for normal burst*/ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
729 /*-------------------------------------------*/ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
730 /* Rita version differs from LoCosto, */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
731 /* reconstructing from disassembly. */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
732 /*-------------------------------------------*/ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
733 void l1dmacro_tx_down (WORD32 t, BOOL tx_flag, UWORD8 adc_active) |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
734 { |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
735 if (adc_active == ACTIVE) |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
736 l1dmacro_adc_read_tx(t - 44); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
737 *TP_Ptr++ = TPU_FAT(t - 4); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
738 TSP_TO_ABB(0x80); |
|
616
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
739 *TP_Ptr++ = TPU_FAT(t + 13); |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
740 *TP_Ptr++ = TPU_MOVE(TSP_ACT, rf_path[rf_index].tx_down | 0x21); |
|
69
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
741 *TP_Ptr++ = TPU_FAT(t + 22); |
|
616
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
742 *TP_Ptr++ = TPU_MOVE(TSP_ACT, rf_path[rf_index].tx_down | 0x01); |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
743 TSP_TO_RF_8(0x18); |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
744 *TP_Ptr++ = TPU_FAT(t + 29); |
|
69
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
745 TSP_TO_ABB(0x00); |
|
616
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
746 *TP_Ptr++ = TPU_MOVE(TSP_ACT, rf_path[rf_index].tx_down | 0x09); |
|
69
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
747 } |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
748 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
749 /* |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
750 * l1dmacro_rx_nb |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
751 * |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
752 * Receive Normal burst |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
753 */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
754 void l1dmacro_rx_nb (SYS_UWORD16 radio_freq) |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
755 { |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
756 l1dmacro_rx_up(); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
757 l1dmacro_rx_down(STOP_RX_SNB); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
758 } |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
759 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
760 /* |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
761 * l1dmacro_rx_sb |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
762 * Receive Synchro burst |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
763 */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
764 void l1dmacro_rx_sb (SYS_UWORD16 radio_freq) |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
765 { |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
766 l1dmacro_rx_up(); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
767 l1dmacro_rx_down (STOP_RX_SB); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
768 } |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
769 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
770 /* |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
771 * l1dmacro_rx_ms |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
772 * |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
773 * Receive Power Measurement window |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
774 */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
775 void l1dmacro_rx_ms (SYS_UWORD16 radio_freq) |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
776 { |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
777 l1dmacro_rx_up(); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
778 l1dmacro_rx_down (STOP_RX_PW_1); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
779 } |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
780 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
781 /* |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
782 * l1dmacro_rx_fb |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
783 * |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
784 * Receive Frequency burst |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
785 */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
786 void l1dmacro_rx_fb (SYS_UWORD16 radio_freq) |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
787 { |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
788 l1dmacro_rx_up(); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
789 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
790 *TP_Ptr++ = TPU_AT(0); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
791 *TP_Ptr++ = TPU_AT(0); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
792 *TP_Ptr++ = TPU_AT(0); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
793 *TP_Ptr++ = TPU_AT(0); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
794 *TP_Ptr++ = TPU_AT(0); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
795 *TP_Ptr++ = TPU_AT(0); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
796 *TP_Ptr++ = TPU_AT(0); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
797 *TP_Ptr++ = TPU_AT(0); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
798 *TP_Ptr++ = TPU_AT(0); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
799 *TP_Ptr++ = TPU_AT(0); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
800 *TP_Ptr++ = TPU_AT(0); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
801 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
802 l1dmacro_rx_down (STOP_RX_FB); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
803 } |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
804 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
805 /* |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
806 * l1dmacro_rx_fb26 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
807 * |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
808 * Receive Frequency burst for TCH. |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
809 */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
810 void l1dmacro_rx_fb26 (SYS_UWORD16 radio_freq) |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
811 { |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
812 l1dmacro_rx_up(); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
813 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
814 *TP_Ptr++ = TPU_AT(0); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
815 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
816 l1dmacro_rx_down (STOP_RX_FB26); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
817 } |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
818 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
819 /* |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
820 * l1dmacro_tx_nb |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
821 * |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
822 * Transmit Normal burst |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
823 */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
824 void l1dmacro_tx_nb (SYS_UWORD16 radio_freq, UWORD8 txpwr, UWORD8 adc_active) |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
825 { |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
826 l1dmacro_tx_up (); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
827 l1dmacro_tx_down (l1_config.params.tx_nb_duration, FALSE, adc_active); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
828 } |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
829 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
830 /* |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
831 * l1dmacro_tx_ra |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
832 * |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
833 * Transmit Random Access burst |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
834 */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
835 void l1dmacro_tx_ra (SYS_UWORD16 radio_freq, UWORD8 txpwr, UWORD8 adc_active) |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
836 { |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
837 l1dmacro_tx_up (); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
838 l1dmacro_tx_down (l1_config.params.tx_ra_duration, FALSE, adc_active); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
839 } |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
840 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
841 #if TESTMODE |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
842 /* |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
843 * l1dmacro_rx_cont |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
844 * |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
845 * Receive continuously |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
846 */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
847 void l1dmacro_rx_cont (SYS_UWORD16 radio_freq, UWORD8 txpwr) |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
848 { |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
849 l1dmacro_rx_up (); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
850 } |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
851 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
852 /* |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
853 * l1dmacro_tx_cont |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
854 * |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
855 * Transmit continuously |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
856 */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
857 void l1dmacro_tx_cont (SYS_UWORD16 radio_freq, UWORD8 txpwr) |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
858 { |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
859 l1dmacro_tx_up (); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
860 } |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
861 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
862 /* |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
863 * l1d_macro_stop_cont |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
864 * |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
865 * Stop continuous Tx or Rx |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
866 */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
867 void l1dmacro_stop_cont (void) |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
868 { |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
869 if (l1_config.tmode.rf_params.down_up == TMODE_DOWNLINK) |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
870 l1dmacro_rx_down(STOP_RX_SNB); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
871 else |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
872 l1dmacro_tx_down(l1_config.params.tx_nb_duration, FALSE, 0); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
873 } |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
874 #endif /* TESTMODE */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
875 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
876 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
877 /*------------------------------------------*/ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
878 /* l1dmacro_reset_hw */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
879 /*------------------------------------------*/ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
880 /* Reset and set OFFSET register */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
881 /*------------------------------------------*/ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
882 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
883 void l1dmacro_reset_hw(UWORD32 servingCellOffset) |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
884 { |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
885 TPU_Reset(1); // reset TPU only, no TSP reset |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
886 TPU_Reset(0); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
887 TP_Ptr = (UWORD16 *) TPU_RAM; |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
888 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
889 *TP_Ptr++ = TPU_OFFSET(servingCellOffset); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
890 } |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
891 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
892 // l1dmacro_RF_sleep |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
893 // Program RF for BIG or DEEP sleep |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
894 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
895 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
896 /* Rita version differs from LoCosto, reconstructing from disassembly */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
897 void l1dmacro_RF_sleep (void) |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
898 { |
|
406
d926a8986755
tpudrv10.c placeholder: all meat disabled in order to compile
Mychaela Falconia <falcon@freecalypso.org>
parents:
404
diff
changeset
|
899 #if 0 |
|
69
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
900 TSP_TO_RF(0x0002); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
901 *TP_Ptr++ = TPU_MOVE(TSP_ACT, RF_SER_ON); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
902 *TP_Ptr++ = TPU_WAIT(1); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
903 *TP_Ptr++ = TPU_MOVE(TSP_SPI_SET1, 0x21); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
904 *TP_Ptr++ = TPU_MOVE(TSP_SPI_SET2, 0x02); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
905 *TP_Ptr++ = TPU_MOVE(TSP_CTRL1, TC1_DEVICE_RF | 0x01); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
906 *TP_Ptr++ = TPU_MOVE(TSP_CTRL2, TC2_WR); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
907 *TP_Ptr++ = TPU_WAIT(100); |
|
406
d926a8986755
tpudrv10.c placeholder: all meat disabled in order to compile
Mychaela Falconia <falcon@freecalypso.org>
parents:
404
diff
changeset
|
908 #endif |
|
69
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
909 /* code from tpudrv61.c follows, same for Rita and LoCosto */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
910 *TP_Ptr++ = TPU_SLEEP; |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
911 TP_Ptr = (SYS_UWORD16 *) TPU_RAM; |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
912 TP_Enable(1); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
913 #if 0 /* present in LoCosto but not in TCS211 */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
914 TPU_wait_idle(); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
915 #endif |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
916 } |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
917 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
918 // l1dmacro_RF_wakeup |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
919 //* wakeup RF from BIG or DEEP sleep |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
920 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
921 /* Rita version differs from LoCosto, reconstructing from disassembly */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
922 void l1dmacro_RF_wakeup (void) |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
923 { |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
924 TP_Ptr = (SYS_UWORD16 *) TPU_RAM; |
|
406
d926a8986755
tpudrv10.c placeholder: all meat disabled in order to compile
Mychaela Falconia <falcon@freecalypso.org>
parents:
404
diff
changeset
|
925 #if 0 |
|
69
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
926 *TP_Ptr++ = TPU_MOVE(TSP_SPI_SET1, 0x01); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
927 *TP_Ptr++ = TPU_MOVE(TSP_SPI_SET2, 0x06); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
928 *TP_Ptr++ = TPU_MOVE(TSP_CTRL1, TC1_DEVICE_RF | 0x01); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
929 *TP_Ptr++ = TPU_MOVE(TSP_CTRL2, TC2_WR); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
930 *TP_Ptr++ = TPU_WAIT(100); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
931 *TP_Ptr++ = TPU_MOVE(TSP_ACT, rf_path[rf_index].rx_down | RF_SER_ON); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
932 *TP_Ptr++ = TPU_WAIT(1); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
933 *TP_Ptr++ = TPU_MOVE(TSP_ACT, rf_path[rf_index].rx_down | RF_SER_OFF); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
934 *TP_Ptr++ = TPU_WAIT(8); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
935 *TP_Ptr++ = TPU_MOVE(TSP_ACT, rf_path[rf_index].rx_down | RF_SER_ON); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
936 *TP_Ptr++ = TPU_WAIT(5); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
937 TSP_TO_RF(0x0012); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
938 *TP_Ptr++ = TPU_FAT(0); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
939 *TP_Ptr++ = TPU_FAT(0); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
940 *TP_Ptr++ = TPU_FAT(0); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
941 *TP_Ptr++ = TPU_FAT(0); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
942 *TP_Ptr++ = TPU_FAT(0); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
943 *TP_Ptr++ = TPU_FAT(0); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
944 TSP_TO_RF(0x003A); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
945 *TP_Ptr++ = TPU_WAIT(7); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
946 TSP_TO_RF(0xC003); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
947 *TP_Ptr++ = TPU_WAIT(7); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
948 TSP_TO_RF(0x02FE); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
949 *TP_Ptr++ = TPU_WAIT(7); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
950 TSP_TO_RF(0x401F); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
951 *TP_Ptr++ = TPU_WAIT(7); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
952 TSP_TO_RF(0x043D); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
953 *TP_Ptr++ = TPU_WAIT(7); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
954 *TP_Ptr++ = TPU_WAIT(117); |
|
406
d926a8986755
tpudrv10.c placeholder: all meat disabled in order to compile
Mychaela Falconia <falcon@freecalypso.org>
parents:
404
diff
changeset
|
955 #endif |
|
69
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
956 /* code from tpudrv61.c follows, same for Rita and LoCosto */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
957 *TP_Ptr++ = TPU_SLEEP; |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
958 TP_Ptr = (SYS_UWORD16 *) TPU_RAM; |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
959 TP_Enable(1); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
960 #if 0 /* present in LoCosto but not in TCS211 */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
961 TPU_wait_idle(); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
962 #endif |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
963 } |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
964 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
965 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
966 // l1dmacro_init_hw |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
967 // Reset VEGA, then remove reset |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
968 // Init RF/IF synthesizers |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
969 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
970 void l1dmacro_init_hw(void) |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
971 { |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
972 WORD32 t = 100; // start time for actions |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
973 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
974 TP_Reset(1); // reset TPU and TSP |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
975 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
976 // GSM 1.5 : TPU clock enable is in TPU |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
977 //--------------------------------------- |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
978 TPU_ClkEnable(1); // TPU CLOCK ON |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
979 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
980 TP_Reset(0); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
981 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
982 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
983 TP_Ptr = (UWORD16 *) TPU_RAM; |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
984 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
985 // TPU_SLEEP |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
986 l1dmacro_idle(); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
987 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
988 *TP_Ptr++ = TPU_AT(t); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
989 *TP_Ptr++ = TPU_SYNC(0); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
990 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
991 /* from disassembly, differs from LoCosto version */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
992 *TP_Ptr++ = TPU_MOVE(TSP_SPI_SET1, 0x20); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
993 *TP_Ptr++ = TPU_MOVE(TSP_SPI_SET2, 0x06); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
994 *TP_Ptr++ = TPU_MOVE(TSP_SPI_SET3, 0x00); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
995 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
996 t = 1000; // arbitrary start time |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
997 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
998 t = rf_init(t); // Initialize RF Board |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
999 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1000 *TP_Ptr++ = TPU_AT(t); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1001 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1002 // TPU_SLEEP |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1003 l1dmacro_idle(); |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1004 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1005 return; |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1006 } |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1007 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1008 /*------------------------------------------*/ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1009 /* l1dmacro_init_hw_light */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1010 /*------------------------------------------*/ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1011 /* Reset VEGA, then remove reset */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1012 /* Init RF/IF synthesizers */ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1013 /*------------------------------------------*/ |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1014 void l1dmacro_init_hw_light(void) |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1015 { |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1016 UWORD32 t = 100; // start time for actions // |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1017 TP_Ptr = (SYS_UWORD16 *) TPU_RAM; // |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1018 *TP_Ptr++ = TPU_AT(t); // |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1019 t = 1000; // arbitrary start time // |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1020 |
|
616
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
1021 /* D-Sample 20020917 fw does full rf_init() here */ |
|
f8e74b692c80
tpudrv10.c: first actual reconstruction attempt
Mychaela Falconia <falcon@freecalypso.org>
parents:
416
diff
changeset
|
1022 t = rf_init(t); // Initialize RF Board // |
|
69
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1023 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1024 *TP_Ptr++ = TPU_AT(t); // |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1025 l1dmacro_idle(); // |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1026 |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1027 return; |
|
50a15a54801e
src/cs/layer1: import from tcs211-l1-reconst project
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1028 } |
