Samsung Galaxy S II (samsung-i9100g)
Appearance
(Redirected from Samsung Galaxy SII (samsung-i9100g))
|
Samsung Galaxy S II (GT-I9100G) running Xfce4 | |
| Manufacturer | Samsung |
|---|---|
| Name | Galaxy S II (GT-I9100G) |
| Codename | samsung-i9100g |
| Released | 2011 |
| Type | handset |
| Hardware | |
| Chipset | TI OMAP 4430 |
| CPU | Dual-core 1.2 GHz Cortex-A9 |
| GPU | PowerVR SGX540 |
| Display | 480x800 AMOLED |
| Storage | 16 GB |
| Memory | 1 GB |
| Architecture | armv7 |
| Software | |
Original software The software and version the device was shipped with. |
Android 2.3.4 (TouchWiz UI v4.0) |
Extended version The most recent supported version from the manufacturer. |
Android |
| postmarketOS | |
| Category | testing |
Mainline Instead of a Linux kernel fork, it is possible to run (Close to) Mainline. |
yes |
pmOS kernel The kernel version that runs on the device's port. |
3.0.101 |
Unixbench score Unixbench Whetstone/Dhrystone score. See Unixbench. |
517.2 |
| Device package |
|
| Kernel package |
|
Flashing Whether it is possible to flash the device with pmbootstrap flasher. |
Works
|
|---|---|
USB Networking After connecting the device with USB to your PC, you can connect to it via telnet (initramfs) or SSH (booted system). |
Works
|
Battery Whether charging and battery level reporting work. |
Partial
|
Screen Whether the display works; ideally with sleep mode and brightness control. |
Works
|
Touchscreen |
Works
|
| Multimedia | |
3D Acceleration |
Untested
|
Audio Audio playback, microphone, headset and buttons. |
Broken
|
Camera |
Broken
|
| Connectivity | |
WiFi |
Partial
|
Bluetooth |
Broken
|
GPS |
Broken
|
| Modem | |
Calls |
Broken
|
SMS |
Broken
|
Mobile data |
Broken
|
| Miscellaneous | |
FDE Full disk encryption and unlocking with unl0kr. |
Works
|
USB OTG USB On-The-Go or USB-C Role switching. |
Works
|
| Sensors | |
Accelerometer Handles automatic screen rotation in many interfaces. |
Untested
|
| This device is based on the TI OMAP 4430. See the SoC page for common tips, guides and troubleshooting steps |
Contributors
Users owning this device
- Bastindo (Notes: Good condition, running Android 6)
- Ungeskriptet (Notes: I LOVE how small it is and the old TouchWiz makes me feel nostalgic too)
How to enter flash mode
- Download mode: While the device is off hold , and to boot it into download mode, afterwards confirm the operation by pressing .
- Recovery mode: While the device is off hold , and to boot it into recovery mode.
Installation
Follow the installation guide.
WiFi
NetworkManager doesn't work on this phone, so to get Wi-Fi working you must use wpa_supplicant only.
Mainline status
| Component | Model | Status | Notes |
|---|---|---|---|
| USB | USB 2.0 Micro-B | ||
| eMMC | Sandisk SEM16G | Y | 16 GB |
| SD card | microSDXC | Y | |
| Charging | Maxim MAX17040 | N | |
| PMIC | Texas Instrumemts TWL6030 | N | |
| MUIC | Fairchild FSA9480 | N | |
| Volume/Power/Home keys | GPIO | Y | |
| Touchscreen | Atmel MXT224 | Y | Powered by vaux2 regulator and fixed regulator on GPIO_54 (<&gpio2 22 GPIO_ACTIVE_HIGH>)
|
| Touchkeys | (Cypress?) Touchkey | N | |
| Accelerometer | Kionix KXTF9 | Y | |
| Gyroscope | TDK InvenSense MPU3050 | N | |
| Magnetometer | AKM (Asahi Kasei Microdevices) AK8975 | N | |
| Light and proximity sensor | Capella Microsystems CM3663 | N | |
| Display | Samsung LD9040 AMOLED panel | N | Powered by vaux3 and v1v8 regulators. LCD type "SM2 A2" |
| Audio | Texas Instruments TWL 6040 | N | |
| GPU | PowerVR SGX 540 | N | PowerVR SGX 540 needs out-of-tree kernel module, patched mesa, and some proprietary blobs |
| Wi-Fi | Broadcom BCM4330 | Y | Wi-Fi connected to mmc5 with SDIO and powered with 2V fixed regulator |
| Bluetooth | Broadcom BCM4330 | N | Bluetooth connected to UART2 |
| Front camera | Samsung S5K5BAF | N | OMAP4 devices have Ducati firmware for cameras |
| Main camera | Samsung S5K3H2 | N | OMAP4 devices have Ducati firmware for cameras |
| HDMI/MHL | Silicon Image sii9234 | N | Driver available in mainline |
| Modem | Intel XMM6260 | N |
Miscellaneous mainline info
GPIO map
| Pin | Function | Number |
|---|---|---|
| gpio-0 | ear_jack_detect | 0 |
| gpio-1 | fsa9840_external_id | 1 |
| gpio-2 | CP_RST | 2 |
| gpio-3 | gpio_kp_in | 3 |
| gpio-4 | - | 4 |
| gpio-5 | - | 5 |
| gpio-6 | SYS_DRM_MSEC | 6 |
| gpio-7 | - | 7 |
| gpio-8 | gpio_kp_in | 8 |
| gpio-9 | - | 9 |
| gpio-10 | - | 10 |
| gpio-11 | CHG_ING_N | 11 |
| gpio-12 | TA_nCONNECTED | 12 |
| gpio-13 | CHG_EN | 13 |
| gpio-14 | - | 14 |
| gpio-15 | - | 15 |
| gpio-16 | - | 16 |
| gpio-17 | - | 17 |
| gpio-18 | - | 18 |
| gpio-19 | - | 19 |
| gpio-20 | - | 20 |
| gpio-21 | - | 21 |
| gpio-22 | - | 22 |
| gpio-23 | - | 23 |
| gpio-24 | - | 24 |
| gpio-25 | - | 25 |
| gpio-26 | - | 26 |
| gpio-27 | - | 27 |
| gpio-28 | - | 28 |
| gpio-29 | BAT_REMOVAL | 29 |
| gpio-30 | gpio_kp_in | 30 |
| gpio-31 | gpio_kp_in | 31 |
| Pin | Function | Number |
|---|---|---|
| gpio-32 | 3_TOUCH_INT | 0 |
| gpio-33 | cm3663_irq | 1 |
| gpio-34 | CP_USB_ON | 2 |
| gpio-35 | MLCD_RST | 3 |
| gpio-36 | CP_ON | 4 |
| gpio-37 | PS_ON | 5 |
| gpio-38 | - | 6 |
| gpio-39 | - | 7 |
| gpio-40 | FM_INT | 8 |
| gpio-41 | - | 9 |
| gpio-42 | FM_RST | 10 |
| gpio-43 | - | 11 |
| gpio-44 | - | 12 |
| gpio-45 | GYRO_INT | 13 |
| gpio-46 | TOUCH_nINT | 14 |
| gpio-47 | UART_SEL | 15 |
| gpio-48 | MICBIAS_EN | 16 |
| gpio-49 | EAR_MICBIAS_EN | 17 |
| gpio-50 | RESET_REQ_N | 18 |
| gpio-51 | - | 19 |
| gpio-52 | - | 20 |
| gpio-53 | SENSOR_EN | 21 |
| gpio-54 | TOUCH_EN | 22 |
| gpio-55 | - | 23 |
| gpio-56 | CP_DUMP_INT | 24 |
| gpio-57 | - | 25 |
| gpio-58 | - | 26 |
| gpio-59 | MHL_SEL | 27 |
| gpio-60 | MHL_RST | 28 |
| gpio-61 | scl | 29 |
| gpio-62 | sda | 30 |
| gpio-63 | HDMI_HPD | 31 |
| Pin | Function | Number |
|---|---|---|
| gpio-64 | - | 0 |
| gpio-65 | - | 1 |
| gpio-66 | - | 2 |
| gpio-67 | - | 3 |
| gpio-68 | - | 4 |
| gpio-69 | - | 5 |
| gpio-70 | - | 6 |
| gpio-71 | - | 7 |
| gpio-72 | - | 8 |
| gpio-73 | HW_REV3 | 9 |
| gpio-74 | HW_REV2 | 10 |
| gpio-75 | HW_REV1 | 11 |
| gpio-76 | HW_REV0 | 12 |
| gpio-77 | - | 13 |
| gpio-78 | - | 14 |
| gpio-79 | - | 15 |
| gpio-80 | - | 16 |
| gpio-81 | WLAN_HOST_WAKE | 17 |
| gpio-82 | BT_nRST | 18 |
| gpio-83 | BT_HOST_WAKE | 19 |
| gpio-84 | - | 20 |
| gpio-85 | - | 21 |
| gpio-86 | - | 22 |
| gpio-87 | - | 23 |
| gpio-88 | - | 24 |
| gpio-89 | - | 25 |
| gpio-90 | - | 26 |
| gpio-91 | - | 27 |
| gpio-92 | - | 28 |
| gpio-93 | BT_WAKE | 29 |
| gpio-94 | - | 30 |
| gpio-95 | MOTOR_EN | 31 |
| Pin | Function | Number |
|---|---|---|
| gpio-96 | - | 0 |
| gpio-97 | - | 1 |
| gpio-98 | sda | 2 |
| gpio-99 | scl | 3 |
| gpio-100 | HDMI_EN | 4 |
| gpio-101 | 3_TOUCH_EN | 5 |
| gpio-102 | 3_TOUCH_LED_EN | 6 |
| gpio-103 | BT_EN | 7 |
| gpio-104 | vwl1271 | 8 |
| gpio-105 | - | 9 |
| gpio-106 | - | 10 |
| gpio-107 | - | 11 |
| gpio-108 | - | 12 |
| gpio-109 | - | 13 |
| gpio-110 | - | 14 |
| gpio-111 | - | 15 |
| gpio-112 | - | 16 |
| gpio-113 | - | 17 |
| gpio-114 | - | 18 |
| gpio-115 | - | 19 |
| gpio-116 | - | 20 |
| gpio-117 | - | 21 |
| gpio-118 | - | 22 |
| gpio-119 | PDA_ACTIVE | 23 |
| gpio-120 | PHONE_ACTIVE | 24 |
| gpio-121 | - | 25 |
| gpio-122 | - | 26 |
| gpio-123 | - | 27 |
| gpio-124 | - | 28 |
| gpio-125 | - | 29 |
| gpio-126 | - | 30 |
| gpio-127 | audpwron | 31 |
| Pin | Function | Number |
|---|---|---|
| gpio-128 | - | 0 |
| gpio-129 | - | 1 |
| gpio-130 | - | 2 |
| gpio-131 | - | 3 |
| gpio-132 | - | 4 |
| gpio-133 | - | 5 |
| gpio-134 | - | 6 |
| gpio-135 | - | 7 |
| gpio-136 | - | 8 |
| gpio-137 | - | 9 |
| gpio-138 | - | 10 |
| gpio-139 | scl | 11 |
| gpio-140 | sda | 12 |
| gpio-141 | - | 13 |
| gpio-142 | - | 14 |
| gpio-143 | - | 15 |
| gpio-144 | - | 16 |
| gpio-145 | - | 17 |
| gpio-146 | - | 18 |
| gpio-147 | - | 19 |
| gpio-148 | - | 20 |
| gpio-149 | - | 21 |
| gpio-150 | - | 22 |
| gpio-151 | LCD_SCLK | 23 |
| gpio-152 | LCD_SDI | 24 |
| gpio-153 | - | 25 |
| gpio-154 | LCD_nCS | 26 |
| gpio-155 | - | 27 |
| gpio-156 | - | 28 |
| gpio-157 | - | 29 |
| gpio-158 | - | 30 |
| gpio-159 | - | 31 |
| Pin | Function | Number |
|---|---|---|
| gpio-160 | - | 0 |
| gpio-161 | - | 1 |
| gpio-162 | - | 2 |
| gpio-163 | - | 3 |
| gpio-164 | - | 4 |
| gpio-165 | - | 5 |
| gpio-166 | - | 6 |
| gpio-167 | - | 7 |
| gpio-168 | - | 8 |
| gpio-169 | host_notifier | 9 |
| gpio-170 | - | 10 |
| gpio-171 | USB_OTG_EN | 11 |
| gpio-172 | AP_AGPS_TSYNC | 12 |
| gpio-173 | GPS_PWR_EN | 13 |
| gpio-174 | - | 14 |
| gpio-175 | MHL_INT | 15 |
| gpio-176 | - | 16 |
| gpio-177 | SUB_MICBIAS_EN | 17 |
| gpio-178 | GPS_nRST | 18 |
Panel init seqeunce
/* seq_user_set */
[ 0.791839] ld9040: Sending init_seq: 0
[ 0.791870] LD9040 command: 0xF0, data: 0x5A
[ 0.819519] LD9040 command: 0xFF, data: 0x5A
/* seq_displayctl_set */
[ 0.847015] LD9040: Sending init_seq: 1
[ 0.847015] LD9040 command: 0xF2, data: 0x02
[ 0.849151] LD9040 command: 0xFF, data: 0x06
[ 0.855224] LD9040 command: 0xFF, data: 0x0A
[ 0.865264] LD9040 command: 0xFF, data: 0x10
[ 0.881317] LD9040 command: 0xFF, data: 0x10
/* seq_gtcon_set */
[ 0.897338] LD9040: Sending init_seq: 2
[ 0.897369] LD9040 command: 0xF7, data: 0x09
/* acl_on */
[ 0.906463] LD9040: Sending init_seq: 3
[ 0.906494] LD9040 command: 0xC1, data: 0x4D
[ 0.921081] LD9040 command: 0xFF, data: 0x96
[ 0.946075] LD9040 command: 0xFF, data: 0x1D
[ 0.975067] LD9040 command: 0xFF, data: 0x00
[ 0.975158] LD9040 command: 0xFF, data: 0x00
[ 0.975250] LD9040 command: 0xFF, data: 0x01
[ 0.976318] LD9040 command: 0xFF, data: 0xDF
[ 0.980651] LD9040 command: 0xFF, data: 0x00
[ 0.980712] LD9040 command: 0xFF, data: 0x00
[ 0.980804] LD9040 command: 0xFF, data: 0x03
[ 0.983886] LD9040 command: 0xFF, data: 0x1F
[ 1.014862] LD9040 command: 0xFF, data: 0x00
[ 1.014953] LD9040 command: 0xFF, data: 0x00
[ 1.015045] LD9040 command: 0xFF, data: 0x00
[ 1.015136] LD9040 command: 0xFF, data: 0x00
[ 1.015197] LD9040 command: 0xFF, data: 0x00
[ 1.015289] LD9040 command: 0xFF, data: 0x01
[ 1.016357] LD9040 command: 0xFF, data: 0x08
[ 1.024414] LD9040 command: 0xFF, data: 0x0F
[ 1.039459] LD9040 command: 0xFF, data: 0x16
[ 1.061462] LD9040 command: 0xFF, data: 0x1D
[ 1.090454] LD9040 command: 0xFF, data: 0x24
[ 1.095275] LD9040 command: 0xFF, data: 0x2A
[ 1.106079] LD9040 command: 0xFF, data: 0x31
[ 1.123870] LD9040 command: 0xFF, data: 0x38
[ 1.148620] LD9040 command: 0xFF, data: 0x3F
[ 1.149200] LD9040 command: 0xFF, data: 0x46
[ 1.156768] LD9040 command: 0xC0, data: 0x01
/* seq_panelcondition_set *
[ 1.157897] LD9040: Sending init_seq: 4
[ 1.157928] LD9040 command: 0xF8, data: 0x05
[ 1.163055] LD9040 command: 0xFF, data: 0x5E
[ 1.163391] LD9040 command: 0xFF, data: 0x96
[ 1.188385] LD9040 command: 0xFF, data: 0x6B
[ 1.201690] LD9040 command: 0xFF, data: 0x7D
[ 1.232910] LD9040 command: 0xFF, data: 0x0D
[ 1.245941] LD9040 command: 0xFF, data: 0x3F
[ 1.246520] LD9040 command: 0xFF, data: 0x00
[ 1.246612] LD9040 command: 0xFF, data: 0x00
[ 1.246704] LD9040 command: 0xFF, data: 0x32
[ 1.265472] LD9040 command: 0xFF, data: 0x00
[ 1.265563] LD9040 command: 0xFF, data: 0x00
[ 1.265625] LD9040 command: 0xFF, data: 0x00
[ 1.265716] LD9040 command: 0xFF, data: 0x00
[ 1.265808] LD9040 command: 0xFF, data: 0x00
[ 1.265869] LD9040 command: 0xFF, data: 0x00
[ 1.265960] LD9040 command: 0xFF, data: 0x07
[ 1.273040] LD9040 command: 0xFF, data: 0x05
[ 1.278076] LD9040 command: 0xFF, data: 0x1F
[ 1.309082] LD9040 command: 0xFF, data: 0x1F
[ 1.340057] LD9040 command: 0xFF, data: 0x1F
[ 1.371032] LD9040 command: 0xFF, data: 0x00
[ 1.371124] LD9040 command: 0xFF, data: 0x00
/* sleep_out */
[ 1.371215] LD9040: Sending init_seq: 5
[ 1.371215] LD9040 command: 0x11, data: 0xFE
[ 1.375305] LD9040 command: 0x1000, data: 0x78
[ 1.375305] LD9040 sleep: 120000
/* elvss_on */
[ 1.401458] LD9040: Sending init_seq: 6
[ 1.401458] LD9040 command: 0xB1, data: 0x0F
[ 1.416564] LD9040 command: 0xFF, data: 0x00
[ 1.416656] LD9040 command: 0xFF, data: 0x16
/* seq_sm2_a2_pwrctl_set */
[ 1.438659] LD9040: Sending init_seq: 7
[ 1.438690] LD9040 command: 0xF4, data: 0x0A
[ 1.448791] LD9040 command: 0xFF, data: 0xA7
[ 1.459594] LD9040 command: 0xFF, data: 0x25
[ 1.465393] LD9040 command: 0xFF, data: 0x6A
[ 1.477691] LD9040 command: 0xFF, data: 0x44
[ 1.483276] LD9040 command: 0xFF, data: 0x02
/* seq_gamma_set1 */
[ 1.485351] LD9040: Sending init_seq: 8
[ 1.485351] LD9040 command: 0xF9, data: 0x0C
[ 1.497467] LD9040 command: 0xFF, data: 0xA9
[ 1.510253] LD9040 command: 0xFF, data: 0xB0
[ 1.530029] LD9040 command: 0xFF, data: 0xA3
[ 1.536834] LD9040 command: 0xFF, data: 0xC3
[ 1.544403] LD9040 command: 0xFF, data: 0x00
[ 1.544464] LD9040 command: 0xFF, data: 0x87
[ 1.554534] LD9040 command: 0xFF, data: 0x0C
[ 1.566589] LD9040 command: 0xFF, data: 0xA7
[ 1.577392] LD9040 command: 0xFF, data: 0xAF
[ 1.596160] LD9040 command: 0xFF, data: 0xA2
[ 1.601959] LD9040 command: 0xFF, data: 0xC2
[ 1.608520] LD9040 command: 0xFF, data: 0x00
[ 1.608612] LD9040 command: 0xFF, data: 0x9F
[ 1.611450] LD9040 command: 0xFF, data: 0x0C
[ 1.623474] LD9040 command: 0xFF, data: 0xB3
[ 1.646240] LD9040 command: 0xFF, data: 0xB4
[ 1.669982] LD9040 command: 0xFF, data: 0xA5
[ 1.678802] LD9040 command: 0xFF, data: 0xC0
[ 1.683380] LD9040 command: 0xFF, data: 0x00
[ 1.683471] LD9040 command: 0xFF, data: 0xA4
/* gamma_ctrl */
[ 1.691253] LD9040: Sending init_seq: 9
[ 1.691284] LD9040 command: 0xFB, data: 0x02
[ 1.693420] LD9040 command: 0xFF, data: 0x5A
[ 1.720916] LD9040: Successfully initialized
/* ld9040_ldi_enable */
[ 1.720916] LD9040 command: 0x29, data: 0xFE
[ 1.724975] LD9040: Successfully enabled
SimpleFB
To get SimpleFB working add this to omap4-samsung-t1.dts:
/ {
/* ... */
chosen {
#address-cells = <1>;
#size-cells = <1>;
ranges;
bootargs = "console=tty0";
framebuffer@bef00000 {
compatible = "simple-framebuffer";
reg = <0xbef00000 (480 * 800 * 4)>;
width = <480>;
height = <800>;
stride = <(480 * 4)>;
format = "a8r8g8b8";
vci-supply = <&vaux3>;
vdd3-supply = <&v1v8>;
/*
* That's a lot of clocks, but it's necessary due
* to unused clk cleanup & no panel driver yet..
*/
clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 0>,
<&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 8>,
<&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 9>,
<&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 10>,
<&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 11>,
<&l3_div_ck>;
};
};
};
Now disable the following node in omap4.dtsi:
/ {
/* ... */
ocp {
/* ... */
target-module@58000000 {
/* ... */
status = "disabled";
};
};
};
If CONFIG_FB_SIMPLE is enabled, SimpleFB should work now and you should be able to see kernel logs on the phone.
JTAG
See also
- Mainline kernel fork
- Kernel sources by LineageOS
- Replicant's i9100G wiki
- Seems to have a free software first stage bootloader. Booting worked on stock jelly bean after compiling this x-loader code and flashing it onto the device with odin.
- The modem seems to be the XMM6260
- Accessing UART