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

From postmarketOS Wiki
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
Broken
Thermal
Works
WiFi
Works
Bluetooth
Works
Modem
Works
GPS
Partial
Camera
Partial
NPU
Broken
Suspend
Works


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 qcom,dwc3
snps,dwc3
qcom,qusb2-v2-phy
Y
USB 3.1 N Need a device that has this for tests
DisplayPort 1.4 N
OTG qcom,pm8150b-typec
qcom,pm8150b-vbus-reg
v6.9
Display SimpleFB simple-framebuffer Y
DPU 5_2 (885) qcom,sm7150-dpu v6.11
GPU Adreno 618 (610-825MHz) qcom,adreno-618.0
qcom,adreno
Y
Pinctrl TLMM 114 GPIOs qcom,sm7150-tlmm v6.4
LPASS TLMM 32 GPIOs
(18 SSC & 14 AUDIO)
qcom,sm7150-lpass-lpi-pinctrl WIP
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 qcom,sm7150-camss WIP
NPU NPU 120 (600-700MHz) N
Suspend Y
RAM console (ramoops) Y
Regulators RPMH qcom,pm6150-rpmh-regulators
qcom,pm6150l-rpmh-regulators
qcom,pm8009-rpmh-regulators (optional)
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
v6.9
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 v6.11
Video Clock Controller qcom,sm7150-videocc v6.11
Camera Clock Controller qcom,sm7150-camcc v6.11
LLCC Last Level Cache Controller qcom,sm7150-llcc v6.4
PMIC Buttons gpio-keys Y
Fuel gauge qcom,pm6150-qg WIP
Charger qcom,qpnp-smb5 WIP
qcom,smb1355 (optional) N
qcom,smb1390 (optional) N
Haptics qcom,pmi632-vib v6.11
Notification LED qcom,pm6150l-lpg v6.10
Flashlight qcom,spmi-flash-led v6.4
Wled qcom,pm6150l-wled v6.6
Sensors SSC Y

Known Issues

  • 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

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>

Gallery

Join us

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

Who's working on it