FreeCalypso > hg > freecalypso-tools
comparison doc/Compal-calibration @ 481:6dcca662a02f
doc/Compal-calibration: update for SE J100 being the same as Mot C1xx
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Wed, 06 Mar 2019 21:12:43 +0000 |
parents | 3d79116be312 |
children |
comparison
equal
deleted
inserted
replaced
480:09b47223ee1b | 481:6dcca662a02f |
---|---|
1 Reading factory RF calibration values out of Mot C1xx phones | 1 Reading factory RF calibration values out of Mot C1xx and SE J100 phones |
2 ============================================================ | 2 ======================================================================== |
3 | 3 |
4 Motorola C1xx phones are based on the Calypso+Iota+Rita chipset from TI and | 4 Motorola C1xx and Sony Ericsson J100 phones are based on the Calypso+Iota+Rita |
5 their firmware is also loosely based on TI's reference, but Compal (Motorola's | 5 chipset from TI and their firmware is also loosely based on TI's reference, but |
6 ODM and the maker of these phones) have made lots and lots of changes moving | 6 Compal (the ODM who produced these phones for Motorola and SE) made lots and |
7 away from TI's canonical way of doing things. When it comes to RF calibration, | 7 lots of changes moving away from TI's canonical way of doing things. When it |
8 Mot/Compal have performed it on each individual unit on their factory production | 8 comes to RF calibration, Mot/SE/Compal have performed it on each individual |
9 line just like all other GSM phone and modem manufacturers, but instead of | 9 unit on their factory production line just like all other GSM phone and modem |
10 storing the results of this calibration in TI's flash file system, Mot/Compal | 10 manufacturers, but instead of storing the results of this calibration in TI's |
11 have put these calibration values into a completely different flash data | 11 flash file system, Compal put these calibration values into a completely |
12 structure of their own invention. | 12 different flash data structure of their own invention. |
13 | 13 |
14 We don't know the proper name for Mot/Compal's flash data structure that has no | 14 We don't know the proper name for Mot/SE/Compal's flash data structure that has |
15 counterpart in TI's canonical solution, but we know its location in the flash: | 15 no counterpart in TI's canonical solution, but we know its location in the |
16 flash: | |
16 | 17 |
17 * On C1xx phones with 2 MiB flash (most C11x/12x variants), it is the 8 KiB | 18 * On C1xx phones with 2 MiB flash (most C11x/12x variants), it is the 8 KiB |
18 flash sector at 0x1FC000; | 19 flash sector at 0x1FC000; |
19 | 20 |
20 * On C139/140 phones and the rare C11x/12x variants with 4 MiB flash, it is the | 21 * On C139/140 phones and the rare C11x/12x variants with 4 MiB flash, and also |
21 8 KiB flash sector at 0x3FC000; | 22 on the SE J100, it is the 8 KiB flash sector at 0x3FC000; |
22 | 23 |
23 * On C155/156 phones with 8 MiB flash, the data structure in question is | 24 * On C155/156 phones with 8 MiB flash, the data structure in question is |
24 contained in the first 8 KiB of the 64 KiB physical flash sector at 0x7E0000. | 25 contained in the first 8 KiB of the 64 KiB physical flash sector at 0x7E0000. |
25 | 26 |
26 The flash sector in question contains record-structured data; we don't know the | 27 The flash sector in question contains record-structured data; we don't know the |
27 meaning of most of these records, but we have been able to find the RF | 28 meaning of most of these records, but we have been able to find the RF |
28 calibration records among them and locate the actual calibration values of | 29 calibration records among them and locate the actual calibration values of |
29 interest inside those records. | 30 interest inside those records. |
30 | 31 |
31 In order to extract the RF calibration values from your C1xx phone for use with | 32 In order to extract the RF calibration values from your C1xx or SE J100 phone |
32 FreeCalypso, you will need a dump of your phone's flash, or at least a dump of | 33 for use with FreeCalypso, you will need a dump of your phone's flash, or at |
33 the specific 8 KiB sector at the model-dependent offset given above. As a | 34 least a dump of the specific 8 KiB sector at the model-dependent offset given |
34 specific example, if your phone is a C139/140 or a C11x/12x variant with 4 MiB | 35 above. As a specific example, if your phone is a C139/140 or a C11x/12x |
35 flash and you have a complete dump of that flash, execute a command like the | 36 variant with 4 MiB flash (or SE J100) and you have a complete dump of that |
36 following: | 37 flash, execute a command like the following: |
37 | 38 |
38 c1xx-calextr -b rfbin flashdump.bin 0x3FC000 | 39 c1xx-calextr -b rfbin flashdump.bin 0x3FC000 |
39 | 40 |
40 The c1xx-calextr utility locates the RF calibration records in the flash dump | 41 The c1xx-calextr utility locates the RF calibration records in the flash dump |
41 binary, extracts those calibration values contained therein which we are able | 42 binary, extracts those calibration values contained therein which we are able |
72 into up to 10 subbands, and each of these subbands gets its own channel | 73 into up to 10 subbands, and each of these subbands gets its own channel |
73 correction value. The ARFCN boundaries between the subbands are defined by the | 74 correction value. The ARFCN boundaries between the subbands are defined by the |
74 external calibration system and not by the firmware code, by virtue of being | 75 external calibration system and not by the firmware code, by virtue of being |
75 given inside the Rx calchan table itself along with the correction values. | 76 given inside the Rx calchan table itself along with the correction values. |
76 | 77 |
77 But Motorola/Compal have made two changes: | 78 But Compal (all C1xx variants and SE J100) have made two changes: |
78 | 79 |
79 * They increased the number of subbands from 10 (TI's canon) to 21 for the | 80 * They increased the number of subbands from 10 (TI's canon) to 21 for the |
80 GSM850 band, 30 for the EGSM band, 63 for DCS and 50 for PCS, so that each | 81 GSM850 band, 30 for the EGSM band, 63 for DCS and 50 for PCS, so that each |
81 subband is only 6 channels (1.2 MHz). | 82 subband is only 6 channels (1.2 MHz). |
82 | 83 |
83 * The ARFCN boundaries for the subbands are not stored in the calibration | 84 * The ARFCN boundaries for the subbands are not stored in the calibration |
84 records in the flash, but are fixed in the firmware instead. | 85 records in the flash, but are fixed in the firmware instead. |
85 | 86 |
86 Changing our FreeCalypso firmware to allow up to 63 Rx AGC subbands to match | 87 Changing our FreeCalypso firmware to allow up to 63 Rx AGC subbands to match |
87 Mot/Compal's fw would be too disruptive, hence our current c1xx-calextr | 88 Compal's fw architecture would be too disruptive, hence our current c1xx-calextr |
88 implementation translates Mot/Compal's Rx channel correction values to TI/FC | 89 implementation translates Compal's Rx channel correction values to TI/FC format |
89 format by combining groups of Mot/Compal's subbands into larger subbands, and | 90 by combining groups of Compal's subbands into larger subbands, and making a |
90 making a mean value out of the smaller subband correction values in Mot/Compal's | 91 mean value out of the smaller subband correction values in Compal's factory |
91 factory calibration record. | 92 calibration record. |
92 | 93 |
93 The AGC subbands defined by Mot/Compal's fw are listed below, with each numeric | 94 The AGC subbands defined by Compal's fw are listed below, with each numeric |
94 line giving the ARFCN range of each subband; blank lines separate the groupings | 95 line giving the ARFCN range of each subband; blank lines separate the groupings |
95 made by c1xx-calextr. | 96 made by c1xx-calextr. |
96 | 97 |
97 850 MHz band: | 98 850 MHz band: |
98 | 99 |