How to Config Multi-Display RK3568

From ESS-WIKI
Revision as of 02:45, 12 April 2023 by Yunjin.jiang (talk | contribs)
Jump to: navigation, search

RK3568 has 3 VPorts. 

<img _fck_mw_filename="RK3568 Vport.png" _fck_mw_origimgheight="328" _fck_mw_origimgwidth="307" alt="RTENOTITLE" src="/wiki/images/7/70/RK3568_Vport.png" style="vertical-align:middle;" title="RTENOTITLE" />

RSB-4810\ROM-5880 surport 4 types display : eDP、LVDS、HDMI、MIPI. 

Note:

1. HDMI、eDP、MIPI MUST be set to port 0 and port 1.

2. LVDS MUST be set to port 1 and port 2.

3.  LVDS and MIPI are alternative.

 

 

Enter U-boot interrupt mode

Connect device to debug port, and open debug console. See more : <a alt="http://ess-wiki.advantech.com.tw/view/How_to_debug_RK3568" href="http://ess-wiki.advantech.com.tw/view/How_to_debug_RK3568" title="http://ess-wiki.advantech.com.tw/view/How_to_debug_RK3568">How_to_debug</a>.

Press "ctrl + c" key before power up the device, until get the following information on debug console : 

Hit any key to stop autoboot: 0
=> <INTERRUPT>
=>

Then you can input the following cammand to config Multi-Display.

<tbody> </tbody>
Module Sub Module Step In Uboot
Single HDMI fw_setenv display0 hdmi-default

fw_setenv display1

fw_setenv display2

setenv display0 hdmi-default
setenv display1
setenv display2

LVDS fw_setenv display0

fw_setenv display1 lvds-g070vw01

fw_setenv display2
setenv display0

setenv display1 lvds-g070vw01

setenv display2
eDP fw_setenv display0 edp-1366x768

fw_setenv display1

fw_setenv display2
setenv display0 edp-1366x768

setenv display1

setenv display2
MIPI fw_setenv display0 mipi-gl0uan

fw_setenv display1

fw_setenv display2
setenv display0 mipi-gl0uan

setenv display1

setenv display2
Dual HDMI+LVDS fw_setenv display0 hdmi-default

fw_setenv display1 lvds-g070vw01

fw_setenv display2
setenv display0 hdmi-default

setenv display1 lvds-g070vw01

setenv display2
HDMI+eDP fw_setenv display0 hdmi-default

fw_setenv display1 edp-1366x768

fw_setenv display2
setenv display0 hdmi-default

setenv display1 edp-1366x768

setenv display2
eDP+LVDS fw_setenv display0 edp-1366x768

fw_setenv display1 lvds-g070vw01

fw_setenv display2
setenv display0 edp-1366x768

setenv display1 lvds-g070vw01

setenv display2
HDMI+MIPI fw_setenv display0 hdmi-default

fw_setenv display1 mipi-gl0uan

fw_setenv display2
setenv display0 hdmi-default

setenv display1 mipi-gl0uan

setenv display2
eDP+MIPI fw_setenv display0 edp-1366x768

fw_setenv display1 mipi-gl0uan

fw_setenv display2
setenv display0 edp-1366x768

setenv display1 mipi-gl0uan

setenv display2

Note :

LVDS panel support 4 bus format: rgb666_vesa、rgb888_vesa、rgb666_jeida、rgb888_jeida.

If lvds panel is not the default format of rgb888_vesa, Must set lvds format :

fw_setenv lvds_format rgb666_vesa
or
fw_setenv lvds_format rgb666_jeida
or
fw_setenv lvds_format rgb888_jeida

Default Support Display

<tbody> </tbody>
Port

RSB4810

ROM5880

edp edp-1920x1080
edp-1366x768
lvds

lvds-g070vw01
lvds-g150xgel05

lvds-800x480

lvds-1024x768

lvds-1280x720

lvds-1280x768

lvds-1280x800

lvds-1366x768

hdmi hdmi-default
mipi mipi-gl0uan


NOTE : 

1. The name of the panel must begin with "edp-"、"lvds-" 、"hdmi-"  or “dp-”.

And it can be found in "kernel/include/dt-bindings/display/screen-timing/{LCDNAME}.dtsi" like :

lvds_g070vw01: lvds-g070vw01

2. If there is no configuration, you will get default setting :

hdmi-default  and edp-1366x768 as default setting.

3. Check your configuration in Terminal or debug console.

fw_printenv | grep display
... 
display0=hdmi-default
display1=edp-1366x768
...
<tbody> </tbody>
LVDS Name Resolution
lvds-g070vw01 800x480
lvds-g150xgel05 1024x768

Using envtools in Debian/Android

Using envtools to setup envs in Debian/Android OS is very similar in uboot.

Take “eDP+HDMI”for example :

<tbody> </tbody>
In uboot In Debian/Android
setenv display0 hdmi-default fw_setenv display0 hdmi-default
setenv display1 edp-1920x1080 fw_setenv display0 edp-1920x1080
saveenv  
reset reboot

Note :

The tool "fw_setenv" will save envs automatically in Debian/Android OS, so it isn't necessary to saveenv manually.