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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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 }