Difference between revisions of "DVI / HDMI"

From ArmadeusWiki
Jump to: navigation, search
(APF51Dev: Fix interface_pix_fmt value for HDMI)
 
(6 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
How to use the HDMI/DVI output of the [[APF27Dev|APF27DevFull]] and [[APF51Dev]] development boards.
 
How to use the HDMI/DVI output of the [[APF27Dev|APF27DevFull]] and [[APF51Dev]] development boards.
  
==Driver installation==
+
==Driver installation/setup==
 
===APF51Dev===
 
===APF51Dev===
* Nothing has to be done
+
* HDMI/DVI output shares video signals with LCD. As by default LCD interface is 18bits wide and HDMI requires 24bits, screen will appear with bad colours. To correct that you have to modify the following files: ''buildroot/output/build/linux-2.6.38.8/arch/arm/mach-mx5/apf51dev-baseboard.c'' and change line 205:
 
+
<source lang=c>
===APF27DevFull===
+
static struct ipuv3_fb_platform_data apf51dev_fb0_data = {
* Starting from armadeus-3.2 release or in recent GIT checkout, the needed driver is now installed by default. So the following is only kept here for information.
+
-        .interface_pix_fmt = IPU_PIX_FMT_RGB666,
 +
+        .interface_pix_fmt = IPU_PIX_FMT_RGB24,
 +
        .modes = apf51dev_modes,
 +
        .num_modes = ARRAY_SIZE(apf51dev_modes),
 +
        .display = 0,
 +
};
 +
</source>
 +
* then recompile Linux image and reflash it on your board:
 
<pre class="host">
 
<pre class="host">
$ make linux26-menuconfig
+
$ make linux
 
</pre>
 
</pre>
  
<pre class="config">
+
===APF27DevFull===
Device Drivers--->
+
* Starting from armadeus-3.2 release or in recent GIT checkout, the needed driver is now installed by default. Informations are kept [[Talk:DVI_/_HDMI|here]] as reference.
    Multimedia devices --->
+
        <*> Video For Linux
+
        [ ] Enable Video For Linux API 1
+
        < > DVB for Linux
+
            *** Multimedia drivers ***
+
        [ ] Load and attach frontend ...
+
        [ ] Customize analog and hybrid ...
+
        [*] Video capture adapters --->
+
            [ ] Autoselect pertinent encoders/decoders ...
+
                    Encoders/decoders and other helper chips  --->
+
                        <M> Analog Devices AD9889 digital video encoders (NEW) 
+
            [ ] V4L USB devices
+
        [ ] Radio adapters
+
</pre>
+
 
+
<pre class="host">
+
$ make
+
</pre>
+
 
+
* Update your [[APF27]] board with the new Linux kernel and rootfs.
+
  
 
==Usage==
 
==Usage==
Line 40: Line 27:
 
# modprobe ad9889
 
# modprobe ad9889
 
</pre>
 
</pre>
 +
* By default 640x480 resolution will be used to drive the HDMI/DVI monitor.
  
 
===APF51Dev===
 
===APF51Dev===
Line 46: Line 34:
 
tfp410ctrl
 
tfp410ctrl
 
</pre>
 
</pre>
Then press 'Q' to exit
+
* By default LW700 LCD resolution (800x480) will be used to drive the HDMI/DVI monitor. If your monitor doesn't support it, then you can use ''tfp410ctrl'' to find the best suiting resolution: press 'e' in main menu. It will read and show you the EDID infos from your monitor and tell you which standard modes are supported. Then it's up to you to use ''fbset'' to change framebuffer characteristics.
 +
* Press 'Q' to exit ''tfp410ctrl''
 +
 
 +
* To change the resolution to 1024x768:
 +
<pre class="apf">
 +
fbset -t 15303 32 32 02 21 64 4
 +
fbset -g 1024 768 1024 768 32
 +
</pre>
  
 
==Quick DVI test==
 
==Quick DVI test==

Latest revision as of 08:52, 31 March 2015

How to use the HDMI/DVI output of the APF27DevFull and APF51Dev development boards.

Driver installation/setup

APF51Dev

  • HDMI/DVI output shares video signals with LCD. As by default LCD interface is 18bits wide and HDMI requires 24bits, screen will appear with bad colours. To correct that you have to modify the following files: buildroot/output/build/linux-2.6.38.8/arch/arm/mach-mx5/apf51dev-baseboard.c and change line 205:
static struct ipuv3_fb_platform_data apf51dev_fb0_data = {
-        .interface_pix_fmt = IPU_PIX_FMT_RGB666,
+        .interface_pix_fmt = IPU_PIX_FMT_RGB24,
        .modes = apf51dev_modes,
        .num_modes = ARRAY_SIZE(apf51dev_modes),
        .display = 0,
};
  • then recompile Linux image and reflash it on your board:
$ make linux

APF27DevFull

  • Starting from armadeus-3.2 release or in recent GIT checkout, the needed driver is now installed by default. Informations are kept here as reference.

Usage

APF27DevFull

  • Load the module:
# modprobe ad9889
  • By default 640x480 resolution will be used to drive the HDMI/DVI monitor.

APF51Dev

  • Start the utility:
tfp410ctrl
  • By default LW700 LCD resolution (800x480) will be used to drive the HDMI/DVI monitor. If your monitor doesn't support it, then you can use tfp410ctrl to find the best suiting resolution: press 'e' in main menu. It will read and show you the EDID infos from your monitor and tell you which standard modes are supported. Then it's up to you to use fbset to change framebuffer characteristics.
  • Press 'Q' to exit tfp410ctrl
  • To change the resolution to 1024x768:
fbset -t 15303 32 32 02 21 64 4
fbset -g 1024 768 1024 768 32

Quick DVI test

Connect a HDMI<->DVI cable between the APFxxDev board and a PC monitor with a DVI input or use a HDMI<->HDMI cable if your display has this kind of refinement. The Linux console must appear on the monitor.