annotate src/cs/layer1/tpu_drivers/source0/tpudrv10.c @ 637:31d2824683cb

armio.c & targets/gtamodem.h: GPIO3 and MCSI dummy outputs generalized
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 30 Jan 2020 01:30:08 +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 }