How to add one new LVDS panel's EDID to PTN3460

From ESS-WIKI
Revision as of 07:28, 2 January 2024 by Winston.huang (talk | contribs)
Jump to: navigation, search

Prerequisites

On Host PC

  • LVDS panel's EDID config (128 bytes)
  • (optional) one utility to edit EDID config
  • PTN3460 Programming Guide

On RSB-3810

  • i2c-tools installed
sudo apt update
sudo apt install i2c-tools

Convert EDID config to hex value

(use g070vw01v0.bin as example below)

EDIDBIN=g070vw01v0.bin
xxd -c 16 -ps $EDIDBIN | sed "s/../0x& /g; s/ *$//"

Convert hex value to i2cset command list

EDIDNEW=6
EDIDBIN=g070vw01v0.bin
SCRIPT=set_new_edid.sh

xxd -c 16 -ps $EDIDBIN | 
sed "s/../0x& /g; s/ *$//" | 
for ADDR in `seq 0x00 0x10 0x70`; do
  read 
  echo i2cset -f -y 2 0x20 `printf "0x%02x" $ADDR` $REPLY
done > set_new_edid.sh

Add i2c command for PTN3460

run the script

flash new firmware.vfat

get and extract update_edid.tgz

tar xvf update_edid.tgz

flash u-boot env & firmware (dtb)

genio-flash mmc0boot1 firmware firmware_b

config u-boot env to ebable LVDS display

(choose 1,3,4,5 or 6 as a new EDID, use 6 as example below)
break countdown in u-boot

  • Multi-display (HDMI + LVDS)
The LVDS is always major display that has nothing to do with the specified order.
setenv list_dbto "gpu-mali.dtbo video.dtbo apusys.dtbo hdmi.dtbo lvds6.dtbo"
saveenv
reset
  • LVDS only
setenv list_dbto "gpu-mali.dtbo video.dtbo apusys.dtbo lvds6.dtbo"
saveenv
reset