From 5452cea412748b48b2b4c5714c689ae34829963f Mon Sep 17 00:00:00 2001 From: Chris Boudacoff Date: Wed, 5 Dec 2018 10:39:08 +0200 Subject: [PATCH] Enabling dual display mode (#29) * enabling dual display mode * Add files via upload * enabling dual display * Update README.md * Delete a64-olinuxino-hdmi.dtb * Delete a64-olinuxino-lcd.dtb --- .../drivers/video/sunxi/disp2/disp/dev_disp.c | 11 +++-- .../drivers/video/sunxi/disp2/disp/dev_fb.c | 43 ++++++++++++++++-- .../teres1-lcd-hdmi-switch/README.md | 24 +++------- .../teres1-lcd-hdmi-switch/change-display | 12 +++-- .../teres/hdmi/a64-olinuxino.dtb} | Bin 70544 -> 70614 bytes .../opt/teres/hdmi/xorg/20-teres-lcd.conf | 21 +++++++++ .../opt/teres/hdmi/xorg/30-teres-hdmi.conf | 19 ++++++++ .../opt/teres/hdmi/xorg/99-teres-disp.conf | 7 +++ .../teres/lcd/a64-olinuxino.dtb} | Bin .../opt/teres/lcd/xorg/20-teres-lcd.conf | 21 +++++++++ .../opt/teres/lcd/xorg/99-teres-disp.conf | 4 ++ 11 files changed, 133 insertions(+), 29 deletions(-) rename SOFTWARE/A64-TERES/teres1-lcd-hdmi-switch/{a64-olinuxino-hdmi.dtb => opt/teres/hdmi/a64-olinuxino.dtb} (60%) create mode 100644 SOFTWARE/A64-TERES/teres1-lcd-hdmi-switch/opt/teres/hdmi/xorg/20-teres-lcd.conf create mode 100644 SOFTWARE/A64-TERES/teres1-lcd-hdmi-switch/opt/teres/hdmi/xorg/30-teres-hdmi.conf create mode 100644 SOFTWARE/A64-TERES/teres1-lcd-hdmi-switch/opt/teres/hdmi/xorg/99-teres-disp.conf rename SOFTWARE/A64-TERES/teres1-lcd-hdmi-switch/{a64-olinuxino-lcd.dtb => opt/teres/lcd/a64-olinuxino.dtb} (100%) create mode 100644 SOFTWARE/A64-TERES/teres1-lcd-hdmi-switch/opt/teres/lcd/xorg/20-teres-lcd.conf create mode 100644 SOFTWARE/A64-TERES/teres1-lcd-hdmi-switch/opt/teres/lcd/xorg/99-teres-disp.conf diff --git a/SOFTWARE/A64-TERES/linux-a64/drivers/video/sunxi/disp2/disp/dev_disp.c b/SOFTWARE/A64-TERES/linux-a64/drivers/video/sunxi/disp2/disp/dev_disp.c index 55bed5a4..b86c57af 100755 --- a/SOFTWARE/A64-TERES/linux-a64/drivers/video/sunxi/disp2/disp/dev_disp.c +++ b/SOFTWARE/A64-TERES/linux-a64/drivers/video/sunxi/disp2/disp/dev_disp.c @@ -410,7 +410,7 @@ static s32 parser_disp_init_para(const struct device_node *np, disp_init_para * } //fb0 - init_para->buffer_num[0]= 2; + init_para->buffer_num[0]= 1; if (of_property_read_u32(np, "fb0_format", &value) < 0) { __wrn("of_property_read disp_init.fb0_format fail\n"); @@ -431,7 +431,7 @@ static s32 parser_disp_init_para(const struct device_node *np, disp_init_para * init_para->fb_height[0]= value; //fb1 - init_para->buffer_num[1]= 2; + init_para->buffer_num[1]= 1; if (of_property_read_u32(np, "fb1_format", &value) < 0) { __wrn("of_property_read disp_init.fb1_format fail\n"); @@ -449,7 +449,7 @@ static s32 parser_disp_init_para(const struct device_node *np, disp_init_para * init_para->fb_height[1]= value; //fb2 - init_para->buffer_num[2]= 2; + init_para->buffer_num[2]= 1; if (of_property_read_u32(np, "fb2_format", &value) < 0) { __inf("of_property_read disp_init.fb2_format fail\n"); @@ -587,7 +587,10 @@ static void start_work(struct work_struct *work) __inf("sel=%d, output_type=%d, lcd_reg=%d, hdmi_reg=%d\n", screen_id, output_type, lcd_registered, hdmi_registered); if (((disp_mode == DISP_INIT_MODE_SCREEN0) && (screen_id == 0)) - || ((disp_mode == DISP_INIT_MODE_SCREEN1) && (screen_id == 1))) { + || ((disp_mode == DISP_INIT_MODE_SCREEN1) && (screen_id == 1)) + || ((disp_mode == DISP_INIT_MODE_TWO_DIFF_SCREEN || disp_mode == DISP_INIT_MODE_TWO_SAME_SCREEN) + && (screen_id == 0 || screen_id == 1))) + { if ((output_type == DISP_OUTPUT_TYPE_LCD)) { if (lcd_registered && bsp_disp_get_output_type(screen_id) != DISP_OUTPUT_TYPE_LCD) { bsp_disp_device_switch(screen_id, output_type, output_mode); diff --git a/SOFTWARE/A64-TERES/linux-a64/drivers/video/sunxi/disp2/disp/dev_fb.c b/SOFTWARE/A64-TERES/linux-a64/drivers/video/sunxi/disp2/disp/dev_fb.c index 2fe1865c..26e8db5c 100755 --- a/SOFTWARE/A64-TERES/linux-a64/drivers/video/sunxi/disp2/disp/dev_fb.c +++ b/SOFTWARE/A64-TERES/linux-a64/drivers/video/sunxi/disp2/disp/dev_fb.c @@ -1224,10 +1224,36 @@ s32 fb_init(struct platform_device *pdev) if (g_disp_drv.disp_init.b_init) { u32 fb_num = 0; + u32 disp_mode = g_disp_drv.disp_init.disp_mode; + + switch (disp_mode) { + case DISP_INIT_MODE_TWO_DIFF_SCREEN: + fb_num = 2; + break; + case DISP_INIT_MODE_SCREEN0: + case DISP_INIT_MODE_SCREEN1: + case DISP_INIT_MODE_TWO_SAME_SCREEN: + case DISP_INIT_MODE_TWO_DIFF_SCREEN_SAME_CONTENTS: + default: + fb_num = 1; + break; + } - fb_num = 1; for (i = 0; iHDMI video switcher for Teres-I laptop Script and DTB files that allow to switch video output medium -from LCD(1366x768) to HDMI(1280x720) and the other way around. +from LCD(1366x768) to Dual display mode LCD(1366x768)+HDMI(1920x1080) and the other way around. **WARNING! You need cable with mini HDMI connector to connect your monitor or TV (THE MINI HDMI CONNECTOR IS DIFFERENT FROM THE REGULAR HDMI CONNECTOR)** @@ -16,15 +16,13 @@ How to install? 0. Download the files from this repository. -1. Copy a64-olinuxino-hdmi.dtb and a64-olinuxino-lcd.dtb in /boot/a64/ directory, -where the default a64-olinuxino.dtb file is located. The command should be: +1. Copy files opt/teres... to /opt/teres recoursive. The command should be: ``` -# sudo cp _path_to_file/a64-olinuxino-hdmi.dtb /boot/a64/ -# sudo cp _path_to_file/a64-olinuxino-lcd.dtb /boot/a64/ +# sudo cp _path_to_file/teres /opt/teres -R ``` 2. copy change-display in /usr/sbin directory ``` -# sudo cp path_to_file/change-display /usr/sbin +# sudo cp path_to_file/change-display /usr/local/sbin ``` 3. Start the script change-display with ``` @@ -38,19 +36,9 @@ and follow the on-screen instructions. 1. Can I have HDMI and LCD working at the same time? -A: It might be possible but we couldn't get it working. If you manage to do it, -please share what you did so we can update this guide, we would test and publish it. +A: Yes. -2. I changed the video output to HDMI but I don't have a cable with fitting mini HDMI -connector nor HDMI minotor? What now? - -A: Either find a cable with fitting connector and HDMI monitor or re-write -the official image to a micro SD card and transfer it to the eMMC. Refer to -chapter 10 of the user's manual "10. Installing a fresh official image to TERES-I". - -3. Does this work when I boot from the eMMC (e.g. I don't boot from a card)??? +2. Does this work when I boot from the eMMC (e.g. I don't boot from a card)??? A: Yes. - -First experimental release. diff --git a/SOFTWARE/A64-TERES/teres1-lcd-hdmi-switch/change-display b/SOFTWARE/A64-TERES/teres1-lcd-hdmi-switch/change-display index da27ac63..569ceef3 100644 --- a/SOFTWARE/A64-TERES/teres1-lcd-hdmi-switch/change-display +++ b/SOFTWARE/A64-TERES/teres1-lcd-hdmi-switch/change-display @@ -20,8 +20,8 @@ mount $boot_device /boot choices=$(dialog \ --title "Configure display output" \ --menu "\nChoose an option: \n" 10 60 7 \ - 1 "Enable HDMI display output" \ - 2 "Enable LCD display output" \ + 1 "Enable LCD+HDMI display outputs" \ + 2 "Disable HDMI display output" \ 2>&1 >/dev/tty) [[ -z $choices ]] && exit 0 @@ -30,14 +30,18 @@ do case $choice in 1) [[ -e /boot/a64/a64-olinuxino-hdmi.dtb ]] && \ - cp -f /boot/a64/a64-olinuxino-hdmi.dtb /boot/a64/a64-olinuxino.dtb + cp -f /opt/teres/hdmi/a64-olinuxino.dtb /boot/a64/a64-olinuxino.dtb ! grep -q "hdmi" /etc/modules && echo "hdmi" >> /etc/modules + rm /etc/X11/xorg.conf.d/* + cp /opt/teres/hdmi/xorg/* /etc/X11/xorg.conf.d ;; 2) [[ -e /boot/a64/a64-olinuxino-lcd.dtb ]] && \ - cp -f /boot/a64/a64-olinuxino-lcd.dtb /boot/a64/a64-olinuxino.dtb + cp -f /opt/teres/lcd/a64-olinuxino.dtb /boot/a64/a64-olinuxino.dtb sed -i '/hdmi/d' /etc/modules + rm /etc/X11/xorg.conf.d/* + cp /opt/teres/lcd/xorg/* /etc/X11/xorg.conf.d ;; esac done diff --git a/SOFTWARE/A64-TERES/teres1-lcd-hdmi-switch/a64-olinuxino-hdmi.dtb b/SOFTWARE/A64-TERES/teres1-lcd-hdmi-switch/opt/teres/hdmi/a64-olinuxino.dtb similarity index 60% rename from SOFTWARE/A64-TERES/teres1-lcd-hdmi-switch/a64-olinuxino-hdmi.dtb rename to SOFTWARE/A64-TERES/teres1-lcd-hdmi-switch/opt/teres/hdmi/a64-olinuxino.dtb index 91040f73d72ef770568015c88e5441dce8714f6b..0a0c4fc87f2f930f6cce8d2a903c291934991dfd 100644 GIT binary patch delta 9018 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 K{`%#SIsXGepAd@x diff --git a/SOFTWARE/A64-TERES/teres1-lcd-hdmi-switch/opt/teres/hdmi/xorg/20-teres-lcd.conf b/SOFTWARE/A64-TERES/teres1-lcd-hdmi-switch/opt/teres/hdmi/xorg/20-teres-lcd.conf new file mode 100644 index 00000000..283ffc96 --- /dev/null +++ b/SOFTWARE/A64-TERES/teres1-lcd-hdmi-switch/opt/teres/hdmi/xorg/20-teres-lcd.conf @@ -0,0 +1,21 @@ +Section "Device" + Identifier "TERES-LCD" + Driver "fbturbo" + Option "fbdev" "/dev/fb0" + Option "SwapbuffersWait" "true" +EndSection +Section "Monitor" + Identifier "LCD-TERES" +EndSection +Section "Screen" + Identifier "LCD" + Device "TERES-LCD" + Monitor "LCD-TERES" + Option "Primary" "true" +SubSection "Display" + Modes "1366x768" + ViewPort 0 0 + Virtual 1366 768 +EndSubSection +EndSection + diff --git a/SOFTWARE/A64-TERES/teres1-lcd-hdmi-switch/opt/teres/hdmi/xorg/30-teres-hdmi.conf b/SOFTWARE/A64-TERES/teres1-lcd-hdmi-switch/opt/teres/hdmi/xorg/30-teres-hdmi.conf new file mode 100644 index 00000000..2051c579 --- /dev/null +++ b/SOFTWARE/A64-TERES/teres1-lcd-hdmi-switch/opt/teres/hdmi/xorg/30-teres-hdmi.conf @@ -0,0 +1,19 @@ +Section "Device" + Identifier "TERES-HDMI" + Driver "fbturbo" + Option "fbdev" "/dev/fb1" + Option "SwapbuffersWait" "true" +EndSection +Section "Monitor" + Identifier "HDMI-TERES" +EndSection +Section "Screen" + Identifier "HDMI" + Device "TERES-HDMI" + Monitor "HDMI-TERES" +SubSection "Display" + Modes "1920x1080" + ViewPort 0 1 + Virtual 1920 1080 +EndSubSection +EndSection diff --git a/SOFTWARE/A64-TERES/teres1-lcd-hdmi-switch/opt/teres/hdmi/xorg/99-teres-disp.conf b/SOFTWARE/A64-TERES/teres1-lcd-hdmi-switch/opt/teres/hdmi/xorg/99-teres-disp.conf new file mode 100644 index 00000000..491ceb8a --- /dev/null +++ b/SOFTWARE/A64-TERES/teres1-lcd-hdmi-switch/opt/teres/hdmi/xorg/99-teres-disp.conf @@ -0,0 +1,7 @@ +Section "ServerLayout" + Identifier "MultyDisplay" + Screen 0 "LCD" + Screen 1 "HDMI" RightOf "LCD" + Option "Xinerama" "on" +# Option "Clone" "off" +EndSection diff --git a/SOFTWARE/A64-TERES/teres1-lcd-hdmi-switch/a64-olinuxino-lcd.dtb b/SOFTWARE/A64-TERES/teres1-lcd-hdmi-switch/opt/teres/lcd/a64-olinuxino.dtb similarity index 100% rename from SOFTWARE/A64-TERES/teres1-lcd-hdmi-switch/a64-olinuxino-lcd.dtb rename to SOFTWARE/A64-TERES/teres1-lcd-hdmi-switch/opt/teres/lcd/a64-olinuxino.dtb diff --git a/SOFTWARE/A64-TERES/teres1-lcd-hdmi-switch/opt/teres/lcd/xorg/20-teres-lcd.conf b/SOFTWARE/A64-TERES/teres1-lcd-hdmi-switch/opt/teres/lcd/xorg/20-teres-lcd.conf new file mode 100644 index 00000000..283ffc96 --- /dev/null +++ b/SOFTWARE/A64-TERES/teres1-lcd-hdmi-switch/opt/teres/lcd/xorg/20-teres-lcd.conf @@ -0,0 +1,21 @@ +Section "Device" + Identifier "TERES-LCD" + Driver "fbturbo" + Option "fbdev" "/dev/fb0" + Option "SwapbuffersWait" "true" +EndSection +Section "Monitor" + Identifier "LCD-TERES" +EndSection +Section "Screen" + Identifier "LCD" + Device "TERES-LCD" + Monitor "LCD-TERES" + Option "Primary" "true" +SubSection "Display" + Modes "1366x768" + ViewPort 0 0 + Virtual 1366 768 +EndSubSection +EndSection + diff --git a/SOFTWARE/A64-TERES/teres1-lcd-hdmi-switch/opt/teres/lcd/xorg/99-teres-disp.conf b/SOFTWARE/A64-TERES/teres1-lcd-hdmi-switch/opt/teres/lcd/xorg/99-teres-disp.conf new file mode 100644 index 00000000..dbed02a8 --- /dev/null +++ b/SOFTWARE/A64-TERES/teres1-lcd-hdmi-switch/opt/teres/lcd/xorg/99-teres-disp.conf @@ -0,0 +1,4 @@ +Section "ServerLayout" + Identifier "SingleDisplay" + Screen 0 "LCD" +EndSection