XMMBoot » History » Version 27
Denis 'GNUtoo' Carikli, 03/16/2020 06:30 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 | 25 | Denis 'GNUtoo' Carikli | | [ 0x0 -> 0xfff ] | ? | Partition table? | |
| 47 | 26 | Denis 'GNUtoo' Carikli | | "[ 0x1000 -> 0xefff]":https://git.replicant.us/replicant/external_libsamsung-ipc/tree/samsung-ipc/devices/i9300/i9300.h?id=9ff9785a7f48e32f107ca7fb2e298b1320ad4cbc#n24 | PSIRAM | First stage bootloader? | |
| 48 | 25 | Denis 'GNUtoo' Carikli | | "[ 0xF000 -> 0x27fff ]":https://git.replicant.us/replicant/external_libsamsung-ipc/tree/samsung-ipc/devices/i9300/i9300.h?id=9ff9785a7f48e32f107ca7fb2e298b1320ad4cbc#n26 | EBL | Second stage bootloader ? | |
| 49 | 27 | Denis 'GNUtoo' Carikli | | MAIN | 0x28000 | 0x9ff7ff | ? | |
| 50 | | SECPACK | 0x9ff800 | 0x9fffff | ? | |
||
| 51 | | NV | 0xa00000 | 0xbfffff | ? | |
||
| 52 | |||
| 53 | 23 | Denis 'GNUtoo' Carikli | |
| 54 | h4. Partition table ? |
||
| 55 | |||
| 56 | <pre> |
||
| 57 | 24 | Denis 'GNUtoo' Carikli | $ hexdump -C RADIO.img |
| 58 | 00000000 50 53 49 52 41 4d 00 00 00 00 00 00 00 10 00 00 |PSIRAM..........| |
||
| 59 | 00000010 00 00 00 00 00 e0 00 00 00 00 00 00 00 00 00 00 |................| |
||
| 60 | 00000020 45 42 4c 00 00 00 00 00 00 00 00 00 00 f0 00 00 |EBL.............| |
||
| 61 | 00000030 00 00 00 60 00 90 01 00 00 00 00 00 00 00 00 00 |...`............| |
||
| 62 | 00000040 4d 41 49 4e 00 00 00 00 00 00 00 00 00 80 02 00 |MAIN............| |
||
| 63 | 00000050 00 00 30 60 00 78 9d 00 00 00 00 00 00 00 00 00 |..0`.x..........| |
||
| 64 | 00000060 53 45 43 50 41 43 4b 00 00 00 00 00 00 f8 9f 00 |SECPACK.........| |
||
| 65 | 00000070 00 00 00 00 00 08 00 00 00 00 00 00 00 00 00 00 |................| |
||
| 66 | 00000080 4e 56 00 00 00 00 00 00 00 00 00 00 00 00 a0 00 |NV..............| |
||
| 67 | 00000090 00 00 e8 60 00 00 20 00 00 00 00 00 00 00 00 00 |...`.. .........| |
||
| 68 | 000000a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| |
||
| 69 | * |
||
| 70 | [...] |
||
| 71 | 23 | Denis 'GNUtoo' Carikli | </pre> |
| 72 | 17 | Denis 'GNUtoo' Carikli | |
| 73 | 1 | Denis 'GNUtoo' Carikli | h2. Links |
| 74 | |||
| 75 | 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 |
| 76 | 1 | Denis 'GNUtoo' Carikli | * https://forum.xda-developers.com/galaxy-s2/help/how-to-talk-to-modem-commands-t1471241/page4 |