Qualcomm Snapdragon 670 (SDM670)

From postmarketOS
Jump to navigation Jump to search
Qualcomm SDM670
Manufacturer Qualcomm
Name SDM670
Codenames sdmbat, sdm830
Architecture aarch64
CPU 2x 2.0 GHz Kryo 360 Gold, 6x 1.7 GHz Kryo 360 Silver
GPU Adreno 615
Year 2018
Process 10nm
Mainline not yet
Community Page https://gitlab.com/sdm670-mainline
Components
CPU
Partial
UART
Broken
Storage
Partial
USB
Partial
Display
Works
GPU
Works
Pinctrl
Partial
I²C
Partial
SPI
Broken
Audio
Broken
Video
Broken
Thermal
Broken
WiFi
Broken
Bluetooth
Broken
Modem
Broken
GPS
Camera
Broken
Suspend


The Snapdragon 670 is an entry-level SoC used in a few devices.

Devices

Device Codename Mainline
Google Pixel 3a google-sargo P

Display

It is fairly easy to get a working display. See MSM8996_Mainlining#Simple_Framebuffer for details on how to do this. For full panel support (needed for backlight and 3D acceleration), there is a panel driver generator.

Regulators

The PM660 and PM660L power management ICs host most of the regulators. If you're copying regulators from other SoCs, keep in mind that SDM670 uses RPMh to communicate with the PMICs, while most other SoCs use the older RPM instead. The regulators don't go in &rpm_requests, but &apps_rsc instead.

Disabling core components

Your device might not boot with the first dts you send it if you keep the core components enabled:

  • &tlmm - the pinctrl and gpio subsystems normally access all pins to read their state
  • &gcc - with clk_ignore_unused as a kernel command line option, this might turn on reserved clocks

Who's working on it