Qualcomm Snapdragon 650/652/653 (MSM8956/MSM8976)

From postmarketOS Wiki
Qualcomm MSM8976
Manufacturer Qualcomm
Name MSM8976
Codenames Eldarion
Architecture aarch64
CPU

4x(2x-MSM8956) 1.8 GHz Cortex A72 +

4x 1.4 GHz Cortex A53
GPU Adreno 510
Year 2016
Process 28nm
Mainline partial
Community Page https://github.com/msm8956-mainline
Components
CPU
Partial
UART
Works
Storage
Works
USB
Partial
Display
Works
GPU
Works
Pinctrl
Works
I²C
Works
SPI
Audio
Broken
Video
Broken
Thermal
Works
WiFi
Works
Bluetooth
Works
Modem
Partial
GPS
Camera
Broken
NPU
Suspend
Broken
Ethernet

SDM650/SDM652/SDM653 are Qualcomm SoCs released in 2016.

Devices

MSM8956

Device Codename Mainline
Sony Xperia X sony-suzu P
Sony Xperia X Compact sony-kugo
Xiaomi Redmi Note 3 Pro xiaomi-kenzo P

MSM8976

Device Codename Mainline
BQ Aquaris X5 Plus bq-gohan
LeEco Le 2 leeco-s2 N
Samsung Galaxy Tab S2 8.0 LTE samsung-gts28velte
Samsung Galaxy Tab S2 9.7 LTE samsung-gts210velte
Samsung Galaxy Tab S2 9.7 Wifi samsung-gts210vewifi


CPU

8 cores are up and running with frequency scaling, not all possible frequencies are enabled due to missing power managment components.

Global clock controller (GCC)

Patch on mailing list:commit

GPU

It works just fine.

Audio

ADSP remoteproc wake up with MSM8953 pil adsp settings however attempt on bringing QDSP6 ends with -110 error following by watchdog kicking in and rebooting device.

WIFI/BT

Works fine with pronto-v3.

Camera

Platform data needs to be added.

Out of tree commit:

https://github.com/konradybcio/linux/commit/157b757e2cf6115fc0dc6b001a2d117a00525211

Venus

Platform data needs to be added.

Out of tree commit:

https://github.com/konradybcio/linux/commit/073879f8d732bdc92ee970c46b44945e07637be4

Needed workarounds

IOMMU: GPU secure contexts cannot be re-programmed so touching secure context ends with device panic and reboot.

Pinctrl: Definition for WCSS pins needs to be updated as base platform for porting(Loire) didn't use wcnss but Broadcom chip: commit

Regulators: Needed fix: commit

Power Domains: Voltage floor level regulators needs to be changed from RWSC/RWSM to SMPA type according to downstream DTS.

Also max_state should be changed from RPM_SMD_LEVEL_TURBO_HIGH to RPM_SMD_LEVEL_TURBO as during iris probe calling for highest state reset device.