Qualcomm Snapdragon 660 (SDM660)

From postmarketOS
Jump to: navigation, search
Qualcomm SDM660
Manufacturer Qualcomm
Name SDM660
Architecture aarch64
CPU 4x 2.2 GHz Kryo 260 Gold, 4x 1.84 GHz Kryo 260 Silver
GPU Adreno 508/509/512
Year 2017
Process 14nm
Mainline yes
Components
CPU
Partial
UART
Works
Storage
Partial
USB
Display
GPU
Pinctrl
Works
I²C
Audio
Video
Thermal
WiFi
Bluetooth
Modem
Camera


General description

SDM660/636/630 are Qualcomm SoCs released in 2017, with practically no mainline support. According to Wikipedia, they all are pretty similar. Their advantage is price; SoC is usually used in middle-range priced devices, compared to SDM845-based devices, which are usually expensive and used in high-end hardware.

Closest similar SoC is MSM8998 Snapdragon 835 (which has decent mainline support), and it seems that several drivers from MSM8998 can be reused for SDM660.

Main problem of the platform is missing a proper PMIC support (PM660/PM660L) which is required for working on almost every other component.

Devices

SDM660 (Snapdragon 660)

Device Codename Mainline
Xiaomi Mi A2 xiaomi-jasmine_sprout N
Xiaomi Redmi Note 7 xiaomi-lavender P

SDM636 (Snapdragon 636)

Device Codename Mainline
Xiaomi Redmi Note 5 Pro xiaomi-whyred

SDM630 (Snapdragon 630)

Device Codename Mainline
Motorola Moto X4 motorola-payton

CPU

All cores are up, PSCI is working. Marked as partial because there is no support for CPU frequency scaling.

Storage

At least SDHCI (eMMC) was tested to work. UFS is untested (xiaomi-lavender does not have it).

USB

Should work similarly to MSM8998, but no one worked much on it yet.

Display

The only tested for now is simple-framebuffer.

GPU

There is a chance that Adreno 508-512 are not suppored properly in mainline kernel.

Pinctrl

Was ported from downstream kernel to mainline by opendata in 2018.

WiFi

Driver is there (ath10k_snoc) and should work the same way as in SDM845/MSM8998 and such. See their pages for details.

Work done so far

Who is working on it

Upstream commits related to sdm660

commits merged in 4.20:

commits merged in 5.1:

commits merged in 5.6:

commits to be merged into 5.8: