Jump to content

Xiaomi Mi Pad (xiaomi-mocha): Difference between revisions

From postmarketOS Wiki
CEllenvia (talk | contribs)
Add information about device
Halamix2 (talk | contribs)
mNo edit summary
 
(18 intermediate revisions by 6 users not shown)
Line 3: Line 3:
| name = Mi Pad
| name = Mi Pad
| codename = xiaomi-mocha
| codename = xiaomi-mocha
| image = File:xiaomi-mocha.jpg
| image = File:Mipad-commerial.jpg
| imagecaption = The front of Xiaomi Mi Pad
| imagecaption = Xiaomi Mi Pad
| releaseyear = 2014
| releaseyear = 2014
| originalsoftware = Android 4.4.4
| originalsoftware = Android
| originalversion = 4.4.4
| chipset = Nvidia Tegra K1 (T124)
| chipset = Nvidia Tegra K1 (T124)
| cpu = 4x 2.2 GHz Cortex-A15  
| cpu = 4x 2.2 GHz Cortex-A15  
Line 14: Line 15:
| memory = 2 GB
| memory = 2 GB
| architecture = armv7
| architecture = armv7
| type = tablet
<!-- 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 -->
<!-- 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_usbnet =  
| status_usbnet = N
| status_flashing =  
| status_flashing =  
| status_touch = <!-- Touch screen is working? You can also answer these questions with P for partially. -->
| status_touch = P<!-- Touch screen is working? You can also answer these questions with P for partially. -->
| status_screen =  
| status_screen = Y
| status_wifi = <!-- Wireless network works? -->
| status_wifi = <!-- Wireless network works? -->
| status_xwayland = <!-- Showing X11 applications in a Wayland compositor (Weston, KWin, ...) works? -->
| status_xwayland = <!-- Showing X11 applications in a Wayland compositor (Weston, KWin, ...) works? -->
| status_fde = <!-- When installing with full disk encryption, can you type in the password with the on screen keyboard? -->
| status_fde = <!-- When installing with full disk encryption, can you type in the password with the on screen keyboard? -->
| status_mainline = <!-- Instead of a Linux kernel fork, it is possible to run mainline. -->
| status_mainline = P <!-- Instead of a Linux kernel fork, it is possible to run mainline. -->
| status_battery = <!-- Charging the battery with charging-sdl is possible -->
| status_battery = <!-- Charging the battery with charging-sdl is possible -->
| status_3d = <!-- Hardware accelerated 3D graphics (e.g. with freedreno) -->
| status_3d = <!-- Hardware accelerated 3D graphics (e.g. with freedreno) -->
Line 32: Line 34:
| status_sms = -
| status_sms = -
| status_calls = -
| status_calls = -
| status = kernel compiles with android built dt.img, successfully boot but panic, debug in progress
| status = mainline in progress
| status_otg = <!-- USB-OTG adapters work, e.g. to connect an USB flash drive to the device -->
| status_otg = <!-- USB-OTG adapters work, e.g. to connect an USB flash drive to the device -->
| status_nfc = -
| status_nfc = -
Line 48: Line 50:
| status_barometer = <!-- Barometer works -->
| status_barometer = <!-- Barometer works -->
| status_powersensor = <!-- Power sensor works -->
| status_powersensor = <!-- Power sensor works -->
| status_fossbootloader = <!-- Device has a free and open source bootloader -->
| status_fossbootloader = Y
| booting = no <!-- The device is booting at all, can be yes/no *IMPORTANT* -->
<!-- U-Boot -->
| status_uboot = yes
| status_uboot_primary = Y
| status_uboot_secondary = Y
| status_uboot_mainline = Y
| status_uboot_internalstorage = Y
| status_uboot_sd = Y
| status_uboot_usbhost = N
| status_uboot_usbperipheral = Y
| status_uboot_screen = P
| status_uboot_keyboard = -
| status_uboot_buttons = Y
| booting = yes <!-- The device is booting at all, can be yes/no *IMPORTANT* -->
}}
}}
{{Based on SoC|Nvidia_Tegra_K1_(T124/T132)|Tegra K1}}


== Contributors ==
== Contributors ==
Line 69: Line 84:
<!-- add more sections below as necessary, e.g. WiFi, photos, ... -->
<!-- add more sections below as necessary, e.g. WiFi, photos, ... -->


<source lang="shell-session">
Attention: IF YOU ARE ON ANY NON-STOCK ROM(BootBlobs),  Flash to original first.
 
It is recommended to [[Installation_from_recovery_mode|install from recovery mode]], which can write pmos to system partition.
 
Following is the old bsp kernel installation.
 
<syntaxhighlight lang="shell-session">
$ pmbootstrap initfs hook_add debug-shell
$ pmbootstrap initfs hook_add debug-shell
$ pmbootstrap install
$ pmbootstrap install
Line 75: Line 96:


$ pmbootstrap flasher flash_kernel
$ pmbootstrap flasher flash_kernel
</source>
</syntaxhighlight>
<!-- add more sections below as necessary, e.g. WiFi, photos, ... -->
<!-- add more sections below as necessary, e.g. WiFi, photos, ... -->


== Known Issues ==
== Progress ==


Mainline in progress. Based on existing work. [https://github.com/MiPadLinux/linux]
Now turn to FOSS Boot-loader porting, since the Linux kernel refused to boot w/o firmware built-in.


<blockquote>
== Mainline Status ==
Below are Issues in downstream kernel and only for historical purpose.
 
<del>after some random defconfig edit, the situation fell back.( w/o debug-shell it will hang up and watchdog will perform reboot)  try to fall back to defconfig which cause kernel crash.</del>
 
<del>the dt.img is still blob[https://raw.githubusercontent.com/MiPadLinux/stuff/main/dt.img] (extract from lineage), discussed in matrix and result is that I need a special dtbTool for this device.[https://matrix.to/#/!XDpyJuXdDnuBLFJWlG:postmarketos.org/%24lDUx7-smHbkPYgpPiBywHQwMwieRPEXRmplf-9Rmt0M?via=matrix.org&via=kde.org&via=envs.net] I dont have experience with this.</del>


<del>Nearly all /sys except /sys/fs will disappear after continue booting with pmos_continue_boot, but it can be remounted.</del>
This device comes with a interesting boot package method, which dt.img isn't QCDT style at all. Instead, it just use dtb file as dt.img. So for packaging, i need some workaround to make qcdt happy.


<del>Screen can work ( tested by cat random to device)</del>
PSCI(4 core enable) is possible by using TOS-For-PSCI 0.2, but this makes the wlan unusable on 5.4 fork.
</blockquote>


== Mainline Status ==


{|class="wikitable feature-colors"
{|class="wikitable feature-colors"
Line 104: Line 118:
   |Boot
   |Boot
   | -  
   | -  
   | -
   | P
   | Still not tested, working in progress.
   | Boot with exists 5.4 fork, working on mainline.
|-
|-
   |Display
   |Display
   | Sharp LQ079L1SX01
   | Sharp LQ079L1SX01
   | -
   | Y
   | -
   | -
|-
|-
   |Touchscreen
   |Touchscreen
   | Atmel mXT1664T2-C2U/Synaptics ?
   | Atmel mXT1664T2-C2U/Synaptics 7040(?)
   | -
   | P
   | There are two kinds of touchscreen, which for my device is mXT1664T2-C2U.
   | There are two kinds of touchscreen, which for my device is mXT1664T2-C2U.
|-
|-
   |Screen LED
   |Onscreen RGB LED
   | Texas Instruments(National Semiconductor) LP5521
   | Texas Instruments(National Semiconductor) LP5521
   | -
   | Y
  | Need to add to DTS Documentation/leds/leds-lp5521
|-
  |Backlight LED
  | Texas Instruments LP8556
  | Y
   | -  
   | -  
|-
|-
   |Charger IC
   |Charger IC
   | Texas Instruments BQ24192  
   | Texas Instruments BQ24192  
   | -
   | Y
   | -
   | Need to add to DTS power/supply/bq24190
|-
|-
   |Battery Management  
   |Battery Management  
   | Texas Instruments BQ27520-G4
   | Texas Instruments BQ27520-G4
   | -
   | Y
   | -
  | Need to add to DTS power/supply/bq27xxx
|-
   |Power Management & NTP etc. (palmas)
  | Texas Instruments TPS65913
  | Y
  | Need to add to DTS regulator/palmas-pmic.txt regulator/palmas-pmic.txt
|-
|-
   |Wi-Fi, BT & FM
   |Wi-Fi, BT & FM
   | Cypress(Broadcom) CYW4354XKUBG
   | Cypress(Broadcom) CYW4354XKUBG
   | -
   | -
   | -
   | net/wireless/brcm,bcm4329-fmac
|-
|-
   | SDCard
   | SDCard
Line 144: Line 168:
   | GPU
   | GPU
   | NVIDIA GK20A
   | NVIDIA GK20A
   | -
   | P
   | -
   | Known issues
|-
|-
   |Audio
   |Audio
   |NXP TFA9890
   |NXP TFA9890
   | -
   | -
   | newly added, cant be found in exists works. https://lore.kernel.org/all/20220602164504.261361-1-amartinz@shiftphones.com/T/
   | Documentation/devicetree/bindings/sound/nxp,tfa989x
|-
  |Camera
  | Sony IMX179 & Omni OV5696
  | -
  |
|}
|}


== See also ==
== See also ==

Latest revision as of 11:38, 1 February 2025

Xiaomi Mi Pad
Xiaomi Mi Pad
Xiaomi Mi Pad
Manufacturer Xiaomi
Name Mi Pad
Codename xiaomi-mocha
Released 2014
Type tablet
Hardware
Chipset Nvidia Tegra K1 (T124)
CPU 4x 2.2 GHz Cortex-A15
GPU Nvidia GK20A (192-core Kepler)
Display 1536 x 2048 LCD IPS
Storage 16 GB / 64 GB
Memory 2 GB
Architecture armv7
Software
Original software Android
Original version 4.4.4
FOSS bootloader yes
postmarketOS
Category testing
Pre-built images no
Mainline partial
Features
Flashing
No data
USB Networking
Broken
Internal storage
No data
SD card
No data
Battery
No data
Screen
Works
Touchscreen
Partial
Multimedia
3D Acceleration
No data
Audio
No data
Camera
No data
Camera Flash
No data
IR TX
No data
Connectivity
WiFi
No data
Bluetooth
No data
GPS
No data
Miscellaneous
FDE
No data
USB OTG
No data
HDMI/DP
No data
Sensors
Accelerometer
No data
Magnetometer
No data
Ambient Light
No data
Proximity
No data
Hall Effect
No data
Haptics
No data
Barometer
No data
Power Sensor
No data
U-Boot
Primary Bootloader
Works
Secondary Bootloader
Works
Mainline
Works
Internal Storage
Works
SD card
Works
USB Host
Broken
USB Peripheral
Works
Display
Partial
Buttons
Works

Contributors

  • CEllenvia

Users owning this device


How to enter flash mode

Hold Power + Volume Down until "FASTBOOT" shows on screen

Installation

Attention: IF YOU ARE ON ANY NON-STOCK ROM(BootBlobs), Flash to original first.

It is recommended to install from recovery mode, which can write pmos to system partition.

Following is the old bsp kernel installation.

$ pmbootstrap initfs hook_add debug-shell
$ pmbootstrap install
$ pmbootstrap flasher flash_rootfs --partition userdata # Flashing to the system partition fails with (remote: '(InvalidSize)'), May cause by 2 system partition.

$ pmbootstrap flasher flash_kernel

Progress

Now turn to FOSS Boot-loader porting, since the Linux kernel refused to boot w/o firmware built-in.

Mainline Status

This device comes with a interesting boot package method, which dt.img isn't QCDT style at all. Instead, it just use dtb file as dt.img. So for packaging, i need some workaround to make qcdt happy.

PSCI(4 core enable) is possible by using TOS-For-PSCI 0.2, but this makes the wlan unusable on 5.4 fork.


Function Hardware Status Info
Boot - P Boot with exists 5.4 fork, working on mainline.
Display Sharp LQ079L1SX01 Y -
Touchscreen Atmel mXT1664T2-C2U/Synaptics 7040(?) P There are two kinds of touchscreen, which for my device is mXT1664T2-C2U.
Onscreen RGB LED Texas Instruments(National Semiconductor) LP5521 Y Need to add to DTS Documentation/leds/leds-lp5521
Backlight LED Texas Instruments LP8556 Y -
Charger IC Texas Instruments BQ24192 Y Need to add to DTS power/supply/bq24190
Battery Management Texas Instruments BQ27520-G4 Y Need to add to DTS power/supply/bq27xxx
Power Management & NTP etc. (palmas) Texas Instruments TPS65913 Y Need to add to DTS regulator/palmas-pmic.txt regulator/palmas-pmic.txt
Wi-Fi, BT & FM Cypress(Broadcom) CYW4354XKUBG - net/wireless/brcm,bcm4329-fmac
SDCard Onsemi CM1624 - -
GPU NVIDIA GK20A P Known issues
Audio NXP TFA9890 - Documentation/devicetree/bindings/sound/nxp,tfa989x
Camera Sony IMX179 & Omni OV5696 -

See also

The Kernel Xiaomi Official released: [1]

pmaports!3735 Initial merge request