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

From postmarketOS
Jump to navigation Jump to search
Qualcomm MSM8976
[[|200px|alt=]]
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 506
Year 2016
Process 28nm
Mainline partial
Components
CPU
Broken
UART
Works
Storage
Works
USB
Partial
Display
Works
GPU
Works
Pinctrl
Works
I²C
Works
Audio
Broken
Video
Broken
Thermal
Works
WiFi
Works
Bluetooth
Works
Modem
Partial
GPS
Camera
Broken
Suspend
Broken


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

CPU

As for now there is not cpu clock driver this make device boot with frequency set by bootloader.

Due to that it's required to limit cores used to just 4 so device can boot and operate at somehow usable speed(leaving 8 cores enabled make device boot 10 minutes).

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.