Coolpad Y80D (coolpad-coolpady80d)

From postmarketOS Wiki
Note This page is about the dedicated port of this device. There is also an optional generic port available for this device - see Generic MSM8909 (qcom-msm8909).
Coolpad Y80D
Manufacturer Coolpad
Name Y80D
Codename coolpad-coolpady80d
Released 2015
Type handset
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
Software
Original software Android
Original version 4.4.4
postmarketOS
Category testing
Pre-built images no
Mainline yes
postmarketOS kernel Close-to-mainline 6.2-rc5
Optional Generic Port Generic MSM8909 (qcom-msm8909)
Features
Flashing
Works
USB Networking
Works
Internal storage
SD card
Battery
Screen
Broken
Touchscreen
Touchpad
Multimedia
3D Acceleration
Audio
Camera
Camera Flash
IR TX
Connectivity
WiFi
Works
Bluetooth
Works
GPS
NFC
Modem
Calls
SMS
Mobile data
Miscellaneous
FDE
HDMI/DP
Sensors
Accelerometer
Magnetometer
Ambient Light
Proximity
Haptics
Power Sensor
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