Qualcomm Snapdragon 730/730G/732G (SM7150)
SM7150 in ceramic BGA package | |
Manufacturer | Qualcomm |
---|---|
Name | SM7150 |
Codenames | sdmmagpie |
Architecture | aarch64 |
CPU |
|
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 | |
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 at #sm7150-mainline:matrix.org on Matrix.
Who's working on it