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

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.