Xiaomi POCO X3 NFC (xiaomi-surya)
| This device is supported as part of a generic port. Refer to Generic SM7150 (qcom-sm7150) for installation instructions and more information. |
|
Xiaomi POCO X3 NFC | |
| Manufacturer | Xiaomi |
|---|---|
| Name | POCO X3 NFC |
| Codename | xiaomi-surya |
| Model |
|
| Released | 2020 |
| Type | handset |
| Hardware | |
| Chipset | Qualcomm Snapdragon 732G (SM7150-AC) |
| CPU |
Octa-core (2x 2.3 GHz Kryo 470 Gold 6x 1.8 GHz Kryo 470 Silver) |
| GPU | Adreno 618 |
| Display | 1080 x 2400 (120Hz 6.67" IPS LCD) |
| Storage | 64/128 GB |
| Memory | 6 GB |
| Architecture | aarch64 |
| Software | |
Original software The software and version the device was shipped with. |
Android (MIUI) 10 (MIUI 12) |
Extended version The most recent supported version from the manufacturer. |
Android (MIUI) 12 (MIUI 14) |
| FOSS bootloader | partial |
| postmarketOS | |
| Category | community |
Mainline Instead of a Linux kernel fork, it is possible to run (Close to) Mainline. |
yes |
pmOS kernel The kernel version that runs on the device's port. |
Mainline 6.17.0-rc7 |
| Generic port | Generic SM7150 (qcom-sm7150) |
| Device package |
|
| Kernel package |
|
Flashing Whether it is possible to flash the device with pmbootstrap flasher. |
Works
|
|---|---|
USB Networking After connecting the device with USB to your PC, you can connect to it via telnet (initramfs) or SSH (booted system). |
Works
|
Internal storage eMMC, SD cards, UFS... |
Works
|
SD card Also includes other external storage cards. |
Works
|
Battery Whether charging and battery level reporting work. |
Partial
|
Screen Whether the display works; ideally with sleep mode and brightness control. |
Works
|
Touchscreen |
Works
|
| Multimedia | |
3D Acceleration |
Works
|
Audio Audio playback, microphone, headset and buttons. |
Partial
|
Camera |
Broken
|
Camera Flash |
Works
|
IR TX |
Broken
|
| Connectivity | |
WiFi |
Works
|
Bluetooth |
Works
|
GPS |
Broken
|
NFC Near Field Communication |
Works
|
| Modem | |
Calls |
Works
|
SMS |
Works
|
Mobile data |
Works
|
| Miscellaneous | |
FDE Full disk encryption and unlocking with unl0kr. |
Works
|
USB OTG USB On-The-Go or USB-C Role switching. |
Works
|
| Sensors | |
Accelerometer Handles automatic screen rotation in many interfaces. |
Works
|
Magnetometer Sensor to measure the Earth's magnetism |
Works
|
Ambient Light Measures the light level; used for automatic screen dimming in many interfaces. |
Works
|
Proximity |
Works
|
Haptics |
Works
|
Secondary Bootloader Whether it is possible to chainload U-Boot from stock bootloader. |
Works
|
|---|---|
Mainline Whether latest upstream versions of U-Boot are not broken and it is possible to use them. |
Works
|
Internal Storage Whether it is possible to boot from internal storage (e.g. eMMC or UFS). |
Works
|
SD card Whether it is possible to boot from SD card. |
Works
|
USB Host Whether it is possible to boot from a USB storage or connect a keyboard. |
Partial
|
USB Peripheral Whether it is possible to use device as a peripheral in U-Boot, e.g. for fastboot mode. |
Works
|
Display |
Works
|
Buttons Whether it is possible to navigate in boot menu or grub with volume and power buttons. |
Works
|
| This device is based on the Snapdragon 732G. See the SoC page for common tips, guides and troubleshooting steps |
Maintainer(s)
Users owning this device
- Adrian (Notes: Mainline shenanigans, huaxing)
- Cxt (Notes: Main phone)
- Danfigasystems (Notes: 6/128 model)
- Divanchuk (Notes: Main; running Android 11 (DotOS 5.2.1)
- DomHeadroom (Notes: 6/64GB. Lineageos 22, Daily driver)
- Filip2cz (Notes: running postmarketOS, using as small home server)
- JIaxyga (Notes: 6/128 Currently unavailable)
- MuseCat (Notes: Main)
- PotatoProton (Notes: LineageOS, daily driving, pmOS is slow)
- Rainbyte (Notes: Daily driver ; OS: Android 12 (ArrowOS))
- Soupborsh (Notes: Lindroid with LineageOS)
- TwoShot (Notes: Main phone, android with lindroid)
- Ungeskriptet (Notes: Main device for pmOS)
- Wizzdom (Notes: Daily driver, running LineageOS 18.1)
- Zerkalo (Notes: not tested yet)
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 fastbootfrom a computer.
Installation
See Generic SM7150 (qcom-sm7150).
Know your display panel
To determine whether your display is Huaxing or Tianma, enable USB debugging in Android and run the following command on your computer:
$ adb wait-for-device && adb reboot && adb logcat | grep "panel name is"
Mainline
The work in progress mainline kernel is being developed here.
Mainline status
Feature table for SM7150
Device feature table:
| Component | Model | Status | Notes |
|---|---|---|---|
| Display | Huaxing FHD DSC panel with NT36672C controller | Y | Works from here |
| Touchscreen | NovaTek NT36672C | Y | Connected via SPI, needs firmware |
| Charging | qcom,qpnp-smb5 (downstream) | N | |
| Texas Instruments BQ25968 | N | ||
| Fuel gauge | qcom,pm6150-qg | P | |
| Accelerometer and gyroscope | Bosh bmi220 | Y | Managed by SSC |
| Ambient light and proximity sensor | Sensortek stk3a5x | Y | |
| Magnetometer | AKM ak09918c | Y | |
| Haptics/Vibrator | Awinic aw8624 | Y | |
| Speakers | Texas Instruments tas2562 (Bottom Speaker) | Y | |
| Texas Instruments tas2564 (Top Speaker) | N | ||
| Camera regulator | OmniVision wl2866d | N | Called longcheer,wl2866d downstream
|
| Camera | Sony IMX682 | N | Main camera |
| Samsung S5K3T2 | N | Front camera | |
| Hynix Hi-1337 | N | Ultrawide camera | |
| Hynix Hi-259 | N | Macro camers | |
| OmniVision ov02b1b | N | Depth camera | |
| NFC | NQX NCI NXP55303 (PN553 type) | Y |
Serial debugging (UART)
Xiaomi POCO X3 NFC uses 1.8 voltage for UART. So make sure that the logic one of your TTL adapter starts at a voltage below 1.8v.
The RX pin should be pulled-up to 1.8v to obtain the log. In Linux and U-Boot we pulled-up this pin software, but if you want to receive the log the rest of the time too, then you need to pull-up this pin hardware. It is enough to solder the TX pin of the adapter to the RX pin on the device, but make sure that your TTL adapter has a voltage of 1.8v (If this is not the case, then use a voltage divider schematic or buy an adapter with a voltage of 1.8v).
See also: Serial debugging
Gallery
-
Xiaomi POCO X3 NFC with Plasma Mobile
-
U-Boot on Xiaomi POCO X3 NFC