Coolpad Y80D (coolpad-coolpady80d)

From postmarketOS
Coolpad Y80D
Manufacturer Coolpad
Name Y80D
Codename coolpad-coolpady80d
Released 2015
Category testing
Pre-built images no
Original software Android
Original version 4.4.4
postmarketOS kernel Close-to-mainline 6.2-rc5
Hardware
Chipset Qualcomm Snapdragon 410 (MSM8916)
CPU 4x ARM Cortex-A53
GPU Adreno 306
Display 540x960 LCD
Storage 8 GB
Memory 1 GB
Architecture ARMv7
Type handset
Features
USB Networking
Works
Flashing
Works
Touchscreen
Display
Broken
WiFi
Works
FDE
Mainline
Works
Battery
3D Acceleration
Audio
Bluetooth
Works
Camera
GPS
Mobile data
Internal storage
SMS
Calls
NFC
Sensors
Accelerometer
Magnetometer
Ambient Light
Proximity
Power Sensor
Misc
Built-in DVB
Camera Flash
Touchpad
HDMI/DP
Ir TX
Ir RX
Stylus
Memory Card
Haptics
Ethernet
FOSS bootloader
Icon TODO: Mainline and upstream device.

Contributors

Users owning this device

  • Nphuracm (Notes: PCB exposed, touchscreen connection dead)


Why armv7?

With a quirky bootloader that only supports booting 32-bit armv7 kernels and without secure boot, this device was supposed to be running postmarketOS and mainline on aarch64, with lk1st being used as the primary bootloader. However, due to a strange method the device uses to implement a regulator for powering the panel, which as of now does not yet have a solution on msm8916-mainline/linux or lk1st, plus an unknown "load yl image" boot stage that happens BEFORE the system bootloader as shown in the UART output, we will fall back to armv7 in order to make use of the stock bootloader - which in contrast IS capable of turning on the regulator and thus the panel - as a workaround for the display problem. This should be changed once a suitable solution is found!

Reference: Early boot log

Format: Log Type - Time(microsec) - Message
Log type: B - since boot(excluding boot rom).  D - delta
B -    109769 - SBL1, Start
B -    116479 - pm_device_init, Start
D -     11254 - pm_device_init, Delta
B -    127764 - boot_flash_init, Start
D -         0 - boot_flash_init, Delta
B -    131790 - boot_config_data_table_init, Start
D -     23088 - boot_config_data_table_init, Delta
B -    159576 - sbl1_ddr_set_params, Start
B -    161467 - Pre_DDR_clock_init, Start
D -       183 - Pre_DDR_clock_init, Delta
D -         0 - sbl1_ddr_set_params, Delta
B -    180926 - pm_driver_init, Start
D -      4209 - pm_driver_init, Delta
B -    185196 - clock_init, Start
D -        30 - clock_init, Delta
B -    198341 - Image Load, Start
D -     22448 - QSEE Image Loaded, Delta
B -    221521 - sbl1_efs_handle_cookies, Start
D -       213 - sbl1_efs_handle_cookies, End
B -    226310 - Image Load, Start
D -      3416 - QHEE Image Loaded, Delta
B -    232928 - Image Load, Start
D -      6984 - RPM Image Loaded, Delta
B -    239913 - memcmp tz ok
B -    242078 - boot_flash_configure_target_image ok
B -    246928 - boot_load_yl_image open iamge ok
B -    251411 - sbl find the key
B -    596183 - boot_load_yl_image trans_read iamge ok
B -    597769 - Image Load, Start
D -      7656 - APPSBL Image Loaded, Delta
B -    605455 - QSEE Execution, Start
D -        91 - QSEE Execution, Delta
B -    609695 - SBL1, End
D -    502213 - SBL1, Delta
Android Bootloader - UART_DM Initialized!!!

How to enter flash mode

Stock bootloader

With a USB cable plugged in, press and hold Vol. Up+Power to access the stock Fastboot interface.

Installation

No changes have been committed upstream as of the time of writing. Therefore, it will not be documented yet.

Serial via UART

A UART RX pin has not been located yet, but the TX end of UART is located on the microUSB ID pin. It is possible to get kernel output there.

See also