LG OLED48CXPUB (2020 — webOS 5)
Hardware profile and low-level diagnostic data gathered from root shell access on an LG OLED48CXPUB running webOS 5.6.2. An OLED65CXPUA on the same firmware reports the identical SoC, CPU, GPU, kernel, memory map, eMMC part and runtimes.
System Overview
| Detail |
Value |
| Model |
OLED48CXPUB (board type O20_ATSC_US, OTA id HE_DTV_W20O_AFABATAA) |
| Firmware |
04.64.00 |
| webOS |
5.6.2-21 (codename jhericurl-jimna), image lib32-starfish-atsc-secured |
| Kernel |
Linux 4.4.84-219.jcl4tvmr.6 (aarch64, SMP PREEMPT) |
| Userspace |
32-bit ARM (/bin/sh, node and WebAppMgr are ELF32) |
| SoC |
LG1212 / "O20" — Alpha 9 Gen 3 (AArch64) |
| Chip ID |
O20B0 (from boot cmdline) |
| Rooted with |
slopbro |
CPU
| Detail |
Value |
| Architecture |
ARMv8.2-A — Cortex-A55 (CPU part 0xd05, variant 0x2; the atomics feature flag rules out the Cortex-A73 LG's marketing names for this SoC) |
| Cores |
4, all online |
| Frequency scaling |
Not exposed: no cpufreq directory under /sys/devices/system/cpu/cpu0/ |
| BogoMIPS |
100.00 per core |
| Features |
fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics |
Note
The CX exposes no cpufreq interface at all, so the clock is neither readable
nor adjustable from userspace. Voltage is set by LG's AVS system
(o20_cpu_avs=3, o20_core_avs=3, o20_regul=1).
GPU
| Detail |
Value |
| GPU |
Mali-G51 MP3 (r1p1, ID 0x7090) |
| Shader cores |
3 (core mask 0x7) |
| Power policy |
demand (available: coarse_demand, always_on) |
| DVFS period |
100 ms |
| Driver |
mali_kbase r9p0-01rel0 (UK version 11.0), plus Vivante galcore |
| Framebuffer |
1920 × 2160 virtual (two 1080p pages) |
Memory
| Detail |
Value |
| Physical RAM |
3.0 GB: the HMA carve-outs on the cmdline (hma=856M@0x47800000;360M@0xa9800000) end at the 3 GB mark |
| Available to Linux |
2,618 MB (MemTotal 2,680,936 kB) |
| Swap |
600 MB zram (/dev/zram0) |
Storage
| Detail |
Value |
| Type |
eMMC |
| Device |
Samsung 8GTF4R |
| Capacity |
~7.3 GB (15,269,888 × 512-byte sectors) |
| Health (life_time) |
0x01 0x01 (0–10% used) |
| App store partition |
/dev/mmcblk0p56 — 2.7 GB (/mnt/lg/appstore, /media) |
| Common data |
/dev/mmcblk0p55 — 722 MB (/mnt/lg/cmn_data, /var, /home) |
| Database |
/dev/mmcblk0p54 — 105 MB (/var/db) |
| Root |
/dev/mmcblk0p27, squashfs, read-only |
Connectivity
| Detail |
Value |
| Wi-Fi |
MediaTek MT7668 (USB, module wlan_mt7668_usb) |
| Bluetooth |
MediaTek (USB, module btmtk_usb) |
| HDMI |
4× HDMI 2.1 (linux_hld_module) |
| USB host |
DWC OTG + 4× EHCI + 4× OHCI (9 buses) |
| Other inputs |
Composite AV |
Software
| Detail |
Value |
| Node.js |
v8.12.0 |
| Chromium |
68.0.3440.106 (WebAppMgr user agent) |
| DVB tuners |
Silicon Labs si2178b (ATSC/NTSC), LG SoC demod |
Kernel modules
| Module |
Size |
Description |
mali_kbase |
479 kB |
Mali G51 GPU driver |
galcore |
651 kB |
Vivante GPU driver |
linux_hld_module |
1.5 MB |
Synopsys HDMI/HDCP host library driver |
wlan_mt7668_usb |
2.6 MB |
MediaTek MT7668 Wi-Fi |
btmtk_usb |
147 kB |
MediaTek Bluetooth |
venc_hxenc |
184 kB |
Video encoder |
tfat / tntfs |
365 kB / 537 kB |
Tuxera FAT and NTFS for USB storage |
si2178b / atsc_dtv_soc |
— |
DVB tuner and SoC demod drivers |
webos_tv |
90 kB |
LG webOS platform module |
The lg1k kernel module exposes the O20 counterparts of the C2's O22
parameters under /sys/module/lg1k/parameters/:
| Parameter |
Value |
Description |
o20_cpuNP |
0 |
CPU Normal Performance target |
o20_cpuHS |
0 |
CPU High Speed target |
o20_gpuNP |
0 |
GPU Normal Performance target |
o20_gpuHS |
0 |
GPU High Speed target |
o20_cpu_avs |
3 |
CPU Adaptive Voltage Scaling mode |
o20_core_avs |
3 |
Core AVS mode |
o20_pms_enable |
1 |
Power Management System enabled |
o20_pms_tfreq |
0 |
PMS target frequency override |
o20_pms_tcorevol |
0 |
PMS target core voltage override |
o20_irbs_enable |
1 |
— |
o20_regul |
1 |
Voltage regulator active |
The same warning as for the C2 applies: the AVS calibration is per chip
(o20_avsinfo), and the override knobs are undocumented.