Merge branch 'next' of ../master

This commit is contained in:
Wolfgang Denk
2009-06-14 22:05:42 +02:00
686 changed files with 15006 additions and 17283 deletions

78
doc/README.LED Normal file
View File

@@ -0,0 +1,78 @@
Status LED
========================================
This README describes the status LED API.
The API is defined by the include file include/status_led.h
The first step is to define CONFIG_STATUS_LED in the board config file.
If the LED support is only for a single board, define CONFIG_BOARD_SPECIFIC_LED
in the board config file.
At a minimum, these macros must be defined at
STATUS_LED_BIT
STATUS_LED_STATE
STATUS_LED_PERIOD
If there are multiple status LED's define
STATUS_LED_BIT<n>
STATUS_LED_STATE<n>
STATUS_LED_PERIOD<n>
Where <n> can a integer 1 through 3.
STATUS_LED_BIT is passed into the __led_* functions to identify which LED is
being acted on. As such, the value choose must be unique with with respect to
the other STATUS_LED_BIT's. Mapping the value to a physical LED is the
reponsiblity of the __led_* function.
STATUS_LED_STATE is the initial state of the LED. It should be set to one of
these values: STATUS_LED_OFF or STATUS_LED_ON.
STATUS_LED_PERIOD is how long is the LED blink period. This usually set to
(CONFIG_SYS_HZ / <N>) where <N> is the frequency of the blink. Typical values
range from 2 to 10.
Some other LED macros
STATUS_LED_BOOT is the LED to light when the board is booting. This must be a
valid STATUS_LED_BIT value.
STATUS_LED_RED is the red LED. It is used signal errors. This must be a valid
STATUS_LED_BIT value. Other similar color LED's are STATUS_LED_YELLOW and
STATUS_LED_BLUE.
These board must define these functions
__led_init is called once to initialize the LED to STATUS_LED_STATE. One time
start up code should be placed here.
__led_set is called to change the state of the LED.
__led_toggle is called to toggle the current state of the LED.
Colour LED
========================================
Colour LED's are at present only used by ARM.
The functions names explain their purpose.
coloured_LED_init
red_LED_on
red_LED_off
green_LED_on
green_LED_off
yellow_LED_on
yellow_LED_off
blue_LED_on
blue_LED_off
These are weakly defined in lib_arm/board.c to noops. Where applicable, define
these functions in the board specific source.
TBD : Describe older board dependent macros similar to what is done for
CONFIG_TQM8xxL.
TBD : Describe general support via asm/status_led.h

View File

@@ -31,17 +31,17 @@ J42: open
All others are factory default.
I2C iprobe
I2C probe
=====================
The i2c utilities have been tested on both Rev B. and Rev C. and
look good. The CONFIG_SYS_I2C_NOPROBES macro is defined to prevent
probing the CDCV850 clock controller at address 0x69 (since reading
it causes the i2c implementation to misbehave. The output of
iprobe should look like this (assuming you are only using a single
'i2c probe' should look like this (assuming you are only using a single
SO-DIMM:
=> iprobe
=> i2c probe
Valid chip addresses: 50 53 54
Excluded chip addresses: 69
@@ -63,13 +63,13 @@ J42 - strapped
This will select the default sys0 and sys1 settings (the serial
eeproms are not used). Then power up the board and fix the serial
eeprom using the imm command. Here are the values I currently
eeprom using the 'i2c mm' command. Here are the values I currently
use:
=> imd 50 0 10
=> i2c md 50 0 10
0000: bf a2 04 01 ae 94 11 00 00 00 00 00 00 00 00 00 ................
=> imd 54 0 10
=> i2c md 54 0 10
0000: 8f b3 24 01 4d 14 11 00 00 00 00 00 00 00 00 00 ..$.M...........
Once you have the eeproms set correctly change the
@@ -83,8 +83,8 @@ the SPD to initialize the DDR SDRAM control registers. So if the SPD
eeprom is corrupted, U-Boot will never get into ram. Here's how I got
out of this situation:
0. First, _before_ playing with the i2c utilities, do an iprobe, then
use imd to capture the various device contents to a file. Some day
0. First, _before_ playing with the i2c utilities, do an 'i2c probe', then
use 'i2c md' to capture the various device contents to a file. Some day
you may be glad you did this ... trust me :-). Otherwise try the
following:
@@ -100,12 +100,12 @@ settings without using the SPD eeprom.
3. Load the new U-Boot image and reboot ebony.
4. Repair the SPD eeprom using the imm command. Here's the eeprom
4. Repair the SPD eeprom using the 'i2c mm' command. Here's the eeprom
contents that work with the default SO-DIMM that comes with the
ebony board (micron 8VDDT164AG-265A1). Note: these are probably
_not_ the factory settings ... but they work.
=> imd 53 0 10 80
=> i2c md 53 0 10 80
0000: 80 08 07 0c 0a 01 40 00 04 75 75 00 80 08 00 01 ......@..uu.....
0010: 0e 04 0c 01 02 20 00 a0 75 00 00 50 3c 50 2d 20 ..... ..u..P<P-
0020: 90 90 50 50 00 00 00 00 00 41 4b 34 32 75 00 00 ..PP.....AK42u..

View File

@@ -204,16 +204,10 @@ erase - erase FLASH memory
flinfo - print FLASH memory information
go - start application at address 'addr'
help - print online help
i2c - I2C sub-system
icache - enable or disable instruction cache
icrc32 - checksum calculation
iloop - infinite loop on address range
imd - i2c memory display
iminfo - print header information for application image
imls - list all images found in flash
imm - i2c memory modify (auto-incrementing)
imw - memory write (fill)
inm - memory modify (constant address)
iprobe - probe to discover valid I2C chip addresses
itest - return true/false on integer compare
loadb - load binary file over serial line (kermit mode)
loads - load S-Record file over serial line

View File

@@ -215,16 +215,10 @@ erase - erase FLASH memory
flinfo - print FLASH memory information
go - start application at address 'addr'
help - print online help
i2c - I2C sub-system
icache - enable or disable instruction cache
icrc32 - checksum calculation
iloop - infinite loop on address range
imd - i2c memory display
iminfo - print header information for application image
imls - list all images found in flash
imm - i2c memory modify (auto-incrementing)
imw - memory write (fill)
inm - memory modify (constant address)
iprobe - probe to discover valid I2C chip addresses
itest - return true/false on integer compare
loadb - load binary file over serial line (kermit mode)
loads - load S-Record file over serial line

View File

@@ -304,17 +304,11 @@ fsinfo - print information about filesystems
fsload - load binary file from a filesystem image
go - start application at address 'addr'
help - print online help
i2c - I2C sub-system
icache - enable or disable instruction cache
icrc32 - checksum calculation
ide - IDE sub-system
iloop - infinite loop on address range
imd - i2c memory display
iminfo - print header information for application image
imls - list all images found in flash
imm - i2c memory modify (auto-incrementing)
imw - memory write (fill)
inm - memory modify (constant address)
iprobe - probe to discover valid I2C chip addresses
itest - return true/false on integer compare
loadb - load binary file over serial line (kermit mode)
loads - load S-Record file over serial line

View File

@@ -234,16 +234,10 @@ erase - erase FLASH memory
flinfo - print FLASH memory information
go - start application at address 'addr'
help - print online help
i2c - I2C sub-system
icache - enable or disable instruction cache
icrc32 - checksum calculation
iloop - infinite loop on address range
imd - i2c memory display
iminfo - print header information for application image
imls - list all images found in flash
imm - i2c memory modify (auto-incrementing)
imw - memory write (fill)
inm - memory modify (constant address)
iprobe - probe to discover valid I2C chip addresses
itest - return true/false on integer compare
loadb - load binary file over serial line (kermit mode)
loads - load S-Record file over serial line

View File

@@ -83,8 +83,8 @@ Freescale MPC832XEMDS Board
include/configs/MPC832XEPB.h
CONFIG_MPC83XX MPC83XX family for MPC8349, MPC8360 and MPC832X
CONFIG_MPC832X MPC832X specific
CONFIG_MPC83xx MPC83xx family for MPC8349, MPC8360 and MPC832x
CONFIG_MPC832x MPC832x specific
CONFIG_MPC832XEMDS MPC832XEMDS board specific
4. Compilation
@@ -97,7 +97,7 @@ Freescale MPC832XEMDS Board
make MPC832XEMDS_config
make
MPC832X support PCI 33MHz and PCI 66MHz, to make u-boot support PCI:
MPC832x support PCI 33MHz and PCI 66MHz, to make u-boot support PCI:
1)Make sure the DIP SW support PCI mode as described in Section 1.1.

View File

@@ -88,7 +88,7 @@ Freescale MPC8349E-mITX and MPC8349E-mITX-GP Boards
include/configs/MPC8349ITX.h
CONFIG_MPC83XX MPC83xx family
CONFIG_MPC83xx MPC83xx family
CONFIG_MPC8349 MPC8349 specific
CONFIG_MPC8349ITX MPC8349E-mITX
CONFIG_MPC8349ITXGP MPC8349E-mITX-GP

View File

@@ -81,7 +81,7 @@ Freescale MPC8360EMDS Board
include/configs/MPC8360EMDS.h
CONFIG_MPC83XX MPC83xx family for both MPC8349 and MPC8360
CONFIG_MPC83xx MPC83xx family for both MPC8349 and MPC8360
CONFIG_MPC8360 MPC8360 specific
CONFIG_MPC8360EMDS MPC8360EMDS board specific

View File

@@ -60,8 +60,8 @@ Freescale MPC837xEMDS Board
include/configs/MPC837XEMDS.h
CONFIG_MPC83XX MPC83xx family for both MPC837x and MPC8360
CONFIG_MPC837X MPC837x specific
CONFIG_MPC83xx MPC83xx family for both MPC837x and MPC8360
CONFIG_MPC837x MPC837x specific
CONFIG_MPC837XEMDS MPC837XEMDS board specific
4. Compilation

View File

@@ -52,8 +52,8 @@ Freescale MPC837xE-RDB Board
include/configs/MPC837XERDB.h
CONFIG_MPC83XX MPC83xx family for both MPC8349 and MPC8360
CONFIG_MPC837X MPC837x specific
CONFIG_MPC83xx MPC83xx family for both MPC8349 and MPC8360
CONFIG_MPC837x MPC837x specific
CONFIG_MPC837XERDB MPC837xE-RDB board specific

View File

@@ -19,6 +19,8 @@ Currently the following boards are supported:
* TI/Logic PD Zoom MDK [6]
* TI/Logic PD Zoom 2 [7]
Toolchain
=========
@@ -54,6 +56,11 @@ make
make omap3_zoom1_config
make
* Zoom 2:
make omap3_zoom2_config
make
Custom commands
===============
@@ -77,10 +84,42 @@ For all other commands see
help
Interfaces
==========
gpio
To set a bit :
if (!omap_request_gpio(N)) {
omap_set_gpio_direction(N, 0);
omap_set_gpio_dataout(N, 1);
}
To clear a bit :
if (!omap_request_gpio(N)) {
omap_set_gpio_direction(N, 0);
omap_set_gpio_dataout(N, 0);
}
To read a bit :
if (!omap_request_gpio(N)) {
omap_set_gpio_direction(N, 1);
val = omap_get_gpio_datain(N);
omap_free_gpio(N);
}
if (val)
printf("GPIO N is set\n");
else
printf("GPIO N is clear\n");
Acknowledgements
================
OMAP3 U-Boot is based on U-Boot tar ball [7] for BeagleBoard and EVM done by
OMAP3 U-Boot is based on U-Boot tar ball [8] for BeagleBoard and EVM done by
several TI employees.
Links
@@ -111,6 +150,10 @@ http://openpandora.org/
http://www.logicpd.com/products/devkit/ti/zoom_mobile_development_kit
[7] TI OMAP3 U-Boot:
[7] TI/Logic PD Zoom 2
http://www.logicpd.com/sites/default/files/1012659A_Zoom_OMAP34x-II_MDP_Brief.pdf
[8] TI OMAP3 U-Boot:
http://beagleboard.googlecode.com/files/u-boot_beagle_revb.tar.gz

View File

@@ -88,7 +88,7 @@ I2C
=================
The i2c utilities have been tested on both Rev B. and Rev C. and
look good. The iprobe command implementation has been updated to
look good. The 'i2c probe' command implementation has been updated to
allow for 'skipped' addresses. Some i2c slaves are write only and
cause problems when a probe (read) is performed (for example the
CDCV850 clock controller at address 0x69 on the ebony board).
@@ -97,7 +97,7 @@ To prevent probing certain addresses you can define the
CONFIG_SYS_I2C_NOPROBES macro in your board-specific header file. When
defined, all specified addresses are skipped during a probe.
The addresses that are skipped will be displayed in the output
of the iprobe command.
of the 'i2c probe' command.
For example, to prevent probing address 0x69, define the macro as
follows:

View File

@@ -23,7 +23,7 @@ strappings and the 2 EMAC HW Ethernet addresses. Be careful not to
change the 1st page of the EEPROM! Unpopulated jumper J560 can get you
out of trouble as it disables the strapping read from EEPROM.
I2C iprobe
I2C probe
=====================
The i2c utilities work and have been tested on Rev B. of the 440GX. See
@@ -47,10 +47,10 @@ J560 - closed
This will select the default sys0 and sys1 settings (the serial
eeproms are not used). Then power up the board and fix the serial
eeprom using the imm command. Here are the values I currently
eeprom using the 'i2c mm' command. Here are the values I currently
use:
=> imd 50 0 10
=> i2c md 50 0 10
0000: 85 7d 42 06 07 80 11 00 00 00 00 00 00 00 00 00 .}B.............

View File

@@ -59,18 +59,6 @@ Who: Wolfgang Denk <wd@denx.de> and board maintainers
---------------------------
What: Individual I2C commands
When: April 2009
Why: Per the U-Boot README, individual I2C commands such as "imd", "imm",
"imw", etc are deprecated. The single "i2c" command which is
currently enabled via CONFIG_I2C_CMD_TREE contains the same
functionality as the individual I2C commands. The individual
I2C commands should be removed as well as any references to
CONFIG_I2C_CMD_TREE.
Who: Peter Tyser <ptyser@xes-inc.com>
---------------------------
What: Legacy NAND code
When: April 2009
Why: Legacy NAND code is deprecated. Similar functionality exists in