Anton Vorontsov [Fri, 18 Jun 2010 11:08:27 +0000 (15:08 +0400)]
hwconfig: Add some unit tests
I use this for testing, and I think this might be useful in the
future.
Signed-off-by: Anton Vorontsov <avorontsov@mvista.com>
Anton Vorontsov [Fri, 18 Jun 2010 11:08:12 +0000 (15:08 +0400)]
hwconfig: Fix stop characters parsing for subkeys
For the following hwconfig string:
key1:subkey1=value1,subkey2=value2;key2:value3
The subkey2 cannot be extracted correctly. The parsing code looks
for comma as a stopch, but there may be two kind of stop characters:
a comma and a semicolon.
Currently the code would return "value2;key2:value3", while just
"value2" is the correct answer.
This patch fixes the issue by making the code aware of multiple
stop characters.
For old U-Boots, the issue can be workarounded by placing a comma
before a semicolon, i.e.:
hwconfig=key1:subkey1=value1,subkey2=value2,;key2:value3
Reported-by: York Sun <yorksun@freescale.com>
Signed-off-by: Anton Vorontsov <avorontsov@mvista.com>
Wolfgang Denk [Tue, 29 Jun 2010 19:58:16 +0000 (21:58 +0200)]
Merge branch 'next' of git://git.denx.de/u-boot-ti into next
Wolfgang Denk [Sat, 26 Jun 2010 21:46:40 +0000 (23:46 +0200)]
image.h: remove bogus ';' after function declarations
ISO C does not allow extra ';' outside of a function
Signed-off-by: Wolfgang Denk <wd@denx.de>
Wolfgang Denk [Tue, 29 Jun 2010 19:37:44 +0000 (21:37 +0200)]
Merge branch 'master' of git://git.denx.de/u-boot-sh into next
Nobuhiro Iwamatsu [Wed, 16 Jun 2010 07:55:26 +0000 (16:55 +0900)]
sh: Add trigger_address_error and support cpu reset
This add support cpu reset by trigger_address_error function.
Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
Nobuhiro Iwamatsu [Wed, 16 Jun 2010 07:53:45 +0000 (16:53 +0900)]
sh: Fix path of irqflags.h
This changes path of irqflags.h from linux/ to asm/.
Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
Nobuhiro Iwamatsu [Tue, 15 Jun 2010 23:10:21 +0000 (08:10 +0900)]
sh: Fix overflow problem in get_ticks
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
Nobuhiro Iwamatsu [Tue, 15 Jun 2010 22:59:17 +0000 (07:59 +0900)]
sh: Fix build on the target
SH fails building on the target.
This supports this.
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
Wolfgang Denk [Sun, 13 Jun 2010 16:28:54 +0000 (18:28 +0200)]
Remove AmigaOneG3SE board
The AmigaOneG3SE board has been orphaned or a very long time, and
broken for more than 12 releases resp. more than 3 years. As nobody
seems to be interested any more in this stuff we may as well ged rid
of it, especially as it clutters many areas of the code so it is a
continuous pain for all kinds of ongoing work.
Signed-off-by: Wolfgang Denk <wd@denx.de>
Wolfgang Denk [Sun, 13 Jun 2010 16:38:23 +0000 (18:38 +0200)]
Get rid of bogus CONFIG_SYS_BUS_HZ and CONFIG_SYS_CONFIG_BUS_CLK definitions
CONFIG_SYS_BUS_HZ has not really been used anywhere except to be
redined as CONFIG_SYS_BUS_CLK; in addition, the mpc7448hpc2 had the
bogus CONFIG_SYS_CONFIG_BUS_CLK setting which duplicated the
funtionality. Change all this to use CONFIG_SYS_BUS_CLK consistently.
Signed-off-by: Wolfgang Denk <wd@denx.de>
Cc: Frank Gottschling <fgottschling@eltec.de>
Cc: Reinhard Arlt <reinhard.arlt@esd-electronics.com>
Cc: Eran Man <eran@nbase.co.il>
Cc: Stefan Roese <sr@denx.de>
Cc: Nye Liu <nyet@zumanetworks.com>
Cc: Roy Zang <tie-fei.zang@freescale.com>
Wolfgang Denk [Wed, 23 Jun 2010 19:17:29 +0000 (21:17 +0200)]
Merge branch 'master' into next
Wolfgang Denk [Wed, 23 Jun 2010 18:55:27 +0000 (20:55 +0200)]
Merge branch 'master' of ssh://gemini/home/wd/git/u-boot/master
Wolfgang Denk [Wed, 23 Jun 2010 18:50:54 +0000 (20:50 +0200)]
Prepare v2010.06-rc3
Signed-off-by: Wolfgang Denk <wd@denx.de>
Wolfgang Denk [Mon, 21 Jun 2010 20:29:59 +0000 (22:29 +0200)]
MPC5200: workaround data corruption for unaligned local bus accesses
The MPC5200 has a nasty problem that will cause silent data corruption
when performing unaligned 16 or 32 byte accesses when reading from the
local bus - typically this affects reading from flash. The problem can
be easily shown:
=> md
fc0c0000 10
fc0c0000:
323e4337 01626f6f 74636d64 3d72756e 2>C7.bootcmd=run
fc0c0010:
206e6574 5f6e6673 00626f6f 7464656c net_nfs.bootdel
fc0c0020:
61793d35 00626175 64726174 653d3131 ay=5.baudrate=11
fc0c0030:
35323030 00707265 626f6f74 3d656368 5200.preboot=ech
=> md
fc0c0001 10
fc0c0001:
65636801 00000074 0000003d 00000020 ech....t...=...
fc0c0011:
0000005f 00000000 00000074 00000061 ..._.......t...a
fc0c0021:
00000000 00000064 00000065 00000035 .......d...e...5
fc0c0031:
00000000 00000062 0000003d 0000006f .......b...=...o
=> md.w
fc0c0001 10
fc0c0001: 0000 3701 0000 6f74 0000 643d 0000 6e20 ..7...ot..d=..n
fc0c0011: 0000 745f 0000 7300 0000 6f74 0000 6c61 ..t_..s...ot..la
This commit implements a workaround at least for the most blatant
problem: using memcpy() from NOR flash. We rename the assembler
routine into __memcpy() and provide a wrapper, which will use a
byte-wise copy loop for unaligned source or target addresses when
reading from NOR flash, and branch to the optimized __memcpy()
in all other cases, thus minimizing the performance impact.
Tested on lite5200b and TQM5200S.
Signed-off-by: Wolfgang Denk <wd@denx.de>
Cc: Detlev Zundel <dzu@denx.de>
Wolfgang Denk [Tue, 22 Jun 2010 22:40:03 +0000 (00:40 +0200)]
Merge branch 'master' of ssh://gemini/home/wd/git/u-boot/master
Minkyu Kang [Fri, 18 Jun 2010 10:31:10 +0000 (19:31 +0900)]
ARM: remove unused VIDEOLFB ATAG
ATAG_VIDEOLFB is not used anywhere.
The belowing warning is occurred due to this ATAG.
[ 0.000000] Ignoring unrecognised tag 0x54410008
This patch fixed it.
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Martin Krause <Martin.Krause@tqs.de>
Peter Horton [Sat, 12 Jun 2010 01:11:56 +0000 (10:11 +0900)]
UBI: initialise update marker
UBI: initialise update marker
The in kernel copy of a volume's update marker is not initialised from the
volume table. This means that volumes where an update was unfinnished will
not be treated as "forbidden to use". This is basically that the update
functionality was broken.
Signed-off-by: Peter Horton <zero@colonel-panic.org>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Stefan Roese <sr@denx.de>
Guennadi Liakhovetski [Wed, 14 Apr 2010 13:32:06 +0000 (15:32 +0200)]
remove myself as a maintainer of several ARM boards
Since I haven't been actively maintaining these boards for a long while,
keeping myself as their maintainer makes no sense.
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Ilya Yanok [Mon, 21 Jun 2010 14:13:21 +0000 (18:13 +0400)]
Makefile: always call date with LC_ALL=C set
Ensure that date is called only with LC_ALL=C locale set to make dates
locale neutral thus preventing lurking of non-ASCII characters into
U-Boot binary.
Signed-off-by: Ilya Yanok <yanok@emcraft.com>
Changed LANG= into LC_ALL= as suggested by Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Wolfgang Denk <wd@denx.de>
Wolfgang Denk [Tue, 22 Jun 2010 20:37:16 +0000 (22:37 +0200)]
Merge branch 'master' of /home/wd/git/u-boot/custodians
Albert Aribaud [Tue, 22 Jun 2010 10:20:28 +0000 (15:50 +0530)]
Fix wrong orion5x MPP and GIPO writel arguments
Orion5x MPP and GPIO setting code had writel arguments
the wrong way around. Fixed and tested.
Signed-off-by: Albert Aribaud <albert.aribaud@free.fr>
Terry Lv [Thu, 6 May 2010 10:30:55 +0000 (18:30 +0800)]
ARM: fix bug in macro __arch_ioremap.
Signed-off-by: Terry Lv <r65388@freescale.com>
Fix commit message and code formatting.
Signed-off-by: Wolfgang Denk <wd@denx.de>
Vitaly Kuzmichev [Tue, 15 Jun 2010 18:18:11 +0000 (22:18 +0400)]
ARM: Align stack to 8 bytes
The ARM ABI requires that the stack be aligned to 8 bytes as it is noted
in Procedure Call Standard for the ARM Architecture:
http://infocenter.arm.com/help/topic/com.arm.doc.ihi0042d/index.html
Unaligned SP also causes the problem with variable-length arrays
allocation when VLA address becomes less than stack pointer during
aligning of this address, so the next 'push' in the stack overwrites
first 4 bytes of VLA.
Signed-off-by: Vitaly Kuzmichev <vkuzmichev@mvista.com>
Tested on tx25(mx25), imx27lite(mx27), qong(mx31) and trab(s3c2400)
Tested-by: Wolfgang Denk <wd@denx.de>
Vitaly Kuzmichev [Tue, 15 Jun 2010 18:18:11 +0000 (22:18 +0400)]
ARM: Align stack to 8 bytes
The ARM ABI requires that the stack be aligned to 8 bytes as it is noted
in Procedure Call Standard for the ARM Architecture:
http://infocenter.arm.com/help/topic/com.arm.doc.ihi0042d/index.html
Unaligned SP also causes the problem with variable-length arrays
allocation when VLA address becomes less than stack pointer during
aligning of this address, so the next 'push' in the stack overwrites
first 4 bytes of VLA.
Signed-off-by: Vitaly Kuzmichev <vkuzmichev@mvista.com>
Wolfgang Denk [Tue, 22 Jun 2010 19:30:05 +0000 (21:30 +0200)]
Merge branch 'master' of /home/wd/git/u-boot/custodians
Nick Thompson [Tue, 22 Jun 2010 15:06:01 +0000 (11:06 -0400)]
Davinci: SPI performance enhancements
The following restructuring and optimisations increase the SPI
read performance from 1.3MiB/s (on da850) to 2.87MiB/s (on da830):
Remove continual revaluation of driver state from the core of the
copy loop. State can not change during the copy loop, so it is
possible to move these evaluations to before the copy loop.
Cost is more code space as loop variants are required for each set
of possible configurations. The loops are simpler however, so the
extra is only 128bytes on da830 with CONFIG_SPI_HALF_DUPLEX
defined.
Unrolling the first copy loop iteration allows the TX buffer to be
pre-loaded reducing SPI clock starvation.
Unrolling the last copy loop iteration removes testing for the
final loop iteration every time round the loop.
Using the RX buffer empty flag as a transfer throttle allows the
assumption that it is always safe to write to the TX buffer, so
polling of TX buffer full flag can be removed.
Signed-off-by: Nick Thompson <nick.thompson@ge.com>
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
Prakash PM [Tue, 22 Jun 2010 14:24:43 +0000 (10:24 -0400)]
DaVinci: EMAC: Get EMAC_MDIO_PHY_NUM from config files
Currently EMAC_MDIO_PHY_NUM is defined as 1 in emac_defs.h.
Because of this, EMAC does not work on EVMs which do not have phy
connected at 1. Moving the macro to board config file makes this
configurable depending on where the phy is connected on the MDIO bus.
This patch fixes the board reset issue observed during network access
on DM365EVM. EMAC driver was assuming EMAC_MDIO_PHY_NUM as 1
but it is 0 on DM365EVM.
This patch is verified on da830/omap-l137, dm365 and dm644x evms.
Signed-off-by: Prakash PM <prakash.pm@ti.com>
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
Wolfgang Denk [Sun, 20 Jun 2010 10:32:37 +0000 (12:32 +0200)]
net/eth.c: eth_mac_skip() is only needed when CONFIG_NET_MULTI is set
Move it inside the #ifdef CONFIG_NET_MULTI to avoid
eth.c:64: warning: 'eth_mac_skip' defined but not used
messages from a number of old, non-CONFIG_NET_MULTI boards.
Signed-off-by: Wolfgang Denk <wd@denx.de>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
Fillod Stephane [Fri, 11 Jun 2010 17:26:43 +0000 (19:26 +0200)]
ip/defrag: fix processing of last short fragment
TFTP'ing a file of size 1747851 bytes with CONFIG_IP_DEFRAG and
CONFIG_TFTP_BLOCKSIZE set to 4096 fails with a timeout, because
the last fragment is not taken into account. This patch fixes
IP fragments having less than 8 bytes of payload.
Signed-off-by: Stephane Fillod <stephane.fillod@grassvalley.com>
Acked-by: Alessandro Rubini <rubini@gnudd.com>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
Wolfgang Denk [Sun, 20 Jun 2010 10:30:22 +0000 (12:30 +0200)]
net/eth.c: eth_mac_skip() is only needed when CONFIG_NET_MULTI is set
Move it inside the #ifdef CONFIG_NET_MULTI to avoid
eth.c:64: warning: 'eth_mac_skip' defined but not used
messages from anumber of old, non-CONFIG_NET_MULTI boards.
Signed-off-by: Wolfgang Denk <wd@denx.de>
Cc: Ben Warren <biggerbadderben@gmail.com>
Wolfgang Denk [Sun, 20 Jun 2010 00:16:44 +0000 (02:16 +0200)]
include/compiler.h: remove redundant declaration of errno
Commit
37566090 "compiler.h: unify system ifdef cruft here" added both
a "#include <errno.h>" and a "extern int errno;" to include/compiler.h
which is causing build warnings for some systems, for example for the
"netstar" board:
In file included from /home/wd/git/u-boot/work/lib/crc32.c:15:
include/compiler.h:28: warning: function declaration isn't a prototype
The declaration of "errno" should be redundant, as <errno.h> is
supposed to provide a correct declaration, so drop it.
Signed-off-by: Wolfgang Denk <wd@denx.de>
Cc: Mike Frysinger <vapier@gentoo.org>
Wolfgang Denk [Fri, 18 Jun 2010 13:55:15 +0000 (15:55 +0200)]
arch/arm/cpu/arm_cortexa8/omap3/cache.S: make build with older tools
The push / pop instructions used in this file are available only with
more recent tool chains:
cache.S: Assembler messages:
cache.S:133: Error: bad instruction `push {r0,r1,r2,lr}'
cache.S:160: Error: bad instruction `pop {r1,r2,r3,pc}'
cache.S:164: Error: bad instruction `push {r0,r1,r2,lr}'
cache.S:191: Error: bad instruction `pop {r1,r2,r3,pc}'
Change push/pop into stmfd/ldmfd instructions to support older
versions of binutils as well.
I verified that the modified source code generates exactly the same
binary code.
Signed-off-by: Wolfgang Denk <wd@denx.de>
Cc: Sandeep Paulraj <s-paulraj@ti.com>
Cc: Tom Rix <tom@bumblecow.com>
Wolfgang Denk [Thu, 17 Jun 2010 23:20:49 +0000 (01:20 +0200)]
Merge branch 'master' into next
Conflicts:
Makefile
Signed-off-by: Wolfgang Denk <wd@denx.de>
Anatolij Gustschin [Wed, 26 May 2010 08:38:59 +0000 (10:38 +0200)]
ppc4xx: icon: add support for SM502 chip
Adds initialization code for SM502 graphics controller
and NL6448BC20-21D LCD panel.
Signed-off-by: Anatolij Gustschin <agust@denx.de>
Cc: Stefan Roese <sr@denx.de>
Wolfgang Denk [Thu, 17 Jun 2010 20:53:03 +0000 (22:53 +0200)]
Merge branch 'next' of git://git.denx.de/u-boot-video into next
Wolfgang Denk [Thu, 17 Jun 2010 20:39:03 +0000 (22:39 +0200)]
Merge branch 'next' of git://git.denx.de/u-boot-pxa into next
Wolfgang Denk [Thu, 17 Jun 2010 20:31:04 +0000 (22:31 +0200)]
Merge branch 'fix' of git://git.denx.de/u-boot-pxa
Wolfgang Denk [Thu, 17 Jun 2010 20:22:06 +0000 (22:22 +0200)]
Merge branch 'master' of git://git.denx.de/u-boot-marvell
Wolfgang Denk [Thu, 17 Jun 2010 19:59:57 +0000 (21:59 +0200)]
Merge branch 'master' of git://git.denx.de/u-boot-ti
Conflicts:
CONFLICT (rename/add): Rename
board/davinci/da830evm/Makefile->board/ti/tnetv107xevm/Makefile
in
89b765c7f6ddfde07ba673dd4adbeb5da391a81b.
board/ti/tnetv107xevm/Makefile added in HEAD
But files were identical, so no problem.
Signed-off-by: Wolfgang Denk <wd@denx.de>
Wolfgang Denk [Thu, 17 Jun 2010 19:06:16 +0000 (21:06 +0200)]
Merge branch 'master' of git://git.denx.de/u-boot-arm
Albert Aribaud [Thu, 17 Jun 2010 14:08:21 +0000 (19:38 +0530)]
Add support for the LaCie ED Mini V2 board
This patch adds support for the LaCie ED Mini V2 product
which is based on the Marvell Orion5x SoC.
Signed-off-by: Albert Aribaud <albert.aribaud@free.fr>
Albert Aribaud [Thu, 17 Jun 2010 14:07:01 +0000 (19:37 +0530)]
Add Orion5x support to 16550 device driver
This patch provides access to the 16550-compatible
serial device of the Orion5x SoC.
Signed-off-by: Albert Aribaud <albert.aribaud@free.fr>
Albert Aribaud [Thu, 17 Jun 2010 14:06:07 +0000 (19:36 +0530)]
Initial support for Marvell Orion5x SoC
This patch adds support for the Marvell Orion5x SoC.
It has no use alone, and must be followed by a patch
to add Orion5x support for serial, then support for
the ED Mini V2, an Orion5x-based product from LaCie.
Signed-off-by: Albert Aribaud <albert.aribaud@free.fr>
Minkyu Kang [Tue, 8 Jun 2010 05:40:47 +0000 (14:40 +0900)]
SAMSUNG: goni: add the GPL licence
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Tom <Tom@bumblecow.com>
Minkyu Kang [Mon, 31 May 2010 13:02:42 +0000 (22:02 +0900)]
s5pc1xx: Add support for Samsung Goni board
This patch adds support for the Samsung Goni board (S5PC110 SoC)
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Minkyu Kang [Fri, 28 May 2010 03:34:29 +0000 (12:34 +0900)]
s5pc1xx: gpio: bug fix at gpio_set_pull function
When set to PULL_NONE, gpio_set_pull function is returned without write the register.
This patch fixed it.
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
Anatolij Gustschin [Wed, 26 May 2010 08:38:58 +0000 (10:38 +0200)]
video: sm501.c: add weak default functions
For boards using sm501/sm502 on PCI bus some driver
functions normaly defined in the board code are not
needed and empty. Provide weak default functions for
them and do not enforce board code to define empty
functions.
Signed-off-by: Anatolij Gustschin <agust@denx.de>
Anatolij Gustschin [Wed, 26 May 2010 08:38:57 +0000 (10:38 +0200)]
video: sm501: add support for SM501 chips on PCI bus
Signed-off-by: Anatolij Gustschin <agust@denx.de>
Anatolij Gustschin [Sat, 1 May 2010 20:21:09 +0000 (22:21 +0200)]
video: cfb_console: add weak default video_set_lut()
Do not enforce drivers to provide empty video_set_lut()
if they do not implement indexed color (8 bpp) frame
buffer support. Add default function to the cfb_console
driver and remove empty video_set_lut() functions.
Signed-off-by: Anatolij Gustschin <agust@denx.de>
Wolfgang Denk [Thu, 27 May 2010 21:18:36 +0000 (23:18 +0200)]
Makefile/mkconfig: read simple board configurations from boards.cfg
Instead of adding explicit build rules for each and every board to the
top level Makefile (which makes it grow and grow), we now provide a
simple default rule and extend the "mkconfig" script to read board
configurations from a plain text file (table), "boards.cfg".
For simple boards it is now sufficient to add a single line of text to
the "boards.cfg" file, no changes to the top level Makefile are needed
any more.
To make the table better readable, change the notation for unused
fields from "NULL" into "-".
Signed-off-by: Wolfgang Denk <wd@denx.de>
Cc: Peter Tyser <ptyser@xes-inc.com>
Cc: Mike Frysinger <vapier@gentoo.org>
Wolfgang Denk [Thu, 27 May 2010 21:18:35 +0000 (23:18 +0200)]
Makefile: simplify handling of common board configurations
Many boards don't need any special handling in the Makefile. Try and
provide as generic make rules for these as possible. There are still
many areas where this does not work out really well, but the changes
show the direction we should take, and point out which boards or
architectures need further cleanup.
Signed-off-by: Wolfgang Denk <wd@denx.de>
Wolfgang Denk [Thu, 27 May 2010 21:18:34 +0000 (23:18 +0200)]
Makefile: simplify handling of build target names
Instead of stripping the "_config" part from the make target names in
each call of the "mkconfig" script let this script strip the string.
This prepares the ground for forther simplification of the top level
Makefile.
Signed-off-by: Wolfgang Denk <wd@denx.de>
Wolfgang Denk [Thu, 27 May 2010 21:18:33 +0000 (23:18 +0200)]
Fix printing of make targets, simplify Makefile
Make printing the "board names" more useful. So far, we would get
output like this;
$ ./MAKEALL P2020RDB P2020RDB_NAND P2020RDB_SDCARD P2020RDB_SPIFLASH
Configuring for P1_P2_RDB board...
text data bss dec hex filename
342612 32656 265212 640480 9c5e0 /work/wd/tmp-ppc/u-boot
Configuring for P1_P2_RDB board...
text data bss dec hex filename
343160 32704 265212 641076 9c834 /work/wd/tmp-ppc/u-boot
Configuring for P1_P2_RDB board...
text data bss dec hex filename
341908 32620 265212 639740 9c2fc /work/wd/tmp-ppc/u-boot
Configuring for P1_P2_RDB board...
text data bss dec hex filename
341908 32620 265212 639740 9c2fc /work/wd/tmp-ppc/u-boot
For all build targets the same board name would be printed, which
makes is often pretty difficult to find out which exact build target
caused problems. With this commit, the real make target name gets
printed instead, which is way more useful:
$ ./MAKEALL P2020RDB P2020RDB_NAND P2020RDB_SDCARD P2020RDB_SPIFLASH
Configuring for P2020RDB board...
text data bss dec hex filename
342612 32656 265212 640480 9c5e0 /work/wd/tmp-ppc/u-boot
Configuring for P2020RDB_NAND board...
text data bss dec hex filename
343160 32704 265212 641076 9c834 /work/wd/tmp-ppc/u-boot
Configuring for P2020RDB_SDCARD board...
text data bss dec hex filename
341908 32620 265212 639740 9c2fc /work/wd/tmp-ppc/u-boot
Configuring for P2020RDB_SPIFLASH board...
text data bss dec hex filename
341908 32620 265212 639740 9c2fc /work/wd/tmp-ppc/u-boot
Signed-off-by: Wolfgang Denk <wd@denx.de>
Acked-by: Detlev Zundel <dzu@denx.de>
Tested-by: Thomas Chou <thomas@wytron.com.tw>
Wolfgang Denk [Sun, 13 Jun 2010 15:48:15 +0000 (17:48 +0200)]
Prepare v2010-rc2
Signed-off-by: Wolfgang Denk <wd@denx.de>
Marek Vasut [Fri, 16 Apr 2010 22:35:52 +0000 (00:35 +0200)]
PXA: Add missing MDREFR bits
Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
Marek Vasut [Fri, 16 Apr 2010 20:25:14 +0000 (22:25 +0200)]
PXA: Add UP2OCR register bit definitions
This register is used on PXA to control the USB Port2 operation (USB Port2 is
the host port).
Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
Marek Vasut [Tue, 13 Oct 2009 22:25:33 +0000 (00:25 +0200)]
PXA: PXAMMC: Add Monahans support
This patch enables PXAMCI support on PXA3xx CPUs. This patch only enables MMC1
though, MMC2 and PXA31x MMC3 will need further patch to be operational.
Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
Marek Vasut [Mon, 5 Apr 2010 00:28:14 +0000 (02:28 +0200)]
PXA: PXAMMC: Drop different delays for PXA27X
In case the delays were set to 10000, the MMC card on PXA27X boards (and PXA3xx
boards) didn't initialize on first try. Increasing the delays and leaving just
those for PXA25x and 26x (that is 200000) fixes this problem.
Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
Marek Vasut [Sun, 11 Apr 2010 06:53:55 +0000 (08:53 +0200)]
PXA: Align stack to 8 bytes
Part of this patch is by: Mikhail Kshevetskiy.
Stack must be aligned to 8 bytes on PXA (possibly all armv5te) for LDRD/STRD
instructions. In case LDRD/STRD is issued on an unaligned address, the behaviour
is undefined.
The issue was observed when working with the NAND code, which was rendered
disfunctional. Also, the vsprintf() function had serious problems with printing
64bit wide long longs. After aligning the stack, this wrong behaviour is no
longer present.
Tested on:
Marvell Littleton PXA310 board
Toradex Colibri PXA320 board
Aeronix Zipit Z2 PXA270 handheld
Voipac PXA270 board
Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
Sudhakar Rajashekhara [Thu, 10 Jun 2010 09:48:15 +0000 (15:18 +0530)]
TI: DaVinci: Add board specific code for da850 EVM
Provides initial support for TI OMAP-L138/DA850 SoC devices on
a Logic PD EVM board.
Provides:
Initial boot and configuration.
Support for i2c.
UART support (console).
Signed-off-by: Sudhakar Rajashekhara <sudhakar.raj@ti.com>
Acked-by: Ben Gardiner <bengardiner@nanometrics.ca>
Reviewed-by: Wolfgang Denk <wd@denx.de>
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
Sudhakar Rajashekhara [Tue, 8 Jun 2010 05:31:58 +0000 (11:01 +0530)]
TI: DaVinci: Prepare for da850 support
DA850/OMAP-L138 is a new SoC from Texas Instruments
(http://focus.ti.com/docs/prod/folders/print/omap-l138.html).
This SoC is similar to DA830/OMAP-L137 in many aspects. Hence
rename the da830 specific files and folders to da8xx to
accommodate DA850/OMAP-L138.
Signed-off-by: Sudhakar Rajashekhara <sudhakar.raj@ti.com>
Acked-by: Ben Gardiner <bengardiner@nanometrics.ca>
Reviewed-by: Wolfgang Denk <wd@denx.de>
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
Sudhakar Rajashekhara [Mon, 7 Jun 2010 07:09:59 +0000 (12:39 +0530)]
da830: Move common code out of da830evm.c file
TI's DA850/OMAP-L138 platform is similar to DA830/OMAP-L137
in many aspects. So instead of repeating the same code in
multiple files, move the common code to a different file
and call those functions from the respective da830/da850
files.
Signed-off-by: Sudhakar Rajashekhara <sudhakar.raj@ti.com>
Acked-by: Nick Thompson <nick.thompson@ge.com>
Acked-by: Ben Gardiner <bengardiner@nanometrics.ca>
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
Grazvydas Ignotas [Tue, 8 Jun 2010 21:19:22 +0000 (17:19 -0400)]
OMAP3: pandora: enable battery backup capacitor
Pandora has a capacitor connected as backup battery, which allows
retaining RTC for some time while main battery is removed. Enable backup
battery charge function to charge that capacitor.
Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
Delio Brignoli [Mon, 7 Jun 2010 21:16:13 +0000 (17:16 -0400)]
DaVinci: Improve DaVinci SPI speed.
I have updated this patch based on the comments [1] by Wolfgang Denk and
removed unused variables.
[1][http://lists.denx.de/pipermail/u-boot/2010-May/071728.html]
Reduce the number of reads per byte transferred on the BUF register from 2 to 1 and
take advantage of the TX buffer in the SPI module. On LogicPD OMAP-L138 EVM,
SPI read throughput goes up from ~0.8Mbyte/s to ~1.3Mbyte/s. Tested with a 2Mbyte image file.
Remove unused variables in the spi_xfer() function.
Signed-off-by: Delio Brignoli <dbrignoli@audioscience.com>
Tested-by: Ben Gardiner <bengardiner@nanometrics.ca>
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
Vaibhav Hiremath [Mon, 7 Jun 2010 19:20:53 +0000 (15:20 -0400)]
AM35x: Add support for EMIF4
This patch adds support for the EMIF4 interface
available in the AM35x processors.
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Sanjeev Premi <premi@ti.com>
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
Vaibhav Hiremath [Mon, 7 Jun 2010 19:20:43 +0000 (15:20 -0400)]
AM35x: Add support for AM3517EVM
This patch adds basic support for the AM3517EVM.
It includes:
- Board files (.c and .h)
- Default configuration file
- Updates for Makefile
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Sanjeev Premi <premi@ti.com>
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
Vaibhav Hiremath [Mon, 7 Jun 2010 19:20:34 +0000 (15:20 -0400)]
omap3: Consolidate SDRC related operations
Consolidated SDRC related functions into one file - sdrc.c
And also replaced sdrc_init with generic memory init
function (mem_init), this generalization of omap memory setup
is necessary to support the new emif4 interface introduced in AM3517.
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
Vaibhav Hiremath [Mon, 7 Jun 2010 19:20:29 +0000 (15:20 -0400)]
omap3: Calculate CS1 size only when SDRC is
initialized for CS1
From: Vaibhav Hiremath <hvaibhav@ti.com>
The patch makes sure that size for SDRC CS1 gets calculated
only when the CS1 SDRC is initialized.
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
Vaibhav Hiremath [Mon, 7 Jun 2010 19:20:19 +0000 (15:20 -0400)]
OMAP3EVM: Added NAND support
The EVMS have been shipping with NAND (instead of OneNAND) as default.
So, this patch sets NAND as default.
To choose OneNAND, define CMD_ONENAND instead of CMD_NAND in the
config file omap3_evm.h.
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
Cyril Chemparathy [Mon, 7 Jun 2010 18:13:36 +0000 (14:13 -0400)]
TI: TNETV107X EVM initial support
TNETV107X is a Texas Instruments SoC based on an ARM1176 core, and with a
bunch on on-chip integrated peripherals. This patch adds support for the
TNETV107X EVM board.
Signed-off-by: Cyril Chemparathy <cyril@ti.com>
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
Cyril Chemparathy [Mon, 7 Jun 2010 18:13:32 +0000 (14:13 -0400)]
ARM1176: TI: TNETV107X soc initial support
TNETV107X is a Texas Instruments SoC based on an ARM1176 core, and with a
bunch on on-chip integrated peripherals. This is an initial commit with
basic functionality, more commits with drivers, etc. to follow.
Signed-off-by: Cyril Chemparathy <cyril@ti.com>
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
Cyril Chemparathy [Mon, 7 Jun 2010 18:13:27 +0000 (14:13 -0400)]
ARM1176: Coexist with other ARM1176 platforms
The current ARM1176 CPU specific code is too specific to the SMDK6400
architecture. The following changes were necessary prerequisites for the
addition of other SoCs based on ARM1176.
Existing board's (SMDK6400) configuration has been modified to keep behavior
unchanged despite these changes.
1. Peripheral port remap configurability
The earlier code had hardcoded remap values specific to s3c64xx in start.S.
This change makes the peripheral port remap addresses and sizes configurable.
2. U-Boot code relocation support
Most architectures allow u-boot code to run initially at a different
address (possibly in NOR) and then get relocated to its final resting place
in RAM. Added support for this capability in ARM1176 architecture.
3. Disable TCM if necessary
If a ROM based bootloader happened to have initialized TCM, we disable it here
to keep things sane.
4. Remove unnecessary SoC specific includes
ARM1176 code does not really need this SoC specific include. The presence
of this include prevents builds on other ARM1176 archs.
5. Modified virt-to-phys conversion during MMU disable
The original MMU disable code masks out too many bits from the load address
when it tries to figure out the physical address of the jump target label.
Consequently, it ends up branching to the wrong address after disabling the
MMU.
Signed-off-by: Cyril Chemparathy <cyril@ti.com>
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
Delio Brignoli [Mon, 7 Jun 2010 21:16:13 +0000 (17:16 -0400)]
DaVinci: Improve DaVinci SPI speed.
I have updated this patch based on the comments [1] by Wolfgang Denk and
removed unused variables.
[1][http://lists.denx.de/pipermail/u-boot/2010-May/071728.html]
Reduce the number of reads per byte transferred on the BUF register from 2 to 1 and
take advantage of the TX buffer in the SPI module. On LogicPD OMAP-L138 EVM,
SPI read throughput goes up from ~0.8Mbyte/s to ~1.3Mbyte/s. Tested with a 2Mbyte image file.
Remove unused variables in the spi_xfer() function.
Signed-off-by: Delio Brignoli <dbrignoli@audioscience.com>
Tested-by: Ben Gardiner <bengardiner@nanometrics.ca>
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
Vaibhav Hiremath [Mon, 7 Jun 2010 19:20:53 +0000 (15:20 -0400)]
AM35x: Add support for EMIF4
This patch adds support for the EMIF4 interface
available in the AM35x processors.
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Sanjeev Premi <premi@ti.com>
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
Vaibhav Hiremath [Mon, 7 Jun 2010 19:20:43 +0000 (15:20 -0400)]
AM35x: Add support for AM3517EVM
This patch adds basic support for the AM3517EVM.
It includes:
- Board files (.c and .h)
- Default configuration file
- Updates for Makefile
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Sanjeev Premi <premi@ti.com>
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
Vaibhav Hiremath [Mon, 7 Jun 2010 19:20:34 +0000 (15:20 -0400)]
omap3: Consolidate SDRC related operations
Consolidated SDRC related functions into one file - sdrc.c
And also replaced sdrc_init with generic memory init
function (mem_init), this generalization of omap memory setup
is necessary to support the new emif4 interface introduced in AM3517.
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
Vaibhav Hiremath [Mon, 7 Jun 2010 19:20:29 +0000 (15:20 -0400)]
omap3: Calculate CS1 size only when SDRC is
initialized for CS1
From: Vaibhav Hiremath <hvaibhav@ti.com>
The patch makes sure that size for SDRC CS1 gets calculated
only when the CS1 SDRC is initialized.
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
Vaibhav Hiremath [Mon, 7 Jun 2010 19:20:19 +0000 (15:20 -0400)]
OMAP3EVM: Added NAND support
The EVMS have been shipping with NAND (instead of OneNAND) as default.
So, this patch sets NAND as default.
To choose OneNAND, define CMD_ONENAND instead of CMD_NAND in the
config file omap3_evm.h.
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
Cyril Chemparathy [Mon, 7 Jun 2010 18:13:36 +0000 (14:13 -0400)]
TI: TNETV107X EVM initial support
TNETV107X is a Texas Instruments SoC based on an ARM1176 core, and with a
bunch on on-chip integrated peripherals. This patch adds support for the
TNETV107X EVM board.
Signed-off-by: Cyril Chemparathy <cyril@ti.com>
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
Cyril Chemparathy [Mon, 7 Jun 2010 18:13:32 +0000 (14:13 -0400)]
ARM1176: TI: TNETV107X soc initial support
TNETV107X is a Texas Instruments SoC based on an ARM1176 core, and with a
bunch on on-chip integrated peripherals. This is an initial commit with
basic functionality, more commits with drivers, etc. to follow.
Signed-off-by: Cyril Chemparathy <cyril@ti.com>
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
Cyril Chemparathy [Mon, 7 Jun 2010 18:13:27 +0000 (14:13 -0400)]
ARM1176: Coexist with other ARM1176 platforms
The current ARM1176 CPU specific code is too specific to the SMDK6400
architecture. The following changes were necessary prerequisites for the
addition of other SoCs based on ARM1176.
Existing board's (SMDK6400) configuration has been modified to keep behavior
unchanged despite these changes.
1. Peripheral port remap configurability
The earlier code had hardcoded remap values specific to s3c64xx in start.S.
This change makes the peripheral port remap addresses and sizes configurable.
2. U-Boot code relocation support
Most architectures allow u-boot code to run initially at a different
address (possibly in NOR) and then get relocated to its final resting place
in RAM. Added support for this capability in ARM1176 architecture.
3. Disable TCM if necessary
If a ROM based bootloader happened to have initialized TCM, we disable it here
to keep things sane.
4. Remove unnecessary SoC specific includes
ARM1176 code does not really need this SoC specific include. The presence
of this include prevents builds on other ARM1176 archs.
5. Modified virt-to-phys conversion during MMU disable
The original MMU disable code masks out too many bits from the load address
when it tries to figure out the physical address of the jump target label.
Consequently, it ends up branching to the wrong address after disabling the
MMU.
Signed-off-by: Cyril Chemparathy <cyril@ti.com>
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
Asen Dimov [Tue, 20 Apr 2010 19:49:04 +0000 (22:49 +0300)]
add new board pm9g45
Add the new board PM9G45 from Ronetix GmbH.
* AT91SAM9G45 MCU at 400Mhz.
* 128MB DDR2 SDRAM
* 256MB NAND
* 10/100 MBits Ethernet DP83848
* Serial number chip DS2401
The board is made as SODIMM200 module.
For more info www.ronatix.at or info@ronetix.at.
Signed-off-by: Asen Dimov <dimov@ronetix.at>
Ron Madrid [Wed, 2 Jun 2010 00:00:49 +0000 (17:00 -0700)]
Update SICRL_USBDR to reflect 4 different settings
This patch changed the SICRL_USBDR define to reflect the 4 different bit
settings for this two-bit field. The four different options are '00', '01',
'10', and '11'. This patch also corrects the config file for SIMPC8313 and
MPC8313ERDB for the appropriate fields. This change only affects the MPC8313
cpu.
Signed-off-by: Ron Madrid <ron_madrid@sbcglobal.net>
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
George G. Davis [Tue, 11 May 2010 14:15:36 +0000 (10:15 -0400)]
ARM1136: Fix cache_flush() error and correct cpu_init_crit() comments
The ARM1136 cache_flush() function uses the "mcr p15, 0, rn, c7, c7, 0"
instruction which means "Invalidate Both Caches" when in fact the intent
is to clean and invalidate all caches. So add an "mcr p15, 0, %0, c7,
c10, 0" instruction to "Clean Entire Data Cache" prior to the "Invalidate
Both Caches" instruction to insure that memory is consistent with any
dirty cache lines.
Also fix a couple of "flush v*" comments in ARM1136 cpu_init_crit() so
that they correctly describe the actual ARM1136 CP15 C7 Cache Operations
used.
Signed-off-by: George G. Davis <gdavis@mvista.com>
Wolfgang Denk [Sun, 30 May 2010 19:44:07 +0000 (21:44 +0200)]
Merge branch 'master' of git://git.denx.de/u-boot-mpc85xx
Wolfgang Denk [Sun, 30 May 2010 19:43:05 +0000 (21:43 +0200)]
Merge branch 'master' of git://git.denx.de/u-boot-arm
Kim Phillips [Fri, 23 Apr 2010 17:20:11 +0000 (12:20 -0500)]
fdt_support: add entry for sec3.1 and fix sec3.3
Add sec3.1 h/w geometry for fdt node fixups.
Also, technically, whilst SEC v3.3 h/w honours the tls_ssl_stream descriptor
type, it lacks the ARC4 algorithm execution unit required to be able
to execute anything meaningful with it. Change the node to agree with
the documentation that declares that the sec3.3 really doesn't have such
a descriptor type.
Reported-by: Haiying Wang <Haiying.Wang@freescale.com>
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Timur Tabi [Thu, 20 May 2010 16:16:16 +0000 (11:16 -0500)]
fsl: rename 'dma' to 'brdcfg1' in the ngPIXIS structure
The ngPIXIS is a board-specific FPGA, but the definition of the registers
is mostly consistent. On boards where it matter, register 9 is called
'brdcfg1' instead of 'dma', so rename the variable in the ngpixis_t
definition.
Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Timur Tabi [Thu, 20 May 2010 17:45:39 +0000 (12:45 -0500)]
fsl/85xx: add clkdvdr and pmuxcr2 to global utilities structure definition
Add the 'clkdvdr' and 'pmuxcr2' registers to the 85xx definition of
struct ccsr_gur.
Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Wolfgang Denk [Fri, 28 May 2010 18:34:39 +0000 (20:34 +0200)]
Merge branch 'next' of git://git.denx.de/u-boot-nios
Tom [Fri, 28 May 2010 18:23:16 +0000 (13:23 -0500)]
ARM Update mach-types
Fetched from http://www.arm.linux.org.uk/developer/machines/download.php
And built with
repo http://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-2.6-arm
commit
3defb2476166445982a90c12d33f8947e75476c4
Signed-off-by: Tom <Tom@bumblecow.com>
Wolfgang Denk [Fri, 28 May 2010 17:49:12 +0000 (19:49 +0200)]
Merge branch 'master' of git://git.denx.de/u-boot-coldfire
Wolfgang Denk [Fri, 28 May 2010 17:47:15 +0000 (19:47 +0200)]
Merge branch 'master' of git://git.denx.de/u-boot-usb
Tom [Sun, 9 May 2010 21:58:11 +0000 (16:58 -0500)]
ARM Update mach-types
Fetched from http://www.arm.linux.org.uk/developer/machines/download.php
And built with
repo http://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-2.6-arm
commit
257dab81413b31b8648becfe11586b3a41e5c29a
Signed-off-by: Tom <Tom@bumblecow.com>
Thomas Chou [Fri, 28 May 2010 02:56:50 +0000 (10:56 +0800)]
nios: remove nios-32 arch
The nios-32 arch is obsolete and broken. So it is removed.
Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Thomas Chou [Fri, 21 May 2010 03:08:02 +0000 (11:08 +0800)]
nios2: allow STANDALONE_LOAD_ADDR overriding
This patch allows users to override default STANDALONE_LOAD_ADDR.
The gcclibdir path was duplicated in the standalone Makefile and
can be removed.
Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Signed-off-by: Scott McNutt <smcnutt@psyent.com>
Thomas Chou [Fri, 14 May 2010 22:00:05 +0000 (06:00 +0800)]
nios2: fix div64 issue for gcc4
This patch fixes the run-time error on div64 when built with
gcc4, which was reported by jhwu0625 on nios forum. It merges
math support from libgcc of gcc4. This patch is copied from
nios2-linux.
It works with both gcc3 and gcc4. The old mult.c, divmod.c and
math.h are removed.
Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Signed-off-by: Scott McNutt <smcnutt@psyent.com>
Thomas Chou [Fri, 21 May 2010 03:08:03 +0000 (11:08 +0800)]
nios2: fix r15 issue for gcc4
The "-ffixed-r15" option doesn't work well for gcc4. Since we
don't use gp for small data with option "-G0", we can use gp
as global data pointer. This allows compiler to use r15. It
is necessary for gcc4 to work properly.
Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Signed-off-by: Scott McNutt <smcnutt@psyent.com>
Thomas Chou [Fri, 30 Apr 2010 03:34:16 +0000 (11:34 +0800)]
spi: add altera spi controller support
This patch adds the driver of altera spi controller, which is
used as epcs/spi flash controller. It also works with mmc_spi
driver.
This driver support more than one spi bus, with base list declared
#define CONFIG_SYS_ALTERA_SPI_LIST { BASE_0,BASE_1,... }
Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Tested-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Scott McNutt <smcnutt@psyent.com>