FreeCalypso > hg > freecalypso-reveng
diff se_k200i/rf_850.c @ 394:07000c2d21cd
se_k200i: add compiled-in RF parameter table extracts
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sun, 06 Nov 2022 02:35:54 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/se_k200i/rf_850.c Sun Nov 06 02:35:54 2022 +0000 @@ -0,0 +1,232 @@ +/* + * This compiled-in RF parameter default table has been extracted + * out of Vadim's flash1.bin firmware image. This SE K200i version + * equals Openmoko's l1_cust.obj version (which is in turn believed + * to be unchanged TI's internal mainline) in all parameters except + * Tx ramp templates. + * + * Tx ramp templates depend on the PA type and they are generally not + * calibrated per unit, hence most fw designs will incorporate correct + * ramp templates for their PA into their compiled-in RF tables. + * The same principle appears to hold here as well. + */ + +const T_RF_BAND rf_850 = { + { /* Rx structure */ + { /* T_RX_CAL_PARAMS */ + 181, + 40, + 40, + 44, + }, + { /* T_RF_AGC_BANDs */ + { 10, 0}, + { 30, 0}, + { 51, 0}, + { 71, 0}, + { 90, 0}, + { 112, 0}, + { 124, 0}, + { 991, 0}, + { 992, 0}, + { 1023, 0}, + }, + { /* Rx temperature compensation */ + { -15, 0}, + { -5, 0}, + { 6, 0}, + { 16, 0}, + { 25, 0}, + { 35, 0}, + { 45, 0}, + { 56, 0}, + { 66, 0}, + { 75, 0}, + { 100, 0}, + }, + }, + { /* Tx structure */ + { /* levels */ + { 507, 0, 0}, /* 0 */ + { 507, 0, 0}, /* 1 */ + { 507, 0, 0}, /* 2 */ + { 507, 0, 0}, /* 3 */ + { 507, 0, 0}, /* 4 */ + { 507, 0, 0}, /* 5 */ + { 417, 1, 0}, /* 6 */ + { 350, 2, 0}, /* 7 */ + { 282, 3, 0}, /* 8 */ + { 226, 4, 0}, /* 9 */ + { 183, 5, 0}, /* 10 */ + { 148, 6, 0}, /* 11 */ + { 121, 7, 0}, /* 12 */ + { 98, 8, 0}, /* 13 */ + { 80, 9, 0}, /* 14 */ + { 66, 10, 0}, /* 15 */ + { 54, 11, 0}, /* 16 */ + { 44, 12, 0}, /* 17 */ + { 36, 13, 0}, /* 18 */ + { 29, 14, 0}, /* 19 */ + { 29, 14, 0}, /* 20 */ + { 29, 14, 0}, /* 21 */ + { 29, 14, 0}, /* 22 */ + { 29, 14, 0}, /* 23 */ + { 29, 14, 0}, /* 24 */ + { 29, 14, 0}, /* 25 */ + { 29, 14, 0}, /* 26 */ + { 29, 14, 0}, /* 27 */ + { 29, 14, 0}, /* 28 */ + { 29, 14, 0}, /* 29 */ + { 29, 14, 0}, /* 30 */ + { 29, 14, 0}, /* 31 */ + }, + { /* channel calibration tables */ + { /* calibration table 0 */ + { 40, 128}, + { 80, 128}, + { 124, 128}, + { 586, 128}, + { 661, 128}, + { 736, 128}, + { 885, 128}, + { 1023, 128}, + }, + { /* calibration table 1 */ + { 554, 130}, + { 722, 128}, + { 746, 129}, + { 774, 131}, + { 808, 132}, + { 851, 134}, + { 870, 138}, + { 885, 140}, + }, + { /* calibration table 2 */ + { 40, 128}, + { 80, 128}, + { 124, 128}, + { 586, 128}, + { 661, 128}, + { 736, 128}, + { 885, 128}, + { 1023, 128}, + }, + { /* calibration table 3 */ + { 40, 128}, + { 80, 128}, + { 124, 128}, + { 586, 128}, + { 661, 128}, + { 736, 128}, + { 885, 128}, + { 1023, 128}, + }, + }, + { /* ramps */ + { /* profile 0 */ + /* ramp-up */ + { 0, 0, 0, 0, 0, 0, 0, 0, 9, 18, 25, 31, 30, 15, 0, 0}, + /* ramp-down */ + { 10, 26, 31, 26, 19, 11, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + }, + { /* profile 1 */ + /* ramp-up */ + { 0, 0, 0, 0, 0, 0, 0, 0, 9, 18, 25, 31, 30, 15, 0, 0}, + /* ramp-down */ + { 10, 26, 31, 26, 19, 11, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + }, + { /* profile 2 */ + /* ramp-up */ + { 0, 0, 0, 0, 0, 0, 0, 0, 9, 18, 25, 31, 30, 15, 0, 0}, + /* ramp-down */ + { 0, 26, 31, 26, 29, 11, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + }, + { /* profile 3 */ + /* ramp-up */ + { 0, 0, 0, 0, 0, 0, 0, 0, 9, 18, 25, 31, 30, 15, 0, 0}, + /* ramp-down */ + { 0, 26, 31, 26, 29, 11, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + }, + { /* profile 4 */ + /* ramp-up */ + { 0, 0, 0, 0, 0, 0, 0, 0, 9, 18, 25, 31, 30, 15, 0, 0}, + /* ramp-down */ + { 0, 26, 31, 26, 29, 11, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + }, + { /* profile 5 */ + /* ramp-up */ + { 0, 0, 0, 0, 0, 0, 0, 0, 9, 18, 25, 31, 30, 15, 0, 0}, + /* ramp-down */ + { 0, 26, 31, 26, 29, 11, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + }, + { /* profile 6 */ + /* ramp-up */ + { 0, 0, 0, 0, 0, 0, 0, 0, 9, 18, 25, 31, 30, 15, 0, 0}, + /* ramp-down */ + { 0, 26, 31, 26, 29, 11, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + }, + { /* profile 7 */ + /* ramp-up */ + { 0, 0, 0, 0, 0, 0, 0, 0, 9, 18, 25, 31, 30, 15, 0, 0}, + /* ramp-down */ + { 0, 26, 31, 26, 29, 11, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + }, + { /* profile 8 */ + /* ramp-up */ + { 0, 0, 0, 0, 0, 0, 0, 0, 9, 18, 25, 31, 30, 15, 0, 0}, + /* ramp-down */ + { 0, 26, 31, 26, 29, 11, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + }, + { /* profile 9 */ + /* ramp-up */ + { 0, 0, 0, 0, 0, 0, 0, 0, 9, 18, 25, 31, 30, 15, 0, 0}, + /* ramp-down */ + { 0, 26, 31, 26, 29, 11, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + }, + { /* profile 10 */ + /* ramp-up */ + { 0, 0, 0, 0, 0, 0, 0, 0, 9, 18, 25, 31, 30, 15, 0, 0}, + /* ramp-down */ + { 0, 26, 31, 26, 29, 11, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + }, + { /* profile 11 */ + /* ramp-up */ + { 0, 0, 0, 0, 0, 0, 0, 0, 9, 18, 25, 31, 30, 15, 0, 0}, + /* ramp-down */ + { 0, 26, 31, 26, 29, 11, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + }, + { /* profile 12 */ + /* ramp-up */ + { 0, 0, 0, 0, 0, 0, 0, 0, 9, 18, 25, 31, 30, 15, 0, 0}, + /* ramp-down */ + { 0, 26, 31, 26, 29, 11, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + }, + { /* profile 13 */ + /* ramp-up */ + { 0, 0, 0, 0, 0, 0, 0, 0, 9, 18, 25, 31, 30, 15, 0, 0}, + /* ramp-down */ + { 0, 26, 31, 26, 29, 11, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + }, + { /* profile 14 */ + /* ramp-up */ + { 0, 0, 0, 0, 0, 0, 0, 0, 9, 18, 25, 31, 30, 15, 0, 0}, + /* ramp-down */ + { 0, 26, 31, 26, 29, 11, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + }, + { /* profile 15 */ + /* ramp-up */ + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + /* ramp-down */ + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + }, + }, + { /* Tx temperature compensation */ + { -11, 0, 0, 0}, + { 9, 0, 0, 0}, + { 39, 0, 0, 0}, + { 59, 0, 0, 0}, + { 127, 0, 0, 0}, + }, + }, + 2 +};