Jump to content

Qualcomm Snapdragon 450/625/626/632 (MSM8953)

From postmarketOS Wiki
Revision as of 11:21, 24 February 2024 by WorryNori (talk | contribs) (update information about modem)
Qualcomm MSM8953
Manufacturer Qualcomm
Name MSM8953
Codenames msmtitanium/apqtitanium
Architecture aarch64
CPU

8x 1.8/2.0/2.2 GHz ARM Cortex-A53 (SDM450/625/626) 4x 1.8 GHz Kryo250 Gold

4x 1.8 GHz Kryo250 Silver (SDM632)
GPU Adreno 506
Year 2016
Process 14nm
Mainline partial
Community Page
A link to a git{hub,lab} organisation/repo where development happens.
https://github.com/msm8953-mainline
Components
CPU
SMP (bring up secondary CPU cores), CPU frequency scaling, CPUidle
Works
UART
Works
Storage
eMMC, SD cards, UFS, ...
Works
USB
Works
Display
Works
GPU
Works
Pinctrl
Works
I²C
Works
SPI
Serial Peripheral Interface
Works
Audio
Works
Video
Hardware-accelerated video de/encoding
Works
Thermal
Works
WiFi
Works
Bluetooth
Works
Modem
Calls, SMS, Internet
Partial
Camera
Partial
Suspend
Partial

SDM450/SDM625/SDM626/SDM632/APQ8053 are Qualcomm SoCs released from 2016. According to Wikipedia, SDM450/625/626/632 are all pin and software compatible. Qualcomm Snapdragon 425/427/430/435 (MSM8917/MSM8920/MSM8937/MSM8940) are software compatible with them.

Devices

Snapdragon 450

Error: No field named "StatusMainline" found for any of the specified database tables.

Snapdragon 625

Error: No field named "StatusMainline" found for any of the specified database tables.

Snapdragon 626

Error: No field named "StatusMainline" found for any of the specified database tables.

Snapdragon 632

Error: No field named "StatusMainline" found for any of the specified database tables.

APQ8053

Error: No field named "StatusMainline" found for any of the specified database tables.

Camera

Camera is able to perform RAW capture only.

GPU

GPU preemption (only supported on some 5xx GPUs) is disabled because of deadlock problem in msm drm driver.

Audio

Audio works. MSM8953 uses an updated codec from as MSM8916 (cajon-v2). Each device needs its own alsa ucm conf file, you can find examples from MSM8916 here: https://github.com/msm8916-mainline/alsa-ucm-conf or MSM8953 https://github.com/msm8953-mainline/alsa-ucm-conf

Video Encoder / Decoder (Venus)

Venus works. It exposes 2 v4l2 devices, one for encode and one for decode. They can be used via gstreamer, or mpv. For mpv, you need to add hwdec=auto to your ~/.config/mpv/mpv.conf. Sample files can be obtained from http://samplemedia.linaro.org/ SDM450 based devices are limited by the firmware to 1080p encode/decode, while SDM625/632 based devices are able to do 4Kp30 decode, and 1080p encode. Supported formats are: VP8, VP9, MPEG2, H.264 and H.265.

Alternatively, gstreamer can be used to test v4l2:

$ # test h264
$ gst-launch-1.0 -e filesrc location="/path/to/video.mp4" ! qtdemux name=d d.video_0 ! h264parse ! v4l2h264dec capture-io-mode=dmabuf ! kmssink d.audio_0 ! queue ! aacparse ! faad ! autoaudiosink
$ # test h265
$ gst-launch-1.0 filesrc location=big_buck_bunny.mp4 ! qtdemux ! queue ! h265parse ! v4l2h265dec ! imxvideoconvert_g2d ! queue ! autovideosink

Modem

Note Note: Mobile data not works on every device.

Modem works since 6.7.2. To configure the mobile network settings, use NetworkManger (mobile network menu on phosh settings) so it sets up the network interface and IP routing.

After that, two new network interfaces should appear. The rmnet one is the connection to the modem, and the other one is virtual and the one that is used to transmit mobile data.

Phone calls require q6voiced, with the following in /etc/conf.d/q6voiced

q6voice_card=0
q6voice_device=4

For dual sim devices, these instructions may be needed : https://wiki.postmarketos.org/wiki/User:TravMurav/Dual-Sim_QMI_draft#Now_you_can_try_to_select_an_application_on_your_SIM .

Motorola devices need IPA support for the modem to work. They also need a patched tqftpserv: https://github.com/sirSireesh/tqftpserv . Modem related firmware files need to be copied into /tmp as done by this script. Other device quirks will be listed here as they are discovered.

Mainlining

MSM8953 is almost as great platform to get started with mainlining as MSM8916! The MSM8916 Mainlining guide is quite relevant to it.