Lenovo Xiaoxin Pad Pro 2021 (lenovo-j716f): Difference between revisions
Ungeskriptet (talk | contribs) →Downstream GPIO table: Add pinmux table |
Ungeskriptet (talk | contribs) m SD card works |
||
(19 intermediate revisions by 2 users not shown) | |||
Line 4: | Line 4: | ||
| manufacturer = Lenovo | | manufacturer = Lenovo | ||
| name = Xiaoxin Pad Pro 2021 | | name = Xiaoxin Pad Pro 2021 | ||
| codename = lenovo- | | codename = lenovo-j716f | ||
| model = TB-J716F | | model = TB-J716F | ||
| image = File:Lenovo-tb716f.png | | image = File:Lenovo-tb716f.png | ||
Line 21: | Line 21: | ||
| status_usbnet = Y | | status_usbnet = Y | ||
| status_flashing = Y | | status_flashing = Y | ||
| status_touch = | | status_touch = N | ||
| status_screen = P | | status_screen = P | ||
| status_wifi = | | status_wifi = | ||
Line 66: | Line 66: | ||
== Unlocking the bootloader == | == Unlocking the bootloader == | ||
See [[Unlocking Bootloaders/Lenovo ZUI]] | |||
=== Alternative method === | === Alternative method === | ||
Line 90: | Line 81: | ||
=== Mainline status === | === Mainline status === | ||
{|class="wikitable feature-colors" | {|class="wikitable feature-colors" style="display: block; overflow-x: auto" | ||
! Component !! Model !! Status !! Notes | ! Component !! Model !! Status !! Notes | ||
|- | |- | ||
| SoC || Qualcomm SM8250-AC Snapdragon 870 || Y || | | SoC || Qualcomm SM8250-AC Snapdragon 870 || Y || | ||
|- | |- | ||
| | | UFS || Kioxia THGJFAT0T44BAILB || Y || | ||
|- | |||
| SD card || - || Y || | |||
|- | |- | ||
| | | Display || EDO (EverDisplay Optronics) EB50QBC73.A OLED panel; Raydium RM69380 driver IC || Y || Dual DSI, [https://web.archive.org/web/20231121140510/https://dutch.kadidisplay.com/photo/kadidisplay/document/25216/EB50QBC73.A_.pdf Panel datasheet], [https://archive.org/download/raydium-datasheets/RM69700%20Datasheet.pdf Datasheet for a similar Driver IC] | ||
|- | |||
| Touchscreen || rowspan = 2 | Goodix GT7385P || Y || [https://web.archive.org/web/20231121140659/https://www.szzxv.com/static/upload/file/20220330/1648625895372915.pdf Datasheet in Chinese]. Using downstream driver for now | |||
|- | |||
| Pen input || N || Compatible with MPP 1.51 pens | |||
|- | |- | ||
| | | Touchpad || rowspan = 2 | hid-over-i2c || Y || rowspan = 2 | Available through detachable keyboard only | ||
|- | |- | ||
| | | Keyboard || Y | ||
|- | |- | ||
| | | rowspan = 3 | Audio || Cirrus CS35L41 || N || 4x Speaker Amp, one for each speaker | ||
|- | |- | ||
| | | Everest-Semi ES7210 || N || Microphone audio ADC | ||
|- | |- | ||
| | | DSP Group DBMD8 || N || Voice processor, SPI | ||
|- | |- | ||
| | | rowspan = 2 | Charging || Qualcomm SMB1390 || N || | ||
|- | |- | ||
| | | Halo HL6111R || N || According to i2cdetect, usage unknown | ||
|- | |- | ||
| Buttons || GPIO || Y || | | Buttons || GPIO || Y || | ||
|- | |- | ||
| USB-C | | rowspan = 5 | USB-C || USB 3.0 & USB 2.0 || Y || | ||
|- | |||
| Role switching || Y || | |||
|- | |||
| onsemi NB7VPQ904M DP redriver || N || addr: 0x19, bus: 0x990000 | |||
|- | |||
| FSA4480 || N || addr: 0x43, bus: 0x884000 | |||
|- | |||
| VBUS out || N || | |||
|- | |- | ||
| Fuel gauge || Texas Instruments bq27541 || Y || | | Fuel gauge || Texas Instruments bq27541 || Y || addr: 0x55, bus: 0x98c000 | ||
|- | |||
| FM Tuner || RichWave RTC6226 || N || According to i2cdetect. Tablet does not even have a headphone jack? | |||
|- | |- | ||
| Ambient light sensor || Lite-On LTR-308 || N || | | Ambient light sensor || Lite-On LTR-308 || N || | ||
Line 124: | Line 131: | ||
|- | |- | ||
| Magnetometer || AKM ak0991x || N || | | Magnetometer || AKM ak0991x || N || | ||
|- | |||
| Wi-Fi || Qualcomm QCA6390 || N || | |||
|- | |||
| Fingerprint || Goodix || N || | |||
|} | |} | ||
Line 143: | Line 154: | ||
=== Downstream GPIO table === | === Downstream GPIO table === | ||
<div class="toccolours mw-collapsible mw-collapsed" style=" | <div class="toccolours mw-collapsible mw-collapsed" style="overflow: auto"> | ||
<code>p11_pro_plus:/ # cat /sys/kernel/debug/gpio</code> | <code>p11_pro_plus:/ # cat /sys/kernel/debug/gpio</code> | ||
<div class="mw-collapsible-content"> | <div class="mw-collapsible-content"> | ||
Line 364: | Line 375: | ||
</div> | </div> | ||
<div class="toccolours mw-collapsible mw-collapsed" style=" | <div class="toccolours mw-collapsible mw-collapsed" style="overflow: auto"> | ||
<code>p11_pro_plus:/ # cat /sys/kernel/debug/pinctrl/f000000.pinctrl/pinmux-pins</code> | <code>p11_pro_plus:/ # cat /sys/kernel/debug/pinctrl/f000000.pinctrl/pinmux-pins</code> | ||
<div class="mw-collapsible-content"> | <div class="mw-collapsible-content"> | ||
Line 579: | Line 590: | ||
== Back to stock firmware == | == Back to stock firmware == | ||
{{warning|Restoring the firmware will wipe all user data on the device}} | |||
# Install the '''qdl''' tool from [https://github.com/linux-msm/qdl here]. Arch Linux users can simply install the '''[https://aur.archlinux.org/packages/qdl-git qdl-git]''' AUR package. | |||
# | # Download the firmware from [https://mirrors.lolinet.com/firmware/lenowow/2021/Tab_P11_Pro_2021/TB-J716F/ here]. The latest EDL-flashable firmware as of November 2024 is <code>TB-J716F_CN_OPEN_USER_Q00209.3_R_ZUI_13.0.430_ST_220113_qpst.zip</code> | ||
# Download the firmware from [https://mirrors.lolinet.com/firmware/ | # Extract the ZIP archive and open a terminal inside the directory | ||
# Extract the ZIP | # Reboot the device into EDL mode by holding down {{Button|Volume Up}} while connecting the tablet to a computer with a USB-C cable | ||
# | # Run the following command: | ||
# | #:<syntaxhighlight lang="shell-session"> | ||
# | $ qdl --storage ufs --include ./ ./prog_firehose_ddr.elf ./rawprogram_unsparse0_fullupgrade.xml ./patch0.xml ./rawprogram1.xml ./patch1.xml ./rawprogram2.xml ./patch2.xml ./rawprogram3.xml ./patch3.xml ./rawprogram4.xml ./patch4.xml ./rawprogram5.xml ./patch5.xml | ||
</syntaxhighlight> | |||
#:If you have trouble running the command above, make sure your udev rules are set up correctly. Alternatively, you can try running the command with sudo | |||
# After the tablet reboots, Android should be running again | |||
== See also == | == See also == | ||
Line 595: | Line 609: | ||
__FORCETOC__ | __FORCETOC__ | ||
Latest revision as of 13:18, 23 February 2025
The Lenovo Xiaoxin Pad Pro 2021 is a high-end Android tablet released only in China. Other unofficial names for this tablet are Lenovo P11 Pro Plus or Lenovo P11 Pro 2021. Lenovo has not released the downstream Linux kernel sources for this device.
This means that it cannot be selected in pmbootstrap.
Status: Mainline in progress
![]() Lenovo Xiaoxin Pad Pro 2021 running LineageOS 18.1 GSI with Termux open showing neofetch | |
Manufacturer | Lenovo |
---|---|
Name | Xiaoxin Pad Pro 2021 |
Codename | lenovo-j716f |
Model | TB-J716F |
Released | 2021 |
Type | tablet |
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 | 2560 x 1600 (90Hz 11.5" OLED) |
Storage | 128 GB |
Memory | 6 GB LPDDR4X |
Architecture | aarch64 |
Software | |
Original software | Android (ZUI) |
Original version | 11 (ZUI 12) |
postmarketOS | |
Category | testing |
Pre-built images | no |
Mainline | yes |
Flashing |
Works |
---|---|
USB Networking |
Works |
Internal storage |
No data |
SD card |
No data |
Battery |
Partial |
Screen |
Partial |
Touchscreen |
Broken |
Stylus |
Partial |
Multimedia | |
3D Acceleration |
No data |
Audio |
No data |
Camera |
No data |
Camera Flash |
No data |
Connectivity | |
WiFi |
No data |
Bluetooth |
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 |
Contributors
Users owning this device
- Ungeskriptet (Notes: With pen & keyboard accessoires)
How to enter flash mode
- EDL Mode: Hold down , then connect the tablet to a computer with a USB cable.
- Fastboot Mode: Power on the device with both and buttons.
- Recovery Mode: Boot into Fastboot mode and select recovery using the Volume/Power buttons.
Unlocking the bootloader
See Unlocking Bootloaders/Lenovo ZUI
Alternative method
This method can be used to unlock the bootloader without having to wait and connect to Lenovo's server. It works by modifying the serial number with EDL and using a pre-made unlock file for that serial number.
EDL Mode
The necessary loader for bkerler's EDL tool can be found in this firmware file (prog_firehose_ddr.elf
).
Installation
/* Not yet */
Mainline
A work in progress mainline kernel is being developed here.
Mainline status
Component | Model | Status | Notes |
---|---|---|---|
SoC | Qualcomm SM8250-AC Snapdragon 870 | Y | |
UFS | Kioxia THGJFAT0T44BAILB | Y | |
SD card | - | Y | |
Display | EDO (EverDisplay Optronics) EB50QBC73.A OLED panel; Raydium RM69380 driver IC | Y | Dual DSI, Panel datasheet, Datasheet for a similar Driver IC |
Touchscreen | Goodix GT7385P | Y | Datasheet in Chinese. Using downstream driver for now |
Pen input | N | Compatible with MPP 1.51 pens | |
Touchpad | hid-over-i2c | Y | Available through detachable keyboard only |
Keyboard | Y | ||
Audio | Cirrus CS35L41 | N | 4x Speaker Amp, one for each speaker |
Everest-Semi ES7210 | N | Microphone audio ADC | |
DSP Group DBMD8 | N | Voice processor, SPI | |
Charging | Qualcomm SMB1390 | N | |
Halo HL6111R | N | According to i2cdetect, usage unknown | |
Buttons | GPIO | Y | |
USB-C | USB 3.0 & USB 2.0 | Y | |
Role switching | Y | ||
onsemi NB7VPQ904M DP redriver | N | addr: 0x19, bus: 0x990000 | |
FSA4480 | N | addr: 0x43, bus: 0x884000 | |
VBUS out | N | ||
Fuel gauge | Texas Instruments bq27541 | Y | addr: 0x55, bus: 0x98c000 |
FM Tuner | RichWave RTC6226 | N | According to i2cdetect. Tablet does not even have a headphone jack? |
Ambient light sensor | Lite-On LTR-308 | N | |
Time-of-flight sensor | AMS (Austria Mikro Systeme) TMF8801 | N | |
Magnetometer | AKM ak0991x | N | |
Wi-Fi | Qualcomm QCA6390 | N | |
Fingerprint | Goodix | N |
i2c Table
Android messes up the i2c numbering. This is the real i2c numbering corresponding to mainline, showing only those that have devices attached.
Real | Android | Address |
---|---|---|
i2c1 | i2c5 | 0x984000 |
i2c3 | i2c6 | 0x98c000 |
i2c4 | i2c2 | 0x990000 |
i2c13 | i2c7 | 0xa94000 |
i2c15 | i2c4 | 0x884000 |
Downstream GPIO table
p11_pro_plus:/ # cat /sys/kernel/debug/gpio
p11_pro_plus:/ # cat /sys/kernel/debug/pinctrl/f000000.pinctrl/pinmux-pins
Miscellaneous info
Command to create boot.img
$ make O=output-p11-pro-plus ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j16 &&
rm -f output-p11-pro-plus/arch/arm64/boot/boot.img &&
mkbootimg --kernel output-p11-pro-plus/arch/arm64/boot/Image.gz \
--ramdisk /home/david/.local/var/pmbootstrap/chroot_rootfs_qemu-aarch64/boot/initramfs \
--pagesize 4096 \
--kernel_offset 0x8000 \
--ramdisk_offset 0x1000000 \
--dtb_offset 0x1f00000 \
--tags_offset 0x100 \
--second_offset 0 \
--base 0 \
--header_version 2 \
--dtb output-p11-pro-plus/arch/arm64/boot/dts/qcom/sm8250-lenovo-p11-pro-plus.dtb \
-o output-p11-pro-plus/arch/arm64/boot/boot.img &&
(adb reboot fastboot; fastboot flash boot output-p11-pro-plus/arch/arm64/boot/boot.img && fastboot reboot)
Back to stock firmware
WARNING: Restoring the firmware will wipe all user data on the device |
- Install the qdl tool from here. Arch Linux users can simply install the qdl-git AUR package.
- Download the firmware from here. The latest EDL-flashable firmware as of November 2024 is
TB-J716F_CN_OPEN_USER_Q00209.3_R_ZUI_13.0.430_ST_220113_qpst.zip
- Extract the ZIP archive and open a terminal inside the directory
- Reboot the device into EDL mode by holding down while connecting the tablet to a computer with a USB-C cable
- Run the following command:
$ qdl --storage ufs --include ./ ./prog_firehose_ddr.elf ./rawprogram_unsparse0_fullupgrade.xml ./patch0.xml ./rawprogram1.xml ./patch1.xml ./rawprogram2.xml ./patch2.xml ./rawprogram3.xml ./patch3.xml ./rawprogram4.xml ./patch4.xml ./rawprogram5.xml ./patch5.xml
- If you have trouble running the command above, make sure your udev rules are set up correctly. Alternatively, you can try running the command with sudo
- After the tablet reboots, Android should be running again
See also