Difference between revisions of "DVI / HDMI"

From ArmadeusWiki
Jump to: navigation, search
m (New page: == WORK IN PROGRESS == ==Driver installation== <pre class="host"> $ make linux26-menuconfig </pre> <pre class="config"> Device Drivers---> Multimedia devices ---> <*> Video...)
 
(APF51Dev: Fix interface_pix_fmt value for HDMI)
 
(19 intermediate revisions by 3 users not shown)
Line 1: Line 1:
== WORK IN PROGRESS ==
+
How to use the HDMI/DVI output of the [[APF27Dev|APF27DevFull]] and [[APF51Dev]] development boards.
  
==Driver installation==
+
==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:
 +
<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
+
        [ ] 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>
+
  
 
==Usage==
 
==Usage==
* load the module:
+
===APF27DevFull===
 +
* Load the module:
 
<pre class="apf">
 
<pre class="apf">
modprobe ad9889
+
# modprobe ad9889
 
</pre>
 
</pre>
 +
* By default 640x480 resolution will be used to drive the HDMI/DVI monitor.
  
==Quick test==
+
===APF51Dev===
Connect a HDMI cable to the afp27devfull board and to your PC monitor.
+
* Start the utility:
The Linux console must appear on the PC display.
+
<pre class="apf">
 +
tfp410ctrl
 +
</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''
 +
 
 +
* 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==
 +
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.
  
[[Category:Linux drivers]]
 
 
[[Category:Displays]]
 
[[Category:Displays]]
 +
[[Category:I2C]]
 +
[[Category:Linux drivers]]

Latest revision as of 09: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.