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

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

Revision as of 03:45, 12 April 2023

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.