Samsung Galaxy S4 Mini LTE (samsung-serranolte): Difference between revisions
update github links to gitlab |
Add "Mainline preliminary work" section with useful links to existing code and documentation |
||
Line 140: | Line 140: | ||
This newer kernel seems to boot. I've applied some patches on top. | This newer kernel seems to boot. I've applied some patches on top. | ||
https://github.com/gfgit/android_kernel_samsung_msm8930-common/tree/fix_gcc6_build | https://github.com/gfgit/android_kernel_samsung_msm8930-common/tree/fix_gcc6_build | ||
== Mainline preliminary work == | |||
This section lists all information I've found online which can be useful to mainline this device. Please edit if you found more stuff to add. | |||
=== Device tree for MSM8930 and experimental charger driver === | |||
https://github.com/flto/linux/tree/msm8930 | |||
This branch contains [https://github.com/flto/linux/compare/master...msm8930 12 commits] to support MSM8930 and PM8291 charger plus some [[Nokia Lumia 625 (nokia-rm941)]] specific code that we should skip. | |||
Other similar charger driver to use as reference code [https://git.codelinaro.org/clo/qsdk/oss/kernel/linux-msm/-/blob/aosp-common/aosp/clo/main/Documentation/devicetree/bindings/power/supply/qcom_smbb.txt qcom_smbb] | |||
=== Touchscreen === | |||
[https://git.codelinaro.org/clo/qsdk/oss/kernel/linux-msm/-/blob/aosp-common/aosp/clo/main/arch/arm/boot/dts/exynos5420-peach-pit.dts#L660 exynos5420-peach-pit.dts#L660] | |||
exynos5420 board seems to have same touchscreen chip [https://ww1.microchip.com/downloads/en/DeviceDoc/mXT336S_3v1_Datasheet_AX.pdf Atmel MXT336S (Datasheet PDF)] | |||
[https://git.codelinaro.org/clo/qsdk/oss/kernel/linux-msm/-/blob/aosp-common/aosp/clo/main/Documentation/devicetree/bindings/input/atmel,maxtouch.txt Kernel Docs] | |||
<code> | |||
ATMEL MAXTOUCH DRIVER | |||
M: Nick Dyer <nick@shmanahar.org> | |||
T: git git://github.com/ndyer/linux.git | |||
S: Maintained | |||
F: Documentation/devicetree/bindings/input/atmel,maxtouch.txt | |||
F: drivers/input/touchscreen/atmel_mxt_ts.c | |||
F: include/linux/platform_data/atmel_mxt_ts.h | |||
</code> | |||
=== WiFi WCN3660 === | |||
[https://git.codelinaro.org/clo/qsdk/oss/kernel/linux-msm/-/blob/aosp-common/aosp/clo/main/drivers/remoteproc/qcom_wcnss_iris.c#L170 qcom_wcnss_iris.c#L170] | |||
=== Main Camera s5k3h5xa === | |||
Downstream kernel drive seems crashing at boot, still have to investigate. Did not yet try LineageOS 18.1 kernel. | |||
Did not yet found newer driver code. | |||
There is a maybe relevant discussion on XDA [https://xdaforums.com/t/rom-unofficial-experimental-android-4-3-cyanogenmod-10-2-for-sgs4a-intl.2395242/page-2 cyanogenmod-10-2] | |||
== Links == | == Links == |
Revision as of 13:51, 12 December 2023
![]() S4 Mini running PostmarketOS and Xfce4 | |
Manufacturer | Samsung |
---|---|
Name | Galaxy S4 Mini LTE |
Codename | samsung-serranolte |
Released | 2013 |
Type | handset |
Hardware | |
Chipset | Qualcomm Snapdragon 400 (MSM8930) |
CPU | 1.7 GHz dual-core Krait 300 |
GPU | Adreno 305 |
Display | 960x540 |
Storage | 8 GB, microSD |
Memory | 1.5GB |
Architecture | armv7 |
Software | |
Original software | Android |
Original version | 4.4.2 |
postmarketOS | |
Category | testing |
Pre-built images | no |
Mainline | no |
Flashing |
Works |
---|---|
USB Networking |
Works |
Internal storage |
No data |
SD card |
No data |
Battery |
Works |
Screen |
Works |
Touchscreen |
Works |
Multimedia | |
3D Acceleration |
Broken |
Audio |
Broken |
Camera |
Broken |
Camera Flash |
No data |
Connectivity | |
WiFi |
Works |
Bluetooth |
Broken |
GPS |
Broken |
NFC |
No data |
Modem | |
Calls |
Broken |
SMS |
Works |
Mobile data |
Broken |
Miscellaneous | |
FDE |
No data |
USB OTG |
No data |
HDMI/DP |
No data |
Sensors | |
Accelerometer |
Broken |
Magnetometer |
No data |
Ambient Light |
No data |
Proximity |
No data |
Hall Effect |
No data |
Haptics |
No data |
Barometer |
No data |
Contributors
- rrooij (initial port)
- scintill (USB network, modem)
- maccraft123 (broken his s4mini)
- Zocker1012 (broken glass, experimenting with edge channel)
- Everyone else on IRC (feel free to put your name)
Users owning this device
- Bastindo (Notes: I have several of these)
- Gfgit (Notes: Boots LineageOS 18.1 kernel, WiFi needs fixing)
- Ignapk (Notes: Current test subject)
- Jakko
- Mykhal (Notes: TODO; and elsewhere i9195 is named serranoltexx, so not sure)
- Piero-e (Notes: international LTE / gt-i9195 / running unofficial /e/OS android.11 based (serranoltexx))
- SmP971 (Notes: stock rom)
- TPJS (Notes: Mint condition; stock so far)
- Ungeskriptet
What works
- Compiling the kernel
- Flashing postmarketos
- Booting
- Screen display
- Multi-touch
- Plasma Mobile(slideshow mode)
- Xfce
- Mate
- Weston
- Touch screen (!1313)
- USB Networking (!1260)
- Sending SMS via terminal (!1314)
- Accelerometer (
echo 1 > /sys/class/input/input2/enable
) - Proximity sensor (
echo 1 > /sys/class/input/input4/enable
) - Light sensor (
echo 1 > /sys/class/input/input5/enable
) - Power button (
/dev/input/event0
) - Volume/Home buttons (
/dev/input/event8
) - Menu/Back touch buttons (
/dev/input/event9
)
What does not work
- HW acceleration (we need libhybris or mainlining or freedreno)
Installation
How to enter flash mode:
- 1. Switch off the phone
- 2. Press and hold the VolumeDown, Home and Power buttons until a warning screen appears
- 3. Connect the phone to the computer
- 4. Press the VolumeUp button
See also https://youtu.be/7dTJoOnhRZk. Then flash the phone with the:
- 5. postmarketOS distribution data (i.e. all the GUI files, system utilities, shell, etc.):
pmbootstrap flasher flash_rootfs
- 6. Linux kernel:
pmbootstrap flasher flash_kernel
Alternative Install Method (TWRP Recovery)
- 1.
pmbootstrap install --android-recovery-zip
- 2.
pmbootstrap flasher --method=adb sideload
Hardware
Component | Model | Notes |
---|---|---|
MUIC | Texas Instruments TSU6721 | |
eMMC | Sandisk SEM08G | 8GB |
Charging | PM8921 | Uses PMIC |
Volume/Power/Home keys | GPIO | |
Touchscreen | Atmel MXT336S | |
Capacitive keys | Coreriver TC360 | |
Gyroscope/Accelerometer | TDK InvenSense MPU-6500 | |
Light/Proximity sensor | Sharp GP2A | gp2a020 |
Magnetometer | Yamaha YAS532 | |
Audio | msm8230tapansnd | |
Audio DAC | Qualcomm WCD9304 | |
Infrared blaster | Lattice ice4 | |
GPU | Adreno 305 | |
Wi-Fi/Bluetooth | Qualcomm Atheros Prima (WCN3660) | |
NFC | Broadcom BCM2079x | |
GPS | ? | |
Modem | ? | |
Front camera | Samsung s5k6a3yx | |
Main camera | Samsung s5k3h5xa |
Notes
This newer kernel seems to boot. I've applied some patches on top. https://github.com/gfgit/android_kernel_samsung_msm8930-common/tree/fix_gcc6_build
Mainline preliminary work
This section lists all information I've found online which can be useful to mainline this device. Please edit if you found more stuff to add.
Device tree for MSM8930 and experimental charger driver
https://github.com/flto/linux/tree/msm8930
This branch contains 12 commits to support MSM8930 and PM8291 charger plus some Nokia Lumia 625 (nokia-rm941) specific code that we should skip.
Other similar charger driver to use as reference code qcom_smbb
Touchscreen
exynos5420 board seems to have same touchscreen chip Atmel MXT336S (Datasheet PDF)
ATMEL MAXTOUCH DRIVER
M: Nick Dyer <nick@shmanahar.org>
T: git git://github.com/ndyer/linux.git
S: Maintained
F: Documentation/devicetree/bindings/input/atmel,maxtouch.txt
F: drivers/input/touchscreen/atmel_mxt_ts.c
F: include/linux/platform_data/atmel_mxt_ts.h
WiFi WCN3660
Main Camera s5k3h5xa
Downstream kernel drive seems crashing at boot, still have to investigate. Did not yet try LineageOS 18.1 kernel. Did not yet found newer driver code.
There is a maybe relevant discussion on XDA cyanogenmod-10-2
Links
- !1099 initial pull request
- Kernel used: https://github.com/LineageOS/android_kernel_samsung_msm8930-common
- #1612 Unable to install on S4 Mini (samsung-i9195)
- Device package
- Kernel package