Difference between revisions of "CM-T3x: U-Boot: Custom Features"
(→Setting the "{{parameter|displaytype}}" variable) |
(→Splash screen image) |
||
Line 96: | Line 96: | ||
U-Boot for CM-T3x supports uncompressed 8-bit and 16-bit BMP splash screen images. | U-Boot for CM-T3x supports uncompressed 8-bit and 16-bit BMP splash screen images. | ||
An example of such an image can be found in the U-Boot for CM-T3x package ([[#See also|here]]) under {{parameter|utilities-->splash_images}} folder. | An example of such an image can be found in the U-Boot for CM-T3x package ([[#See also|here]]) under {{parameter|utilities-->splash_images}} folder. | ||
− | The splash screen image | + | The splash screen image can be stored in the CM-T3x NAND flash at offset {{parameter|0x100000}}, or as a file named splashimage.bmp in an MMC/SD card that is formatted with a FAT file system. When storing the splash image on the NAND flash, its maximal size should not exceed {{parameter|1408KB (0x160000)}}. |
− | U-Boot will automatically relocate the splash screen image from | + | U-Boot will automatically relocate the splash screen image from its storage into the OMAP3 display frame buffer.<br> |
− | ==== Flashing the | + | ==== Flashing the splash screen image into the NAND flash ==== |
To write the splash screen image into the NAND flash use the following command sequence: | To write the splash screen image into the NAND flash use the following command sequence: | ||
Line 123: | Line 123: | ||
==== Setting up the environment ==== | ==== Setting up the environment ==== | ||
− | To display the splash screen image, the {{parameter|splashimage}} environment variable | + | To display the splash screen image, the {{parameter|splashimage}} and {{parameter|splashsource}} environment variables must be set. |
− | The {{parameter|splashimage}} variable should contain the base address for splash screen shadow in RAM. | + | * The {{parameter|splashsource}} variable should be set to either "nand" or "mmc". If left undefined, U-Boot will default to using NAND. |
− | + | * The {{parameter|splashimage}} variable should contain the base address for splash screen shadow in RAM. U-Boot will not load an image if it overlaps the U-Boot shadow in RAM. | |
− | U-Boot will not | + | To set the {{parameter|splashsource}} variable use the following command: |
+ | <pre> | ||
+ | > setenv splashsource nand | ||
+ | > saveenv | ||
+ | </pre> | ||
+ | or | ||
+ | <pre> | ||
+ | > setenv splashsource mmc | ||
+ | > saveenv | ||
+ | </pre> | ||
To set the {{parameter|splashimage}} variable use the following command: | To set the {{parameter|splashimage}} variable use the following command: | ||
<pre> | <pre> | ||
− | > setenv splashimage | + | > setenv splashimage 80a00000 |
> saveenv | > saveenv | ||
</pre> | </pre> |
Latest revision as of 10:18, 31 March 2014
Splash screen
CM-T3x U-Boot features splash screen support starting from version 2013.04-cm-t3x-4.
The support covers displays that are connected via DVI interface.
The following setup is required to enable splash screen display:
- Connect a display to the SB-T35 as described in SB-T35 reference manual
- Setup display parameters
- Store a splash screen image in the CM-T3x NAND flash
Display parameters setup
Configuring the U-Boot display sub-system involves passing display parameters to the OMAP3 display driver.
U-Boot for CM-T3x provides predefined parameter sets, as well as the option to configure custom parameters according to the display data-sheet.
U-Boot for CM-T3x display sub-system configuration is controlled by two U-Boot environment variables: the displaytype variable and the optional user defined variable for custom display settings.
Setting the "displaytype" variable
The displaytype variable can be assigned one of the following values:
- <preset> - One of the following predefined settings:
- dvi640x480 - DVI interface with 640x480 resolution and 16/8 bit color depth.
- dvi800x600 - DVI interface with 800x600 resolution and 16/8 bit color depth.
- dvi1024x768 - DVI interface with 1024x768 resolution and 16/8 bit color depth.
- dvi1152x864 - DVI interface with 1152x864 resolution and 16/8 bit color depth.
- dvi1280x960 - DVI interface with 1280x960 resolution and 16/8 bit color depth.
- dvi1280x1024 - DVI interface with 1280x1024 resolution and 16/8 bit color depth.
- dataimage480x800 - DataImage LCD with 480x800 resolution and 16/8 bit color depth.
- none - U-Boot will disable the display sub-system. This is also the default behavior when the displaytype variable value is not set.
- <varname> - U-Boot will search for the "varname" environment variable and setup the display parameters as described in Custom display parameter setup section.
Custom display parameter setup
Throughout this section the optional user defined variable will be called custom.
The custom variable is a string of parameters, describing the display characteristics.
The syntax of custom variable is a comma separated list of <key>:<value> pairs and <value> singles. For example:
<key1>:<value1>,<key2>:<value2>,<value3>,<key4>:<value4>
The order of the parameters in the string is not important.
Parameters description
mode:XRESxYRES | The display resolution in pixels: XRES - width, YRES - height. |
pixclock:PIXCLOCK | Pixel clock in MHz. |
left:LEFT | Left display margin (Horizontal Back Porch) |
right:RIGHT | Right display margin (Horizontal Front Porch) |
upper:UPPER | Upper display margin (Vertical Back Porch) |
lower:LOWER | Lower display margin (Vertical Front Porch) |
hsynclen:HSYNC | Horizontal sync time (Horizontal Sync Pulse Width) |
vsynclen:VSYNC | Vertical sync time (Vertical Sync Pulse Width) |
active | Active (TFT) display |
passive | Passive (STN) display |
hsync:HSYNC | Horizontal sync polarity. 0 => active low, 1 => active high |
vsync:VSYNC | Vertical sync polarity. 0 => active low, 1 => active high |
outputen:POLARITY | Output enable polarity. 0 => active low, 1 => active high |
pixclockpol:POLARITY | Pixel clock polarity. 0 => falling edge, 1 => rising edge |
display:DISPLAY | Target display. Currently, the only supported option is dvi. |
All the above values should be taken or derived from the display datasheet.
For example, to setup the parameters for a 1024x768 DVI display in custom variable, use the following commands:
> setenv custom mode:1024x768,pixclock:65,left:160,right:24,upper:29,lower:3,hsynclen:136,vsynclen:6,hsync:0,vsync:0,outputen:1,pixclockpol:0,active,display:dvi > setenv displaytype custom > saveenv
Splash screen image
U-Boot for CM-T3x supports uncompressed 8-bit and 16-bit BMP splash screen images.
An example of such an image can be found in the U-Boot for CM-T3x package (here) under utilities-->splash_images folder.
The splash screen image can be stored in the CM-T3x NAND flash at offset 0x100000, or as a file named splashimage.bmp in an MMC/SD card that is formatted with a FAT file system. When storing the splash image on the NAND flash, its maximal size should not exceed 1408KB (0x160000).
U-Boot will automatically relocate the splash screen image from its storage into the OMAP3 display frame buffer.
Flashing the splash screen image into the NAND flash
To write the splash screen image into the NAND flash use the following command sequence:
- Download the image to the CM-T3x RAM:
> tftp 80a00000 <bmp file name>
- Or read the image from MMC/SD card:
> mmc rescan > fatload mmc 0 80a00000 <bmp file name>
- Erase the NAND flash at offset 0x100000:
> nand erase 100000 <bmp size>
- Write the splash screen image into the NAND flash:
> nand write 80a00000 100000 <bmp size>
Now the splash screen is in the NAND flash.
Setting up the environment
To display the splash screen image, the splashimage and splashsource environment variables must be set.
- The splashsource variable should be set to either "nand" or "mmc". If left undefined, U-Boot will default to using NAND.
- The splashimage variable should contain the base address for splash screen shadow in RAM. U-Boot will not load an image if it overlaps the U-Boot shadow in RAM.
To set the splashsource variable use the following command:
> setenv splashsource nand > saveenv
or
> setenv splashsource mmc > saveenv
To set the splashimage variable use the following command:
> setenv splashimage 80a00000 > saveenv
Multiple environment storage devices
Starting from version 2012.07-cm-t3x-3, CM-T3x U-Boot supports storing its environment in multiple storage devices simultaneously, as well as importing and switching between the devices on the fly. This feature adds the following variant to U-Boot env command:
env device [dev [import]]
The value of dev can be nand or mmc.
Using multiple environment feature
To see the currently active environment storage device run:
> env device
To switch to another environment storage device run (this will not change the content of the current U-Boot environment):
> env device <storage device>
To switch to another environment storage device and also import the environment content from that device and replace the current U-Boot environment:
> env device <storage device> import