Xiaomi POCO F3 (xiaomi-alioth): Difference between revisions
Appearance
No edit summary |
m Add unixbench score |
||
(22 intermediate revisions by 13 users not shown) | |||
Line 1: | Line 1: | ||
[[Category:Devices with known UART pinout]] | |||
{{Infobox device | {{Infobox device | ||
| manufacturer = Xiaomi | | manufacturer = Xiaomi | ||
| name = | | name = POCO F3 | ||
| codename = xiaomi-alioth | | codename = xiaomi-alioth | ||
| image = File:xiaomi-alioth.png | | image = File:xiaomi-alioth.png | ||
| imagecaption = Official image for the smartphone | | imagecaption = Official image for the smartphone | ||
| releaseyear = 2021 | | releaseyear = 2021 | ||
| originalsoftware = Android 11 | | originalsoftware = Android | ||
| chipset = Qualcomm SM8250-AC | | originalversion = 11 | ||
| extendedversion = 13 | |||
| pmoskernel = | |||
| chipset = Qualcomm Snapdragon 870 (SM8250-AC) | |||
| cpu = Octa-core (1x3.2 GHz Kryo 585 & 3x2.42 GHz Kryo 585 & 4x1.80 GHz Kryo 585) | | cpu = Octa-core (1x3.2 GHz Kryo 585 & 3x2.42 GHz Kryo 585 & 4x1.80 GHz Kryo 585) | ||
| gpu = Adreno 650 | | gpu = Adreno 650 | ||
| storage = 128/256 GB UFS 3.1 | | storage = 128/256 GB UFS 3.1 | ||
| display = 1080x2400 AMOLED, 120Hz, HDR10+, 1300 nits (peak) | | display = 1080x2400 AMOLED, 120Hz, HDR10+, 1300 nits (peak) | ||
| memory = 6/8 GB RAM | | memory = 6/8 GB RAM | ||
| architecture = aarch64 | | architecture = aarch64 | ||
<!-- the following status_* questions should be answered with Y | | type = handset | ||
| status_usbnet = | | whet_dhry = 9463.8 | ||
| status_flashing = | <!-- Features --> | ||
| status_touch = | <!-- the following status_* questions should be answered with Y for yes, P for partial, N for no, - for N/A or unavailable, or left blank for untested or unknown --> | ||
| status_screen = | | status_usbnet = Y | ||
| status_wifi = | | status_flashing = Y | ||
| status_emmc = Y | |||
| status_fde = | | status_touch = Y | ||
| status_mainline = | | status_screen = Y | ||
| status_battery = | | status_wifi = Y | ||
| status_3d = | | status_fde = | ||
| status_mainline = P | |||
| status_audio = | | status_battery = Y | ||
| status_bluetooth = | | status_3d = Y | ||
| status_camera = | | status_audio = P | ||
| status_gps = | | status_bluetooth = Y | ||
| status_mobiledata = | | status_camera = P | ||
| status_sms = | | status_gps = N | ||
| status_calls = | | status_mobiledata = N | ||
| status_sms = N | |||
| status_otg = | | status_calls = N | ||
| status_nfc = | | status_otg = Y | ||
| status_nfc = Y | |||
| status_accel = Y | |||
| status_magnet = Y | |||
| | | status_light = Y | ||
| status_proximity = N | |||
| | | status_hall = - | ||
-- | | status_barometer = - | ||
}} | | status_powersensor = - | ||
| status_dvb = - | |||
| status_cameraflash = Y | |||
| status_keyboard = - | |||
| status_touchpad = - | |||
| status_usba = - | |||
| status_hdmidp = - | |||
| status_irtx = Y | |||
| status_irrx = - | |||
| status_stylus = - | |||
| status_sdcard = - | |||
| status_haptics = N | |||
| status_ethernet = - | |||
| booting = yes | |||
| packaged = no | |||
}}{{Based on SoC|Qualcomm_Snapdragon_865/865%2B/870_(SM8250)|Snapdragon 870}} | |||
== Contributors == | == Contributors == | ||
* [[User:Nikroks|Nikroks]] | |||
* RodoMa92 | * RodoMa92 | ||
* Weijia | |||
== Maintainer(s) == | == Maintainer(s) == | ||
* [[User:Nikroks|Nikroks]] | |||
== Users owning this device == | == Users owning this device == | ||
{{Device owners}} | {{Device owners}} | ||
== How to enter flash mode == | == How to enter flash mode == | ||
Volume | * '''Bootloader''': Power on the device with both {{Button|Power}} and {{Button|Volume Down}} buttons. | ||
* '''Recovery''': Power on the device with both {{Button|Power}} and {{Button|Volume Up}} buttons. | |||
* '''Fastbootd''': Reboot into bootloader mode first and then run <code>fastboot reboot fastboot</code> from a computer. | |||
== Installation == | == Installation == | ||
{{note|'''Note:''' The device has not yet been merged into pmaports. Use manual installation.}} | |||
PostmarketOS [[Installation|Installation guide.]] | |||
== Status == | |||
{| class="wikitable sortable" | |||
|+ Features | |||
|- | |||
! Component !! Model !! Notes | |||
|- | |||
| class="feature feature-yes" | Screen || samsung,ams667xx01 || 90/120Hz are supported | |||
|- | |||
| class="feature feature-yes" | Battery || qcom,pm8150b-fg || | |||
|- | |||
| class="feature" rowspan = 2 | Charger || class="feature-yes" | qcom,pm8150b-charger || | |||
|- | |||
| class="feature-no" | ti,bq2597x-standalone || Used as pump for pm8150b-charger | |||
|- | |||
| class="feature feature-yes" | Internal<br>storage || jedec,ufs-2.0<br>qcom,sm8250-qmp-ufs-phy || | |||
|- | |||
| class="feature feature-yes" | Touchscreen || focaltech,ft3658 @ 0x0 || Connected via spi4 | |||
|- | |||
| class="feature feature-yes" | GPU || qcom,adreno-650 || Requires a650 (unsigned) & a650-zap (signed) firmware | |||
|- | |||
| class="feature feature-yes" | SBA-MUX || fcs,fsa4480 @ 0x42 || Connected via i2c15 | |||
|- | |||
| class="feature feature-yes" | Flash LED || qcom,spmi-flash-led || Connected via pm8150l spmi | |||
|- | |||
| class="feature feature-yes" | WiFi || rowspan = 2 | qca6391 || Requires ath11k (unsigned) firmware | |||
|- | |||
| class="feature feature-yes" | Bluetooth || Requires qca (unsigned) firmware | |||
|- | |||
| class="feature feature-yes" | NFC || qcom,nq-nci @ 0x28 || Connected via i2c1 | |||
|- | |||
| class="feature feature-no" | Modem || sdx55m || SDX55m is not supported by mainline | |||
|- | |||
| class="feature feature-yes" | USB OTG || usb-c-connector || Switches by pm8150b typec controller | |||
|- | |||
| class="feature feature-yes" | Sensors || hexagonrpcd<br>libSSC || Managed by SDSP-remoteproc<br>Requires signed SDSP firmware | |||
|- | |||
| class="feature feature-no" | Haptics || awinic,aw8697 || Connected via i2c11 | |||
|} | |||
{| class="wikitable sortable" | |||
|+ Camera sensors | |||
|- | |||
! Type !! Sensor !! EEPROM !! Actuator !! Bus | |||
|- | |||
| Main D-Phy || class="feature feature-yes" | sony,imx582 @ 0x10 || class="feature feature-yes" | giantec,gt24p128e @ 0x51 || class="feature feature-yes" | dongwoon,dw9800@ 0xc || cci0_i2c0 | |||
|- | |||
| Ultra Wide D-Phy || class="feature feature-no" | sony,imx355 @ 0x1a || class="feature feature-yes" | giantec,gt24p64e @ 0x50 || - || cci1_i2c0 | |||
|- | |||
| Macro D-Phy || class="feature feature-yes" | samsung,s5k5e9 @ 0x2d || class="feature feature-yes" | puya,p24c64f @ 0x52 || class="feature feature-yes" | dongwoon,dw9800@ 0xc || cci0_i2c1 | |||
|- | |||
| Front D-Phy || class="feature feature-no" | samsung,s5k3t2 @ 0x10 || class="feature feature-yes" | puya,p24c64f @ 0x51 || - || cci1_i2c1 | |||
|} | |||
'''Note:'''<br> | |||
* EEPROMs work, but sensor drivers can't work with EEPROMs yet. Libcamera doesn't support it either? | |||
{| class="wikitable sortable" | |||
|+ Audio | |||
|- | |||
! Codec !! Appointments !! Bus !! Notes | |||
|- | |||
| rowspan = 2 class="feature feature-yes" | cirrus,cs35l41 || EAR Speaker || i2c3 @ 0x40 || | |||
|- | |||
| Main Speaker || i2c3 @ 0x41 || | |||
|- | |||
| rowspan = 2 class="feature feature-no" | qcom,wcd9380-codec || Chassis microphones x3 || | |||
|- | |||
| Analog I/O audio port || || | |||
|} | |||
== Known issues == | |||
'''* Changing brightness causes graphical artifacts''' | |||
== Serial UART == | |||
UART TX is below the sub board connector on the left size of a 0402 capacitor. Baud - 115200. | |||
For ground you can use the metal shielding. | |||
[[File:Alioth uart.jpg|500px|TX is easily accessible, red wire on photo. RX is under a metal shield on the other side of the board. ]] | |||
== See also == | == See also == | ||
* [https://github.com/mainlining/linux/tree/nikroks/alioth Mainline Kernel Source] | |||
* [https://github.com/N1kroks/firmware-xiaomi-alioth Firmware repo] | |||
* [https:// | |||
-- |
Latest revision as of 15:56, 17 March 2025
This device has been tested with postmarketOS, but its device package has not yet been added to the postmarketOS repositories.
This means that it cannot be selected in pmbootstrap.
This means that it cannot be selected in pmbootstrap.
![]() Official image for the smartphone | |
Manufacturer | Xiaomi |
---|---|
Name | POCO F3 |
Codename | xiaomi-alioth |
Released | 2021 |
Type | handset |
Hardware | |
Chipset | Qualcomm Snapdragon 870 (SM8250-AC) |
CPU | Octa-core (1x3.2 GHz Kryo 585 & 3x2.42 GHz Kryo 585 & 4x1.80 GHz Kryo 585) |
GPU | Adreno 650 |
Display | 1080x2400 AMOLED, 120Hz, HDR10+, 1300 nits (peak) |
Storage | 128/256 GB UFS 3.1 |
Memory | 6/8 GB RAM |
Architecture | aarch64 |
Software | |
Original software | Android |
Original version | 11 |
Extended version | 13 |
postmarketOS | |
Category | testing |
Pre-built images | no |
Mainline | partial |
Unixbench Whet/Dhry score | 9463.8 |
Flashing |
Works |
---|---|
USB Networking |
Works |
Internal storage |
Works |
Battery |
Works |
Screen |
Works |
Touchscreen |
Works |
Multimedia | |
3D Acceleration |
Works |
Audio |
Partial |
Camera |
Partial |
Camera Flash |
Works |
IR TX |
Works |
Connectivity | |
WiFi |
Works |
Bluetooth |
Works |
GPS |
Broken |
NFC |
Works |
Modem | |
Calls |
Broken |
SMS |
Broken |
Mobile data |
Broken |
Miscellaneous | |
FDE |
No data |
USB OTG |
Works |
Sensors | |
Accelerometer |
Works |
Magnetometer |
Works |
Ambient Light |
Works |
Proximity |
Broken |
Haptics |
Broken |
This device is based on the Snapdragon 870. See the SoC page for common tips, guides and troubleshooting steps |
Contributors
- Nikroks
- RodoMa92
- Weijia
Maintainer(s)
Users owning this device
- Lucacraft89 (Notes: Trying to install pmOS)
- Nikroks
- TheNXGuy (Notes: Working on mainline. Basic framebuffer works.)
- Weijia (Notes: Running pmOS)
How to enter flash mode
- Bootloader: Power on the device with both and buttons.
- Recovery: Power on the device with both and buttons.
- Fastbootd: Reboot into bootloader mode first and then run
fastboot reboot fastboot
from a computer.
Installation
Note: The device has not yet been merged into pmaports. Use manual installation. |
PostmarketOS Installation guide.
Status
Component | Model | Notes |
---|---|---|
Screen | samsung,ams667xx01 | 90/120Hz are supported |
Battery | qcom,pm8150b-fg | |
Charger | qcom,pm8150b-charger | |
ti,bq2597x-standalone | Used as pump for pm8150b-charger | |
Internal storage |
jedec,ufs-2.0 qcom,sm8250-qmp-ufs-phy |
|
Touchscreen | focaltech,ft3658 @ 0x0 | Connected via spi4 |
GPU | qcom,adreno-650 | Requires a650 (unsigned) & a650-zap (signed) firmware |
SBA-MUX | fcs,fsa4480 @ 0x42 | Connected via i2c15 |
Flash LED | qcom,spmi-flash-led | Connected via pm8150l spmi |
WiFi | qca6391 | Requires ath11k (unsigned) firmware |
Bluetooth | Requires qca (unsigned) firmware | |
NFC | qcom,nq-nci @ 0x28 | Connected via i2c1 |
Modem | sdx55m | SDX55m is not supported by mainline |
USB OTG | usb-c-connector | Switches by pm8150b typec controller |
Sensors | hexagonrpcd libSSC |
Managed by SDSP-remoteproc Requires signed SDSP firmware |
Haptics | awinic,aw8697 | Connected via i2c11 |
Type | Sensor | EEPROM | Actuator | Bus |
---|---|---|---|---|
Main D-Phy | sony,imx582 @ 0x10 | giantec,gt24p128e @ 0x51 | dongwoon,dw9800@ 0xc | cci0_i2c0 |
Ultra Wide D-Phy | sony,imx355 @ 0x1a | giantec,gt24p64e @ 0x50 | - | cci1_i2c0 |
Macro D-Phy | samsung,s5k5e9 @ 0x2d | puya,p24c64f @ 0x52 | dongwoon,dw9800@ 0xc | cci0_i2c1 |
Front D-Phy | samsung,s5k3t2 @ 0x10 | puya,p24c64f @ 0x51 | - | cci1_i2c1 |
Note:
- EEPROMs work, but sensor drivers can't work with EEPROMs yet. Libcamera doesn't support it either?
Codec | Appointments | Bus | Notes |
---|---|---|---|
cirrus,cs35l41 | EAR Speaker | i2c3 @ 0x40 | |
Main Speaker | i2c3 @ 0x41 | ||
qcom,wcd9380-codec | Chassis microphones x3 | ||
Analog I/O audio port |
Known issues
* Changing brightness causes graphical artifacts
Serial UART
UART TX is below the sub board connector on the left size of a 0402 capacitor. Baud - 115200. For ground you can use the metal shielding.