Qualcomm Snapdragon 845 (SDM845)

From postmarketOS
Jump to navigation Jump to search
Qualcomm SDM845
Manufacturer Qualcomm
Name SDM845
Architecture aarch64
CPU 4x 2.8 GHz Kryo 385 Gold, 4x 1.8 GHz Kryo 385 Silver
GPU Adreno 630
Year 2018
Process 10nm
Mainline yes
Community Page https://gitlab.com/sdm845-mainline
Components
CPU
Works
UART
Works
Storage
Works
USB
Works
Display
Works
GPU
Works
Pinctrl
Works
I²C
Works
SPI
Audio
Works
Video
Works
Thermal
Works
WiFi
Works
Bluetooth
Works
Modem
Partial
GPS
Camera
Works
Suspend
Works


SDM845 (or Snapdragon 845) is a Qualcomm SoC released in 2018, with mainline support originally added for the Dragonboard 845c. It is currently one of the fastest mobile SoCs booting Mainline with full support for hardware accelerated graphics, CPU frequency scaling and wifi/bluetooth, with more features on the way.


Devices

SDM845 (Snapdragon 845)

Device Codename Mainline
Google Pixel 3 google-blueline P
Google Pixel 3 XL google-crosshatch
LG G7 ThinQ lg-judyln Y
LG V35 ThinQ lg-judyp Y
Meizu 16th meizu-m1882 Y
OnePlus 6 oneplus-enchilada Y
OnePlus 6T oneplus-fajita Y
Samsung Galaxy S9 (SM-G9600/DS) samsung-starqltechn
SHIFT SHIFT6mq shift-axolotl Y
Xiaomi Mi 8/Mi 8 Pro xiaomi-dipper, xiaomi-equuleus Y
Xiaomi Mi Mix 2S xiaomi-polaris Y
Xiaomi Pocophone F1 / POCO F1 xiaomi-beryllium Y

UFS internal storage

Icon WARNING: IF YOUR DEVICE IS A SONY XPERIA DO NOT NEVER EVER EVER TRY TO ENABLE UFS ON NON-VENDOR/NON-SODP KERNELS! IT WILL ERASE THE CHIP CLEAN (INCLUDING THE BOOTLOADER!) CONSIDER YOURSELF WARNED

Join Us!

If you own an SDM845 device and want to get postmarketOS & mainline booting, head over to the #mainline:postmarketos.org postmarketOS mainline channel.

We also discuss packaging, other distros and various other non-porting stuff on matrix: #sdm845:postmarketos.org and IRC: #sdm845-mainline.

Feel free to ping @caleb:postmarketos.org.

Adding yours

If you have an SDM845 based device that isn't in this list you should definitely do something about that, checkout the SDM845 Mainlining Guide for instructions on porting new devices. It is fairly straightforward to get core functionality working on most devices.

Icon-numix-light-system-run.svg
SDM845 Mainlining

Audio

The kernel side audio stuff is mostly functional on SDM845, the largest lacking feature is headphone jack plug detection.

Modem

The modem is booted by the Q6V5 MSS Peripheral Image Loader, it is required to boot the WiFi adapter. It is exposed via the QRTR_NET layer, a custom shared memory transport layer developed by Qualcomm. Over this the standard QMI interface is exposed. ModemManager has great support for QRTR and thus it is possible to send/receive SMS, use mobile data and make calls.


References

  • pmaports!1356 Relevant discussion on renaming the msm-modem package as rpmsgexport is not needed on SDM845.

WiFi

Wifi is functional! Firmware for the modem and ath10k module must be loaded in order to have functional wifi.

3 packages are required for functional wifi:

rmtfs, pd-mapper and tqftpserv can be installed with

apk add rmtfs pd-mapper tqftpserv

(pmaports!1080).

This readme can then be followed to fixup the firmware.

Some devices need this quirk enabled for ath10k probe to succeed.

More details may also be found on the Snapdragon 835 SoC page.

Display

The Adreno 630 is relatively easy to work with, after adding a driver for your panel, obtain the firmware from your device and either compile into the kernel (in addition to enabling CONFIG_DRM_FBDEV_EMULATION for early dmesg)) or add to the right subdirectory under /lib/firmware.


I2C

I2C and the Geni hardware is functional and supported, however it is missing a driver for special GPI DMA mode used by a few devices (e.g. touchscreen on Enchilada). As of 5.11-rc1 geni is capable of DMA, however not through the GPI hardware. The issues previously discussed here no longer apply.

Bluetooth

Bluetooth works!

Haptics

Haptics is supported! See Haptics for more details.

Bootloaders

In progress u-boot port exists

See also

Who's working on it

TODO add more devs :D