Qualcomm Snapdragon 425/427/430/435 (MSM8917/MSM8920/MSM8937/MSM8940): Difference between revisions
m Updated link |
ValPackett (talk | contribs) →Modem: ah nope |
||
(11 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
{{Work-in-progress page}} | |||
{{Infobox soc | {{Infobox soc | ||
| name = QM215 | | name = QM215 | ||
Line 8: | Line 9: | ||
| year = 2019 | | year = 2019 | ||
| process = 28 | | process = 28 | ||
| mainline = | | mainline = yes | ||
| community_page = | | community_page = https://github.com/msm89x7-mainline | ||
| status_cpu = | | status_cpu = Y | ||
| status_uart = | | status_uart = Y | ||
| status_storage = | | status_storage = Y | ||
| status_usb = | | status_usb = Y | ||
| status_display = | | status_display = Y | ||
| status_gpu = | | status_gpu = Y | ||
| status_pinctrl = | | status_pinctrl = Y | ||
| status_i2c = | | status_i2c = Y | ||
| status_audio = | | status_audio = Y | ||
| status_video = | | status_video = N | ||
| status_thermal = | | status_thermal = Y | ||
| status_wifi = | | status_wifi = Y | ||
| status_bluetooth = | | status_bluetooth = Y | ||
| status_modem = | | status_modem = P | ||
| status_camera = | | status_camera = P | ||
| status_suspend = | | status_suspend = N | ||
| status_spi = Y | |||
| status_gps = N | |||
| status_npu = - | |||
| status_sata = - | |||
| status_ethernet = - | |||
}} | }} | ||
{{Infobox soc | {{Infobox soc | ||
| name = | | name = MSM8917 | ||
| codenames = | | codenames = | ||
| manufacturer = Qualcomm | | manufacturer = Qualcomm | ||
Line 37: | Line 43: | ||
| year = 2016 | | year = 2016 | ||
| process = 28 | | process = 28 | ||
| mainline = | | mainline = yes | ||
| community_page = | | community_page = https://github.com/msm89x7-mainline | ||
| status_cpu = | | status_cpu = Y | ||
| status_uart = | | status_uart = Y | ||
| status_storage = | | status_storage = Y | ||
| status_usb = | | status_usb = Y | ||
| status_display = | | status_display = Y | ||
| status_gpu = | | status_gpu = Y | ||
| status_pinctrl = | | status_pinctrl = Y | ||
| status_i2c = | | status_i2c = Y | ||
| status_audio = | | status_audio = Y | ||
| status_video = | | status_video = N | ||
| status_thermal = | | status_thermal = Y | ||
| status_wifi = | | status_wifi = Y | ||
| status_bluetooth = | | status_bluetooth = Y | ||
| status_modem = | | status_modem = P | ||
| status_camera = | | status_camera = P | ||
| status_suspend = | | status_suspend = N | ||
| status_spi = Y | |||
| status_gps = N | |||
| status_npu = - | |||
| status_sata = - | |||
| status_ethernet = - | |||
}} | }} | ||
{{Infobox soc | {{Infobox soc | ||
| name = | | name = MSM8920 | ||
| codenames = | | codenames = | ||
| manufacturer = Qualcomm | | manufacturer = Qualcomm | ||
Line 84: | Line 95: | ||
| status_camera = | | status_camera = | ||
| status_suspend = | | status_suspend = | ||
| status_npu = - | |||
}} | }} | ||
{{Infobox soc | {{Infobox soc | ||
| name = | | name = MSM8937 | ||
| codenames = | | codenames = | ||
| manufacturer = Qualcomm | | manufacturer = Qualcomm | ||
Line 95: | Line 107: | ||
| year = 2016 | | year = 2016 | ||
| process = 28 | | process = 28 | ||
| mainline = | | mainline = yes | ||
| community_page = | | community_page = https://github.com/msm89x7-mainline | ||
| status_cpu = Y | |||
| status_uart = Y | |||
| status_storage = Y | |||
| status_usb = Y | |||
| status_display = Y | |||
| status_gpu = Y | |||
| status_pinctrl = Y | |||
| status_i2c = Y | |||
| status_audio = Y | |||
| status_video = N | |||
| status_thermal = Y | |||
| status_wifi = Y | |||
| status_bluetooth = Y | |||
| status_modem = P | |||
| status_camera = N | |||
| status_suspend = N | |||
| status_spi = Y | |||
| status_gps = N | |||
| status_npu = - | |||
| status_sata = - | |||
| status_ethernet = - | |||
}} | |||
{{Infobox soc | |||
| name = MSM8940 | |||
| codenames = | |||
| manufacturer = Qualcomm | |||
| arch = aarch64 | |||
| cpu = 8x 1.4 GHz ARM Cortex-A53 | |||
| gpu = Adreno 505 | |||
| year = 2016 | |||
| process = 28 | |||
| mainline = yes | |||
| community_page = https://github.com/msm89x7-mainline | |||
| status_cpu = Y | |||
| status_uart = Y | |||
| status_storage = Y | |||
| status_usb = Y | |||
| status_display = Y | |||
| status_gpu = Y | |||
| status_pinctrl = Y | |||
| status_i2c = Y | |||
| status_audio = Y | |||
| status_video = N | |||
| status_thermal = Y | |||
| status_wifi = Y | |||
| status_bluetooth = Y | |||
| status_modem = N | |||
| status_camera = N | |||
| status_suspend = N | |||
| status_spi = Y | |||
| status_gps = N | |||
| status_npu = - | |||
| status_sata = - | |||
| status_ethernet = - | |||
}} | |||
{{Infobox soc | |||
| name = SDM429 | |||
| codenames = | |||
| manufacturer = Qualcomm | |||
| arch = aarch64 | |||
| cpu = 4x 2 GHz ARM Cortex-A53 | |||
| gpu = Adreno 504 | |||
| year = 2019 | |||
| process = 12 | |||
| mainline = no | |||
| community_page = https://github.com/msm89x7-mainline | |||
| status_cpu = | | status_cpu = | ||
| status_uart = | | status_uart = | ||
Line 113: | Line 193: | ||
| status_camera = | | status_camera = | ||
| status_suspend = | | status_suspend = | ||
| status_spi = | |||
| status_gps = | |||
| status_npu = - | |||
| status_sata = - | |||
| status_ethernet = - | |||
}} | }} | ||
{{Infobox soc | {{Infobox soc | ||
| name = | | name = SDM439 | ||
| codenames = | | codenames = | ||
| manufacturer = Qualcomm | | manufacturer = Qualcomm | ||
| arch = aarch64 | | arch = aarch64 | ||
| cpu = 8x | | cpu = 8x 2 GHz ARM Cortex-A53 | ||
| gpu = Adreno 505 | | gpu = Adreno 505 | ||
| year = | | year = 2018 | ||
| process = | | process = 12 | ||
| mainline = | | mainline = no | ||
| community_page = | | community_page = https://github.com/msm89x7-mainline | ||
| status_cpu = | | status_cpu = | ||
| status_uart = | | status_uart = | ||
Line 142: | Line 227: | ||
| status_camera = | | status_camera = | ||
| status_suspend = | | status_suspend = | ||
| status_spi = | |||
| status_gps = | |||
| status_npu = - | |||
| status_sata = - | |||
| status_ethernet = - | |||
}} | }} | ||
[https://www.qualcomm.com/products/application/smartphones/snapdragon-4-series-mobile-platforms/snapdragon-425-mobile-platform MSM8917], [https://www.qualcomm.com/products/application/smartphones/snapdragon-4-series-mobile-platforms/snapdragon-430-mobile-platform MSM8937], [https://www.qualcomm.com/products/application/smartphones/snapdragon-4-series-mobile-platforms/snapdragon-435-mobile-platform MSM8940] are Qualcomm SoCs released in 2016. | |||
[https://www.qualcomm.com/products/application/smartphones/snapdragon-4-series-mobile-platforms/snapdragon-425-mobile-platform | |||
[https://www.qualcomm.com/products/ | [https://www.qualcomm.com/products/application/smartphones/snapdragon-4-series-mobile-platforms/snapdragon-427-mobile-platform MSM8920] is a improved version of MSM8917 (higher clocked GPU and faster modem) released in 2017. | ||
According to [https://en.wikipedia.org/wiki/List_of_Qualcomm_Snapdragon_systems_on_chips# | [https://www.qualcomm.com/products/mobile/snapdragon/smartphones/qualcomm-2-series-mobile-platforms/qualcomm-215-mobile-platform QM215] is a stripped-down version of MSM8917 released in 2019 for low-end devices. | ||
According to [https://en.wikipedia.org/wiki/List_of_Qualcomm_Snapdragon_systems_on_chips#Snapdragon_400_series_(2013%E2%80%932021) Wikipedia], MSM8917/8920/8937/8940 are pin and software compatible, and are software compatible with SDM429/439/[[Qualcomm_Snapdragon_450/625/626/632_(MSM8953)|450/632, MSM8953/8953Pro]]. | |||
== Devices == | == Devices == | ||
=== QM215 === | === QM215 (Qualcomm 215) === | ||
{{#cargo_query: | {{#cargo_query: | ||
tables=Devices | tables=Devices | ||
Line 164: | Line 254: | ||
}} | }} | ||
=== MSM8917 ( | === MSM8917 (Snapdragon 425) === | ||
{{#cargo_query: | {{#cargo_query: | ||
tables=Devices | tables=Devices | ||
Line 175: | Line 265: | ||
}} | }} | ||
=== MSM8920 ( | === MSM8920 (Snapdragon 427) === | ||
{{#cargo_query: | {{#cargo_query: | ||
tables=Devices | tables=Devices | ||
Line 186: | Line 276: | ||
}} | }} | ||
=== MSM8937 ( | === MSM8937 (Snapdragon 430) === | ||
{{#cargo_query: | {{#cargo_query: | ||
tables=Devices | tables=Devices | ||
Line 197: | Line 287: | ||
}} | }} | ||
=== MSM8940 ( | === MSM8940 (Snapdragon 435) === | ||
{{#cargo_query: | {{#cargo_query: | ||
tables=Devices | tables=Devices | ||
Line 207: | Line 297: | ||
|more results text= | |more results text= | ||
}} | }} | ||
=== SDM429 (Snapdragon 429) === | |||
{{#cargo_query: | |||
tables=Devices | |||
|fields=CONCAT( '[[', _pageName, '|',Manufacturer,' ',Name,']]' )=Device,Codename,StatusMainline=Mainline,Category | |||
|order by=Devices.Manufacturer, Devices.Name | |||
|format=table | |||
|limit=9999 | |||
|where=Booting and Devices.chipset='Qualcomm Snapdragon 429 (SDM429)' | |||
|more results text= | |||
}} | |||
=== SDM439 (Snapdragon 439) === | |||
{{#cargo_query: | |||
tables=Devices | |||
|fields=CONCAT( '[[', _pageName, '|',Manufacturer,' ',Name,']]' )=Device,Codename,StatusMainline=Mainline,Category | |||
|order by=Devices.Manufacturer, Devices.Name | |||
|format=table | |||
|limit=9999 | |||
|where=Booting and Devices.chipset='Qualcomm Snapdragon 439 (SDM439)' | |||
|more results text= | |||
}} | |||
== CPU == | |||
<del>There is currently no working clock driver and rely on the bootloader for providing clock frequency. So 8 cores will be slower than 4 cores on MSM8937/8940 platform.</del> | |||
== Modem == | |||
Modem can be enabled on msm8917 and msm8937, but manual steps are needed to make it visible for ModemManager: | |||
<syntaxhighlight lang="shell-session"> | |||
$ doas qmicli -d qrtr://0 --dpm-open-port="hw-data-ep-type=bam-dmux,hw-data-ep-iface-number=0,hw-data-rx-id=42,hw-data-tx-id=42" | |||
$ doas qmicli -d qrtr://0 --dms-set-operating-mode=online | |||
$ doas rc-service modemmanager restart | |||
</syntaxhighlight> | |||
MM not doing this automatically is tracked in [https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/610 ModemManager#610] | |||
The 2nd line might not actually be required (TODO: confirm). | |||
The modem boots when the <code>rmtfs</code> service starts. To boot successfully, Motorola (at least) devices need firmware served by <code>tqftpserv</code> (see [https://gitlab.postmarketos.org/postmarketOS/pmaports/-/blob/master/device/community/soc-qcom-msm8953/moto-modem-rfs-setup.openrc moto-modem-rfs-setup.openrc]), Sony devices need a <code>ta</code> service. | |||
== See Also == | == See Also == | ||
* [https://github.com/dreemurrs-embedded/linux-msm89x7 Dreemurrs Embedded Labs' Mainline Kernel 5.8.0-rc1 for MSM89X7 devices] | * [https://github.com/dreemurrs-embedded/linux-msm89x7 Dreemurrs Embedded Labs' Mainline Kernel 5.8.0-rc1 for MSM89X7 devices] | ||
* [https://github.com/affenull2345/linux/tree/wip/qm215/6.6-rc1 Affe Null's Mainline Kernel (6.6-rc1) for QM215 and MSM8917 devices] | * [https://github.com/affenull2345/linux/tree/wip/qm215/6.6-rc1 Affe Null's Mainline Kernel (6.6-rc1) for QM215 and MSM8917 devices] | ||
* [https://github.com/msm89x7-mainline MSM89X7 Working Group] |
Latest revision as of 02:55, 27 January 2025
🚧 | This page is a work-in-progress. Some information contained within may be inaccurate or incomplete. |
Manufacturer | Qualcomm |
---|---|
Name | QM215 |
Architecture | aarch64 |
CPU | 4x 1.3 GHz ARM Cortex-A53 |
GPU | Adreno 308 |
Year | 2019 |
Process | 28nm |
Mainline | yes |
Community Page | https://github.com/msm89x7-mainline |
Components | |
CPU |
Works |
UART |
Works |
Storage |
Works |
USB |
Works |
Display |
Works |
GPU |
Works |
Pinctrl |
Works |
I²C |
Works |
SPI |
Works |
Audio |
Works |
Video |
Broken |
Thermal |
Works |
WiFi |
Works |
Bluetooth |
Works |
Modem |
Partial |
GPS |
Broken |
Camera |
Partial |
Suspend |
Broken |
Manufacturer | Qualcomm |
---|---|
Name | MSM8917 |
Architecture | aarch64 |
CPU | 4x 1.4 GHz ARM Cortex-A53 |
GPU | Adreno 308 |
Year | 2016 |
Process | 28nm |
Mainline | yes |
Community Page | https://github.com/msm89x7-mainline |
Components | |
CPU |
Works |
UART |
Works |
Storage |
Works |
USB |
Works |
Display |
Works |
GPU |
Works |
Pinctrl |
Works |
I²C |
Works |
SPI |
Works |
Audio |
Works |
Video |
Broken |
Thermal |
Works |
WiFi |
Works |
Bluetooth |
Works |
Modem |
Partial |
GPS |
Broken |
Camera |
Partial |
Suspend |
Broken |
Manufacturer | Qualcomm |
---|---|
Name | MSM8920 |
Architecture | aarch64 |
CPU | 4x 1.4 GHz ARM Cortex-A53 |
GPU | Adreno 308 |
Year | 2017 |
Process | 28nm |
Components | |
CPU |
No data |
UART |
No data |
Storage |
No data |
USB |
No data |
Display |
No data |
GPU |
No data |
Pinctrl |
No data |
I²C |
No data |
SPI |
No data |
Audio |
No data |
Video |
No data |
Thermal |
No data |
WiFi |
No data |
Bluetooth |
No data |
Modem |
No data |
GPS |
No data |
Camera |
No data |
Suspend |
No data |
Ethernet |
No data |
SATA |
No data |
Manufacturer | Qualcomm |
---|---|
Name | MSM8937 |
Architecture | aarch64 |
CPU | 8x 1.4 GHz ARM Cortex-A53 |
GPU | Adreno 505 |
Year | 2016 |
Process | 28nm |
Mainline | yes |
Community Page | https://github.com/msm89x7-mainline |
Components | |
CPU |
Works |
UART |
Works |
Storage |
Works |
USB |
Works |
Display |
Works |
GPU |
Works |
Pinctrl |
Works |
I²C |
Works |
SPI |
Works |
Audio |
Works |
Video |
Broken |
Thermal |
Works |
WiFi |
Works |
Bluetooth |
Works |
Modem |
Partial |
GPS |
Broken |
Camera |
Broken |
Suspend |
Broken |
Manufacturer | Qualcomm |
---|---|
Name | MSM8940 |
Architecture | aarch64 |
CPU | 8x 1.4 GHz ARM Cortex-A53 |
GPU | Adreno 505 |
Year | 2016 |
Process | 28nm |
Mainline | yes |
Community Page | https://github.com/msm89x7-mainline |
Components | |
CPU |
Works |
UART |
Works |
Storage |
Works |
USB |
Works |
Display |
Works |
GPU |
Works |
Pinctrl |
Works |
I²C |
Works |
SPI |
Works |
Audio |
Works |
Video |
Broken |
Thermal |
Works |
WiFi |
Works |
Bluetooth |
Works |
Modem |
Broken |
GPS |
Broken |
Camera |
Broken |
Suspend |
Broken |
Manufacturer | Qualcomm |
---|---|
Name | SDM429 |
Architecture | aarch64 |
CPU | 4x 2 GHz ARM Cortex-A53 |
GPU | Adreno 504 |
Year | 2019 |
Process | 12nm |
Mainline | no |
Community Page | https://github.com/msm89x7-mainline |
Components | |
CPU |
No data |
UART |
No data |
Storage |
No data |
USB |
No data |
Display |
No data |
GPU |
No data |
Pinctrl |
No data |
I²C |
No data |
SPI |
No data |
Audio |
No data |
Video |
No data |
Thermal |
No data |
WiFi |
No data |
Bluetooth |
No data |
Modem |
No data |
GPS |
No data |
Camera |
No data |
Suspend |
No data |
Manufacturer | Qualcomm |
---|---|
Name | SDM439 |
Architecture | aarch64 |
CPU | 8x 2 GHz ARM Cortex-A53 |
GPU | Adreno 505 |
Year | 2018 |
Process | 12nm |
Mainline | no |
Community Page | https://github.com/msm89x7-mainline |
Components | |
CPU |
No data |
UART |
No data |
Storage |
No data |
USB |
No data |
Display |
No data |
GPU |
No data |
Pinctrl |
No data |
I²C |
No data |
SPI |
No data |
Audio |
No data |
Video |
No data |
Thermal |
No data |
WiFi |
No data |
Bluetooth |
No data |
Modem |
No data |
GPS |
No data |
Camera |
No data |
Suspend |
No data |
MSM8917, MSM8937, MSM8940 are Qualcomm SoCs released in 2016.
MSM8920 is a improved version of MSM8917 (higher clocked GPU and faster modem) released in 2017.
QM215 is a stripped-down version of MSM8917 released in 2019 for low-end devices.
According to Wikipedia, MSM8917/8920/8937/8940 are pin and software compatible, and are software compatible with SDM429/439/450/632, MSM8953/8953Pro.
Devices
QM215 (Qualcomm 215)
Device | Codename | Mainline | Category |
---|---|---|---|
Nokia 2780 Flip | nokia-weeknd | Y | testing |
MSM8917 (Snapdragon 425)
Device | Codename | Mainline | Category |
---|---|---|---|
Huawei MediaPad T3 10 | huawei-agassi | Y | testing |
Motorola Moto E5 | motorola-nora | Y | testing |
Samsung Galaxy J2 Pro 2018 | samsung-j2y18lte | testing | |
Samsung Galaxy J4+ | samsung-j4primelte | testing | |
Samsung Galaxy J6+ | samsung-j6primelte | N | testing |
Wiko View | wiko-v12bnlite | testing | |
Xiaomi Redmi 4A | xiaomi-rolex | Y | testing |
Xiaomi Redmi 5A | xiaomi-riva | Y | testing |
Xiaomi Redmi Go | xiaomi-tiare | testing | |
Xiaomi Redmi Note 5A | xiaomi-ugglite | Y | testing |
MSM8920 (Snapdragon 427)
Device | Codename | Mainline | Category |
---|---|---|---|
Motorola Moto E4 | motorola-perry | testing |
MSM8937 (Snapdragon 430)
Device | Codename | Mainline | Category |
---|---|---|---|
Asus Max M1 | asus-x00p | N | testing |
BQ Aquaris U | bq-chaozu | testing | |
BQ Aquaris U Plus | bq-tenshi | testing | |
HMD Global Nokia 5 | nokia-nd1 | P | testing |
HMD Global Nokia 6 | nokia-ple | N | testing |
Huawei Honor 7 (AUM) | huawei-aum | P | testing |
Lenovo K5 Play | lenovo-l38011 | P | testing |
Lenovo K6 Note | lenovo-karatep | testing | |
Lenovo K6 Power | lenovo-karate | testing | |
Motorola Moto E5 Play | motorola-james | testing | |
Motorola Moto E5 Plus | motorola-hannah | Y | testing |
Motorola Moto G5 | motorola-cedric | P | testing |
Motorola Moto G5s | motorola-montana | Y | testing |
Motorola Moto G6 Play | motorola-aljeter | testing | |
Pantech SKY I'm Back | pantech-ef71 | testing | |
Qualcomm Snapdragon 430 | qcom-msm89x7 | Y | testing |
Xiaomi Redmi 3S | xiaomi-land | Y | testing |
Xiaomi Redmi 4 Standart | xiaomi-prada | Y | testing |
MSM8940 (Snapdragon 435)
Device | Codename | Mainline | Category |
---|---|---|---|
LG Stylo 3 Plus | lg-sf340n | N | testing |
Xiaomi Redmi 4x | xiaomi-santoni | Y | testing |
Xiaomi Redmi Note 5A Prime | xiaomi-ugg | Y | testing |
SDM429 (Snapdragon 429)
Device | Codename | Mainline | Category |
---|---|---|---|
Samsung Galaxy Tab A 8.0 (2019) | samsung-gtowifi | n | testing |
SDM439 (Snapdragon 439)
Device | Codename | Mainline | Category |
---|---|---|---|
HMD Global Nokia 4.2 | nokia-panther | N | testing |
HMD Global Nokia 4.2 | nokia-panther | N | testing |
Xiaomi Redmi 7A | xiaomi-pine | testing | |
Xiaomi Redmi 8 | xiaomi-olive | testing |
CPU
There is currently no working clock driver and rely on the bootloader for providing clock frequency. So 8 cores will be slower than 4 cores on MSM8937/8940 platform.
Modem
Modem can be enabled on msm8917 and msm8937, but manual steps are needed to make it visible for ModemManager:
$ doas qmicli -d qrtr://0 --dpm-open-port="hw-data-ep-type=bam-dmux,hw-data-ep-iface-number=0,hw-data-rx-id=42,hw-data-tx-id=42"
$ doas qmicli -d qrtr://0 --dms-set-operating-mode=online
$ doas rc-service modemmanager restart
MM not doing this automatically is tracked in ModemManager#610
The 2nd line might not actually be required (TODO: confirm).
The modem boots when the rmtfs
service starts. To boot successfully, Motorola (at least) devices need firmware served by tqftpserv
(see moto-modem-rfs-setup.openrc), Sony devices need a ta
service.