Implementation details for Intel EMGD graphic drivers on conga-QA6/CA6 modules (AN23)

From conga-wiki
Affected Products All congatec products


Preface

This Application Note provides implementation details for Intel EMGD graphic drivers on Topcliff modules.

Terminology

Some of the following terms may be used throughout this document.

Term Description
GB Gigabyte (1,073,741,824 bytes)
GHz Gigahertz (one billion hertz)
KB Kilobyte (1024 bytes)
MB Megabyte (1,048,576 bytes)
Mbit Megabit (1,048,576 bits)
kHz Kilohertz (one thousand hertz)
MHz Megahertz (one million hertz)
N.C. Not connected
N.A. Not available

Note:

This document refers to external information, websites, download locations and third party software.

These may change without notice and without our knowledge. In that case please use search engines and own expertise to find adequate replacement.

Introduction

On the Queensbay platform (E6xx processors and EG20T PCH) the operating principles of the video driver and the video BIOS differ from other Intel platforms.

With the E6xx processor, you have to implement the Intel EMGD video driver by configuring almost every detail in the driver in advance and then compile it into an installation package that can be installed on your target system.

This document provides information about how to do this in certain cases.

General Information

The E6xx processors have two video outputs, SDVO and LVDS. They can be configured as one single output, clone mode and dual head mode. The table below shows the resolutions that are supported by the hardware.

Implementation details for Intel EMGD graphic drivers on conga-QA6-CA6 modules (001).png

For information about the supported operating systems and features refer to the feature matrix for the Atom E6xx processor family from Intel (please search the edc.intel.com website).

For more detailed information regarding installation and configuration details it is highly recommended to read the extensive documentation that comes with the EMGD package.


Note:

Theoretically, any timing mode that yields a pixel clock frequency between 20 MHz and 112 MHz mentioned by the respective chipset / processor design spec. could be supported by Intel® EMGD. To determine if a particular timing mode can be supported, use the following formula as an example to determine the pixel clock frequency and then determine if it is between 20 MHz and 112 MHz:

Using 720 x 480 @ 60 Hz as an example:

pixel clock frequency = HTOTAL * VTOTAL * Vertical Refresh Rate / 1000000
HACTIVE = 720 pixels / line
HBLANK_BACK PORCH = 10 pixels / line
HBLANK_FRONT PORCH = 128 pixels / line
HTOTAL = HACTIVE + HBLANK_BACK PORCH + HBLANK_FRONT PORCH
HTOTAL = 720 + 10 + 128 = 858 pixels / line
VACTIVE = 480 lines / frame
VBLANK_BACK PORCH = 19 lines / frame
VBLANK_FRONT PORCH =26 lines / frame
VTOTAL = VACTIVE + VBLANK_BACK PORCH + VBLANK_FRONT PORCH
VTOTAL = 480 + 19 + 26 = 525 lines / frame
pixel clock frequency = HTOTAL * VTOTAL * Vertical Refresh Rate / 1000000
pixel clock frequency = 858 pixels / line * 525 lines / frame * 60 Hz / 1000000
pixel clock frequency = 27.027 MHz
pixel clock frequency > 20 MHz so 720 x 480 @ 60 Hz can be supported by Intel® EMGD via the Configuration Editor (CED) application

Setting up the Workbench

First, the Intel Embedded Media and Graphics Driver (Intel EMGD) from https://edc.intel.com/Software/Downloads/EMGD/ must be downloaded. The target hardware and operating system must be specified before downloading. The downloaded package has to be installed on your workplace computer. It will install the software that you need to generate the actual driver package for your target system together with the full documentation. When the tool is started for the first time, it will ask to additionally download and install a specific version of “Open Watcom C” compiler and this specific version must be used. For creating the driver which is used for the operating system the latest revision of the EMGD software from Intel should be used.

You may need to integrate a customer specific video BIOS module into the BIOS of your target system. This is done with the congatec CGUTIL tool. The latest revision of this tool should be downloaded from the drivers section of the congatec website. The BIOS can be extracted from the module in the form of a .rom file using the CGUTIL tool or the current BIOS revision for your particular module can be downloaded from the restricted section of the congatec website. Refer to the CGUTIL user's guide for detailed instructions. To generate the video BIOS you should use the EMGD software version 1.8 A copy of this software version can be provided by congatec on demand.

Generating Driver Files

Generating the driver package for the target system can be done in four steps:

  1. For LVDS panel displays the detailed timing description must be generated or edited. This description data must be based on the timing information provided by the datasheet of the display.
  2. A configuration file must be generated or edited. Here, the hardware and used display ports must be selected together with other hardware related details. It may contain detailed timing descriptions.
  3. A package file must be generated or edited. It contains at least one configuration and specifies which output files shall be generated.
  4. An installation is generated based on the selected package. In this step the actual files for installing on the target are compiled.

Single Customer Specific Display Panel

The video BIOSes included in the standard BIOS do not support all possible flat panel configurations. In order to use one specific flat panel, which is not originally supported, a customized video BIOS (VBIOS) has to be created and integrated into the BIOS. Up to three VBIOS modules can be integrated. When creating the module with CGUTILGUI, a "Module ID" of 0001h-0003h must be set. Then, the user can later select the modules in the BIOS setup screen as "Customized EDID 1, "Customized EDID 2", "Customized EDID 3".

To generate the video BIOS you should use the EMGD software version 1.8 Earlier versions may produce unstable results, later revisions will produce a 127kB video BIOS which cannot be integrated into the BIOS. For creating the driver which is used for the operating system the latest revision of the EMGD software should be used.

These are the steps to generate and integrate the VBIOS modules:

  1. Start the Intel EMGD Driver Configuration Editor tool
  2. Open a DTD file from the "dtd" folder that closely matches your requirements
  • Assign a new "DTD File Name"
  • Refer to your display's datasheet for the relevant parameters and enter th
  1. Click "New Configuration"
  • Assign a "Configuration File Name"
  • Select as Platform Chipset "Intel(R) Atom(TM) Processor E6xx"
  • Select Display Configuration Mode "Single"
  • Select for Port Devices → Port Order: "LVDS"
  • Click Next
  • Assign a "Readable Port Name"
  • Select Encoder Configuration → Select Output Type → check mark Internal LVDS option
  • Select EDID Options → If EDID Device (edid_avail) → do not check mark Use EDID Display if available
  • Select EDID Options → If Not EDID Device (edid_not_avail) → check mark Use User-defined DTDs option
  • Now, at Custom Display Timing Descriptors (DTD)s you select the DTD you created before
  • Click "Attribute Settings" and "Flat Panel Settings" and adjust the settings according to the display's datasheet. (Note that SPWG means "VESA color mapping")
  • Click "Next" if you need additional options or "Finish" to exit.
  1. Click "New Package"
  • Assign a "Package Name"
  • Select Target OS → Video BIOS
  • Select Configurations → the configuration you just created
  • Click "Next"
  • Check mark Generate VBIOS option
  • Check mark the desired operating systems
  • Select Configuration Name → check mark your configuration option
  • Click "Finish"
  1. Click "Generate Installation"
  2. The file you need for the next step is generated during the "Generated Installation" process and is named VGA.BIN You can find it here: C:\\<IEMGD_installation_location>\IEMGD_<version>\workspace\installation\<packagename>.pkg_installation\IEMGD_HEAD_VBIOS\Compiled_VBIOS\Atom_E6xx
  3. Start the CGUTLGUI tool
  • Select Operation Target → ROM File
  • Click "Select Input BIOS ROM File" and open the file
  • Click "Select original / Create new BIOS file"
  • Save as <target_BIOS_filename>.ROM (observe DOS naming limitations)
  • Click "BIOS Module Modification"
  • Click "Create Module"
  • Open the VGA.BIN file you created with the Intel EMGD tool
  • Select Module Parameters → Module Type → OEM VBIOS
  • Set Module ID → 0001h ... 0003h
  • Click "Create Module" again
  • Save the created module with a new name
  • Click "Add Module"
  • Open the module you just saved
  • Click "Apply" to write the changes to the BIOS file
  1. Leave by clicking "Close" and "Close" on the main window again.

The BIOS is now modified and can be transferred to the target system.

Customer Specific Display Panels With EDID EEPROM

The BIOS has the ability to read the the standard EDID file from the panel's EEPROM. It only takes the detailed timing description from this data set. All other configuration data is compiled into the VBIOS itself. This means that when "Flat Panel Type" is set to "Auto" the BIOS assumes a single 18 bit LVDS display.

If other display types, e. g. 24 bit shall be used, then a customized VBIOS must be generated and integrated into the BIOS as described above. Mixing 18 bit and 24 bit displays or VESA and OpenLDI mode displays in one VBIOS is not supported.

To generate the video BIOS you should use the EMGD software version 1.8 . Earlier versions may produce instable results, later revisions will produce a 127kB video BIOS which cannot be integrated into the BIOS. For creating the driver which is used for the operating system the latest revision of the EMGD software should be used.

These are the steps to generate such a VBIOS.

  1. Start the Intel EMGD Driver Configuration Editor tool
  2. Open a DTD file from the "dtd" folder which closely matches your requirements
  • Assign a new "DTD File Name"
  • Refer to your display's datasheet for the relevant parameters and enter them
  1. Click "New Configuration"
  • Assign a "Configuration File Name"
  • Select as Platform Chipset "Intel(R) Atom(TM) Processor E6xx"
  • Select Display Configuration Mode "Single"
  • Select for Port Devices → Port Order: "LVDS"
  • Click Next
  • Assign a "Readable Port Name"
  • Select Encoder Configuration → Select Output Type → check mark Internal LVDS option
  • Select EDID Options → If EDID Device (edid_avail) → check mark Use EDID Display if available option
  • Select EDID Options → If Not EDID Device (edid_not_avail) → check mark Use driver built-in standard timings option
  • Click "Attribute Settings" and "Flat Panel Settings" and adjust the settings according to the display's datasheet. (Note that SPWG means "VESA color mapping")
  • Click "Next" if you need additional options or "Finish" to exit.
  1. Click "New Package"
  • Assign a "Package Name"
  • Select Target OS → Video BIOS
  • Select Configurations → the configuration you just created
  • Click "Next"
  • Check mark Generate VBIOS option
  • Check mark the desired operating systems
  • Select Configuration Name → check mark your configuration option
  • Click "Finish"
  1. Click "Generate Installation"


Continue by integrating the generated file into the BIOS as described above.

Additional information

Additional information and details can be found in the following documents. It is highly recommended to read these documents thoroughly.

  • BIOS Update (AN01) - this Application Note provides information about updating the embedded BIOS on all congatec modules and how to backup the BIOS of a specific module to a file.
  • CGUTILm14_01.pdf "User's Guide congatec System Utility" - this document provides information on how to download the BIOS file from the module, modify it and how to transfer it back to the module.
  • The "User's Guide" that is included in the EMGD installation package provides all details about configuring and installing the Video Driver to the target.
  • The Intel® Atom™ Processor E6xx Series datasheet provides more details about the implementation of the display outputs including backlight control amongst other things.