FreeCalypso > hg > tcs211-pirelli
comparison chipsetsw/layer1/tpu_drivers/source0/tpudrv12.h @ 26:1a81baea22d7
tpudrv12 module rebuilt from FC reconstructed source, build passes
author | Space Falcon <falcon@ivan.Harhan.ORG> |
---|---|
date | Mon, 07 Sep 2015 19:26:24 +0000 |
parents | 509db1a7b7b8 |
children | 176f5b1bc360 |
comparison
equal
deleted
inserted
replaced
25:0a6d65238088 | 26:1a81baea22d7 |
---|---|
13 #define SAFE_INIT_WA 0 // 1 => ENABLE the "RITA safe init" | 13 #define SAFE_INIT_WA 0 // 1 => ENABLE the "RITA safe init" |
14 // TeST - Enable Main VCO buffer for test | 14 // TeST - Enable Main VCO buffer for test |
15 #define MAIN_VCO_ACCESS_WA 0 // 1 => ENABLE the Main VCO buffer | 15 #define MAIN_VCO_ACCESS_WA 0 // 1 => ENABLE the Main VCO buffer |
16 | 16 |
17 #include "rf.cfg" | 17 #include "rf.cfg" |
18 | |
19 #define CONFIG_TARGET_GTAMODEM 1 | |
18 | 20 |
19 //--- RITA PG declaration | 21 //--- RITA PG declaration |
20 | 22 |
21 #define R_PG_10 0 | 23 #define R_PG_10 0 |
22 #define R_PG_13 1 | 24 #define R_PG_13 1 |
218 // For previous PGs this BIT was unused, so it can be safelly programmed | 220 // For previous PGs this BIT was unused, so it can be safelly programmed |
219 // for all PGs | 221 // for all PGs |
220 | 222 |
221 | 223 |
222 // RF signals connected to TSPACT [0..7] | 224 // RF signals connected to TSPACT [0..7] |
223 //#define RESET_RF BIT_0 // act0 | 225 |
224 #define RF_SER_ON BIT_0 // act0 | 226 #if CONFIG_TARGET_PIRELLI |
227 #define RF_RESET_LINE BIT_5 | |
228 #else | |
229 #define RF_RESET_LINE BIT_0 | |
230 #endif | |
231 | |
232 #define RF_SER_ON RF_RESET_LINE | |
225 #define RF_SER_OFF 0 | 233 #define RF_SER_OFF 0 |
226 | 234 |
227 | 235 #define TEST_TX_ON 0 |
228 #if (FEM_TEST==1) | 236 #define TEST_RX_ON 0 |
229 //for test | 237 |
230 #define TEST_TX_ON BIT_2 // act2 | 238 #if CONFIG_TARGET_GTAMODEM || CONFIG_TARGET_LEONARDO |
231 #define TEST_RX_ON BIT_3 // act3 | 239 |
232 | 240 // 4-band config (E-sample, P2, Leonardo) |
233 //3-band config (D-sample) | 241 #define FEM_7 BIT_2 // act2 |
234 #define FEM_1 BIT_1 // act1 | 242 #define FEM_8 BIT_1 // act1 |
235 #define FEM_2 0 //BIT_2 // act2 | 243 #define FEM_9 BIT_4 // act4 |
236 #define FEM_3 0 //BIT_3 // act3 | 244 |
237 #elif (BOARD == 42 || BOARD == 43 || BOARD == 35 || (BOARD == 41 && (RF_PA == 0 || RF_PA == 1 || RF_PA == 2 || RF_PA == 4))) // ESample, P2, Leonardo | 245 #define PA_HI_BAND BIT_3 // act3 |
238 #define TEST_TX_ON 0 | 246 #define PA_LO_BAND 0 |
239 #define TEST_RX_ON 0 | 247 #define PA_OFF 0 |
240 // 4-band config (E-sample, P2, Leonardo) | 248 |
241 #define FEM_7 BIT_2 // act2 | 249 #define FEM_PINS (FEM_7 | FEM_8 | FEM_9) |
242 #define FEM_8 BIT_1 // act1 | 250 |
243 #define FEM_9 BIT_4 // act4 | 251 #define FEM_OFF ( FEM_PINS ^ 0 ) |
244 | 252 |
245 #if (RF_PA == 0) // LCPA for ES, P2 and Leo | 253 #define FEM_SLEEP ( 0 ) |
246 #define PA_HI_BAND BIT_3 // act3 | 254 |
247 #define PA_LO_BAND 0 | 255 // This configuration is always inverted. |
248 #define PA_OFF 0 | 256 |
249 #elif (RF_PA == 1) // RF3146 for ES and Leonardo | 257 // RX_UP/DOWN and TX_UP/DOWN |
250 #define PA_HI_BAND BIT_3 // act3 | 258 #if CONFIG_TARGET_GTAMODEM |
251 #define PA_LO_BAND 0 | 259 // Openmoko's hobbled triband hardware |
252 #define PA_OFF 0 | 260 #define RU_900 ( PA_OFF | FEM_PINS ^ 0 ) |
253 #elif (RF_PA == 2) // RF3133 for P2 and Leonardo | 261 #define RD_900 ( PA_OFF | FEM_PINS ^ 0 ) |
254 #define PA_HI_BAND BIT_3 // act3 | 262 #define TU_900 ( PA_LO_BAND | FEM_PINS ^ FEM_9 ) |
255 #define PA_LO_BAND 0 | 263 #define TD_900 ( PA_OFF | FEM_PINS ^ 0 ) |
256 #define PA_OFF 0 | 264 |
257 #elif (RF_PA == 4) // AWT6108 for Leonardo | 265 #define RU_850 ( PA_OFF | FEM_PINS ^ 0 ) |
258 #define PA_HI_BAND BIT_3 // act3 | 266 #define RD_850 ( PA_OFF | FEM_PINS ^ 0 ) |
259 #define PA_LO_BAND 0 | 267 #define TU_850 ( PA_LO_BAND | FEM_PINS ^ FEM_9 ) |
260 #define PA_OFF 0 | 268 #define TD_850 ( PA_OFF | FEM_PINS ^ 0 ) |
269 | |
270 #define RU_1800 ( PA_OFF | FEM_PINS ^ 0 ) | |
271 #define RD_1800 ( PA_OFF | FEM_PINS ^ 0 ) | |
272 #define TU_1800 ( PA_HI_BAND | FEM_PINS ^ FEM_7 ) | |
273 #define TD_1800 ( PA_OFF | FEM_PINS ^ 0 ) | |
274 | |
275 #define RU_1900 ( PA_OFF | FEM_PINS ^ FEM_8 ) | |
276 #define RD_1900 ( PA_OFF | FEM_PINS ^ 0 ) | |
277 #define TU_1900 ( PA_HI_BAND | FEM_PINS ^ FEM_7 ) | |
278 #define TD_1900 ( PA_OFF | FEM_PINS ^ 0 ) | |
261 #else | 279 #else |
262 #error "RF_PA not correctly defined" | 280 // original quadband arrangement |
281 #define RU_900 ( PA_OFF | FEM_PINS ^ 0 ) | |
282 #define RD_900 ( PA_OFF | FEM_PINS ^ 0 ) | |
283 #define TU_900 ( PA_LO_BAND | FEM_PINS ^ FEM_7 ) | |
284 #define TD_900 ( PA_OFF | FEM_PINS ^ 0 ) | |
285 | |
286 #define RU_850 ( PA_OFF | FEM_PINS ^ FEM_9 ) | |
287 #define RD_850 ( PA_OFF | FEM_PINS ^ 0 ) | |
288 #define TU_850 ( PA_LO_BAND | FEM_PINS ^ FEM_7 ) | |
289 #define TD_850 ( PA_OFF | FEM_PINS ^ 0 ) | |
290 | |
291 #define RU_1800 ( PA_OFF | FEM_PINS ^ 0 ) | |
292 #define RD_1800 ( PA_OFF | FEM_PINS ^ 0 ) | |
293 #define TU_1800 ( PA_HI_BAND | FEM_PINS ^ FEM_8 ) | |
294 #define TD_1800 ( PA_OFF | FEM_PINS ^ 0 ) | |
295 | |
296 #define RU_1900 ( PA_OFF | FEM_PINS ^ 0 ) | |
297 #define RD_1900 ( PA_OFF | FEM_PINS ^ 0 ) | |
298 #define TU_1900 ( PA_HI_BAND | FEM_PINS ^ FEM_8 ) | |
299 #define TD_1900 ( PA_OFF | FEM_PINS ^ 0 ) | |
263 #endif | 300 #endif |
264 | 301 |
265 #else // DSample + EVARITA | 302 #elif CONFIG_TARGET_PIRELLI |
266 #if (RF_PA != 3) // Hitachi for EVARITA | 303 |
267 #error | 304 #define ANTSW_RX_PCS BIT_4 |
268 #endif | 305 #define ANTSW_TX_HIGH BIT_10 |
269 | 306 #define ANTSW_TX_LOW BIT_11 |
270 //#define TEST_RX_ON 0 | 307 |
271 //#define TEST_TX_ON BIT_3 // act3 | 308 #define PA_HI_BAND BIT_3 // act3 |
272 #define TEST_TX_ON 0 | 309 #define PA_LO_BAND 0 |
273 #define TEST_RX_ON BIT_3 // act3 | 310 #define PA_OFF 0 |
274 | 311 |
275 //3-band config (D-sample) | 312 #define PA_ENABLE BIT_0 |
276 #define FEM_1 BIT_1 // act1 | 313 |
277 #define FEM_2 BIT_2 // act2 | 314 // Pirelli uses a non-inverting buffer |
278 #define FEM_3 BIT_3 // act3 | 315 |
279 #endif | 316 #define FEM_OFF ( 0 ) |
280 | 317 |
281 #if (BOARD == 42 || BOARD == 43 || BOARD == 35 || (BOARD == 41 && (RF_PA == 0 || RF_PA == 1 || RF_PA == 2 || RF_PA == 4))) // ESample, P2, Leonardo | 318 #define FEM_SLEEP ( 0 ) |
282 | 319 |
283 #define FEM_PINS (FEM_7 | FEM_8 | FEM_9) | 320 // RX_UP/DOWN and TX_UP/DOWN (triband) |
284 | 321 #define RU_900 ( PA_OFF | 0 ) |
285 #define FEM_OFF ( FEM_PINS ^ 0 ) | 322 #define RD_900 ( PA_OFF | 0 ) |
286 | 323 #define TU_900 ( PA_LO_BAND | ANTSW_TX_LOW ) |
287 #define FEM_SLEEP ( 0 ) | 324 #define TD_900 ( PA_OFF | 0 ) |
288 | 325 |
289 // This configuration is always inverted. | 326 #define RU_850 ( PA_OFF | 0 ) |
290 | 327 #define RD_850 ( PA_OFF | 0 ) |
291 // 4-band config | 328 #define TU_850 ( PA_LO_BAND | ANTSW_TX_LOW ) |
292 // RX_UP/DOWN and TX_UP/DOWN | 329 #define TD_850 ( PA_OFF | 0 ) |
293 #define RU_900 ( PA_OFF | FEM_PINS ^ 0 ) | 330 |
294 #define RD_900 ( PA_OFF | FEM_PINS ^ 0 ) | 331 #define RU_1800 ( PA_OFF | 0 ) |
295 #define TU_900 ( PA_LO_BAND | FEM_PINS ^ FEM_9 ) | 332 #define RD_1800 ( PA_OFF | 0 ) |
296 #define TD_900 ( PA_OFF | FEM_PINS ^ 0 ) | 333 #define TU_1800 ( PA_HI_BAND | ANTSW_TX_HIGH ) |
297 | 334 #define TD_1800 ( PA_OFF | 0 ) |
298 #define RU_850 ( PA_LO_BAND | FEM_PINS ^ 0 ) | 335 |
299 #define RD_850 ( PA_OFF | FEM_PINS ^ 0 ) | 336 #define RU_1900 ( PA_OFF | ANTSW_RX_PCS ) |
300 #define TU_850 ( PA_LO_BAND | FEM_PINS ^ FEM_9 ) | 337 #define RD_1900 ( PA_OFF | 0 ) |
301 #define TD_850 ( PA_OFF | FEM_PINS ^ 0 ) | 338 #define TU_1900 ( PA_HI_BAND | ANTSW_TX_HIGH ) |
302 | 339 #define TD_1900 ( PA_OFF | 0 ) |
303 #define RU_1800 ( PA_OFF | FEM_PINS ^ 0 ) | 340 |
304 #define RD_1800 ( PA_OFF | FEM_PINS ^ 0 ) | 341 #endif // FreeCalypso target selection |
305 #define TU_1800 ( PA_HI_BAND | FEM_PINS ^ FEM_7 ) | |
306 #define TD_1800 ( PA_OFF | FEM_PINS ^ 0 ) | |
307 | |
308 #define RU_1900 ( PA_LO_BAND | FEM_PINS ^ FEM_8 ) | |
309 #define RD_1900 ( PA_OFF | FEM_PINS ^ 0 ) | |
310 #define TU_1900 ( PA_HI_BAND | FEM_PINS ^ FEM_7 ) | |
311 #define TD_1900 ( PA_OFF | FEM_PINS ^ 0 ) | |
312 | |
313 #else // end BOARD = 43 | |
314 // start RF HW interfacing with EVARITA | |
315 | |
316 #define FEM_OFF (FEM_1 | FEM_2) | |
317 #define FEM_SLEEP (0) // To avoid leakage during Deep-Seep | |
318 | |
319 // 3-band config | |
320 // RX_UP/DOWN and TX_UP/DOWN | |
321 #define RU_900 ( FEM_1 | FEM_2 ) | |
322 #define RD_900 ( FEM_1 | FEM_2 ) | |
323 #define TU_900 ( FEM_1 ) | |
324 #define TD_900 ( FEM_1 | FEM_2 ) | |
325 | |
326 #define RU_850 ( FEM_1 | FEM_2 ) | |
327 #define RD_850 ( FEM_1 | FEM_2 ) | |
328 #define TU_850 ( FEM_1 ) | |
329 #define TD_850 ( FEM_1 | FEM_2 ) | |
330 | |
331 #define RU_1800 ( FEM_1 | FEM_2 ) | |
332 #define RD_1800 ( FEM_1 | FEM_2 ) | |
333 #define TU_1800 ( FEM_2 ) | |
334 #define TD_1800 ( FEM_1 | FEM_2 ) | |
335 | |
336 #define RU_1900 ( FEM_1 | FEM_2 ) | |
337 #define RD_1900 ( FEM_1 | FEM_2 ) | |
338 #define TU_1900 ( FEM_2) | |
339 #define TD_1900 ( FEM_1 | FEM_2 ) | |
340 | |
341 #endif // BOARD != 43 | |
342 | 342 |
343 #define TC1_DEVICE_ABB TC1_DEVICE0 // TSPEN0 | 343 #define TC1_DEVICE_ABB TC1_DEVICE0 // TSPEN0 |
344 #if CONFIG_TARGET_PIRELLI | |
345 #define TC1_DEVICE_RF TC1_DEVICE1 // TSPEN1 | |
346 #else | |
344 #define TC1_DEVICE_RF TC1_DEVICE2 // TSPEN2 | 347 #define TC1_DEVICE_RF TC1_DEVICE2 // TSPEN2 |
348 #endif | |
345 | 349 |
346 | 350 |
347 //--- TIMINGS ---------------------------------------------------------- | 351 //--- TIMINGS ---------------------------------------------------------- |
348 | 352 |
349 /*------------------------------------------*/ | 353 /*------------------------------------------*/ |