Qualcomm Snapdragon 710 (SDM710)
Manufacturer | Qualcomm |
---|---|
Name | SDM710 |
Architecture | aarch64 |
CPU |
2x 2.2 GHz Kryo 360 Gold 6x 1.7 GHz Kryo 360 Silver |
GPU | Adreno 616 |
Year | 2018 |
Process | 10nm |
Mainline | yes |
CPU SMP (bring up secondary CPU cores), CPU frequency scaling, CPUidle |
Works
|
---|---|
UART |
Untested
|
Storage eMMC, SD cards, UFS, ... |
Works
|
USB |
Works
|
Display |
Works
|
GPU |
Works
|
Pinctrl |
Works
|
I²C |
Works
|
SPI Serial Peripheral Interface |
Works
|
Audio |
Untested
|
Video Hardware-accelerated video de/encoding |
Untested
|
Thermal |
Untested
|
WiFi |
Untested
|
Bluetooth |
Works
|
Modem Calls, SMS, Internet |
Works
|
GPS |
Works
|
Camera |
Partial
|
Suspend |
Partial
|
Note: Support for this SoC is a work in progress |
The Snapdragon 710 is a mid-range Qualcomm SoC released in 2018.
It's manufactured on TSMC's 10nm node, which makes it a better-binned version of SDM670 (manufactured on Samsung's 10nm node). Likely better power efficiency as well.
Differences compared to Qualcomm_Snapdragon_670_(SDM670):
- CPU: Faster clocks (and different OPP tables).
- GPU: Adreno 616 (instead of Adreno 615). Likely the same GPU under the hood.
- Modem: Qualcomm X15 (instead of X12 in SDM670).
- DSPs: Process bump.
- All downstream devicetrees derive from Qualcomm_Snapdragon_670_(SDM670).
- Both SoCs are a cut-down versions of Qualcomm_Snapdragon_845/850_(SDM845/SDM850), which has excellent mainline support.
Devices
Device | Codename | Category |
---|---|---|
Realme 3 Pro | realme-rmx1851 | downstream |
Xiaomi Mi 9 Lite | xiaomi-pyxis | testing |
CPU
SDM710 "Kryo Gold" cores run at 2.2GHz (as opposed to 2GHz on SDM670). This required adding missing OPP tables to CPU6 node.
Regulators/pincontrol
Work perfectly fine using SDM670 headers, including (seemingly) sleep state (still testing, therefore marked as partial).
Be aware that on most devices, SoC GPIO range 80-84 is usually reserved for fingerprint sensor and controlled by "secure world".
Without excluding them (gpio-reserved-ranges = <80 4>;
), your device will likely crash early in boot process.
Display
We recommend using MSM8996_Mainlining#Simple_Framebuffer for initial bringup if you don't have UART on your device.
Much like most newer Qualcomm platforms (2018+), XBL sets up the framebuffer at memory region 0x9c000000
.
GPU and DPU work, although DT compatible string has to be set to qcom,adreno-615.0
(SDM670 default) as Linux driver doesn't recognize A616.
[ 0.698283] msm_dpu ae01000.display-controller: Unknown GPU revision: 6.1.6.
In reality, it doesn't matter - display and GPU works perfectly fine (assuming firmware is provided).
Much like SDM670, panel driver can be generated using panel driver generator as long as your device is using a single-DSI mode.
Storage
Both SDHC interfaces and UFS are working.
sdhci1
has been tested by User:Ysh on Realme_3_Pro_(realme-rmx1851).
sdhci2
and ufshc
has been tested by User:Ellyqw on Xiaomi_Mi_9_Lite_(xiaomi-pyxis).
USB
Only gadget mode and USB2.0 speeds have been tested, due to vendors cheaping out (SoC supports USB3.1, but most vendors only wire up 2.0 signals).
UART
Default debug on this platform is uart12
located at memory address 0x00a90000
.
However, uart12
node is missing from SDM670 devicetree. Furthermore, none of developers working on this SoC have access to UART testpoints on their devices - therefore, UART is considered as "not working". It should be trivial to add missing node and pincontrol if UART access is necessary.
Notes
At the moment, both people working on this SoC have their own respective forks that will be merged into upstream in the near future.