Qualcomm Snapdragon 650/652/653 (MSM8956/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 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 |
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
No results
MSM8976
No results
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.