Qualcomm Snapdragon 820/821 (MSM8996): Difference between revisions
+image |
Remove out-of-date display section |
||
Line 66: | Line 66: | ||
== Booting == | == Booting == | ||
On at least the [[Xiaomi_Mi_Note_2_(xiaomi-scorpio)|Xiaomi Mi Note 2]], some IOMMU hacks ([https://gitlab.com/Tooniis/linux/-/commit/d3d753f212ee45f1a01c060b9f50feb43fd5f616 1], [https://gitlab.com/Tooniis/linux/-/commit/96da3bd12174a76cd3e47cb3aaa79f19f2aa9dd3 2]) are needed to let it to boot properly. Otherwise it would crash and reboot as soon as the MDP SMMU is probed. | On at least the [[Xiaomi_Mi_Note_2_(xiaomi-scorpio)|Xiaomi Mi Note 2]], some IOMMU hacks ([https://gitlab.com/Tooniis/linux/-/commit/d3d753f212ee45f1a01c060b9f50feb43fd5f616 1], [https://gitlab.com/Tooniis/linux/-/commit/96da3bd12174a76cd3e47cb3aaa79f19f2aa9dd3 2]) are needed to let it to boot properly. Otherwise it would crash and reboot as soon as the MDP SMMU is probed. | ||
== USB == | == USB == |
Revision as of 09:19, 15 October 2021
![]() MSM8996 in ceramic capsule | |
Manufacturer | Qualcomm |
---|---|
Name | MSM8996 |
Codenames | msmthulium/apqthulium |
Architecture | aarch64 |
CPU | 2x 2.2/2.3 GHz Kryo, 2x 1.6 GHz Kryo |
GPU | Adreno 530 |
Year | 2016 |
Process | 14nm |
Mainline | yes |
Components | |
CPU |
Partial |
UART |
Works |
Storage |
Partial |
USB |
Works |
Display |
Works |
GPU |
Works |
Pinctrl |
Works |
I²C |
Works |
SPI |
No data |
Audio |
Works |
Video |
Works |
Thermal |
Works |
Modem |
Partial |
GPS |
No data |
Camera |
No data |
NPU |
No data |
Suspend |
Broken |
Ethernet |
No data |
SATA |
No data |
MSM8996/APQ8096 (or Snapdragon 820) is a Qualcomm SoC released in 2016, with great mainline support orginally added for the Dragonboard 820c. There is also a slightly higher clocked (and supposedly less problematic architecture-wise) MSM8996Pro also known as Snapdragon 821.
Devices
APQ8096(SG) (Snapdragon 820E, WiFi-only)
No results
MSM8996 (Snapdragon 820)
No results
MSM8996Pro (Snapdragon 821)
No results
Booting
On at least the Xiaomi Mi Note 2, some IOMMU hacks (1, 2) are needed to let it to boot properly. Otherwise it would crash and reboot as soon as the MDP SMMU is probed.
USB
Enabling usb3
or usb2
depending on which one the USB port is connected to should be enough to make USB work, although forcing it to peripheral mode might be needed before adding support for extcon:
MSM8996 USB peripheral mode configuration
&usb3 { ... dwc3@6a00000 { dr_mode = "peripheral"; ... }; };
Some devices have a USB 2.0 port wired to usb3
. In this case it must be limited to high-speed and have usb3phy
removed from it:
MSM8996 USB 2.0 configuration
&usb3 { /* Disable USB3 pipe_clk requirement */ qcom,select-utmi-as-pipe-clk; ... dwc3@6a00000 { /* usb3-phy is not used on this device */ phys = <&hsusb_phy1>; phy-names = "usb2-phy"; /* Limit USB to high-speed */ maximum-speed = "high-speed"; ... }; };
Haptics
Haptics are supported, see Haptics for more details.
See also
- msm8996-mainline a common near-mainline kernel tree for MSM8996 devices. Currently supports OnePlus 3/3T, Xiaomi Mi Note 2, and (partially?) the ZTE Axon 7.
- Xiaomi_Mi_Note_2_(xiaomi-scorpio)#Mainline
Who's working on it
- User:Tooniis (@tooniis on Matrix)
Please add yourself if you're working on MSM8996 mainlining! |