LG Optimus Vu (lg-p895)

From postmarketOS
Jump to navigation Jump to search
LGE Optimus Vu
Optimus Vu in recursion
Optimus Vu in recursion
Manufacturer LGE
Name Optimus Vu
Codename lg-p895
Released 2012
Category testing
Original software Android 4.0
postmarketOS kernel mainline grate
Hardware
Chipset Nvidia Tegra 3 (AP33)
CPU Quad-core 1.5 GHz Cortex-A9
GPU NVIDIA ULP GeForce GPU 12 cores
Display 768×1024 IPS LCD
Storage 32 GB
Memory 1 GB
Architecture armv7
Unixbench Whet/Dhry score 1079.2
Features
USB Networking
Works
Flashing
Works
Touchscreen
Works
Display
Works
WiFi
Works
FDE
Works
Mainline
Works
Battery
Partial
3D Acceleration
Partial
Audio
Works
Bluetooth
Partial
Camera
GPS
Mobile data
SMS
Calls
USB OTG
Partial
NFC
Works
Sensors
Accelerometer
Works
Magnetometer
Works
Ambient Light
Works
Proximity
Works
Hall Effect
Unavailable
Barometer
Unavailable
Power Sensor
Works
Misc
Keyboard
Unavailable
Touchpad
Unavailable
USB-A
Unavailable
HDMI/DP
Ir TX
Unavailable
TrustZone
Works
FOSS bootloader
Works
U-Boot
Primary Bootloader
Works
Secondary Bootloader
Partial
Mainline
Works
Internal Storage
Works
SD card
Unavailable
USB Host
Unavailable
USB Peripheral
Works
Display
Works
Keyboard
Unavailable
Buttons
Works


This device is based on the Tegra 3.
See the SoC page for common tips, guides and troubleshooting steps

Contributors

  • Clamor

Users owning this device

  • Clamor (Notes: pmOS with Grate kernel and U-Boot)

Unlocking

Only known method of unlocking is flashing patched LG bootloader with kernel signature check disabled, but who needs this proprietary stuff with unknown properties (vendor bootloader I mean) if p895 supports open sourced bootloader - U-Boot.

Kernel status

Android kernel

  • 3.1 kernel based on LG sources with updates till Nougat support (Kernel)

Mainline (Grate)

Installation

Will be filled later

Hardware status (mainline)

Status Hardware Info
Y Booting Android style boot.img has restriction of approx 4 MB, which is fraction of /boot partition size.
Y Bootloader Open source bootloader U-Boot is available as alternative for stock LG bootloader and can replace it. U-Boot can not boot downstream kernel if it has Trusted Foundations enabled.
Y Panel KOE/Hitachi TX13D100VM0EAA MIPI DSI LCD IPS panel via Solomon SSD2825 DSI/LVDS bridge.
Y Backlight TI LM3533 led controlled is used for main backlight. Driver is converted into OF and can be operated by panel.
N HDMI output Device supports MHL via SII9244 hdmi bridge on it own i2c-gpio line. Currently not configured. Is similar to SII9234 driver but is not same, requires hw setup look.
Y Touchscreen Synaptics RMI4 S3203B touchscreen is used.
N Touch buttons Synaptics RMI4 S3204B touchscreen's function 3/19/1a/30, not clear which is used.
P USB Peripheral is fully functional. OTG currently can work only via OTG-Y cable and USB line has to be in host mode.
Y Internal memory eMMC 32 Gb by Hynix model HBG4e.
N GPS Some fancy GSD5T GNSS module.
Y WiFi Uses Azurewave AW-NH665 BCM4330B1. Wi-Fi should work out of the box. All needed stuff is included.
P Bluetooth BCM4330B1 37.4 MHz Class 1.5 W-ExtLNA PCM-S. Perfectly fine is detected by kernel, recognized by userspace but once enabled, userspace part dissapears without logs. Blocking it in rfkill restores bt state. Needs investigations.
Y NFC As on most devices of this age PN544 is used. Recognizes NFC tags.
Y GPIO keys/switches There are 3 GPIO keys: Power, Volume up, Volume down. Memo key though is a gpio based refuses to work on mainline.
Y GPIO leds There are 2 GPIO leds: Power button led and Keypad led. Bound and work via sysfs, will be linked to co-responding drivers.
P Vibro Immersion ISA1200 haptic engine. Hardware is set properly and i2c device is recognized. Needs proper handle.
Y Battery MAX17040 fuel gauge is used. Fully set up.
P Charger Maxim MAX8971 charger is used. Driver prototype is available. Needs more setup but basic stuff works fine.
P Extcon Maxim MAX14526 MUIC is used. Driver prototype is available. Needs USB controller binding fix.
Y PMIC Optimus Vu uses Maxim MAX77663 PMIC mfd. Media devices have own sub-PMIC TI LP8720.
Y Sound Sound codec is Maxim MAX98089. Fully routed in kernel, UCM's are complete for media and calls. Audio via HDMI should work out of the box.
Y Thermal sensor NCT1008 ON Semiconductor LM90 series thermometer and Tegra T sensor. Both work perfectly fine.
Y Power sensor Ina230 works fine. Battery has its own tsc2007 ADC to detect battery temperature, works as current sensor.
Y Orientation sensors Include mpu6050 imu (accelerometer, gyroscope and thermometer) and ami306 compass.
P Light and Proximity sensor APDS990X - combined AL and proximity sensor is used. OF conversion done, needs iio conversion.
N Front camera Sony 1.3 MP imx119 sensor.
N Rear camera Sony 8 MP imx111 sensor with DW9714 lens voice coil and LM3560 flash led.
N Modem Intel XMM6260 modem is used on usb2 line in hsic mode.
P ULP GeForce GPU Acceleration partially works.

Usability

Desktop environment

Since 3D acceleration is not available yet, all DE which use it will be painfully slow and laggy.

Currently xfce4 or mate are recommended.

U-Boot

Current U-Boot status on LG Optimus Vu

Status Feature Info
Y Primary bootloader U-Boot successfully boots when is flashed into EBT partition instead of LG bootloader. Can be additionally booted via fusée gelée exploit.
P Secondary bootloader U-Boot can be chainloaded from both /boot and /recovery partitions, though LG bootloader has some conflicts with U-Boot.
Y Panel Solomon SSD2825 bridge, Hitachi KOE TX13D100VM0EAA DSI panel, TI lm3533 backlight were all added into U-Boot. Panel is fully functional.
Y eMMC Mostly functional and detectable. Can be used as boot source.
Y Boot kernel Yes, and can be highly adjusted. Default kernel and dtb are booted from 4th partition of eMMC (/cache) and /root is on 8th partition (/data). Both partitions can be mounted in bootmenu. Kernel name must be vmlinuz, dtb - tegra30-lge-p895.dtb, ramdisk is optional, name is uInitrd and it must be in u-boot format.
Y Boot menu Native u-boot bootmenu works perfectly fine. It can be called with pressing volume down button on boot.
Y Power management Offline charging and charging in u-boot both work and are hw configured. Both power off and reboot options work and are available in bootmenu. If no valid kernel is found phone will turn off.
P Fastboot Fastboot option is available in bootmenu. All functions but flash/erase/reboot-bootloader operate correctly.
Y Boot from script Boot from script option allows to load boot configuration from uboot-x3.bcs - a text file, located in /cache partition on eMMC (mmcblk0p4) or 1st partition of SD.
P Boot Android Booting both Android kernel (LNX) and Recovery (SOS) are implemented. Legacy kernel requires Trusted Zone, which is not supported by u-boot. FIX ME!

Although if legacy kernel does not have CONFIG_TRUSTED_FOUNDATIONS = y and some additional small patches, it can be booted by u-boot.

Y Self update Self update option is implemented and write is done correctly. Bootloader file has to have name u-boot-dtb-tegra.bin and be placed on 4th partition of eMMC (/cache).

Gallery

Serial console

Red arrow pointing to jtag
JTAG schematics. Clickable

LG Optimus Vu is an interesting device since it has factory soldered jtag directly on motherboard in pretty apposite and easily accessible place. To get to jtag you need only to take off back cover and plastic casing over motherboard. That is it, only one free socket is jtag. UART is UART-D (serial@70006300; 115200n8) and uses 3.3v.

See also