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

From ESS-WIKI
Jump to: navigation, search
(Created page with "RSB-4680 surport 3 display ports : eDP、LVDS、HDMI . Only two ports work at the same time . You can config Multi-Display to eDP + HDMI 、eDP + LVDS、LVDS + HDMI...")
 
Line 1: Line 1:
RSB-4680 surport 3 display ports : eDP、LVDS、HDMI . Only two ports work at the same time .
 
  
You can config Multi-Display to eDP + HDMI 、eDP + LVDS、LVDS + HDMI .
+
=== Introductory ===
 +
 
 +
ROM-5780 surport 4 display ports : eDP、LVDS(mipi to LVDS)、HDMI、DP (DP to HDMI). Only two ports work at the same time .
 +
 
 +
You can config Multi-Display to eDP + HDMI 、eDP + LVDS、LVDS + HDMI 、eDP + DP、LVDS + DP、HDMI + DP.
 +
 
 +
'''NOTE:'''
 +
 
 +
Android distinguish the primary and the extend screen. 
 +
 
 +
== Contents ==
 +
 
 +
 [[http://ess-wiki.advantech.com.tw/view/How_to_Config_Multi-Display_for_RK3399_RSB710# hide]] 
 +
 
 +
*[http://ess-wiki.advantech.com.tw/view/How_to_Config_Multi-Display_for_RK3399_RSB710#Enter_U-boot_interrupt_mode 1 Enter U-boot interrupt mode]
 +
*[http://ess-wiki.advantech.com.tw/view/How_to_Config_Multi-Display_for_RK3399_RSB710#eDP_.2B_HDMI 2 eDP + HDMI]
 +
*[http://ess-wiki.advantech.com.tw/view/How_to_Config_Multi-Display_for_RK3399_RSB710#eDP_.2B_LVDS 3 eDP + LVDS]
 +
*[http://ess-wiki.advantech.com.tw/view/How_to_Config_Multi-Display_for_RK3399_RSB710#LVDS_.2B_HDMI 4 LVDS + HDMI]
 +
*[http://ess-wiki.advantech.com.tw/view/How_to_Config_Multi-Display_for_RK3399_RSB710#eDP_.2B_DP 5 eDP + DP]
 +
*[http://ess-wiki.advantech.com.tw/view/How_to_Config_Multi-Display_for_RK3399_RSB710#LVDS_.2B_DP 6 LVDS + DP]
 +
*[http://ess-wiki.advantech.com.tw/view/How_to_Config_Multi-Display_for_RK3399_RSB710#HDMI_.2B_DP 7 HDMI + DP]
 +
*[http://ess-wiki.advantech.com.tw/view/How_to_Config_Multi-Display_for_RK3399_RSB710#Default_Support_Display 8 Default Support Display]
  
 
== Enter U-boot interrupt mode ==
 
== Enter U-boot interrupt mode ==
  
Connect device to debug port, and open debug console. See more : [[How_to_debug|How_to_debug]].
+
Connect device to debug port, and open debug console. See more : [[How_to_debug_for_RK3399_RSB4710|How_to_debug]].
  
 
Press "ctrl + c" key before power up the device, until get the following information on debug console : 
 
Press "ctrl + c" key before power up the device, until get the following information on debug console : 
Line 12: Line 32:
 
=></pre>
 
=></pre>
  
Then you can&nbsp;input the following cammand to config Multi-Display. <!--5f39ae17-8c62-4a45-bc43-b32064c9388a:W3siYmxvY2tJZCI6IjI2OTktMTU1MjAyNzg3OTMwNSIsImJsb2NrVHlwZSI6ImhlYWRpbmciLCJzdHlsZXMiOnsiYWxpZ24iOiJsZWZ0IiwiaW5kZW50IjowLCJ0ZXh0LWluZGVudCI6MCwibGluZS1oZWlnaHQiOjEuNzUsImJhY2stY29sb3IiOiIiLCJwYWRkaW5nIjoiIn0sInR5cGUiOiJoZWFkaW5nIiwicmljaFRleHQiOnsiZGF0YSI6W3siY2hhciI6IkgifSx7ImNoYXIiOiJpIn0seyJjaGFyIjoidCJ9LHsiY2hhciI6IiAifSx7ImNoYXIiOiJhIn0seyJjaGFyIjoibiJ9LHsiY2hhciI6InkifSx7ImNoYXIiOiIgIn0seyJjaGFyIjoiayJ9LHsiY2hhciI6ImUifSx7ImNoYXIiOiJ5In0seyJjaGFyIjoiICJ9LHsiY2hhciI6InQifSx7ImNoYXIiOiJvIn0seyJjaGFyIjoiICJ9LHsiY2hhciI6InMifSx7ImNoYXIiOiJ0In0seyJjaGFyIjoibyJ9LHsiY2hhciI6InAifSx7ImNoYXIiOiIgIn0seyJjaGFyIjoiYSJ9LHsiY2hhciI6InUifSx7ImNoYXIiOiJ0In0seyJjaGFyIjoibyJ9LHsiY2hhciI6ImIifSx7ImNoYXIiOiJvIn0seyJjaGFyIjoibyJ9LHsiY2hhciI6InQifSx7ImNoYXIiOiI6In0seyJjaGFyIjoiICJ9LHsiY2hhciI6IiAifSx7ImNoYXIiOiIwIn1dLCJpc1JpY2hUZXh0Ijp0cnVlLCJrZWVwTGluZUJyZWFrIjp0cnVlfSwibGV2ZWwiOiIyIn0seyJibG9ja0lkIjoiNzM4MS0xNTUyMDI3OTU2OTQzIiwiYmxvY2tUeXBlIjoicGFyYWdyYXBoIiwic3R5bGVzIjp7ImFsaWduIjoibGVmdCIsImluZGVudCI6MCwidGV4dC1pbmRlbnQiOjAsImxpbmUtaGVpZ2h0IjoxLjc1LCJiYWNrLWNvbG9yIjoiIiwicGFkZGluZyI6IiJ9LCJ0eXBlIjoicGFyYWdyYXBoIiwicmljaFRleHQiOnsiZGF0YSI6W3siY2hhciI6Ij0ifSx7ImNoYXIiOiI+In0seyJjaGFyIjoiICJ9LHsiY2hhciI6IjwifSx7ImNoYXIiOiJJIn0seyJjaGFyIjoiTiJ9LHsiY2hhciI6IlQifSx7ImNoYXIiOiJFIn0seyJjaGFyIjoiUiJ9LHsiY2hhciI6IlIifSx7ImNoYXIiOiJVIn0seyJjaGFyIjoiUCJ9LHsiY2hhciI6IlQifSx7ImNoYXIiOiI+In1dLCJpc1JpY2hUZXh0Ijp0cnVlLCJrZWVwTGluZUJyZWFrIjp0cnVlfX0seyJibG9ja0lkIjoiMzAzMS0xNTUyMDI3OTU2OTQzIiwiYmxvY2tUeXBlIjoicGFyYWdyYXBoIiwic3R5bGVzIjp7ImFsaWduIjoibGVmdCIsImluZGVudCI6MCwidGV4dC1pbmRlbnQiOjAsImxpbmUtaGVpZ2h0IjoxLjc1LCJiYWNrLWNvbG9yIjoiIiwicGFkZGluZyI6IiJ9LCJ0eXBlIjoicGFyYWdyYXBoIiwicmljaFRleHQiOnsiZGF0YSI6W3siY2hhciI6Ij0ifSx7ImNoYXIiOiI+In0seyJjaGFyIjoiICJ9XSwiaXNSaWNoVGV4dCI6dHJ1ZSwia2VlcExpbmVCcmVhayI6dHJ1ZX19XQ==-->
+
Then you can&nbsp;input the following cammand to config Multi-Display.
  
 
== eDP + HDMI ==
 
== eDP + HDMI ==
Line 21: Line 41:
 
</pre>
 
</pre>
  
 +
&nbsp;
  
 +
or
 +
<pre>setenv prmry_screen hdmi-default
 +
setenv extend_screen edp-1920x1080
 +
saveenv
 +
reset
 +
</pre>
  
 
== eDP + LVDS ==
 
== eDP + LVDS ==
Line 29: Line 56:
 
reset
 
reset
 
</pre>
 
</pre>
 +
 +
or
 +
<pre>setenv prmry_screen lvds-g070vw01
 +
setenv extend_screen edp-1920x1080
 +
saveenv
 +
reset
 +
</pre>
 +
 +
&nbsp;
  
 
== LVDS + HDMI ==
 
== LVDS + HDMI ==
 
<pre>setenv prmry_screen hdmi-default
 
<pre>setenv prmry_screen hdmi-default
 
setenv extend_screen lvds-g070vw01
 
setenv extend_screen lvds-g070vw01
 +
saveenv
 +
reset
 +
</pre>
 +
 +
or
 +
<pre>setenv prmry_screen lvds-g070vw01
 +
setenv extend_screen hdmi-default
 +
saveenv
 +
reset
 +
</pre>
 +
 +
== eDP + DP ==
 +
<pre>setenv prmry_screen edp-1920x1080
 +
setenv extend_screen dp-default
 +
saveenv
 +
reset
 +
</pre>
 +
 +
&nbsp;
 +
 +
or
 +
<pre>setenv prmry_screen dp-default
 +
setenv extend_screen edp-1920x1080
 +
saveenv
 +
reset
 +
</pre>
 +
 +
&nbsp;
 +
 +
== LVDS + DP ==
 +
<pre>setenv prmry_screen dp-default
 +
setenv extend_screen lvds-g070vw01
 +
saveenv
 +
reset
 +
</pre>
 +
 +
or
 +
<pre>setenv prmry_screen lvds-g070vw01
 +
setenv extend_screen dp-default
 +
saveenv
 +
reset
 +
</pre>
 +
 +
&nbsp;
 +
 +
== HDMI + DP ==
 +
<pre>setenv prmry_screen hdmi-default
 +
setenv extend_screen dp-default
 +
saveenv
 +
reset
 +
</pre>
 +
 +
or
 +
<pre>setenv prmry_screen dp-fefault
 +
​setenv extend_screen hdmi-default
 
saveenv
 
saveenv
 
reset
 
reset
Line 39: Line 130:
 
== Default Support Display ==
 
== Default Support Display ==
  
{| border="1" cellspacing="1" cellpadding="1"
+
{| border="1" cellpadding="1" cellspacing="1"
 
|-
 
|-
 
| '''Port'''
 
| '''Port'''
| '''RSB4680'''
+
| '''RSB4710'''
| '''USM110'''
 
 
|-
 
|-
 
| edp
 
| edp
| edp-1920x1200<br/>edp-1920x1080<br/>edp-1024x768<br/>
+
| edp-1920x1080<br/> edp-1366x768
| edp-1920x1080<br/>edp-1280x720<br/>edp-1024x768<br/>edp-720x480<br/>edp-640x480<br/>
 
 
|-
 
|-
 
| lvds
 
| lvds
| lvds-g070vw01<br/>lvds-idk1110wp<br/>lvds-g150xgel05<br/>lvds-g215hvn01<br/>lvds-p460hvn02<br/>
+
| lvds-g070vw01<br/> lvds-g150xgel05<br/> lvds-g215hvn01
| NA
 
 
|-
 
|-
 
| hdmi
 
| hdmi
| hdmi-default<br/>
+
| hdmi-default
| hdmi-default<br/>
+
|-
 +
| dp
 +
| dp-default
 
|}
 
|}
  
<br/>'''NOTE&nbsp;:&nbsp;'''
+
<br/> '''NOTE&nbsp;:&nbsp;'''
  
1. The name of the panel must begin with "edp-"、"lvds-" or "hdmi-" .
+
1. The name of the panel must begin with "edp-"、"lvds-" "hdmi-"&nbsp; or “dp-”.
  
 
And it can be found in "kernel/include/dt-bindings/display/screen-timing/{LCDNAME}.dtsi" like&nbsp;:
 
And it can be found in "kernel/include/dt-bindings/display/screen-timing/{LCDNAME}.dtsi" like&nbsp;:
  
lvds_g070vw01: '''lvds-g070vw01'''
+
lvds_g070vw01:&nbsp;'''lvds-g070vw01'''
  
 
2. If there is no configuration, you will get default setting&nbsp;:
 
2. If there is no configuration, you will get default setting&nbsp;:
  
edp-default (edp-1920x1080) and&nbsp;hdmi-default as default setting.
+
hdmi-default&nbsp; and&nbsp;dp-default 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>cat /proc/cmdline
... prmry_screen=edp-1920x1080 extend_screen=hdmi-default</pre>
+
... prmry_screen=hdmi-default extend_screen=dp-default</pre>
 +
 
 +
{| border="1" cellpadding="1" cellspacing="1"
 +
|-
 +
| LVDS Name
 +
| Resolution
 +
|-
 +
| lvds-g070vw01
 +
| 800x480
 +
|-
 +
| lvds-g150xgel05
 +
| 1024x768
 +
|-
 +
| lvds-g215hvn01
 +
| 1920x1080
 +
|}
 +
 
 +
== Using envtools in Debian/Android ==
 +
 
 +
Using envtools to setup envs in Debian/Android OS is very similar in uboot.
 +
 
 +
Take “eDP+HDMI”for example&nbsp;:
 +
 
 +
{| border="1" cellpadding="1" cellspacing="1"
 +
|-
 +
| '''In uboot'''
 +
| '''In Debian/Android'''
 +
|-
 +
| setenv prmry_screen hdmi-default
 +
| fw_setenv prmry_screen hdmi-default
 +
|-
 +
| setenv extend_screen edp-1920x1080
 +
| fw_setenv extend_screen edp-1920x1080
 +
|-
 +
| saveenv
 +
| &nbsp;
 +
|-
 +
| reset
 +
| reboot
 +
|}
 +
 
 +
'''Note&nbsp;:'''
 +
 
 +
The tool "fw_setenv" will save envs automatically in Debian/Android OS, so it isn't necessary to saveen manually.
 +
 
 +
'''查看设备当前配置:'''
 +
 
 +
root@linaro-alip:~# cat /proc/cmdline<br/> storagemedia=emmc androidboot.storagemedia=emmc androidboot.mode=normal &nbsp;androidboot.verifiedbootstate=orange androidboot.slot_suffix= androidboot.serialno=a2fc4116ad6b2c4f &nbsp;rw rootwait earlycon=uart8250,mmio32,0xff180000 swiotlb=1 console=ttyS0,115200 root=PARTUUID=614e0000-0000 rootfstype=ext4 coherent_pool=1m quiet board_info=9 prmry_screen=hdmi-default extend_screen=lvds-g070vw01<br/> root@linaro-alip:~#

Revision as of 08:01, 1 March 2023

Introductory

ROM-5780 surport 4 display ports : eDP、LVDS(mipi to LVDS)、HDMI、DP (DP to HDMI). Only two ports work at the same time .

You can config Multi-Display to eDP + HDMI 、eDP + LVDS、LVDS + HDMI 、eDP + DP、LVDS + DP、HDMI + DP.

NOTE:

Android distinguish the primary and the extend screen. 

Contents

 [hide

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.

eDP + HDMI

setenv prmry_screen edp-1920x1080
setenv extend_screen hdmi-default
saveenv
reset

 

or

setenv prmry_screen hdmi-default
setenv extend_screen edp-1920x1080
saveenv
reset

eDP + LVDS

setenv prmry_screen edp-1920x1080
setenv extend_screen lvds-g070vw01
saveenv
reset

or

setenv prmry_screen lvds-g070vw01
setenv extend_screen edp-1920x1080 
saveenv
reset

 

LVDS + HDMI

setenv prmry_screen hdmi-default
setenv extend_screen lvds-g070vw01
saveenv
reset

or

setenv prmry_screen lvds-g070vw01
setenv extend_screen hdmi-default
saveenv
reset

eDP + DP

setenv prmry_screen edp-1920x1080
setenv extend_screen dp-default
saveenv
reset

 

or

setenv prmry_screen dp-default
setenv extend_screen edp-1920x1080
saveenv
reset

 

LVDS + DP

setenv prmry_screen dp-default
setenv extend_screen lvds-g070vw01
saveenv
reset

or

setenv prmry_screen lvds-g070vw01
setenv extend_screen dp-default 
saveenv
reset

 

HDMI + DP

setenv prmry_screen hdmi-default
setenv extend_screen dp-default
saveenv
reset

or

setenv prmry_screen dp-fefault
​setenv extend_screen hdmi-default
saveenv
reset

Default Support Display

Port RSB4710
edp edp-1920x1080
edp-1366x768
lvds lvds-g070vw01
lvds-g150xgel05
lvds-g215hvn01
hdmi hdmi-default
dp dp-default


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 dp-default as default setting.

3. Check your configuration in Terminal or debug console.

cat /proc/cmdline
... prmry_screen=hdmi-default extend_screen=dp-default
LVDS Name Resolution
lvds-g070vw01 800x480
lvds-g150xgel05 1024x768
lvds-g215hvn01 1920x1080

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 prmry_screen hdmi-default fw_setenv prmry_screen hdmi-default
setenv extend_screen edp-1920x1080 fw_setenv extend_screen edp-1920x1080
saveenv  
reset reboot

Note :

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

查看设备当前配置:

root@linaro-alip:~# cat /proc/cmdline
storagemedia=emmc androidboot.storagemedia=emmc androidboot.mode=normal  androidboot.verifiedbootstate=orange androidboot.slot_suffix= androidboot.serialno=a2fc4116ad6b2c4f  rw rootwait earlycon=uart8250,mmio32,0xff180000 swiotlb=1 console=ttyS0,115200 root=PARTUUID=614e0000-0000 rootfstype=ext4 coherent_pool=1m quiet board_info=9 prmry_screen=hdmi-default extend_screen=lvds-g070vw01
root@linaro-alip:~#