Difference between revisions of "DVI / HDMI"

From ArmadeusWiki
Jump to: navigation, search
(Driver installation)
(APF51Dev: Fix interface_pix_fmt value for HDMI)
 
(14 intermediate revisions by 2 users not shown)
Line 1: Line 1:
How to use the HDMI/DVI output of the APF27DevFull development boards.
+
How to use the HDMI/DVI output of the [[APF27Dev|APF27DevFull]] and [[APF51Dev]] development boards.
  
==Driver installation==
+
==Driver installation/setup==
* Starting from armadeus-3.2 release or in recent GIT checkout the needed driver is installed by default. So the following is only kept here for information.
+
===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:
 +
<source lang=c>
 +
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,
 +
};
 +
</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
+
==Usage==
        [ ] Enable Video For Linux API 1
+
===APF27DevFull===
        < > DVB for Linux
+
* Load the module:
            *** Multimedia drivers ***
+
<pre class="apf">
        [ ] Load and attach frontend ...
+
# modprobe ad9889
        [ ] 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>
 +
* By default 640x480 resolution will be used to drive the HDMI/DVI monitor.
  
<pre class="host">
+
===APF51Dev===
$ make
+
* Start the utility:
 +
<pre class="apf">
 +
tfp410ctrl
 
</pre>
 
</pre>
 +
* 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''
  
Update the [[APF27]] board with the new Linux kernel and rootfs.
+
* To change the resolution to 1024x768:
 
+
==Usage==
+
* load the module:
+
 
<pre class="apf">
 
<pre class="apf">
modprobe ad9889
+
fbset -t 15303 32 32 02 21 64 4
 +
fbset -g 1024 768 1024 768 32
 
</pre>
 
</pre>
  
 
==Quick DVI test==
 
==Quick DVI test==
Connect a HDMI to DVI cable between the afp27devfull board and your PC monitor.
+
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 PC display.
+
The Linux console must appear on the monitor.
  
==Quick HDMI test==
 
HDMI support has not been tested yet.
 
 
[[Category:Linux drivers]]
 
 
[[Category:Displays]]
 
[[Category:Displays]]
 
[[Category:I2C]]
 
[[Category:I2C]]
 +
[[Category:Linux drivers]]

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.