How to Config Multi-Display RK3568
RK3568 has 3 VPorts.
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 : How_to_debug.
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.
Module | Sub Module | Step | In Uboot |
Single | HDMI | fw_setenv display0 hdmi-default fw_setenv display1 fw_setenv display2 |
setenv display0 hdmi-default |
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
Port |
RSB-4810 ROM-5880 |
edp | edp-1920x1080 edp-1366x768 |
lvds |
lvds-g070vw01 lvds-800x480 lvds-1024x768 lvds-1280x720 lvds-1280x768 lvds-1280x800 lvds-1366x768 |
dual-lvds | lvdsdual-1920x1080 |
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 ...
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 :
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.