Qualcomm Snapdragon 730/730G/732G (SM7150): Difference between revisions
Appearance
Add wled |
m Undo revision 69897 by Daniel6745 (talk) Tag: Undo |
||
(30 intermediate revisions by 3 users not shown) | |||
Line 9: | Line 9: | ||
* '''SM7150-AC:''' 2 + 6 cores (2.3 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 | | gpu = Adreno 618 | ||
| npu = 120 | |||
| year = 2019/2020 | | year = 2019/2020 | ||
| process = 8 | | process = 8 | ||
Line 22: | Line 23: | ||
| status_i2c = Y | | status_i2c = Y | ||
| status_spi = Y | | status_spi = Y | ||
| status_audio = | | status_audio = P | ||
| status_video = | | status_video = N | ||
| status_thermal = Y | | status_thermal = Y | ||
| status_wifi = Y | | status_wifi = Y | ||
| status_bluetooth = Y | | status_bluetooth = Y | ||
| status_modem = Y | | status_modem = Y | ||
| status_gps = Y | | status_gps = P | ||
| | | status_camera = P | ||
| status_npu = N | |||
| status_suspend = Y | |||
| status_ethernet = - | |||
}} | }} | ||
Line 78: | Line 82: | ||
* '''N''': Feature is not currently supported. | * '''N''': Feature is not currently supported. | ||
{|class="wikitable" | {|class="wikitable" style="display: block; overflow-x: auto" | ||
! Component !! Part !! Driver !! Status !! Notes | ! Component !! Part !! Driver !! Status !! Notes | ||
|- | |- | ||
| SoC || Snapdragon 730/730G/732G || || class="feature feature-yes" | WIP || | | SoC || Snapdragon 730/730G/732G || || class="feature feature-yes" | WIP || | ||
|- | |- | ||
| | | CPU || Kryo Gold 470 (2.2-2.3GHz) <br> Kryo Silver 470 (1.8GHz) || qcom,kryo470 || class="feature feature-yes" | Y || | ||
| | |||
|- | |- | ||
| | | rowspan = 3 | Storage | ||
| UFS (2.1 gear 3) || qcom,sm7150-ufshc <br> qcom,ufshc <br> jedec,ufs-2.0 || class="feature feature-yes" | v6.4 || | |||
|- | |- | ||
| rowspan = | | eMMC (5.1) || qcom,sdhci-msm-v5 || class="feature feature-yes" | Y || Not tested | ||
| USB 2.0 || || class="feature feature- | |- | ||
| SD-Card (3.0) || qcom,sdhci-msm-v5 || class="feature feature-yes" | Y || | |||
|- | |||
| rowspan = 4 | USB Type C | |||
| USB 2.0 || qcom,dwc3 <br> snps,dwc3 <br> qcom,qusb2-v2-phy|| class="feature feature-yes" | Y || | |||
|- | |- | ||
| USB 3.1 || || class="feature feature-no" | N || rowspan =2 | Need a device that has this for tests | | USB 3.1 || || class="feature feature-no" | N || rowspan =2 | Need a device that has this for tests | ||
Line 95: | Line 103: | ||
| DisplayPort 1.4 || || class="feature feature-no" | N | | DisplayPort 1.4 || || class="feature feature-no" | N | ||
|- | |- | ||
| rowspan = | | OTG || qcom,pm8150b-typec <br> qcom,pm8150b-vbus-reg || class="feature feature-yes" | v6.9 || | ||
|- | |||
| rowspan = 2 | Display | |||
| SimpleFB || simple-framebuffer || class="feature feature-yes" | Y || | | SimpleFB || simple-framebuffer || class="feature feature-yes" | Y || | ||
|- | |- | ||
| DPU 5_2 | | | DPU 5_2 (885) || qcom,sm7150-dpu || class="feature feature-yes" | v6.11 || | ||
|- | |- | ||
| | | GPU || Adreno 618 (610-825MHz) || qcom,adreno-618.0 </br> qcom,adreno || class="feature feature-yes" | Y || | ||
|- | |- | ||
| | | rowspan = 2 | Pinctrl | ||
| TLMM 114 GPIOs || qcom,sm7150-tlmm || class="feature feature-yes" | v6.4 || | |||
|- | |- | ||
| | | LPASS TLMM 32 GPIOs<br>(18 SSC & 14 AUDIO) || qcom,sm7150-lpass-lpi-pinctrl || class="feature feature-yes" | WIP || | ||
|- | |- | ||
| rowspan = | | rowspan = 4 | QUP x15 | ||
| UART || qcom,geni-uart || class="feature feature-yes" | Y || | | UART || qcom,geni-uart || class="feature feature-yes" | Y || | ||
|- | |- | ||
Line 113: | Line 124: | ||
| SPI || qcom,geni-spi || class="feature feature-yes" | Y || | | SPI || qcom,geni-spi || class="feature feature-yes" | Y || | ||
|- | |- | ||
| rowspan = | | CCI I2C || qcom,msm8996-cci || class="feature feature-yes" | Y || | ||
|- | |||
| rowspan = 5 | Audio | |||
| wcd9375 || || class="feature feature-no" | N || | | wcd9375 || || class="feature feature-no" | N || | ||
|- | |||
| wcd9340 (optional) || || class="feature feature-no" | N || | |||
|- | |||
| wcd9341 (optional) || || class="feature feature-no" | N || | |||
|- | |||
| MI2S || qcom,sm8250-sndcard || class="feature feature-yes" | Y || | |||
|- | |- | ||
| bluetooth audio || || class="feature feature-yes" | Y || | | bluetooth audio || || class="feature feature-yes" | Y || | ||
|- | |- | ||
| Video || Venus || Venus | | Video || Venus || Venus IR v1.2.X || class="feature feature-no" | N || Error -110 | ||
|- | |- | ||
| rowspan = 2 | Thermal | | rowspan = 2 | Thermal | ||
Line 125: | Line 144: | ||
| PMIC SENS || || class="feature feature-yes" | Y || | | PMIC SENS || || class="feature feature-yes" | Y || | ||
|- | |- | ||
| rowspan = 2 | WCN3990 | | rowspan = 2 | WCN3980 <br> WCN3990 <br> WCN3998 | ||
| WiFi || qcom,wcn3990-wifi || class="feature feature-yes" | Y || | | WiFi || qcom,wcn3990-wifi || class="feature feature-yes" | Y || | ||
|- | |- | ||
Line 139: | Line 158: | ||
| GPS || class="feature feature-yes" | Y || | | GPS || class="feature feature-yes" | Y || | ||
|- | |- | ||
| Camera || || || class="feature feature-no" | N || | | Camera || || qcom,sm7150-camss || class="feature feature-partial" | WIP || | ||
|- | |||
| NPU || NPU 120 (600-700MHz) || || class="feature feature-no" | N || | |||
|- | |- | ||
| Suspend || || || || | | Suspend || || || class="feature feature-yes" | Y || | ||
|- | |- | ||
| RAM console (<code>ramoops</code>) || || || class="feature feature-yes" | Y || | | RAM console (<code>ramoops</code>) || || || class="feature feature-yes" | Y || | ||
|- | |- | ||
| Regulators | | rowspan = 2 | Regulators | ||
| RPMH || qcom,pm6150-rpmh-regulators <br> qcom,pm6150l-rpmh-regulators <br> qcom,pm8009-rpmh-regulators (optional) || class="feature feature-yes" | Y || | |||
|- | |||
| RPMHPD || qcom,sm7150-rpmhpd || class="feature feature-yes" | v6.6 || | |||
|- | |- | ||
| rowspan = 3 | RemoteProcs | | rowspan = 3 | RemoteProcs | ||
| MPSS || qcom, | | MPSS || qcom,sc7180-mpss-pas || class="feature feature-yes" | Y || | ||
|- | |- | ||
| ADSP || qcom, | | ADSP || qcom,sc7180-adsp-pas || class="feature feature-yes" | Y || | ||
|- | |- | ||
| CDSP || qcom, | | CDSP || qcom,sc7180-cdsp-pas || class="feature feature-yes" | Y || | ||
|- | |- | ||
| Interconnects || || || class="feature feature- | | Interconnects || || qcom,sm7150-mc-virt <br> qcom,sm7150-config-noc <br> qcom,sm7150-system-noc <br> qcom,sm7150-aggre1-noc <br> qcom,sm7150-aggre2-noc <br> qcom,sm7150-mmss-noc <br> qcom,sm7150-compute-noc <br> qcom,sm7150-dc-noc <br> qcom,sm7150-gem-noc <br> qcom,osm-l3 || class="feature feature-yes" | v6.9 || | ||
|- | |- | ||
| rowspan = 6 | Clocks | | rowspan = 6 | Clocks | ||
Line 163: | Line 187: | ||
| GPU Clock Controller || qcom,sc7180-gpucc || class="feature feature-yes" | Y || | | GPU Clock Controller || qcom,sc7180-gpucc || class="feature feature-yes" | Y || | ||
|- | |- | ||
| Display Clock Controller || qcom,sm7150-dispcc || class="feature feature-yes" | | | Display Clock Controller || qcom,sm7150-dispcc || class="feature feature-yes" | v6.11 || | ||
|- | |- | ||
| Video Clock Controller || qcom,sm7150-videocc || class="feature feature-yes" | | | Video Clock Controller || qcom,sm7150-videocc || class="feature feature-yes" | v6.11 || | ||
|- | |- | ||
| Camera Clock Controller || qcom,sm7150-camcc || class="feature feature- | | Camera Clock Controller || qcom,sm7150-camcc || class="feature feature-yes" | v6.11 || | ||
|- | |- | ||
| LLCC || Last Level Cache Controller || qcom,sm7150-llcc || class="feature feature-yes" | v6.4 || | | LLCC || Last Level Cache Controller || qcom,sm7150-llcc || class="feature feature-yes" | v6.4 || | ||
|- | |- | ||
| rowspan = | | rowspan = 9 | PMIC | ||
| Buttons || gpio-keys || class="feature feature-yes" | Y || | | Buttons || gpio-keys || class="feature feature-yes" | Y || | ||
|- | |- | ||
| Fuel gauge || qcom,qpnp- | | Fuel gauge || qcom,pm6150-qg || class="feature feature-partial" | WIP || | ||
|- | |||
| rowspan = 3 | Charger | |||
| qcom,qpnp-smb5 || class="feature feature-no" | WIP || | |||
|- | |- | ||
| qcom,smb1355 (optional) || class="feature feature-no" | N || | |||
|- | |- | ||
| qcom,smb1390 (optional) || class="feature feature-no" | N || | |||
|- | |- | ||
| Notification LED || qcom, | | Haptics || qcom,pmi632-vib || class="feature feature-yes" | v6.11 || | ||
|- | |||
| Notification LED || qcom,pm6150l-lpg || class="feature feature-yes" | v6.10 || | |||
|- | |- | ||
| Flashlight || qcom,spmi-flash-led || class="feature feature-yes" | v6.4 || | | Flashlight || qcom,spmi-flash-led || class="feature feature-yes" | v6.4 || | ||
|- | |- | ||
| Wled || qcom, | | Wled || qcom,pm6150l-wled || class="feature feature-yes" | v6.6 || | ||
|- | |- | ||
| Sensors || [https://wiki.postmarketos.org/wiki/Qualcomm_Snapdragon_Sensor_Core SSC] || || class="feature feature-yes" | Y || | |||
| Sensors || [https://wiki.postmarketos.org/wiki/Qualcomm_Snapdragon_Sensor_Core SSC] || || | |||
|} | |} | ||
== Known Issues == | |||
* Venus doesn't initialize with error -110: | |||
<syntaxhighlight lang="text"> | |||
[ 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 | |||
</syntaxhighlight> | |||
== SMMU == | == SMMU == | ||
Line 223: | Line 257: | ||
| <&apps_smmu 0x1e60 0x0> | | <&apps_smmu 0x1e60 0x0> | ||
|} | |} | ||
== Gallery == | == Gallery == | ||
Line 234: | Line 265: | ||
== Join us == | == Join us == | ||
Feel free to join us at [https://matrix.to/#/#sm7150-mainline:matrix.org #sm7150-mainline:matrix.org] | Feel free to join us on OFTC at [https://webchat.oftc.net/?channels=%23sm7150-mainline #sm7150-mainline] or on Matrix at [https://matrix.to/#/#sm7150-mainline:matrix.org #sm7150-mainline:matrix.org]. | ||
== Who's working on it == | == Who's working on it == | ||
* [[User:JIaxyga]] | * [[User:JIaxyga]] | ||
* [[User:Adrian]] | |||
* [[User:Ungeskriptet]] | * [[User:Ungeskriptet]] | ||
__FORCETOC__ | __FORCETOC__ |
Latest revision as of 22:03, 2 February 2025
![]() 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 |
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 | 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
-
Advanced Block Diagram
-
SM7150 Principle Block Diagram
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