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