Jump to content

Qualcomm Snapdragon 730/730G/732G (SM7150)

From postmarketOS Wiki
Revision as of 09:28, 15 November 2023 by JIaxyga (talk | contribs) (Venus IR v1.2.40 -> Venus IR v1.2.X)
Qualcomm SM7150
SM7150 in ceramic BGA package
SM7150 in ceramic BGA package
Manufacturer Qualcomm
Name SM7150
Codenames sdmmagpie
Architecture aarch64
CPU
  • SM7150-AA/AB: 2 + 6 cores (2.2 GHz Kryo 470 Gold + 1.8 GHz Kryo 470 Silver
  • SM7150-AC: 2 + 6 cores (2.3 GHz Kryo 470 Gold + 1.8 GHz Kryo 470 Silver
GPU Adreno 618
NPU 120
Year 2019/2020
Process 8nm
Mainline yes
Community Page https://github.com/sm7150-mainline
Components
CPU
Works
UART
Works
Storage
Works
USB
Works
Display
Works
GPU
Works
Pinctrl
Works
I²C
Works
SPI
Works
Audio
Partial
Video
No data
Thermal
Works
WiFi
Works
Bluetooth
Works
Modem
Works
GPS
Works
Camera
No data
NPU
No data
Suspend
Works
Ethernet
No data
SATA
No data


SM7150-AA (Snapdragon 730), SM7150-AB (Snapdragon 730G) and SM7150-AC (Snapdragon 732G) are premium mid-range Qualcomm SoCs released in 2019 and 2020. Internal msm codename for this platform is sdmmagpie.

Devices

Snapdragon 730

Device Codename Mainline
Xiaomi Mi 9T / Redmi K20 xiaomi-davinci Y

Snapdragon 730G

Device Codename Mainline
Google Pixel 4a google-sunfish Y
Lenovo Tab P11 Pro lenovo-j706f
Motorola Moto G9 Plus motorola-odessa
Samsung Galaxy A71 samsung-a71 Y
Xiaomi Mi Note 10 / Mi CC9 Pro xiaomi-tucana Y
Xiaomi Mi Note 10 Lite xiaomi-toco Y

Snapdragon 732G

Device Codename Mainline
Xiaomi Mi 11 Lite 4G xiaomi-courbet Y
Xiaomi POCO X3 NFC xiaomi-surya Y
Xiaomi Redmi Note 10 Pro xiaomi-sweet Y
Xiaomi Redmi Note 12 Pro (4G) xiaomi-sweet_k6a Y

Mainline

A work in progress mainline kernel is being developed here.

There is a dedicated SM7150 Mainlining guide that explains how to get started.

  • Kernel release, e.g. v6.4: the feature was incorporated upstream as of this release.
  • WIP: Feature works or works partially in community kernel fork. Not upstream yet.
  • Y: The feature works with a generic or compatible driver.
  • N: Feature is not currently supported.
Component Part Driver Status Notes
SoC Snapdragon 730/730G/732G WIP
CPU Kryo Gold 470 (2.2-2.3GHz)
Kryo Silver 470 (1.8GHz)
qcom,kryo470 Y
Storage UFS (2.1 gear 3) qcom,sm7150-ufshc
qcom,ufshc
jedec,ufs-2.0
v6.4
eMMC (5.1) qcom,sdhci-msm-v5 Y Not tested
SD-Card (3.0) qcom,sdhci-msm-v5 Y
USB Type C USB 2.0 P Peripheral mode only
USB 3.1 N Need a device that has this for tests
DisplayPort 1.4 N
Display SimpleFB simple-framebuffer Y
DPU 5_2 (885) qcom,sm7150-dpu WIP
DPU 5_2 (885) with DSC 1.1 N Broken only for video panel?
GPU Adreno 618 (610-825MHz) qcom,adreno-618.0
qcom,adreno
Y
Pinctrl 114 GPIOs qcom,sm7150-tlmm v6.4
QUP x15 UART qcom,geni-uart Y
I2C qcom,geni-i2c Y
SPI qcom,geni-spi Y
CCI I2C qcom,msm8996-cci Y
Audio wcd9375 N
wcd9340 (optional) N
wcd9341 (optional) N
MI2S qcom,sm8250-sndcard Y
bluetooth audio Y
Video Venus Venus IR v1.2.X N Error -110
Thermal TSENS Y
PMIC SENS Y
WCN3980
WCN3990
WCN3998
WiFi qcom,wcn3990-wifi Y
Bluetooth qcom,wcn3990-bt Y
Modem Calls qcom,sc7180-ipa
IPA v4.2
Y Voice call audio not working
SMS Y
Mobile data Y
GPS Y
Camera N
NPU NPU 120 (600-700MHz) N
Suspend Y
RAM console (ramoops) Y
Regulators RPMH qcom,pm6150-rpmh-regulators
qcom,pm8150l-rpmh-regulators
Y
RPMHPD qcom,sm7150-rpmhpd v6.6
RemoteProcs MPSS qcom,sc7180-mpss-pas Y
ADSP qcom,sc7180-adsp-pas Y
CDSP qcom,sc7180-cdsp-pas Y
Interconnects qcom,sm7150-mc-virt
qcom,sm7150-config-noc
qcom,sm7150-system-noc
qcom,sm7150-aggre1-noc
qcom,sm7150-aggre2-noc
qcom,sm7150-mmss-noc
qcom,sm7150-compute-noc
qcom,sm7150-dc-noc
qcom,sm7150-gem-noc
qcom,osm-l3
WIP
Clocks Global Clock Controller qcom,sm7150-gcc v6.4
RPM Clock Controller qcom,sc7180-rpmh-clk Y
GPU Clock Controller qcom,sc7180-gpucc Y
Display Clock Controller qcom,sm7150-dispcc WIP
Video Clock Controller qcom,sm7150-videocc WIP
Camera Clock Controller qcom,sm7150-camcc WIP
LLCC Last Level Cache Controller qcom,sm7150-llcc v6.4
PMIC Buttons gpio-keys Y
Fuel gauge qcom,qpnp-qg N
Charger qcom,qpnp-smb5 N
qcom,smb1355 (optional) N
qcom,smb1390 (optional) N
Haptics qcom,pmi632-vib WIP
Notification LED qcom,pm8150l-lpg Y
Flashlight qcom,spmi-flash-led v6.4
Wled qcom,pm8150l-wled v6.6
IR TX N
Sensors SSC N

SMMU

There are 6 valid IOMMU stream match registers on the Xiaomi POCO X3 NFC provided by the bootloader:

1 SDC1 <&apps_smmu 0x340 0xf>
2 SDC2 <&apps_smmu 0x2a0 0xf>
3 SDC4 <&apps_smmu 0x2c0 0xf>
4 USB <&apps_smmu 0x540 0x0>
5 UFS <&apps_smmu 0x300 0xf>
6 MDSS <&apps_smmu 0x800 0x440>
7 PCI0 <&apps_smmu 0x1e60 0x0>

Known Issues

  • DSC doesn't work on video panels.

Based on dmesg, we can say that the DSC parameters were received correctly and initialization was successful. But still sending commands is unsuccessful.

[   63.008627] panel-huaxing-nt36672c ae94000.dsi.0: sending command 0xff failed: -22
  • Venus doesn't initialize with error -110:
[   16.337065] qcom-venus aa00000.video-codec: wait for cpu and video core idle fail (-110)
[   16.347265] qcom-venus: probe of aa00000.video-codec failed with error -110
  • On all xiaomi except surya adsp crashes after a minute:
[   55.582662] qcom_q6v5_pas 62400000.remoteproc: fatal error received: err_qdi.c:1040:EF:sensor_process:0x1:TMR_CLNT_1:0xe5:dog_virtual_user.c:240:USER-PD DOG detects stalled initialization, triage with IMAGE OWNER
[   55.582733] remoteproc remoteproc0: crash detected in 62400000.remoteproc: type fatal error
[   55.582871] remoteproc remoteproc0: handling crash #1 in 62400000.remoteproc
[   55.582880] remoteproc remoteproc0: recovering 62400000.remoteproc
  • Bluetooth doesn't work without reverting some commit from upstream.

GPS

Install GPSD with the Qualcomm PDS patch, configure it to use pds://any as the device during runtime and you should be good to go.

Gallery

Join us

Feel free to join us at #sm7150-mainline:matrix.org on Matrix.

Who's working on it