FreeCalypso > hg > fc-magnetite
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 |
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 } |