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

From ESS-WIKI
Jump to: navigation, search
Line 1: Line 1:
<p>RK3568&nbsp;has 3 VPorts.&nbsp;</p>
 
  
<p><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" /></p>
+
RK3568 has 3 VPorts.&nbsp;
  
<p>RSB-4810\ROM-5880 surport 4 types&nbsp;display&nbsp;: eDP、LVDS、HDMI、MIPI.&nbsp;</p>
+
[[File:RK3568 Vport.png|RTENOTITLE]]
  
<p><b>Note:</b></p>
+
RSB-4810/ROM-5880 surport 4 types&nbsp;display&nbsp;: eDP、LVDS、HDMI、MIPI.&nbsp;
  
<p>1. HDMI、eDP、MIPI MUST be set to port 0 and port 1.</p>
+
'''Note:'''
  
<p>2. LVDS MUST be set to port 1&nbsp;and port 2.</p>
+
1. HDMI、eDP、MIPI MUST be set to port 0 and port 1.
  
<p>3.&nbsp; LVDS and MIPI are alternative.</p>
+
2. LVDS MUST be set to port 1&nbsp;and port 2.
  
<p>&nbsp;</p>
+
3.&nbsp; LVDS and MIPI are alternative.
  
<p>&nbsp;</p>
+
&nbsp;
  
<h2>Enter U-boot interrupt mode</h2>
+
&nbsp;
  
<p>Connect device to debug port, and open debug console. See more&nbsp;: <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>.</p>
+
== Enter U-boot interrupt mode ==
  
<p>Press&nbsp;&quot;ctrl + c&quot; key before power up the device, until get the following information on debug console&nbsp;:&nbsp;</p>
+
Connect device to debug port, and open debug console. See more&nbsp;: [http://ess-wiki.advantech.com.tw/view/How_to_debug_RK3568 How_to_debug].
  
<pre>
+
Press&nbsp;"ctrl + c" key before power up the device, until get the following information on debug console&nbsp;:&nbsp;
Hit any key to stop autoboot: 0
+
<pre>Hit any key to stop autoboot: 0
=&gt; &lt;INTERRUPT&gt;
+
=> <INTERRUPT>
=&gt;
+
=>
 
</pre>
 
</pre>
  
<p>Then you can&nbsp;input the following cammand to config Multi-Display.</p>
+
Then you can&nbsp;input the following cammand to config Multi-Display.
  
<table border="1" cellpadding="0" cellspacing="0" style="width: 655px;" width="494">
+
{| border="1" cellpadding="0" cellspacing="0" style="width: 655px;" width="494"
<tbody>
+
|-
<tr>
+
| height="20" width="72" | Module
<td height="20" width="72">Module</td>
+
| width="133" | Sub Module
<td width="133">Sub Module</td>
+
| width="289" | Step
<td width="289">Step</td>
+
| style="width: 326px;" width="289" | In Uboot
<td style="width: 326px;" width="289">In Uboot</td>
+
|-
</tr>
+
| height="240" rowspan="4" width="72" | Single
<tr>
+
| width="133" | HDMI
<td height="240" rowspan="4" width="72">Single</td>
+
| width="289" | fw_setenv display0 hdmi-default<br/> fw_setenv display1<br/> fw_setenv display2
<td width="133">HDMI</td>
+
| style="width: 326px;" width="289" |
<td width="289">fw_setenv display0 hdmi-default<br />
+
setenv display0 hdmi-default<br/> setenv display1<br/> setenv display2
fw_setenv display1<br />
 
fw_setenv display2</td>
 
<td style="width: 326px;" width="289">
 
<p>setenv display0 hdmi-default<br />
 
setenv display1<br />
 
setenv display2</p>
 
</td>
 
</tr>
 
<tr>
 
<td height="60" width="133">LVDS</td>
 
<td width="289">fw_setenv display0<br />
 
fw_setenv display1 lvds-g070vw01<br />
 
fw_setenv display2</td>
 
<td style="width: 326px;" width="289">setenv display0<br />
 
setenv display1 lvds-g070vw01<br />
 
setenv display2</td>
 
</tr>
 
<tr>
 
<td height="60" width="133">eDP</td>
 
<td width="289">fw_setenv display0 edp-1366x768<br />
 
fw_setenv display1<br />
 
fw_setenv display2</td>
 
<td style="width: 326px;" width="289">setenv display0 edp-1366x768<br />
 
setenv display1<br />
 
setenv display2</td>
 
</tr>
 
<tr>
 
<td height="60" width="133">MIPI</td>
 
<td width="289">fw_setenv display0 mipi-gl0uan<br />
 
fw_setenv display1<br />
 
fw_setenv display2</td>
 
<td style="width: 326px;" width="289">setenv display0 mipi-gl0uan<br />
 
setenv display1<br />
 
setenv display2</td>
 
</tr>
 
<tr>
 
<td height="300" rowspan="5" width="72">Dual</td>
 
<td width="133">HDMI+LVDS</td>
 
<td width="289">fw_setenv display0 hdmi-default<br />
 
fw_setenv display1 lvds-g070vw01<br />
 
fw_setenv display2</td>
 
<td style="width: 326px;" width="289">setenv display0 hdmi-default<br />
 
setenv display1 lvds-g070vw01<br />
 
setenv display2</td>
 
</tr>
 
<tr>
 
<td height="60" width="133">HDMI+eDP</td>
 
<td width="289">fw_setenv display0 hdmi-default<br />
 
fw_setenv display1 edp-1366x768<br />
 
fw_setenv display2</td>
 
<td style="width: 326px;" width="289">setenv display0 hdmi-default<br />
 
setenv display1 edp-1366x768<br />
 
setenv display2</td>
 
</tr>
 
<tr>
 
<td height="60" width="133">eDP+LVDS</td>
 
<td width="289">fw_setenv display0 edp-1366x768<br />
 
fw_setenv display1 lvds-g070vw01<br />
 
fw_setenv display2</td>
 
<td style="width: 326px;" width="289">setenv display0 edp-1366x768<br />
 
setenv display1 lvds-g070vw01<br />
 
setenv display2</td>
 
</tr>
 
<tr>
 
<td height="60" width="133">HDMI+MIPI</td>
 
<td width="289">fw_setenv display0 hdmi-default<br />
 
fw_setenv display1 mipi-gl0uan<br />
 
fw_setenv display2</td>
 
<td style="width: 326px;" width="289">setenv display0 hdmi-default<br />
 
setenv display1 mipi-gl0uan<br />
 
setenv display2</td>
 
</tr>
 
<tr>
 
<td height="60" width="133">eDP+MIPI</td>
 
<td width="289">fw_setenv display0 edp-1366x768<br />
 
fw_setenv display1 mipi-gl0uan<br />
 
fw_setenv display2</td>
 
<td style="width: 326px;" width="289">setenv display0 edp-1366x768<br />
 
setenv display1 mipi-gl0uan<br />
 
setenv display2</td>
 
</tr>
 
</tbody>
 
</table>
 
  
<p><b>Note&nbsp;:</b></p>
+
|-
 +
| height="60" width="133" | LVDS
 +
| width="289" | fw_setenv display0<br/> fw_setenv display1 lvds-g070vw01<br/> fw_setenv display2
 +
| style="width: 326px;" width="289" | setenv display0<br/> setenv display1 lvds-g070vw01<br/> setenv display2
 +
|-
 +
| height="60" width="133" | eDP
 +
| width="289" | fw_setenv display0 edp-1366x768<br/> fw_setenv display1<br/> fw_setenv display2
 +
| style="width: 326px;" width="289" | setenv display0 edp-1366x768<br/> setenv display1<br/> setenv display2
 +
|-
 +
| height="60" width="133" | MIPI
 +
| width="289" | fw_setenv display0 mipi-gl0uan<br/> fw_setenv display1<br/> fw_setenv display2
 +
| style="width: 326px;" width="289" | setenv display0 mipi-gl0uan<br/> setenv display1<br/> setenv display2
 +
|-
 +
| height="300" rowspan="5" width="72" | Dual
 +
| width="133" | HDMI+LVDS
 +
| width="289" | fw_setenv display0 hdmi-default<br/> fw_setenv display1 lvds-g070vw01<br/> fw_setenv display2
 +
| style="width: 326px;" width="289" | setenv display0 hdmi-default<br/> setenv display1 lvds-g070vw01<br/> setenv display2
 +
|-
 +
| height="60" width="133" | HDMI+eDP
 +
| width="289" | fw_setenv display0 hdmi-default<br/> fw_setenv display1 edp-1366x768<br/> fw_setenv display2
 +
| style="width: 326px;" width="289" | setenv display0 hdmi-default<br/> setenv display1 edp-1366x768<br/> setenv display2
 +
|-
 +
| height="60" width="133" | eDP+LVDS
 +
| width="289" | fw_setenv display0 edp-1366x768<br/> fw_setenv display1 lvds-g070vw01<br/> fw_setenv display2
 +
| style="width: 326px;" width="289" | setenv display0 edp-1366x768<br/> setenv display1 lvds-g070vw01<br/> setenv display2
 +
|-
 +
| height="60" width="133" | HDMI+MIPI
 +
| width="289" | fw_setenv display0 hdmi-default<br/> fw_setenv display1 mipi-gl0uan<br/> fw_setenv display2
 +
| style="width: 326px;" width="289" | setenv display0 hdmi-default<br/> setenv display1 mipi-gl0uan<br/> setenv display2
 +
|-
 +
| height="60" width="133" | eDP+MIPI
 +
| width="289" | fw_setenv display0 edp-1366x768<br/> fw_setenv display1 mipi-gl0uan<br/> fw_setenv display2
 +
| style="width: 326px;" width="289" | setenv display0 edp-1366x768<br/> setenv display1 mipi-gl0uan<br/> setenv display2
 +
|}
  
<p>LVDS panel support 4 bus format: rgb666_vesa、rgb888_vesa、rgb666_jeida、rgb888_jeida.</p>
+
'''Note&nbsp;:'''
  
<p>If lvds panel is not the default format of&nbsp;rgb888_vesa, Must set lvds format&nbsp;:</p>
+
LVDS panel support 4 bus format: rgb666_vesa、rgb888_vesa、rgb666_jeida、rgb888_jeida.
  
<pre>
+
If lvds panel is not the default format of&nbsp;rgb888_vesa, Must set lvds format&nbsp;:
fw_setenv lvds_format rgb666_vesa
+
<pre>fw_setenv lvds_format rgb666_vesa
 
or
 
or
 
fw_setenv lvds_format rgb666_jeida
 
fw_setenv lvds_format rgb666_jeida
Line 142: Line 91:
 
</pre>
 
</pre>
  
<h2>Default Support Display</h2>
+
== Default Support Display ==
  
<table border="1" cellpadding="1" cellspacing="1">
+
{| border="1" cellpadding="1" cellspacing="1"
<tbody>
+
|-
<tr>
+
| '''Port'''
<td><b>Port</b></td>
+
|
<td>
+
'''RSB-4810'''
<p><b>RSB4810 </b></p>
 
  
<p><b>ROM5880</b></p>
+
'''ROM-5880'''
</td>
 
</tr>
 
<tr>
 
<td>edp</td>
 
<td>edp-1920x1080<br />
 
edp-1366x768</td>
 
</tr>
 
<tr>
 
<td>lvds</td>
 
<td>
 
<p>lvds-g070vw01<br />
 
lvds-g150xgel05</p>
 
  
<p>lvds-800x480</p>
+
|-
 +
| edp
 +
| edp-1920x1080<br/> edp-1366x768
 +
|-
 +
| lvds
 +
|
 +
lvds-g070vw01<br/> lvds-g150xgel05
  
<p>lvds-1024x768</p>
+
lvds-800x480
  
<p>lvds-1280x720</p>
+
lvds-1024x768
  
<p>lvds-1280x768</p>
+
lvds-1280x720
  
<p>lvds-1280x800</p>
+
lvds-1280x768
  
<p>lvds-1366x768</p>
+
lvds-1280x800
</td>
 
</tr>
 
<tr>
 
<td>hdmi</td>
 
<td>hdmi-default</td>
 
</tr>
 
<tr>
 
<td>mipi</td>
 
<td>mipi-gl0uan</td>
 
</tr>
 
</tbody>
 
</table>
 
  
<p><br />
+
lvds-1366x768
<b>NOTE&nbsp;:&nbsp;</b></p>
 
  
<p>1. The name of the panel must begin with &quot;edp-&quot;、&quot;lvds-&quot; 、&quot;hdmi-&quot;&nbsp; or &ldquo;dp-&rdquo;.</p>
+
|-
 +
| hdmi
 +
| hdmi-default
 +
|-
 +
| mipi
 +
| mipi-gl0uan
 +
|}
  
<p>And it can be found in &quot;kernel/include/dt-bindings/display/screen-timing/{LCDNAME}.dtsi&quot; like&nbsp;:</p>
+
<br/> '''NOTE&nbsp;:&nbsp;'''
  
<p>lvds_g070vw01:&nbsp;<b>lvds-g070vw01</b></p>
+
1. The name of the panel must begin with "edp-"、"lvds-" 、"hdmi-"&nbsp; or “dp-”.
  
<p>2. If there is no configuration, you will get default setting&nbsp;:</p>
+
And it can be found in "kernel/include/dt-bindings/display/screen-timing/{LCDNAME}.dtsi" like&nbsp;:
  
<p>hdmi-default&nbsp; and&nbsp;edp-1366x768 as default setting.</p>
+
lvds_g070vw01:&nbsp;'''lvds-g070vw01'''
  
<p>3. Check your configuration in Terminal or debug console.</p>
+
2. If there is no configuration, you will get default setting&nbsp;:
  
<pre>
+
hdmi-default&nbsp; and&nbsp;edp-1366x768 as default setting.
fw_printenv | grep display
+
 
 +
3. Check your configuration in Terminal or debug console.
 +
<pre>fw_printenv | grep display
 
...  
 
...  
 
display0=hdmi-default
 
display0=hdmi-default
Line 212: Line 149:
 
</pre>
 
</pre>
  
<table border="1" cellpadding="1" cellspacing="1">
+
{| border="1" cellpadding="1" cellspacing="1"
<tbody>
+
|-
<tr>
+
| LVDS Name
<td>LVDS Name</td>
+
| Resolution
<td>Resolution</td>
+
|-
</tr>
+
| lvds-g070vw01
<tr>
+
| 800x480
<td>lvds-g070vw01</td>
+
|-
<td>800x480</td>
+
| lvds-g150xgel05
</tr>
+
| 1024x768
<tr>
+
|}
<td>lvds-g150xgel05</td>
 
<td>1024x768</td>
 
</tr>
 
</tbody>
 
</table>
 
  
<h2>Using envtools in Debian/Android</h2>
+
== Using envtools in Debian/Android ==
  
<p>Using envtools to setup envs in Debian/Android OS is very similar in uboot.</p>
+
Using envtools to setup envs in Debian/Android OS is very similar in uboot.
  
<p>Take &ldquo;eDP+HDMI&rdquo;for example&nbsp;:</p>
+
Take “eDP+HDMI”for example&nbsp;:
  
<table border="1" cellpadding="1" cellspacing="1">
+
{| border="1" cellpadding="1" cellspacing="1"
<tbody>
+
|-
<tr>
+
| '''In uboot'''
<td><b>In uboot</b></td>
+
| '''In Debian/Android'''
<td><b>In Debian/Android</b></td>
+
|-
</tr>
+
| setenv display0 hdmi-default
<tr>
+
| fw_setenv display0&nbsp;hdmi-default
<td>setenv display0 hdmi-default</td>
+
|-
<td>fw_setenv display0&nbsp;hdmi-default</td>
+
| setenv display1 edp-1920x1080
</tr>
+
| fw_setenv display0 edp-1920x1080
<tr>
+
|-
<td>setenv display1 edp-1920x1080</td>
+
| saveenv
<td>fw_setenv display0 edp-1920x1080</td>
+
| &nbsp;
</tr>
+
|-
<tr>
+
| reset
<td>saveenv</td>
+
| reboot
<td>&nbsp;</td>
+
|}
</tr>
 
<tr>
 
<td>reset</td>
 
<td>reboot</td>
 
</tr>
 
</tbody>
 
</table>
 
  
<p><b>Note&nbsp;:</b></p>
+
'''Note&nbsp;:'''
  
<p>The tool &quot;fw_setenv&quot; will save envs automatically in Debian/Android OS, so it isn&#39;t necessary to saveenv manually.</p>
+
The tool "fw_setenv" will save envs automatically in Debian/Android OS, so it isn't necessary to saveenv manually.

Revision as of 03:03, 12 April 2023

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

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.