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

From ESS-WIKI
Revision as of 08:31, 2 January 2024 by Winston.huang (talk | contribs) (On RSB-3810 (Ubuntu))
Jump to: navigation, search

Prerequisites

  • PTN3460 Programming Guide

On Host PC

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

On RSB-3810 (Ubuntu)

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

(use EDID 6 and LVDS panel, G070VW01V0, as example below)

Convert EDID config to shell script

On RSB-3810 (Ubuntu)

EDIDNEW=6 # set EDID
EDIDBIN=g070vw01v0.bin
SCRIPT=~/set_new_edid.sh

REG81=$(printf "0x%02x" 0) # Please refer to the PTN3460 Programming Guide to set correct value
REG84=$(printf "0x%02x" $((2*EDIDNEW + 1)))
REG85=$(printf "0x%02x" $EDIDNEW)
echo -e "REG81:$REG81\nREG84:$REG84\nREG85:$REG85\n"

cat << EOT > $SCRIPT
#!/bin/bash
i2cset -f -y 2 0x20 0x85 $REG85 b

$(
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 i
done
)

i2cset -f -y 2 0x20 0x81 $REG81 b
i2cset -f -y 2 0x20 0x84 $REG84 b
i2cset -f -y 2 0x20 0xe8 0x01 0x78 0x45 0x56 i
EOT

chmod +x $SCRIPT

run the script and reboot

sudo $SCRIPT
sudo reboot

config u-boot env to ebable LVDS display

On RSB-3810 (U-Boot)

Press any key to stop auto boot set DISPLAY to the new edid's dtbo (EDID 6 as example below)

  • 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