Difference between revisions of "How to Config Multi-Display RK3568"

From ESS-WIKI
Jump to: navigation, search
 
(10 intermediate revisions by 2 users not shown)
Line 1: Line 1:
RK3399 has 3 VPorts. 
 
  
[[File:RK3568 Vport.png]]
+
RK3568 has 3 VPorts. 
  
RSB-4810 surport 4 types display : eDP、LVDS、HDMI、MIPI. 
+
[[File:RK3568 Vport.png|RTENOTITLE]]
 +
 
 +
RSB-4810/ROM-5880 surport 4 types display : eDP、LVDS、HDMI、MIPI. 
  
 
'''Note:'''
 
'''Note:'''
Line 13: Line 14:
 
3.  LVDS and MIPI are alternative.
 
3.  LVDS and MIPI are alternative.
  
 +
 
  
 
+
 
 
 
  
 
== Enter U-boot interrupt mode ==
 
== Enter U-boot interrupt mode ==
Line 24: Line 25:
 
<pre>Hit any key to stop autoboot: 0
 
<pre>Hit any key to stop autoboot: 0
 
=> <INTERRUPT>
 
=> <INTERRUPT>
=></pre>
+
=>
 +
</pre>
  
 
Then you can&nbsp;input the following cammand to config Multi-Display.
 
Then you can&nbsp;input the following cammand to config Multi-Display.
  
{| border="0" cellpadding="0" cellspacing="0" width="494"
+
{| border="1" cellpadding="0" cellspacing="0" style="width: 655px;" width="494"
|- height="20"
+
|-
 
| height="20" width="72" | Module
 
| height="20" width="72" | Module
 
| width="133" | Sub Module
 
| width="133" | Sub Module
 
| width="289" | Step
 
| width="289" | Step
|- height="60"
+
| style="width: 326px;" width="289" | In Uboot
| rowspan="4" height="240" width="72" | Single
+
|-
 +
| height="240" rowspan="4" width="72" | Single
 
| width="133" | HDMI
 
| width="133" | HDMI
| width="289" | fw_setenv display0 hdmi-default<br/>fw_setenv display1<br/>fw_setenv display2
+
| width="289" | fw_setenv display0 hdmi-default<br/> fw_setenv display1<br/> fw_setenv display2
|- height="60"
+
| style="width: 326px;" width="289" |
 +
setenv display0 hdmi-default<br/> setenv display1<br/> setenv display2
 +
 
 +
|-
 
| height="60" width="133" | LVDS
 
| height="60" width="133" | LVDS
| width="289" | fw_setenv display0<br/>fw_setenv display1 lvds-g070vw01<br/>fw_setenv display2
+
| width="289" | fw_setenv display0<br/> fw_setenv display1 lvds-g070vw01<br/> fw_setenv display2
|- height="60"
+
| style="width: 326px;" width="289" | setenv display0<br/> setenv display1 lvds-g070vw01<br/> setenv display2
 +
|-
 
| height="60" width="133" | eDP
 
| height="60" width="133" | eDP
| width="289" | fw_setenv display0 edp-1366x768<br/>fw_setenv display1<br/>fw_setenv display2
+
| width="289" | fw_setenv display0 edp-1366x768<br/> fw_setenv display1<br/> fw_setenv display2
|- height="60"
+
| style="width: 326px;" width="289" | setenv display0 edp-1366x768<br/> setenv display1<br/> setenv display2
 +
|-
 
| height="60" width="133" | MIPI
 
| height="60" width="133" | MIPI
| width="289" | fw_setenv display0 mipi-gl0uan<br/>fw_setenv display1<br/>fw_setenv display2
+
| width="289" | fw_setenv display0 mipi-gl0uan<br/> fw_setenv display1<br/> fw_setenv display2
|- height="60"
+
| style="width: 326px;" width="289" | setenv display0 mipi-gl0uan<br/> setenv display1<br/> setenv display2
| rowspan="5" height="300" width="72" | Dual
+
|-
 +
| height="300" rowspan="5" width="72" | Dual
 
| width="133" | HDMI+LVDS
 
| width="133" | HDMI+LVDS
| width="289" | fw_setenv display0 hdmi-default<br/>fw_setenv display1 lvds-g070vw01<br/>fw_setenv display2
+
| width="289" | fw_setenv display0 hdmi-default<br/> fw_setenv display1 lvds-g070vw01<br/> fw_setenv display2
|- height="60"
+
| style="width: 326px;" width="289" | setenv display0 hdmi-default<br/> setenv display1 lvds-g070vw01<br/> setenv display2
 +
|-
 
| height="60" width="133" | HDMI+eDP
 
| height="60" width="133" | HDMI+eDP
| width="289" | fw_setenv display0 hdmi-default<br/>fw_setenv display1 edp-1366x768<br/>fw_setenv display2
+
| width="289" | fw_setenv display0 hdmi-default<br/> fw_setenv display1 edp-1366x768<br/> fw_setenv display2
|- height="60"
+
| style="width: 326px;" width="289" | setenv display0 hdmi-default<br/> setenv display1 edp-1366x768<br/> setenv display2
 +
|-
 
| height="60" width="133" | eDP+LVDS
 
| height="60" width="133" | eDP+LVDS
| width="289" | fw_setenv display0 edp-1366x768<br/>fw_setenv display1 lvds-g070vw01<br/>fw_setenv display2
+
| width="289" | fw_setenv display0 edp-1366x768<br/> fw_setenv display1 lvds-g070vw01<br/> fw_setenv display2
|- height="60"
+
| style="width: 326px;" width="289" | setenv display0 edp-1366x768<br/> setenv display1 lvds-g070vw01<br/> setenv display2
 +
|-
 
| height="60" width="133" | HDMI+MIPI
 
| height="60" width="133" | HDMI+MIPI
| width="289" | fw_setenv display0 hdmi-default<br/>fw_setenv display1 mipi-gl0uan<br/>fw_setenv display2
+
| width="289" | fw_setenv display0 hdmi-default<br/> fw_setenv display1 mipi-gl0uan<br/> fw_setenv display2
|- height="60"
+
| style="width: 326px;" width="289" | setenv display0 hdmi-default<br/> setenv display1 mipi-gl0uan<br/> setenv display2
 +
|-
 
| height="60" width="133" | eDP+MIPI
 
| height="60" width="133" | eDP+MIPI
| width="289" | fw_setenv display0 edp-1366x768<br/>fw_setenv display1 mipi-gl0uan<br/>fw_setenv display2
+
| width="289" | fw_setenv display0 edp-1366x768<br/> fw_setenv display1 mipi-gl0uan<br/> fw_setenv display2
|- height="60"
+
| style="width: 326px;" width="289" | setenv display0 edp-1366x768<br/> setenv display1 mipi-gl0uan<br/> setenv display2
| height="60" width="72" | Triple
 
| width="133" | HDMI+eDP+LVDS
 
| width="289" | fw_setenv display0 hdmi-default<br/>fw_setenv display1 edp-1366x768<br/>fw_setenv display2 lvds-g070vw01
 
 
|}
 
|}
  
==  ==
+
'''Note&nbsp;:'''
 +
 
 +
LVDS panel support 4 bus format: rgb666_vesa、rgb888_vesa、rgb666_jeida、rgb888_jeida.
 +
 
 +
If lvds panel is not the default format of&nbsp;rgb888_vesa, Must set lvds format&nbsp;:
 +
<pre>fw_setenv lvds_format rgb666_vesa
 +
or
 +
fw_setenv lvds_format rgb666_jeida
 +
or
 +
fw_setenv lvds_format rgb888_jeida
 +
 
 +
</pre>
  
 
== Default Support Display ==
 
== Default Support Display ==
  
{| border="1" cellspacing="1" cellpadding="1"
+
{| border="1" cellpadding="1" cellspacing="1"
 
|-
 
|-
 
| '''Port'''
 
| '''Port'''
| '''RSB4810'''
+
|  
 +
'''RSB-4810'''
 +
 
 +
'''ROM-5880'''
 +
 
 
|-
 
|-
 
| edp
 
| edp
| edp-1920x1080<br/>edp-1366x768<br/>
+
| edp-1920x1080<br/> edp-1366x768
 
|-
 
|-
 
| lvds
 
| lvds
| lvds-g070vw01<br/>lvds-g150xgel05<br/>
+
|  
 +
lvds-g070vw01<br/> lvds-g150xgel05
 +
 
 +
lvds-800x480
 +
 
 +
lvds-1024x768
 +
 
 +
lvds-1280x720
 +
 
 +
lvds-1280x768
 +
 
 +
lvds-1280x800
 +
 
 +
lvds-1366x768
 +
 
 +
|-
 +
| dual-lvds
 +
| lvdsdual-1920x1080
 
|-
 
|-
 
| hdmi
 
| hdmi
| hdmi-default<br/>
+
| hdmi-default
 
|-
 
|-
 
| mipi
 
| mipi
| mipi-gl0uan<br/>
+
| mipi-gl0uan
 
|}
 
|}
  
<br/>'''NOTE&nbsp;:&nbsp;'''
+
<br/> '''NOTE&nbsp;:&nbsp;'''
  
 
1. The name of the panel must begin with "edp-"、"lvds-" 、"hdmi-"&nbsp; or “dp-”.
 
1. The name of the panel must begin with "edp-"、"lvds-" 、"hdmi-"&nbsp; or “dp-”.
Line 100: Line 142:
 
2. If there is no configuration, you will get default setting&nbsp;:
 
2. If there is no configuration, you will get default setting&nbsp;:
  
hdmi-default&nbsp; and&nbsp;dp-default as default setting.
+
hdmi-default&nbsp; and&nbsp;edp-1366x768 as default setting.
  
 
3. Check your configuration in Terminal or debug console.
 
3. Check your configuration in Terminal or debug console.
<pre>cat /proc/cmdline
+
<pre>fw_printenv | grep display
... prmry_screen=hdmi-default extend_screen=dp-default</pre>
+
...  
 +
display0=hdmi-default
 +
display1=edp-1366x768
 +
...
 +
</pre>
  
{| border="1" cellspacing="1" cellpadding="1"
+
{| border="1" cellpadding="1" cellspacing="1"
 
|-
 
|-
 
| LVDS Name
 
| LVDS Name
 
| Resolution
 
| Resolution
 
|-
 
|-
| lvds-g070vw01<br/>
+
| lvds-g070vw01
 
| 800x480
 
| 800x480
 
|-
 
|-
| lvds-g150xgel05<br/>
+
| lvds-g150xgel05
 
| 1024x768
 
| 1024x768
 
|}
 
|}
Line 124: Line 170:
 
Take “eDP+HDMI”for example&nbsp;:
 
Take “eDP+HDMI”for example&nbsp;:
  
{| border="1" cellspacing="1" cellpadding="1"
+
{| border="1" cellpadding="1" cellspacing="1"
 
|-
 
|-
 
| '''In uboot'''
 
| '''In uboot'''
 
| '''In Debian/Android'''
 
| '''In Debian/Android'''
 
|-
 
|-
| setenv prmry_screen hdmi-default<br/>
+
| setenv display0 hdmi-default
| fw_setenv prmry_screen hdmi-default<br/>
+
| fw_setenv display0&nbsp;hdmi-default
 
|-
 
|-
| setenv extend_screen edp-1920x1080
+
| setenv display1 edp-1920x1080
| fw_setenv extend_screen edp-1920x1080<br/>
+
| fw_setenv display0 edp-1920x1080
 
|-
 
|-
 
| saveenv
 
| saveenv
| <br/>
+
| &nbsp;
 
|-
 
|-
 
| reset
 
| reset
Line 144: Line 190:
 
'''Note&nbsp;:'''
 
'''Note&nbsp;:'''
  
The tool "fw_setenv" will save envs automatically in Debian/Android OS, so it isn't necessary to saveen manually.
+
The tool "fw_setenv" will save envs automatically in Debian/Android OS, so it isn't necessary to saveenv manually.

Latest revision as of 09:44, 24 January 2024

RK3568 has 3 VPorts. 

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 : 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
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

Port

RSB-4810

ROM-5880

edp edp-1920x1080
edp-1366x768
lvds

lvds-g070vw01
lvds-g150xgel05

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.