Xiaomi Mi 8 (SDM845)

== Phone details ==
The relevant Mi8 family with SDM845 chips has the following devices:
* Xiaomi Mi 8 (xiaomi-dipper)
* Xiaomi Mi 8 Pro (xiaomi-equuelus)
* Xiaomi Mi 8 Explorer (xiaomi-ursa)
The phones appear to be nearly identical and apparently all use the same mainboard, but there are differences:
* Dipper has bigger battery and different fingerprint sensor (mounted at the back while equuelus and ursa have it under the screen)
A special case might be with xiaomi-ursa, which is a device with transparent back that have a fake plastic components as from available information it was used only in China for early adopters as a way to develop the firmware and then ~3 months later the dipper and equuelus were released to the public with ursa having it's firmware flashed on equuelus and sold in the rest of the world as Xiaomi Mi 8 Pro with titanium transparent back.
The motherboard in ursa is not always the same and appears to be an earlier prototype which might have hidden hardware issues. Additionally the firmware for ursa is china-only and appears to have more features.
Reportedly the Xiaomi Pocophone F1 (xiaomi-beryllium) is allegedly built from ursa's designs to be very similar, but has different mainboard and devices.
=== Partition map ===
Observed to be the same on Dipper and Ursa, while probably same on Equuelus.
equuleus:/ # ls -la /dev/block/bootdevice/by-name/ 
total 0
drwxr-xr-x 2 root root 1740 1971-01-10 22:05 .
drwxr-xr-x 3 root root 1880 1971-01-10 22:05 ..
lrwxrwxrwx 1 root root 15 1971-01-10 22:05 ImageFv -> /dev/block/sdf4
lrwxrwxrwx 1 root root 16 1971-01-10 22:05 abl_a -> /dev/block/sde32
lrwxrwxrwx 1 root root 16 1971-01-10 22:05 abl_b -> /dev/block/sde33
lrwxrwxrwx 1 root root 16 1971-01-10 22:05 aop_a -> /dev/block/sde14
lrwxrwxrwx 1 root root 16 1971-01-10 22:05 aop_b -> /dev/block/sde15
lrwxrwxrwx 1 root root 15 1971-01-10 22:05 apdp -> /dev/block/sde6
lrwxrwxrwx 1 root root 15 1971-01-10 22:05 bk01 -> /dev/block/sda3
lrwxrwxrwx 1 root root 15 1971-01-10 22:05 bk02 -> /dev/block/sda4
lrwxrwxrwx 1 root root 15 1971-01-10 22:05 bk03 -> /dev/block/sda5
lrwxrwxrwx 1 root root 15 1971-01-10 22:05 bk04 -> /dev/block/sda8
lrwxrwxrwx 1 root root 16 1971-01-10 22:05 bk05 -> /dev/block/sda13
lrwxrwxrwx 1 root root 15 1971-01-10 22:05 bk31 -> /dev/block/sdd1
lrwxrwxrwx 1 root root 15 1971-01-10 22:05 bk32 -> /dev/block/sdd3
lrwxrwxrwx 1 root root 15 1971-01-10 22:05 bk33 -> /dev/block/sdd5
lrwxrwxrwx 1 root root 15 1971-01-10 22:05 bk41 -> /dev/block/sde3
lrwxrwxrwx 1 root root 15 1971-01-10 22:05 bk42 -> /dev/block/sde9
lrwxrwxrwx 1 root root 16 1971-01-10 22:05 bk43 -> /dev/block/sde16
lrwxrwxrwx 1 root root 16 1971-01-10 22:05 bk44 -> /dev/block/sde17
lrwxrwxrwx 1 root root 16 1971-01-10 22:05 bk45 -> /dev/block/sde25
lrwxrwxrwx 1 root root 16 1971-01-10 22:05 bk46 -> /dev/block/sde29
lrwxrwxrwx 1 root root 16 1971-01-10 22:05 bk47 -> /dev/block/sde38
lrwxrwxrwx 1 root root 16 1971-01-10 22:05 bk48 -> /dev/block/sde40
lrwxrwxrwx 1 root root 16 1971-01-10 22:05 bk49 -> /dev/block/sde41
lrwxrwxrwx 1 root root 15 1971-01-10 22:05 bk51 -> /dev/block/sdf2
lrwxrwxrwx 1 root root 15 1971-01-10 22:05 bk52 -> /dev/block/sdf3
lrwxrwxrwx 1 root root 15 1971-01-10 22:05 bk53 -> /dev/block/sdf5
lrwxrwxrwx 1 root root 16 1971-01-10 22:05 bluetooth -> /dev/block/sde24
lrwxrwxrwx 1 root root 16 1971-01-10 22:05 boot -> /dev/block/sde45
lrwxrwxrwx 1 root root 16 1971-01-10 22:05 cache -> /dev/block/sda20
lrwxrwxrwx 1 root root 15 1971-01-10 22:05 cdt -> /dev/block/sdd2
lrwxrwxrwx 1 root root 16 1971-01-10 22:05 cmnlib64_a -> /dev/block/sde20
lrwxrwxrwx 1 root root 16 1971-01-10 22:05 cmnlib64_b -> /dev/block/sde21
lrwxrwxrwx 1 root root 16 1971-01-10 22:05 cmnlib_a -> /dev/block/sde18
lrwxrwxrwx 1 root root 16 1971-01-10 22:05 cmnlib_b -> /dev/block/sde19
lrwxrwxrwx 1 root root 16 1971-01-10 22:05 cust -> /dev/block/sda18
lrwxrwxrwx 1 root root 15 1971-01-10 22:05 ddr -> /dev/block/sdd4
lrwxrwxrwx 1 root root 16 1971-01-10 22:05 devcfg_a -> /dev/block/sde12
lrwxrwxrwx 1 root root 16 1971-01-10 22:05 devcfg_b -> /dev/block/sde13
lrwxrwxrwx 1 root root 16 1971-01-10 22:05 devinfo -> /dev/block/sda12
lrwxrwxrwx 1 root root 16 1971-01-10 22:05 dip -> /dev/block/sde28
lrwxrwxrwx 1 root root 16 1971-01-10 22:05 dsp -> /dev/block/sde44
lrwxrwxrwx 1 root root 16 1971-01-10 22:05 dtbo -> /dev/block/sde37
lrwxrwxrwx 1 root root 15 1971-01-10 22:05 frp -> /dev/block/sda7
lrwxrwxrwx 1 root root 15 1971-01-10 22:05 fsc -> /dev/block/sdf1
lrwxrwxrwx 1 root root 16 1971-01-10 22:05 fsg -> /dev/block/sde36
lrwxrwxrwx 1 root root 16 1971-01-10 22:05 hyp_a -> /dev/block/sde26
lrwxrwxrwx 1 root root 16 1971-01-10 22:05 hyp_b -> /dev/block/sde27
lrwxrwxrwx 1 root root 16 1971-01-10 22:05 keymaster_a -> /dev/block/sde22
lrwxrwxrwx 1 root root 16 1971-01-10 22:05 keymaster_b -> /dev/block/sde23
lrwxrwxrwx 1 root root 15 1971-01-10 22:05 keystore -> /dev/block/sda6
lrwxrwxrwx 1 root root 15 1971-01-10 22:05 limits -> /dev/block/sde2
lrwxrwxrwx 1 root root 16 1971-01-10 22:05 logdump -> /dev/block/sda16
lrwxrwxrwx 1 root root 16 1971-01-10 22:05 logfs -> /dev/block/sda10
lrwxrwxrwx 1 root root 16 1971-01-10 22:05 logo -> /dev/block/sde43
lrwxrwxrwx 1 root root 16 1971-01-10 22:05 minidump -> /dev/block/sda17
lrwxrwxrwx 1 root root 15 1971-01-10 22:05 misc -> /dev/block/sda9
lrwxrwxrwx 1 root root 16 1971-01-10 22:05 modem -> /dev/block/sde46
lrwxrwxrwx 1 root root 15 1971-01-10 22:05 modemst1 -> /dev/block/sdf6
lrwxrwxrwx 1 root root 15 1971-01-10 22:05 modemst2 -> /dev/block/sdf7
lrwxrwxrwx 1 root root 15 1971-01-10 22:05 msadp -> /dev/block/sde7
lrwxrwxrwx 1 root root 16 1971-01-10 22:05 oops -> /dev/block/sda11
lrwxrwxrwx 1 root root 16 1971-01-10 22:05 persist -> /dev/block/sda14
lrwxrwxrwx 1 root root 16 1971-01-10 22:05 persistbak -> /dev/block/sda15
lrwxrwxrwx 1 root root 15 1971-01-10 22:05 qupfw_a -> /dev/block/sde4
lrwxrwxrwx 1 root root 15 1971-01-10 22:05 qupfw_b -> /dev/block/sde5
lrwxrwxrwx 1 root root 16 1971-01-10 22:05 recovery -> /dev/block/sda19
lrwxrwxrwx 1 root root 15 1971-01-10 22:05 sec -> /dev/block/sde1
lrwxrwxrwx 1 root root 16 1971-01-10 22:05 splash -> /dev/block/sde42
lrwxrwxrwx 1 root root 16 1971-01-10 22:05 spunvm -> /dev/block/sde39
lrwxrwxrwx 1 root root 15 1971-01-10 22:05 ssd -> /dev/block/sda2
lrwxrwxrwx 1 root root 16 1971-01-10 22:05 sti -> /dev/block/sde30
lrwxrwxrwx 1 root root 16 1971-01-10 22:05 storsec_a -> /dev/block/sde10
lrwxrwxrwx 1 root root 16 1971-01-10 22:05 storsec_b -> /dev/block/sde11
lrwxrwxrwx 1 root root 15 1971-01-10 22:05 switch -> /dev/block/sda1
lrwxrwxrwx 1 root root 16 1971-01-10 22:05 system -> /dev/block/sde48
lrwxrwxrwx 1 root root 16 1971-01-10 22:05 toolsfv -> /dev/block/sde31
lrwxrwxrwx 1 root root 16 1971-01-10 22:05 tz_a -> /dev/block/sde34
lrwxrwxrwx 1 root root 16 1971-01-10 22:05 tz_b -> /dev/block/sde35
lrwxrwxrwx 1 root root 16 1971-01-10 22:05 userdata -> /dev/block/sda21
lrwxrwxrwx 1 root root 15 1971-01-10 22:05 vbmeta -> /dev/block/sde8
lrwxrwxrwx 1 root root 16 1971-01-10 22:05 vendor -> /dev/block/sde47
lrwxrwxrwx 1 root root 15 1971-01-10 22:05 xbl_a -> /dev/block/sdb2
lrwxrwxrwx 1 root root 15 1971-01-10 22:05 xbl_b -> /dev/block/sdc2
lrwxrwxrwx 1 root root 15 1971-01-10 22:05 xbl_config_a -> /dev/block/sdb1
lrwxrwxrwx 1 root root 15 1971-01-10 22:05 xbl_config_b -> /dev/block/sdc1
== Contributors ==
* KREYREN
== Maintainer(s) ==
== Users owning this device ==
== How to enter flash mode ==
=== Bootloader Unlocking ===
Like other Xiaomi devices, the user will have to acquire the bootloader unlock key: https://en.miui.com/unlock
The device will not unlock if the device isn't 7 days old (from the time when your device connects to internet and powered on, and linked with Mi Account)
=== Recovery mode ===
At any state of the device hold and button until the recovery screen shows up.
=== Flashing (Download, Fastboot) mode ===
Same as recovery, but this time hold the and keys.
== Debug UART ==
Warning: Unknown voltage
== Links ==
* Initial merge request
* sdm845-mainline/linux!102 Port on Linux 6.11
* Schematics For Xiaomi Dipper
* GSMARENA
Not submitted to the main line
https://gitlab.com/Akitlove