<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.mediawiki.compulab.com/w/index.php?action=history&amp;feed=atom&amp;title=CM-X300%3A_U-Boot%3A_Custom_Features</id>
	<title>CM-X300: U-Boot: Custom Features - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.mediawiki.compulab.com/w/index.php?action=history&amp;feed=atom&amp;title=CM-X300%3A_U-Boot%3A_Custom_Features"/>
	<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=CM-X300:_U-Boot:_Custom_Features&amp;action=history"/>
	<updated>2026-04-13T03:55:10Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=CM-X300:_U-Boot:_Custom_Features&amp;diff=1505&amp;oldid=prev</id>
		<title>Grinberg: /* LCD and Splash screen */</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=CM-X300:_U-Boot:_Custom_Features&amp;diff=1505&amp;oldid=prev"/>
		<updated>2013-04-04T10:17:03Z</updated>

		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;LCD and Splash screen&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 10:17, 4 April 2013&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l4&quot; &gt;Line 4:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 4:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The support covers Toppoly TDO35S LCD supplied with the evaluation kit, standard VGA screens and custom LCD panels.&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The support covers Toppoly TDO35S LCD supplied with the evaluation kit, standard VGA screens and custom LCD panels.&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The following setup is required in order to enable splash screen display:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The following setup is required in order to enable splash screen display:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Connect an LCD or a VGA display to the SB-X300&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;, &lt;/del&gt;as described in [http://&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;www.&lt;/del&gt;compulab.co.il/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;x300/download&lt;/del&gt;/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;x300&lt;/del&gt;-&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;sb&lt;/del&gt;-&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;man.pdf SB&lt;/del&gt;-&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;X300 reference manual&lt;/del&gt;]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Connect an LCD or a VGA display to the SB-X300 as described in &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;SB-X300 reference manual found on &lt;/ins&gt;[http://compulab.co.il/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;products&lt;/ins&gt;/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;computer&lt;/ins&gt;-&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;on&lt;/ins&gt;-&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;modules/cm&lt;/ins&gt;-&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;x300/#devres CompuLab website&lt;/ins&gt;]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[CM-X300:_U-Boot:_Custom_Features#Display_parameters_setup|Setup display parameters]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[CM-X300:_U-Boot:_Custom_Features#Display_parameters_setup|Setup display parameters]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[CM-X300:_U-Boot:_Custom_Features#Splash_screen_image|Store a splash screen image into the CM-X300 NAND flash]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[CM-X300:_U-Boot:_Custom_Features#Splash_screen_image|Store a splash screen image into the CM-X300 NAND flash]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Grinberg</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=CM-X300:_U-Boot:_Custom_Features&amp;diff=1214&amp;oldid=prev</id>
		<title>Grinberg: /* Flashing the Splash screen image into the NAND flash */</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=CM-X300:_U-Boot:_Custom_Features&amp;diff=1214&amp;oldid=prev"/>
		<updated>2012-03-05T11:08:23Z</updated>

		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Flashing the Splash screen image into the NAND flash&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 11:08, 5 March 2012&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l100&quot; &gt;Line 100:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 100:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;gt; tftp 80a00000 &amp;lt;bmp img name&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;gt; tftp 80a00000 &amp;lt;bmp img name&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/pre&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* Or read the image from MMC/SD card:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;pre&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;gt; mmc init&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;gt; fatload mmc 1 80a00000 &amp;lt;bmp img name&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Or read the image from USB:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Or read the image from USB:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Grinberg</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=CM-X300:_U-Boot:_Custom_Features&amp;diff=1019&amp;oldid=prev</id>
		<title>Igor: /* Advanced power mode */</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=CM-X300:_U-Boot:_Custom_Features&amp;diff=1019&amp;oldid=prev"/>
		<updated>2010-10-07T14:40:19Z</updated>

		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Advanced power mode&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== LCD and Splash screen ==&lt;br /&gt;
&lt;br /&gt;
CM-X300 U-Boot features LCD and splash screen support starting from version 2009.03-cm-x300-4.&amp;lt;br&amp;gt;&lt;br /&gt;
The support covers Toppoly TDO35S LCD supplied with the evaluation kit, standard VGA screens and custom LCD panels.&amp;lt;br&amp;gt;&lt;br /&gt;
The following setup is required in order to enable splash screen display:&lt;br /&gt;
* Connect an LCD or a VGA display to the SB-X300, as described in [http://www.compulab.co.il/x300/download/x300-sb-man.pdf SB-X300 reference manual]&lt;br /&gt;
* [[CM-X300:_U-Boot:_Custom_Features#Display_parameters_setup|Setup display parameters]]&lt;br /&gt;
* [[CM-X300:_U-Boot:_Custom_Features#Splash_screen_image|Store a splash screen image into the CM-X300 NAND flash]]&lt;br /&gt;
&lt;br /&gt;
=== Display parameters setup ===&lt;br /&gt;
In order to configure the U-Boot display sub-system, display parameters should be passed to the PXA3xx frame buffer driver.&amp;lt;br&amp;gt;&lt;br /&gt;
CM-X300 U-Boot provides predefined parameter sets for the TDO35S LCD and standard VGA displays. Other displays require custom parameters to be set according to the display data-sheet.&amp;lt;br&amp;gt;&lt;br /&gt;
U-Boot display sub-system configuration is controlled with two U-Boot environment variables: the {{parameter|displaytype}} variable and the optional user defined variable for custom display settings.&lt;br /&gt;
&lt;br /&gt;
==== Setting the &amp;quot;{{parameter|displaytype}}&amp;quot; variable ====&lt;br /&gt;
The {{parameter|displaytype}} variable can be assigned with one of the following values:&lt;br /&gt;
* {{parameter|toppoly}} - U-Boot will use the predefined parameter set for the TDO35S LCD.&lt;br /&gt;
* {{parameter|vga}} - U-Boot will use the predefined parameter set for standard VGA display.&lt;br /&gt;
* {{parameter|none}} - U-Boot will disable the display sub-system. This is also the default behavior when the {{parameter|displaytype}} variable value is not set.&lt;br /&gt;
* &amp;lt;{{parameter|varname}}&amp;gt; - U-Boot will search for the &amp;quot;{{parameter|varname}}&amp;quot; environment variable. The &amp;quot;{{parameter|varname}}&amp;quot; value will be used to setup the display parameters.&lt;br /&gt;
{{Note| If {{parameter|displaytype}} is set to {{parameter|toppoly}}, {{parameter|vga}} or {{parameter|none}} U-Boot will automatically perform the required display setup.}}&lt;br /&gt;
&lt;br /&gt;
==== Custom LCD parameter setup ====&lt;br /&gt;
Throughout this section the optional user defined variable will be called {{parameter|customlcd}}.&amp;lt;br&amp;gt;&lt;br /&gt;
The {{parameter|customlcd}} variable is a string of parameters, describing the LCD characteristics.&amp;lt;br&amp;gt;&lt;br /&gt;
The syntax of {{parameter|customlcd}} variable is a comma separated list of {{parameter|&amp;lt;key&amp;gt;:&amp;lt;value&amp;gt;}} pairs and {{parameter|&amp;lt;value&amp;gt;}} singles. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;key1&amp;gt;:&amp;lt;value1&amp;gt;,&amp;lt;key2&amp;gt;:&amp;lt;value2&amp;gt;,&amp;lt;value3&amp;gt;,&amp;lt;key4&amp;gt;:&amp;lt;value4&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The order of the parameters in the string is not important.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Note|The syntax of the string is similar to the Linux kernel command line {{parameter|video}} parameter, with {{parameter|pxafb}} value (can be found at: http://kernel.org/doc/Documentation/fb/pxafb.txt). Linux users can append (with little changes) the {{parameter|customlcd}} variable to the Linux kernel command line, so the kernel will take care of the LCD setup on boot.}}&lt;br /&gt;
&lt;br /&gt;
===== Parameters description =====&lt;br /&gt;
{|width=&amp;quot;100%&amp;quot; cellpadding=&amp;quot;3&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid rgb(85, 85, 85); border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| mode:XRESxYRES[-BPP]&lt;br /&gt;
| The display resolution in pixels: {{parameter|XRES}} - width, {{parameter|YRES}} - height. {{parameter|BPP}} - bit depth (optional).&lt;br /&gt;
|-&lt;br /&gt;
| pixclock:PIXCLOCK&lt;br /&gt;
| Pixel clock in '''picoseconds'''.&lt;br /&gt;
|-&lt;br /&gt;
| left:LEFT&lt;br /&gt;
| Left display margin (Horizontal Back Porch)&lt;br /&gt;
|-&lt;br /&gt;
| right:RIGHT&lt;br /&gt;
| Right display margin (Horizontal Front Porch)&lt;br /&gt;
|-&lt;br /&gt;
| upper:UPPER&lt;br /&gt;
| Upper display margin (Vertical Back Porch)&lt;br /&gt;
|-&lt;br /&gt;
| lower:LOWER&lt;br /&gt;
| Lower display margin (Vertical Front Porch)&lt;br /&gt;
|-&lt;br /&gt;
| hsynclen:HSYNC&lt;br /&gt;
| Horizontal sync time (Horizontal Sync Pulse Width)&lt;br /&gt;
|-&lt;br /&gt;
| vsynclen:VSYNC&lt;br /&gt;
| Vertical sync time (Vertical Sync Pulse Width)&lt;br /&gt;
|-&lt;br /&gt;
| active&lt;br /&gt;
| Active (TFT) display&lt;br /&gt;
|-&lt;br /&gt;
| passive&lt;br /&gt;
| Passive (STN) display&lt;br /&gt;
|-&lt;br /&gt;
| hsync:HSYNC&lt;br /&gt;
| Horizontal sync polarity. 0 =&amp;gt; active low, 1 =&amp;gt; active high&lt;br /&gt;
|-&lt;br /&gt;
| vsync:VSYNC&lt;br /&gt;
| Vertical sync polarity. 0 =&amp;gt; active low, 1 =&amp;gt; active high&lt;br /&gt;
|-&lt;br /&gt;
| dpc:DPC&lt;br /&gt;
| Double pixel clock. 1=&amp;gt;true, 0=&amp;gt;false&lt;br /&gt;
|-&lt;br /&gt;
| outputen:POLARITY&lt;br /&gt;
| Output enable polarity. 0 =&amp;gt; active low, 1 =&amp;gt; active high&lt;br /&gt;
|-&lt;br /&gt;
| pixclockpol:POLARITY&lt;br /&gt;
| Pixel clock polarity. 0 =&amp;gt; falling edge, 1 =&amp;gt; rising edge&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
All the above values should be taken or derived from the LCD datasheet.&amp;lt;br&amp;gt;&lt;br /&gt;
For example, in order to setup the parameters for standard VGA 640x480 in {{parameter|customlcd}} variable, use the following commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt; setenv customlcd &amp;quot;mode:640x480-8,pixclock:39722,left:100,right:18,upper:15,lower:40,hsynclen:40,vsynclen:20,active,hsync:1,vsync:1,outputen:1&amp;quot;&lt;br /&gt;
&amp;gt; setenv displaytype &amp;quot;customlcd&amp;quot;&lt;br /&gt;
&amp;gt; saveenv&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Important| TDO35S LCD requires special wakeup sequence, therefore {{parameter|displaytype}} variable must be set to {{parameter|toppoly}} for proper TDO35S LCD operation.}}&lt;br /&gt;
&lt;br /&gt;
=== Splash screen image ===&lt;br /&gt;
&lt;br /&gt;
CM-X300 U-Boot supports uncompressed 8-bit BMP splash screen images. The example of such an image for TDO35S LCD, can be downloaded from [[media:logo.480x640-8.bmp|here]]. The splash screen image should be stored in the CM-X300 NAND flash at offset 0xC0000 and its maximal size should not exceed 768KB (0xC0000).&lt;br /&gt;
U-Boot will automatically relocate the splash screen image from NAND flash into the PXA3xx CPU frame buffer.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Flashing the Splash screen image into the NAND flash ====&lt;br /&gt;
&lt;br /&gt;
To store the splash screen image into the NAND flash use the following command sequence:&lt;br /&gt;
* Download the image to the CM-X300 RAM:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt; tftp 80a00000 &amp;lt;bmp img name&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Or read the image from USB:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt; usb start&lt;br /&gt;
&amp;gt; fatload usb 0 80a00000 &amp;lt;bmp img name&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Erase the NAND flash at offset 0xC0000:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt; nand erase c0000 c0000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Write the splash screen image into the NAND flash:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt; nand write 80a00000 c0000 c0000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The splash screen is in the NAND flash.&lt;br /&gt;
&lt;br /&gt;
==== Setting up the environment ====&lt;br /&gt;
&lt;br /&gt;
In order to display the splash screen image that resides in the NAND flash, the {{parameter|splashimage}} environment variable must be set. The {{parameter|splashimage}} variable should contain the base address for splash screen shadow in RAM. Our recommended value is: {{parameter|0x83e00000}}. This value ensures that the splash screen shadow does not overlap other vital locations in RAM (like U-Boot shadow) and is safe to use.&lt;br /&gt;
{{Warning|The splash screen shadow address range should not overlap other vital RAM locations in use. In particular, if the splash screen overlaps U-Boot code segment, the CM-X300 module may become disabled!}}&lt;br /&gt;
To set the {{parameter|splashimage}} variable use the following command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt; setenv splashimage 83e00000&lt;br /&gt;
&amp;gt; saveenv&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Frame Buffer ===&lt;br /&gt;
&lt;br /&gt;
The frame buffer location in system RAM is hard-coded into the CM-X300 U-Boot. The base address of the frame buffer is written to {{parameter|fbaddr}} environment variable. Writing any data to the address range from {{parameter|fbaddr}} to {{parameter|fbaddr + 1MB}} will corrupt the splash screen image.&amp;lt;br&amp;gt;&lt;br /&gt;
After the operating system initializes its own frame buffer, the value of {{parameter|fbaddr}} variable is meaningless.&lt;br /&gt;
&lt;br /&gt;
== CPU Frequency setting ==&lt;br /&gt;
&lt;br /&gt;
U-Boot for CM-X300 supports setting the CPU operating frequency and System Bus clock frequency at boot time.&amp;lt;br&amp;gt;&lt;br /&gt;
During the boot process, U-Boot checks the {{parameter|cpufreq}} environment variable and sets the CPU and System Bus clock frequencies according to the [[CM-X300:_U-Boot:_Custom_Features#Operating_Points_Table|operating points table]]. &lt;br /&gt;
The supported CPU frequencies are: {{parameter|104}}, {{parameter|208}}, {{parameter|416}} and {{parameter|624}} MHz. If U-Boot detects an invalid {{parameter|cpufreq}} value, the closest lower valid value is used. The default value for CPU frequency is 416MHz.&amp;lt;br&amp;gt;&lt;br /&gt;
After the new CPU operating frequency value is stored in {{parameter|cpufreq}} environment variable, the system must be reset for the change to take effect.&amp;lt;br&amp;gt;&lt;br /&gt;
For example, to set the CPU frequency to 624MHz, use the following commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt; setenv cpufreq 624&lt;br /&gt;
&amp;gt; saveenv&lt;br /&gt;
&amp;gt; reset&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Operating Points Table ===&lt;br /&gt;
&lt;br /&gt;
{|width=&amp;quot;30%&amp;quot; cellpadding=&amp;quot;3&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid rgb(85, 85, 85); border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| '''CPU Clock Frequency'''&lt;br /&gt;
| '''System Bus Clock Frequency'''&lt;br /&gt;
| '''Option'''&lt;br /&gt;
|-&lt;br /&gt;
| 104MHz&lt;br /&gt;
| 104MHz&lt;br /&gt;
|   '''+'''&lt;br /&gt;
|-&lt;br /&gt;
| 208MHz&lt;br /&gt;
| 104MHz&lt;br /&gt;
|   '''+'''&lt;br /&gt;
|-&lt;br /&gt;
| 416MHz&lt;br /&gt;
| 156MHz&lt;br /&gt;
| '''C624'''&lt;br /&gt;
|-&lt;br /&gt;
| 624MHz&lt;br /&gt;
| 208MHz&lt;br /&gt;
| '''C624'''&lt;br /&gt;
|-&lt;br /&gt;
|}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Silent Operation ==&lt;br /&gt;
&lt;br /&gt;
CM-X300 U-Boot utilizes the STUART serial port for console input/output. This port can also be used for communications with an external device. In such applications U-Boot console output may cause undefined behavior of the external device.&amp;lt;br&amp;gt;&lt;br /&gt;
Silent operation is designed to suppress the U-Boot console output and let custom application take control of the STUART serial port.&lt;br /&gt;
&lt;br /&gt;
=== Enabling Silent Operation ===&lt;br /&gt;
&lt;br /&gt;
Use the following commands to enable silent operation:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt; setenv silent 1&lt;br /&gt;
&amp;gt; saveenv&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
After system reset, U-Boot console output will be suppressed and U-Boot start up messages will not be displayed.&amp;lt;br&amp;gt;&lt;br /&gt;
In this mode U-Boot is still listening for data coming through the STUART serial port. Input received on the STUART port during boot will abort the {{parameter|bootcmd}} command execution and interrupt the boot process.&lt;br /&gt;
In order to prevent boot interruption, the {{parameter|bootdelay}} environment variable must be set to &amp;quot;0&amp;quot;. U-Boot will discard any data from the STUART serial port and continue the boot process.&amp;lt;br&amp;gt;&lt;br /&gt;
Use the following commands to set the {{parameter|bootdelay}} variable:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt; setenv bootdelay 0&lt;br /&gt;
&amp;gt; saveenv&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Disabling Silent Operation ===&lt;br /&gt;
&lt;br /&gt;
In order to disable silent operation and enable the U-Boot console, {{parameter|CTRL-C}} key sequence must be sent over the STUART serial port during the early stages of the U-Boot boot process. This will interrupt the automatic boot process, the silent operation mode and enable the U-Boot console.&amp;lt;br&amp;gt;&lt;br /&gt;
In order to disable the silent operation permanently, the {{parameter|silent}} environment variable must be cleared:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt; setenv silent&lt;br /&gt;
&amp;gt; saveenv&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GPIO settings ==&lt;br /&gt;
&lt;br /&gt;
CM-X300 U-Boot supports GPIO control during early stages of the boot process. This feature is only recommended for applications that require the gpio signal(s) to be set very early in the boot process and cannot utilize the operating system gpio control API's.&amp;lt;br&amp;gt;&lt;br /&gt;
The feature is supported starting from CM-X300 revision 1.2.&lt;br /&gt;
&lt;br /&gt;
=== Setting the GPIO direction and output level ===&lt;br /&gt;
&lt;br /&gt;
In order to configure the GPIO direction and output level, the {{parameter|customgpio}} environment variable must be set.&amp;lt;br&amp;gt;&lt;br /&gt;
The syntax is a list of GPIO settings separated by commas. Each setting includes GPIO number, direction and output level (optional):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;GPIO number&amp;gt; &amp;lt;in|out&amp;gt; [0|1][,&amp;lt;GPIO number&amp;gt; &amp;lt;in|out&amp;gt; [0|1][,...]]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
For example, to set GPIO 1 to input, GPIO 48 to output high and GPIO 67 to output low, use the following command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt; setenv customgpio &amp;quot;1 in,48 out 1,67 out 0&amp;quot;&lt;br /&gt;
&amp;gt; saveenv&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Maximal {{parameter|customgpio}} variable length should not exceed 256 characters.&amp;lt;br&amp;gt;&lt;br /&gt;
New GPIO settings take effect after system reset.&lt;br /&gt;
{{Note|Re-configuring GPIOs that are utilized for CM-X300 on-board peripherals may result in unpredictable behavior.}}&lt;br /&gt;
&lt;br /&gt;
=== Disabling custom GPIO settings ===&lt;br /&gt;
&lt;br /&gt;
In order to disable the custom GPIO settings, {{parameter|customgpio}} environment variable must be cleared:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt; setenv customgpio&lt;br /&gt;
&amp;gt; saveenv&lt;br /&gt;
&amp;gt; reset&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Advanced power mode ==&lt;br /&gt;
&lt;br /&gt;
When CM-X300 is powered from a battery, it is crucial to reduce the system power consumption.&amp;lt;br&amp;gt;&lt;br /&gt;
U-Boot advanced power mode allows to lower the system power consumption by disabling peripherals that are not required for system boot: Wi-Fi, USB, BlueTooth, AC97 audio.&lt;br /&gt;
{{Note|The operating system will be responsible for enabling the peripherals, disabled by U-Boot.}}&lt;br /&gt;
&lt;br /&gt;
=== Enabling the advanced power mode ===&lt;br /&gt;
&lt;br /&gt;
In order to enable the advanced power mode, the {{parameter|adv_pwr_mode}} environment variable must be set:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt; setenv adv_pwr_mode 1&lt;br /&gt;
&amp;gt; saveenv&lt;br /&gt;
&amp;gt; reset&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Disabling the advanced power mode ===&lt;br /&gt;
&lt;br /&gt;
In order to disable the advanced power mode, the {{parameter|adv_pwr_mode}} environment variable must be cleared:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt; setenv adv_pwr_mode&lt;br /&gt;
&amp;gt; saveenv&lt;br /&gt;
&amp;gt; reset&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note|Advanced power mode setting take effect after system reset.}}&lt;br /&gt;
{{Note|The USB sub-system will be automatically powered by U-Boot USB control commands even when the system is operated in advanced power mode.}}&lt;br /&gt;
&lt;br /&gt;
== Alternative boot ==&lt;br /&gt;
&lt;br /&gt;
U-Boot for CM-X300 supports running an alternative boot sequence. For example launch a script/executable from network or storage device, which will perform a S/W update process.&amp;lt;br&amp;gt;&lt;br /&gt;
The feature is supported starting from U-Boot version 2009.03-cm-x300-6. The Alternative Boot (SW2) button is available starting from SB-X300 revision 1.2.&lt;br /&gt;
&lt;br /&gt;
=== Using the alternative boot command ===&lt;br /&gt;
&lt;br /&gt;
To enable the alternative boot command, the {{parameter|alt_bootcmd}} environment variable must be set as following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt; setenv alt_bootcmd &amp;quot;&amp;lt;user defined command&amp;gt;&amp;quot;&lt;br /&gt;
&amp;gt; saveenv&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To run the alternative boot command, on the next reset/power-up sequence, press and hold the Alternative Boot (SW2) button until the alternative boot starts.&amp;lt;br&amp;gt;&lt;br /&gt;
The alternative boot command will be executed if the Alternative Boot (SW2) is pressed and hold during reset/power-up sequence.&lt;br /&gt;
To disable completely the alternative boot command, remove the {{parameter|alt_bootcmd}} environment variable:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt; setenv alt_bootcmd&lt;br /&gt;
&amp;gt; saveenv&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[U-Boot quick reference]]&lt;br /&gt;
* [[U-Boot images]]&lt;br /&gt;
* [[CM-X300: U-Boot: Firmware Update]]&lt;br /&gt;
* [[CM-X300: U-Boot: Firmware Development]]&lt;br /&gt;
* [[Getting started with Linux on CM-X300]]&lt;br /&gt;
* [http://www.denx.de/wiki/U-Boot/Documentation U-Boot documentation]&lt;br /&gt;
&lt;br /&gt;
[[Category:U-Boot|Custom Features]]&lt;br /&gt;
[[Category:CM-X300|Custom Features]]&lt;/div&gt;</summary>
		<author><name>Igor</name></author>
		
	</entry>
</feed>