Qualcomm Snapdragon 600 (APQ8064)

Status

 * 4.11 kernel in best shape, since it's not LTS, doesn't have security patches
 * ..IOMMU and DMA got broken since 4.12-rc1
 * 4.14 somehow work +- reliably
 * 4.19 some issues with wifi scanning, GPU sometimes work
 * 5.4 seems to be working, has to be enabled manually Wi-Fi which kills usb
 * 5.10 working thou there are issues with USB (must be connected at boot to get connection, when WiFi connects got lost, when connected WiFi is lost and usb still don't work)
 * 5.13+ kernel with APQ8064 you must pass to cmdline
 * -next working! needs 5.13+ hack and currently framebuffer freeze after while

Note:
 * for getting GPU to work you'll need firmware.
 * for WiFi you need also firmware and you can enable WiFi by running `echo start > /sys/class/remoteproc/remoteproc0/state`

Mainlining
Development LTS
 * https://github.com/apq8064-mainline/linux/tree/qcom-apq8064-next
 * https://github.com/apq8064-mainline/linux/tree/qcom-apq8064-v5.10 (can be replaced in LTS range v4.14 - v5.10)

I'm trying to ensure that all relevant changes get backported at least to the latest LTS (at moment of writing 5.10).

If you have device DTS which works with any of these kernels, feel free to send MR!

To-do list for mainline

 * Check if drm/msm/adreno/a3xx is in line with latest downstream (this seems like a good reference)
 * Test, test test :)

Documentation

 * APQ8064
 * APQ8064 datasheet
 * APQ8064 Hardware Register description
 * APQ8064 GPIO pin assignment
 * APQ8064E Recommended memory controller and device settings
 * APQ8064E DSI programming guide (downstream)
 * WCD9311 Audio Codec
 * PMM892x
 * Power Management Module specification (PMM8920)
 * PM8xxx API specification (downstream)