Qualcomm Snapdragon S4 Plus (MSM8960)

The Qualcomm MSM8960 (Snapdragon S4 series) is a high-end smartphone SoC in 2012. It contains two Krait (ARMv7) CPU cores at 1.5 - 1.7 GHz, an Adreno 225 GPU (400 MHz), a LPDDR2 memory controller (up to 500 MHz) and radio elements including LTE. The chip is produced in 28nm LP (low power process) at TSMC.

Others
There are other SoC models part of the S4 Plus series:
 * APQ8064
 * APQ8060A
 * MSM8660A
 * MSM8260A
 * APQ8030
 * MSM8930
 * MSM8630
 * MSM8230
 * MSM8627
 * MSM8227
 * MSM8625
 * MSM8225

Source: https://www.qualcomm.com/content/dam/qcomm-martech/dm-assets/documents/SD_Product_Brief.pdf

Mainline
At this moment, work is mostly done in https://github.com/apq8064-mainline/linux git tree.

DTS
This chipset should be supported inside the mainline kernel, yet first devices trees (DT) based on  file are to be expected. Another starting point for MSM8960 devices: https://github.com/andersson/kernel/blob/41e99cea7c35e82d74862b0293a24a1930c322c4/arch/arm/boot/dts/sony-blue-mint.dts (beware, very old, 2015). Some other MSM8960 dts files are listed here: https://github.com/apq8064-mainline/linux/tree/qcom-apq8064-next/arch/arm/boot/dts

UART
This is all you need to get UART on your device (hopefully): // SPDX-License-Identifier: GPL-2.0-only
 * 1) include 


 * 1) include "qcom-msm8960.dtsi"

/ {	model = " "; compatible = ", , increase the value in . Make sure it doesn't overlap with another region.
 * Decrease your kernel size by editing your CONFIGs. Some suggestions:
 * In https://github.com/apq8064-mainline/linux, do  and use that as your new   in  . Make sure you   first!
 * Set
 * Remove the entire networking stack (for now)