Qualcomm Snapdragon 835 (MSM8998): Difference between revisions
PureTryOut (talk | contribs) |
Add information about testing the PM8XXX compatible RTC module |
||
Line 62: | Line 62: | ||
Those can be supplied directly from <code>[https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/qca linux-firmware]</code> and they should work fine, but if not you'll need to grab the files from your device's firmware partitions. | Those can be supplied directly from <code>[https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/qca linux-firmware]</code> and they should work fine, but if not you'll need to grab the files from your device's firmware partitions. | ||
== Real-time clock (RTC) == | |||
The RTC module found on the PM8998 PMIC block works with <code>CONFIG_RTC_DRV_PM8XXX</code> enabled. It can be easily tested from userspace like so: | |||
# cd /sys/class/rtc/rtc0/ | |||
# echo $((`cat since_epoch`+120)) > wakealarm | |||
After running that and fully powering down the device it should power on by itself soon afterwards (2 minutes later to be exact). | |||
== See also == | == See also == |
Revision as of 06:59, 20 July 2020
Manufacturer | Qualcomm |
---|---|
Name | MSM8998 |
Architecture | aarch64 |
CPU | 4x 2.45 GHz Kryo 280 Gold, 4x 1.9 GHz Kryo 280 Silver |
GPU | Adreno 540 |
Year | 2017 |
Process | 10nm |
Mainline | yes |
Components | |
CPU |
Works |
UART |
No data |
Storage |
Works |
USB |
Partial |
Display |
Partial |
GPU |
No data |
Pinctrl |
Works |
I²C |
Works |
SPI |
No data |
Audio |
No data |
Video |
No data |
Thermal |
No data |
WiFi |
Partial |
Bluetooth |
Works |
Modem |
No data |
GPS |
No data |
Camera |
No data |
NPU |
No data |
Suspend |
No data |
Ethernet |
No data |
SATA |
No data |
MSM8998 (or Snapdragon 835) is a high-end Qualcomm SoC released in 2017 with mainline support originally added for the MTP (proven reference design) board towards the end of 2018.
Devices
No results
UFS internal storage
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 |
To enable the device's internal UFS 2.1 host controller (and 14nm UFS QMP PHY), compile the kernel with the following modules enabled:
CONFIG_SCSI_UFS_QCOM=y CONFIG_PHY_QCOM_QMP=y
You can optionally set CONFIG_SCSI_SCAN_ASYNC=y
for some additional speedup while booting. Consider also enabling CONFIG_QFMT_V2
if you intend on writing data to a userdata
partition formatted by Android where disk quotas are normally enabled by default for ext4
volumes.
Bluetooth
Getting Bluetooth to work should be trivial assuming you compile the kernel with the following modules enabled:
CONFIG_RFKILL=m CONFIG_BT_RFCOMM=y CONFIG_BT_BNEP=y CONFIG_BT_HIDP=y CONFIG_BT_HS=y CONFIG_BT_LE=y
After those are set and you've copied the needed kernel modules over to the rootfs in /lib/modules/
you just need the following firmware files in /lib/firmware/qca/
:
crbtfw21.tlv crnv21.bin
Those can be supplied directly from linux-firmware
and they should work fine, but if not you'll need to grab the files from your device's firmware partitions.
Real-time clock (RTC)
The RTC module found on the PM8998 PMIC block works with CONFIG_RTC_DRV_PM8XXX
enabled. It can be easily tested from userspace like so:
# cd /sys/class/rtc/rtc0/ # echo $((`cat since_epoch`+120)) > wakealarm
After running that and fully powering down the device it should power on by itself soon afterwards (2 minutes later to be exact).
See also
linux-mainline-oneplus5 A mainline kernel fork with some patches for MSM8998 and OnePlus 5/5T support (check the 5.7 branch commits for a "step-by-step guide")
OnePlus_5_(oneplus-cheeseburger)#Mainline_kernel
Who's working on it
- User:Deathmist (@deathmist on Matrix)
- User:R0551 (@r0551 on Matrix)
- User:Degdag (@degdag on Matrix)
(feel free to add yourself here if you're working on MSM8998 mainlining!)