pxa: add support for palmtreo680 board
authorMike Dunn <mikedunn@newsguy.com>
Tue, 18 Jun 2013 18:08:50 +0000 (11:08 -0700)
committerMarek Vasut <marex@denx.de>
Sat, 22 Jun 2013 13:25:28 +0000 (15:25 +0200)
commit0dc0e846f3634fcc728f086ae1b7a4b76294e4c9
treec4c817d7b7146e1a6b7dbcabcd76bd5625a4d31f
parentfbf87b1823dd5ebc2a384711ea2c677543019ece
pxa: add support for palmtreo680 board

This patch adds support for the Palm Treo 680 smartphone.  A quick overview of
u-boot implementation on the treo 680...

The treo 680 has a Diskonchip G4 nand flash chip.  This device has a 2k region
that maps to the system bus at the reset vector in a NOR-like fashion so that it
can be used as the boot device.  The phone is shipped with this 2k region
configured as write-protected (can't be modified) and programmed with an initial
program loader (IPL).  At power-up, this IPL loads the contents of two flash
blocks to SDRAM and jumps to it.  The capacity of the two blocks is not large
enough to hold all of u-boot, so a u-boot SPL is used.  To conserve flash space,
these two blocks and the necessary number of subsequent blocks are programmed
with a concatenated spl + u-boot image.  That way, the IPL will also load a
portion of u-boot proper, and when the spl runs, it relocates the portion of
u-boot that the IPL has already loaded, and then resumes loading the remaining
part of u-boot before jumping to it.

The default_environment is used (CONFIG_ENV_IS_NOWHERE) because I didn't think
that having a writable environment was worth the cost of a flash block, although
adding it would be straightforward.  I abuse the CONFIG_EXTRA_ENV_SETTINGS
option to specify the usbtty for the console (CONFIG_SYS_CONSOLE_IS_IN_ENV).

Support for the LCD is included, but currently it is only useful for displaying
the u-boot splash screen.  But if u-boot is built without the usbtty console, it
does display the auto-boot progress nicely.

Signed-off-by: Mike Dunn <mikedunn@newsguy.com>
CREDITS
MAINTAINERS
board/palmtreo680/Makefile [new file with mode: 0644]
board/palmtreo680/README [new file with mode: 0644]
board/palmtreo680/palmtreo680.c [new file with mode: 0644]
boards.cfg
include/configs/palmtreo680.h [new file with mode: 0644]