Project

General

Profile

XMMBoot » History » Version 23

Denis 'GNUtoo' Carikli, 03/16/2020 02:46 AM

1 1 Denis 'GNUtoo' Carikli
h1. XMMBoot
2
3
h2.  Introduction
4
5
For both libsamsung-ipc and the Linux driver it's interesting to understand better the boot of the modem in order to come with good names for the abstraction.
6
7 16 Denis 'GNUtoo' Carikli
h2. GPIOs
8
9 10 Denis 'GNUtoo' Carikli
The GPIO platform data names were taken from the "modem_modemctl_device_xmm6260.c":https://git.replicant.us/replicant/kernel_samsung_smdk4412/tree/drivers/misc/modem_if/modem_modemctl_device_xmm6260.c file
10
11 12 Denis 'GNUtoo' Carikli
|_. ioctl name |_. function pointer name |_. gpio platform data name |_. present |_. absent |_. comments |
12
| | | gpio_cp_on | | | cp == baseband processor |
13
| | | gpio_reset_req_n | |
14
| | | gpio_cp_reset | | | cp == baseband processor |
15
| | | gpio_pda_active | |
16
| | | gpio_phone_active | |
17
| | | gpio_cp_dump_int | | | cp == baseband processor |
18 13 Denis 'GNUtoo' Carikli
| IOCTL_MODEM_BOOT_ON
19 1 Denis 'GNUtoo' Carikli
IOCTL_MODEM_BOOT_OFF | modem_boot_on
20 14 Denis 'GNUtoo' Carikli
modem_boot_off | gpio_flm_uart_sel | Galaxy Nexus | Not used in libsamsung-ipc for other Replicant compatible devices | Modem download mode ? |
21
| | | gpio_cp_warm_reset | | |  cp == baseband processor  |
22 12 Denis 'GNUtoo' Carikli
| | | gpio_revers_bias_clear | | | |
23
| | | gpio_revers_bias_restore | | | |
24 4 Denis 'GNUtoo' Carikli
| | | gpio_sim_detect | | | Detect SIM card presence ? |
25 1 Denis 'GNUtoo' Carikli
26 16 Denis 'GNUtoo' Carikli
h3. SIM card presence detection
27 7 Denis 'GNUtoo' Carikli
28
Do we really want to check the SIM card presence?
29
30
Would it be possible not to for privacy reasons?
31
32
Example:
33
* Boot a modem with a SIM
34
* Take away the SIM card
35 1 Denis 'GNUtoo' Carikli
* Go to a protest with only the SIM card and a phone with no data on it to be able to call if necessary.
36 7 Denis 'GNUtoo' Carikli
37 16 Denis 'GNUtoo' Carikli
h3. TODO
38 1 Denis 'GNUtoo' Carikli
39
* check gpio_flm_uart_sel in smdk4412 kernel too
40 16 Denis 'GNUtoo' Carikli
41
h2. Modem partitions
42
43
h3. GT-I9300
44 3 Denis 'GNUtoo' Carikli
45 19 Denis 'GNUtoo' Carikli
|_. Location |_. Name |_. Content |
46 23 Denis 'GNUtoo' Carikli
| 0x0 -> 0x1000 | ? | Partition table? |
47 22 Denis 'GNUtoo' Carikli
| "0x1000 -> 0xF000":https://git.replicant.us/replicant/external_libsamsung-ipc/tree/samsung-ipc/devices/i9300/i9300.h?id=9ff9785a7f48e32f107ca7fb2e298b1320ad4cbc#n24 | PSI? PSIRAM? | First stage bootloader? |
48 1 Denis 'GNUtoo' Carikli
| "0xF000 -> 0x28000":https://git.replicant.us/replicant/external_libsamsung-ipc/tree/samsung-ipc/devices/i9300/i9300.h?id=9ff9785a7f48e32f107ca7fb2e298b1320ad4cbc#n26 | EBL | Second stage bootloader ? |
49 23 Denis 'GNUtoo' Carikli
50
h4. Partition table ?
51
52
<pre>
53
RADIO.img                                                                       
54
0000 0000: 50 53 49 52 41 4D 00 00  00 00 00 00 00 10 00 00  PSIRAM.. ........  
55
0000 0010: 00 00 00 00 00 E0 00 00  00 00 00 00 00 00 00 00  ........ ........  
56
0000 0020: 45 42 4C 00 00 00 00 00  00 00 00 00 00 F0 00 00  EBL..... ........  
57
0000 0030: 00 00 00 60 00 90 01 00  00 00 00 00 00 00 00 00  ...`.... ........  
58
0000 0040: 4D 41 49 4E 00 00 00 00  00 00 00 00 00 80 02 00  MAIN.... ........  
59
0000 0050: 00 00 30 60 00 78 9D 00  00 00 00 00 00 00 00 00  ..0`.x.. ........  
60
0000 0060: 53 45 43 50 41 43 4B 00  00 00 00 00 00 F8 9F 00  SECPACK. ........  
61
0000 0070: 00 00 00 00 00 08 00 00  00 00 00 00 00 00 00 00  ........ ........  
62
0000 0080: 4E 56 00 00 00 00 00 00  00 00 00 00 00 00 A0 00  NV...... ........  
63
0000 0090: 00 00 E8 60 00 00 20 00  00 00 00 00 00 00 00 00  ...`.. . ........  
64
0000 00A0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
65
</pre>
66 17 Denis 'GNUtoo' Carikli
67 1 Denis 'GNUtoo' Carikli
h2. Links
68
69 15 Denis 'GNUtoo' Carikli
* "modem_modemctl_device_xmm6260.c":https://git.replicant.us/replicant/kernel_samsung_smdk4412/tree/drivers/misc/modem_if/modem_modemctl_device_xmm6260.c
70 1 Denis 'GNUtoo' Carikli
* https://forum.xda-developers.com/galaxy-s2/help/how-to-talk-to-modem-commands-t1471241/page4