Qualcomm Snapdragon 415/615/616 (MSM8929/MSM8939)

From postmarketOS Wiki
Qualcomm MSM8939
MSM8939 SoC in ceramic BGA capsule
MSM8939 SoC in ceramic BGA capsule
Manufacturer Qualcomm
Name MSM8939
Architecture aarch64
CPU 4x 1.7/1.5 GHz, 4x 1.2/1.0 GHz ARM Cortex-A53
GPU Adreno 405
Year 2014
Process 28nm
Mainline 5.15
Community Page https://gitlab.com/msm8939-mainline
Components
CPU
Partial
UART
Works
Storage
Works
USB
Works
Display
Works
GPU
Works
Pinctrl
Works
I²C
Works
SPI
Audio
Works
Video
Thermal
Works
WiFi
Works
Bluetooth
Works
Modem
Works
GPS
Camera
NPU
Suspend
Ethernet


Qualcomm MSM8929
Manufacturer Qualcomm
Name MSM8929
Architecture aarch64
CPU 4x1.1 GHz Cortex-A53 && 4x1.4 GHz Cortex-A53
GPU Adreno 405
Year 2014
Process 28nm
Mainline yes
Community Page https://github.com/msm8916-mainline
Components
CPU
Partial
UART
Works
Storage
Works
USB
Works
Display
Partial
GPU
Works
Pinctrl
Works
I²C
Works
SPI
Audio
Works
Video
Works
Thermal
Works
WiFi
Works
Bluetooth
Works
Modem
Works
GPS
Works
Camera
Partial
NPU
Suspend
Ethernet


MSM8939 (or Snapdragon 615) is a Qualcomm SoC released in 2014, with great mainline support. There is a slightly higher clocked variant (CPU cores up to 1.7/1.2 GHz) available as Snapdragon 616. There is also a slightly lower clocked variant available as Snapdragon 415 (MSM8929). Efforts to coordinate mainlining of this SoC and porting of new devices can be discussed at #msm8916:postmarketos.org.

Mainlining

MSM8939 is a great platform to get started with mainlining! It can use the MSM8916 Mainlining guide that explains how to get started (as both SoC's are very similar). Most of the time you need to change 8916 to 8939. https://github.com/msm8916-mainline/linux has support for msm8939.

msm8916-mainline/linux is closer to upstream, better maintained and thoroughly reviewed. New and existing devices should be added there.

Some device can be found on the stale https://gitlab.com/msm8939-mainline/linux where you need to build linux-postmarketos-qcom-msm8939 with make msm8916_defconfig pmos.config msm8939.config.

For initial device tree compare with other msm8939 devices, as compatible, include and regulators differ a bit. Most other stuff should just work™ and you can always compare to the other msm8939 devices

Devices

MSM8939 (Snapdragon 615)

Device Codename Mainline Category
Alcatel Idol 3 (5.5") alcatel-idol3 Y testing
Asus Zenfone 2 Laser / Zenfone 2 Selfie (1080p variant) asus-z00t testing
BQ Aquaris M5 bq-piccolo Y testing
HTC One M8s htc-m8qlul Y testing
Lenovo PHAB Plus lenovo-phoenix testing
Motorola Moto X Play motorola-lux testing
Samsung Galaxy A7 (2015) samsung-a7 Y testing
Sony Xperia M4 Aqua sony-tulip testing
Xiaomi Mi 4i xiaomi-ferrari Y testing
YU Yureka yu-tomato testing

MSM8939v2 (Snapdragon 616)

Device Codename Mainline Category
Huawei Honor 5X / GR5 (2016) huawei-kiwi Y testing
Xiaomi Redmi 3 xiaomi-ido testing

MSM8929 (Snapdragon 415)

Device Codename Mainline Category
Lenovo Vibe K5 lenovo-a6020a40 Y testing

Tree

A shared kernel fork with some out-of-tree patches which were not upstreamed yet can be found at https://gitlab.com/msm8939-mainline/linux and https://github.com/msm8916-mainline/linux.

See also