Lenovo Yoga Tab 3 10 LTE/WiFi (lenovo-lxf-p5100)

The Lenovo Yoga Tab 3 10 LTE/WiFi is it interesting tablet that has a stand.There are QR code sticker that has a code name printed on it.The sticker is sticked onto the motherboard.All Lenovo Yoga Tab 3 10 LTE/WiFi variant code name appear to have lxf_p5100 prefix and a lot of different suffix. 
Known suffixes :
_B01 : Model Name yt3-x50m,LTE Variant
_J01 : Model Name yt3-x50l,LTE Variant
_L01 : Model Name yt3-x50f,WIFI Variant
== How to enter flash mode (fastboot) ==
adb reboot bootloader = fastboot mode 
 
or Press and hold + until Lenovo logo shou up
(Depend on your firmware your might see a tux logo or android robot instead)
== How to enter flash mode (edl) ==
Press and hold + while you plug it to a pc
==How to enable developer option at setting==
1. click build number 7 time at the about device in setting
==How to unlock bootloader==
0. Enable Allow bootloader to be unlocked at the developer option in setting
1. Boot to fastboot mode
2. fastboot oem unlock-go
3. wait until it has wipe every thing in userdata partition
==Stock bootloader quirk==
===lk2nd dont boot===
Depend on firmware , you might need to edit lk2nd/device/dts/msm8909/msm8909-qrd-skue.dts and change the line 
 qcom,msm-id = <QCOM_ID_MSM8909 0>; to 
 qcom,msm-id = <0xf5 0x00 0x102 0x00 0x109 0x00 0x113 0x00>;
==What work?==
Feature 	Components 	Status	Driver	Note
Display 	MDP 3 Panel : boent35523b_800p, auoOTM1287A_800p	P 	N 	Mainline lack of MDP 3, Panel driver but the panel driver can be generated from downstream 
simple buffer work.
GPU 	Adreno 304 	N 	N 	Adreno 3XX is supported by freedreno but it dont support 304. Also gpu required iommu to work but iommu dont work
WiFi 	wcn3620 	Y 	Y 	wcn3620 is a chip that responsable for BT,WiFi,FM.This chip found in many Qualcomm Snapdragon 210 (MSM8909) Qualcomm Snapdragon 410 (MSM8916) devices.
Bluetooth 	wcn3620 	? 	Y 	wcn3620 is a chip that responsable for BT,WiFi,FM.This chip found in many Qualcomm Snapdragon 210 (MSM8909) Qualcomm Snapdragon 410 (MSM8916) devices.
FM 	wcn3620 	? 	? 	wcn3620 is a chip that responsable for BT,WiFi,FM.This chip found in many Qualcomm Snapdragon 210 (MSM8909) Qualcomm Snapdragon 410 (MSM8916) devices.
Modem 	 	? 	? 	
Audio Codec 	 	N 	N 	
Charger 	smb358 Charger 	N 	Y 	This Ic handle USB power out/mode switching. Mainline has driver for it.
See
Power management 	pm8909 	Y 	Y 	
Battery Temperature Sensor	pm8909 	? 	? 	It is connected to pm8916.
Also the only current developer's unit lack of Battery Temperature Sensor.(See the BAT_TEMP pin at below)
Untested but mainline lack of temperature sensor driver it seem ?
Fuel Gauge 	bq27xxx 	N 	Y 	https://github.com/msm8916-mainline/linux/pull/389
Rear Camera 	 	N 	N 	
Front Camera 	 	N 	N 	
Magnetometer Sensors 	ak09911 	Y 	Y 	Managed to get some output via sysfs so it work
ACCELEROMETER Sensors 	Bochs BMA223 	N 	N 	No Mainline driver
Light Sensors 	ELAN EPL2102 light sensor 	N 	N 	lack of mainline driver,rare chip
Touchscreen/Stylus 	hideep-ts-i2c 	P 	P 	It work great in kernel level (See libinput#1046)
Buttons 	Gpio button/pm8941-resin/pm8941-pwrkey 	Y 	Y 	
LEDs 	sn3191 	P 	Y 	Power LedDon't work due to sensors occupied the i2c bus.Therefore it is possible to get it to work by removing the sensors from device tree.
USB Controller/Phy 	ChipIdea USB Controller /Qualcomm USB HS Phy 	P 	Y 	See
== Test pin/Soldering Point==
There are a lot of soldering point/test pin on the motherboard. A lot of them is labelled.
 Here is some of the pin that found in the motherboard.
Label 	Component 	Description
BAT_TEMP	Battery 	Battery temperature sensor
VBAT+ 	Battery 	Battery positive
GND 	Battery 	Battery ground
SCL 	Touch screen/Fuel gauge	There are 2xSCL bus test pin on on the board.
The one that near the battery socket is SCL pin of the fuel gauge 's i2c bus
The other one is the is SCL pin of the touch screen 's i2c bus
SDA 	Touch screen/Fuel gauge	There are 2xSDA test pin on on the board.
The one that near the battery socket is SDA pin of the fuel gauge 's i2c bus
The other one is the is SDA pin of the touch screen 's i2c bus
PWR 	Buttons 	Power button
VOL+ 	Buttons 	Volume up button
VOL- 	Buttons 	Volume down button
LEDR 	LEDs 	Power LED positive
DP 	Micro USB 	Data Positive
DM 	Micro USB 	Data Negative
VBUS 	Micro USB 	Usb Power Negative
USB_ID 	Micro USB 	USB_ID pin of micro USB
Rx 	Uart 	Uart pin of Rx
Tx 	Uart 	Uart pin of Tx
VDD 	Touch screen 	VDD pin of the Touch screen , the main power source of the Touch screen
VID 	Touch screen 	VDD pin of the Touch screen , the main IO voltage of the Touch screen
INT 	Touch screen 	Interrupt pin of the Touch screen , It is connected to gpio 13 of the msm8909
RST 	Touch screen 	Reset pin of the Touch screen , It is connected to gpio 12 of the msm8909
==Downsteam==
===Missing Device Tree Changes===
Here is the search results from searching 800p in a folder that contain all the dtb that is extracted from the stock android 's kernel :
# grep -rnw ./ -e '800p'
./13_dtbdump_Qualcomm_T
=echnologies,_Inc._MSM8909_QRD_SKUE.dtb:25729:zauoOTM1287A 800p video mode dsi panel
./13_dtbdump_Qualcomm_Technologies,_Inc._MSM8909_QRD_SKUE.dtb:26365:zboeNT35523B 800p video mode dsi panel
./35_dtbdump_Qualcomm_Technologies,_Inc._MSM8208_1GB_QRD_SKUE.dtb:25034:zauoOTM1287A 800p video mode dsi panel
./35_dtbdump_Qualcomm_Technologies,_Inc._MSM8208_1GB_QRD_SKUE.dtb:25670:zboeNT35523B 800p video mode dsi panel
./32_dtbdump_Qualcomm_Technologies,_Inc._MSM8208_QRD_SKUE.dtb:25033:zauoOTM1287A 800p video mode dsi panel
./32_dtbdump_Qualcomm_Technologies,_Inc._MSM8208_QRD_SKUE.dtb:25669:zboeNT35523B 800p video mode dsi panel
./05_dtbdump_Qualcomm_Technologies,_Inc._MSM8909_QRD_SKUE.dtb:25728:zauoOTM1287A 800p video mode dsi panel
./05_dtbdump_Qualcomm_Technologies,_Inc._MSM8909_QRD_SKUE.dtb:26364:zboeNT35523B 800p video mode dsi panel
boent35523b_800p and auoOTM1287A_800p are panel that used in the device. According to that it seem there are few device tree has the device tree nodes for those two panels.
There are two dsti file in the downsteam kernel from lenovo that contain the device tree nodes for those two panels .However , none of the dts / dtsi file has used those 2 dsti file thus it seem some device tree changes that made by lenovo is missing in the kernel source.
</div>
</div>
==Gallery==
File:Yt3--x50l.jpg|Tablet on Home Screen at around 6pm
File:lk2nd-lenovo-lxf-p5100.jpg|lk2nd boot 
File:Lenovo-lxf-p5100-xfce-downsteam.jpg|xfce4 with xfce4 with pmos on downsteam kernel
== Installation ==
== Contributors ==
Chaosleo07
== Maintainers ==
exkc
== Users owning this device ==
== See also ==
* Vendor Kernel Source (reuploaded to github)
* Vendor Kernel Source
* Normal Twrp (broken)
* Heavily modify twrp for this device (dead link)
* (Downstream Kernel Port)
* Schematic
* device info (WiFi variant)
* device info (LTE variant)
* DIY battery replacement with li ion battery forum post (it has some info about the fuel gauge)