project/bcm63xx/u-boot.git
14 years agoat91rm9200ek: enbable USB support
Andreas Bießmann [Mon, 18 Oct 2010 20:58:31 +0000 (22:58 +0200)]
at91rm9200ek: enbable USB support

This patch enables USB for at91rm9200ek board.

Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com>
Signed-off-by: Reinhard Meyer <u-boot@emk-elektronik.de>
14 years agoat91rm9200: enable USB support
Andreas Bießmann [Mon, 18 Oct 2010 20:58:30 +0000 (22:58 +0200)]
at91rm9200: enable USB support

This patch fixes arch-at91/hardware.h to have the relevant defines for
at91rm9200 devices to support existing at91 usb driver.

Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com>
Signed-off-by: Reinhard Meyer <u-boot@emk-elektronik.de>
14 years agoat91rm9200ek: convert to at91
Andreas Bießmann [Mon, 18 Oct 2010 20:58:29 +0000 (22:58 +0200)]
at91rm9200ek: convert to at91

This patch removes some functionality from at91rm9200ek board but the
remaining functionality does now work with newer at91 code and
arm-relocation.

Currently missing features are:
 - dataflash booting (due to missing HW for testing)
 - MMC/SD-Card
 - first stage bootloader support is completely removed (not needed for
   NOR)

Cause this board was (some days ago) reference for all at91rm9200 based
boards this should be a good starting point to convert all remaining
at91rm9200 borads to at91 code. Aside from that this is a good base to
get some drivers between at91sam/at91rm/avr32 merged.

Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com>
Signed-off-by: Reinhard Meyer <u-boot@emk-elektronik.de>
14 years agodlmalloc.c: Fix gcc alias warning
Joakim Tjernlund [Thu, 14 Oct 2010 06:51:34 +0000 (08:51 +0200)]
dlmalloc.c: Fix gcc alias warning

Fix these warnings:
dlmalloc.c: In function 'free':
dlmalloc.c:2507: warning: dereferencing pointer '({anonymous})' does break strict-aliasing rules
dlmalloc.c:2507: warning: dereferencing pointer '({anonymous})' does break strict-aliasing rules
dlmalloc.c:2507: warning: dereferencing pointer '({anonymous})' does break strict-aliasing rules

Some page(http://blog.worldofcoding.com/2010/02/solving-gcc-44-strict-aliasing-problems.html)
suggests adding __attribute__((__may_alias__)). Doing so makes the warnings go away.

Signed-off-by: Joakim Tjernlund <Joakim.Tjernlund@transmode.se>
Acked-by: Mike Frysinger <vapier@gentoo.org>
14 years agopowerpc: do not fixup NULL ptrs
Joakim Tjernlund [Thu, 14 Oct 2010 09:51:44 +0000 (11:51 +0200)]
powerpc: do not fixup NULL ptrs

The fixup routine must not fixup NULL pointers.
Problem can be seen by
 char *testfun(void) __attribute__((weak));
 char *(*myfun)(void) = testfun;

Then add
  printf("myfun:%p, &myfun:%p\n", myfun, &myfun);
before relocation and after relocation.
myfun should be NULL in both cases but it is not.

Signed-off-by: Joakim Tjernlund <Joakim.Tjernlund@transmode.se>
14 years agopowerpc: Cleanup BOOTFLAG_* references
Peter Tyser [Fri, 15 Oct 2010 04:33:24 +0000 (23:33 -0500)]
powerpc: Cleanup BOOTFLAG_* references

Now that warm booting is not supported, there isn't a need for the
BOOTFLAG_COLD and BOOTFLAG_WARM defines, so remove them.

Note that this change makes the board info bd_bootflags field useless.
It will always be set to 0, but we leave it around so that we don't
break the board info structure that some OSes are expecting to be passed
from U-Boot.

Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
14 years agoMPC5121: Add USB EHCI support
Damien Dusha [Thu, 14 Oct 2010 13:27:06 +0000 (15:27 +0200)]
MPC5121: Add USB EHCI support

Signed-off-by: Francesco Rendine <francesco.rendine@valueteam.com>
Signed-off-by: Damien Dusha <d.dusha@gmail.com>
Signed-off-by: Anatolij Gustschin <agust@denx.de>
Coding style cleanup; slight file restructuring.
Signed-off-by: Wolfgang Denk <wd@denx.de>
Acked-by: Remy Bohmer <linux@bohmer.net>
14 years agoMerge branch 'master' of /home/wd/git/u-boot/master/
Wolfgang Denk [Mon, 18 Oct 2010 20:29:40 +0000 (22:29 +0200)]
Merge branch 'master' of /home/wd/git/u-boot/master/

14 years agoMAINTAINERS: Fix alphabetical order in ARM subsection
Enric Balletbo i Serra [Mon, 18 Oct 2010 17:38:34 +0000 (19:38 +0200)]
MAINTAINERS: Fix alphabetical order in ARM subsection

I'm noticed that IGEP maintainer isn't in the correct place within
the ARM subsection: it's supposed to be in alphabetical order by
maintainer. This patch fix this.

Signed-off-by: Enric Balletbo i Serra <eballetbo@iseebcn.com>
14 years agoMerge branch 'master' of git://git.denx.de/u-boot-nand-flash
Wolfgang Denk [Mon, 18 Oct 2010 20:23:36 +0000 (22:23 +0200)]
Merge branch 'master' of git://git.denx.de/u-boot-nand-flash

14 years agoconfig.mk cleanup: drop "-I$(TOPDIR)/board" entries
Wolfgang Denk [Sun, 17 Oct 2010 15:31:59 +0000 (17:31 +0200)]
config.mk cleanup: drop "-I$(TOPDIR)/board" entries

After the recent cleanups, a number of config.mk files consist only of
a "PLATFORM_CPPFLAGS += -I$(TOPDIR)/board" entry whih is not needed.
Remove such entries.  In most cases, that means that the whole
config.mk file can be removed.

Signed-off-by: Wolfgang Denk <wd@denx.de>
14 years agoMAKEALL: allow additional board selections
Wolfgang Denk [Sun, 17 Oct 2010 10:26:48 +0000 (12:26 +0200)]
MAKEALL: allow additional board selections

Add command line handling to select boards to be built by
architecture, CPU family, vendor or SoC name.

Signed-off-by: Wolfgang Denk <wd@denx.de>
14 years agoMakefile: move all Power Architecture boards into boards.cfg
Wolfgang Denk [Wed, 6 Oct 2010 07:05:45 +0000 (09:05 +0200)]
Makefile: move all Power Architecture boards into boards.cfg

Clean up Makefile, and drop a lot of the config.mk files on the way.

We now also automatically pick all boards that are listed in
boards.cfg (and with all configurations), so we can drop the redundant
entries from MAKEALL to avoid building these twice.

Signed-off-by: Wolfgang Denk <wd@denx.de>
14 years agoautoconfig.mk: avoid apostophes around hex values
Wolfgang Denk [Sat, 16 Oct 2010 21:50:51 +0000 (23:50 +0200)]
autoconfig.mk: avoid apostophes around hex values

When generating include/autoconfig.mk, hex numbers would be quoted.
This caused some false positives during automatic testing of the
builds, and is known to cause some real issues for some Blackfin
configurations. Don't use apostophes for decimal and hex numbers (nor
for octal numbers).

Signed-off-by: Wolfgang Denk <wd@denx.de>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
14 years agoRename TEXT_BASE into CONFIG_SYS_TEXT_BASE
Wolfgang Denk [Thu, 7 Oct 2010 19:51:12 +0000 (21:51 +0200)]
Rename TEXT_BASE into CONFIG_SYS_TEXT_BASE

The change is currently needed to be able to remove the board
configuration scripting from the top level Makefile and replace it by
a simple, table driven script.

Moving this configuration setting into the "CONFIG_*" name space is
also desirable because it is needed if we ever should move forward to
a Kconfig driven configuration system.

Signed-off-by: Wolfgang Denk <wd@denx.de>
14 years agomkconfig: change CONFIG_MK_ prefix into plain CONFIG_
Wolfgang Denk [Mon, 4 Oct 2010 17:58:00 +0000 (19:58 +0200)]
mkconfig: change CONFIG_MK_ prefix into plain CONFIG_

When planning for more generalization and Makefile cleanup it became
obvious that the introduction of a separate CONFIG_MK_ name space for
config options that were set through scripting in the Makefile was
not a good idea.

Originally the idea was to provide a script-free approach to supply
configuration options - there was no real need for a separate name
space. But when we now convert the existing Makefile entries to make
use of this approach, it would mean that we have to touch a large
number of board config files and add #ifdef / #define sequences to
"convert" from the CONFIG_MK_ to the CONFIG_ name space.

It seems much cleaner to get rid of this somewhat arbitrary _MK
string now for the few boards that actually use it.

Signed-off-by: Wolfgang Denk <wd@denx.de>
Acked-by: Mike Frysinger <vapier@gentoo.org>
14 years agoBuild: Add "board options" column to boards.cfg
Marek Vasut [Sun, 3 Oct 2010 22:34:17 +0000 (00:34 +0200)]
Build: Add "board options" column to boards.cfg

There are some boards where it's currently not possible to detect all
board information at runtime, therefore a new column was added to
boards.cfg .

This column can contain multiple options: a board configuration name,
optionally followed by a colon (':') and a list of options, which are
separated by comma (',').

In case of simple options like '256M_U_BOOT', these expand to
"#define CONFIG_MK_256M_U_BOOT 1" in config.h . In case of
assignments like 'RAM=8192', these expand to "#define CONFIG_MK_RAM
8192" in config.h .

Example:

FOO:HAS_BAR,BAZ=64

means:
- the name of the board config file is include/configs/FOO.h
- the generated file include/config.h will contain these
  lines:

#define CONFIG_HAS_BAR  1
#define CONFIG_BAZ  64

Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
[wd@denx.de: edited commit message; added code to deal with an
optional board configuration name]

Signed-off-by: Wolfgang Denk <wd@denx.de>
14 years agoMakefile: clean MatrixVision builds
Wolfgang Denk [Sat, 16 Oct 2010 16:24:16 +0000 (18:24 +0200)]
Makefile: clean MatrixVision builds

"make clean" after builds of MatrixVision boards would leave stale
files around:

board/matrix_vision/mvblm7/bootscript.img
board/matrix_vision/mvsmr/bootscript.img

Fix this.

Signed-off-by: Wolfgang Denk <wd@denx.de>
14 years agoFix warning in nand unlock command
Scott Wood [Wed, 13 Oct 2010 16:04:30 +0000 (11:04 -0500)]
Fix warning in nand unlock command

Commit ea533c260a801c4e51f92f75165cebe6d7b01e35 changed
arg_off_size to take a pointer to a device index, rather than
to the device itself.  When updating callers, the nand unlock
code was missed.

Signed-off-by: Scott Wood <scottwood@freescale.com>
14 years agompc83xx: fix 837x MDS PCI HOST build
Kim Phillips [Thu, 30 Sep 2010 18:40:34 +0000 (13:40 -0500)]
mpc83xx: fix 837x MDS PCI HOST build

commit 6aa3d3bfaa986f1aff5e21a9b9f68d087715b1a9
"83xx: Remove warmboot parameter from PCI init functions" missed
one mpc83xx_pcie_init callsite, causing this build error:

Configuring for MPC837XEMDS_HOST board...
pci.c: In function 'pci_init_board':
pci.c:141: error: too many arguments to function 'mpc83xx_pcie_init'

this patch extends the commit to include that callsite.

Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
14 years agoMPC832XEMDS: fix pci.c build warning
Wolfgang Denk [Sat, 16 Oct 2010 16:07:07 +0000 (18:07 +0200)]
MPC832XEMDS: fix pci.c build warning

Doubled use of DECLARE_GLOBAL_DATA_PTR caused compile warning:

pci.c:71: warning: register used for two global register variables

Signed-off-by: Wolfgang Denk <wd@denx.de>
Cc: Kim Phillips <kim.phillips@freescale.com>
14 years agologodl: remove code for yet another corpse
Wolfgang Denk [Tue, 5 Oct 2010 20:03:23 +0000 (22:03 +0200)]
logodl: remove code for yet another corpse

The logodl board has long been unmaintained and left broken.
As obviously nobody is interestedin that code any more, we may as well
remove it.

Signed-off-by: Wolfgang Denk <wd@denx.de>
Cc: August Hoeraendl <august.hoerandl@gmx.at>
Cc: Robert Schwebel <r.schwebel@pengutronix.de>
Cc: Marek Vasut <marek.vasut@gmail.com>
14 years agoschmoogie: fix build error due to removal of forceenv()
Wolfgang Denk [Tue, 5 Oct 2010 19:17:28 +0000 (21:17 +0200)]
schmoogie: fix build error due to removal of forceenv()

commit 6d014adf dropped support for the forceenv() function, but failed
to remove references to it from board/davinci/schmoogie/schmoogie.c

Replace forceenv() by setenv() and set CONFIG_ENV_OVERWRITE instead in
the board config file to allow overwriting the serial number.

Signed-off-by: Wolfgang Denk <wd@denx.de>
Cc: Sergey Kubushyn <ksi@koi8.net>
Acked-by: Sergey Kubushyn <ksi@koi8.net>
14 years agoFPGA: fix support for non-Lattice devices
Wolfgang Denk [Mon, 18 Oct 2010 19:32:14 +0000 (21:32 +0200)]
FPGA: fix support for non-Lattice devices

Commit 3b8ac464 "FPGA: add support for downloading Lattice bitstream"
added support for Lattice devices, but failed to add #ifdef's that are
needed when building for non-Lattice devices, which results in build
failures like these:

Configuring for GEN860T board...
drivers/fpga/libfpga.a(fpga.o): In function `fpga_dev_info':
/home/wd/git/u-boot/work/drivers/fpga/fpga.c:145: undefined reference to `lattice_info'
drivers/fpga/libfpga.a(fpga.o): In function `fpga_dump':
/home/wd/git/u-boot/work/drivers/fpga/fpga.c:269: undefined reference to `lattice_dump'
drivers/fpga/libfpga.a(fpga.o): In function `fpga_load':
/home/wd/git/u-boot/work/drivers/fpga/fpga.c:233: undefined reference to `lattice_load'
make: *** [u-boot] Error 1

Add the missing code.

Signed-off-by: Wolfgang Denk <wd@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
14 years agoMerge branch 'master' of git://git.denx.de/u-boot-arm
Wolfgang Denk [Sun, 17 Oct 2010 18:25:05 +0000 (20:25 +0200)]
Merge branch 'master' of git://git.denx.de/u-boot-arm

14 years agoda850evm: fix linux bootparam address
Ben Gardiner [Thu, 14 Oct 2010 21:26:32 +0000 (17:26 -0400)]
da850evm: fix linux bootparam address

This patch fixes the LINUX_BOOT_PARAM_ADDR define to be based off of
PHYS_SDRAM_1 instead of CONFIG_SYS_MEMTEST_START. On da830 they are the same
thing but on da850 the CONFIG_SYS_MEMSTART define is offset from the
PHYS_SDRAM_1 start.

Without this patch it is not possible to boot linux on da850 -- bootm hangs
at "Uncompressing Linux... done, booting the kernel."

Signed-off-by: Ben Gardiner <bengardiner@nanometrics.ca>
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
14 years agoda850evm: basic MII EMAC support
Ben Gardiner [Thu, 14 Oct 2010 21:26:29 +0000 (17:26 -0400)]
da850evm: basic MII EMAC support

The current da850evm support in u-boot/master omits any use of
the davinci EMAC. This patch adds basic support for the EMAC using
the MII PHY found on the baseboard of the EVM. The MAC address is
read from the environment variable 'ethadd'. Note that this is
different from the da850evm support in the u-boot omapl1 tree
where the MAC address is read from SPI flash.

Signed-off-by: Ben Gardiner <bengardiner@nanometrics.ca>
CC: Sandeep Paulraj <s-paulraj@ti.com>
CC: Sudhakar Rajashekhara <sudhakar.raj@ti.com>
CC: Ben Warren <biggerbadderben@gmail.com>
CC: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
14 years agoda850evm: add mtdpart and ubi commands with NAND support
Ben Gardiner [Thu, 14 Oct 2010 21:26:27 +0000 (17:26 -0400)]
da850evm: add mtdpart and ubi commands with NAND support

This patch enables also the mtdpart, ubi and ubifs commands when NAND support
is enabled.

Signed-off-by: Ben Gardiner<bengardiner@nanometrics.ca>
To: Sudhakar Rajashekhara <sudhakar.raj@ti.com>
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
14 years agoda850evm: setup NAND support under CONFIG_USE_NAND
Ben Gardiner [Thu, 14 Oct 2010 21:26:25 +0000 (17:26 -0400)]
da850evm: setup NAND support under CONFIG_USE_NAND

The current da850evm config is missing the pieces for NAND support that can be
found in Sandeep's u-boot-davinci tree [1].

This patch adds NAND support in the spirit of the support in the u-boot-davinci
tree where NAND support for the da850evm can be enabled by putting a single
'#define CONFIG_USE_NAND' at the top of the include/configs/da850evm.h file.

[1] http://arago-project.org/git/people/?p=sandeep/u-boot-davinci.git;a=tree

Signed-off-by: Ben Gardiner <bengardiner@nanometrics.ca>
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
14 years agoda850evm: setup the NAND flash timings
Ben Gardiner [Thu, 14 Oct 2010 21:26:22 +0000 (17:26 -0400)]
da850evm: setup the NAND flash timings

The default NAND flash timings are very conservative. This patch assigns the
timings reccomended in the recent linux kernel patch [1] from Sekhar Nori. The
speedup, as reported in that patch, is 5.3x for reads.

[1] http://www.spinics.net/lists/arm-kernel/msg100278.html

Signed-off-by: Ben Gardiner <bengardiner@nanometrics.ca>
CC: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
14 years agoda850evm : enable NAND even when not in NAND boot mode
Ben Gardiner [Thu, 14 Oct 2010 21:26:19 +0000 (17:26 -0400)]
da850evm : enable NAND even when not in NAND boot mode

There is currently no NAND pinmux enabled by the da850evm board setup code.
This is fine when booting from NAND since the early boot code (UBL) will setup
the pinmux; however, when the boot mode is any other setting NAND is unusable
when enabled in the config.

This patch adds a pinmux list for NAND and enables it when NAND is enabled in
the config. Tested by booting from SPI on the da850evm and verifying NAND
was usable.

Signed-off-by: Ben Gardiner <bengardiner@nanometrics.ca>
CC: Nick Thompson <nick.thompson@ge.com>
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
14 years agodavinci_nand, trivial : use symbolic ECC start command
Ben Gardiner [Thu, 14 Oct 2010 21:26:17 +0000 (17:26 -0400)]
davinci_nand, trivial : use symbolic ECC start command

The ECC calculations were started by writing 1 << 13 to the nand FCR register;
that value is also defined as DAVINCI_NANDFCR_4BIT_CALC_START in emif_defs.h.

This patch substitutes the macro DAVINCI_NANDFCR_4BIT_CALC_START for the
magic number '1 << 13'.

Signed-off-by: Ben Gardiner <bengardiner@nanometrics.ca>
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
14 years agoOMAP3: Add support for the OMAP3 IGEP module.
Enric Balletbo i Serra [Thu, 14 Oct 2010 20:57:39 +0000 (16:57 -0400)]
OMAP3: Add support for the OMAP3 IGEP module.

The IGEP module is a low-power, high performance production-ready
system-on-module (SOM) based on TI's OMAP3 family.The IGEP module
solution based upon TI OMAP3 provides a low-power/low-cost platform
for a variety of consumer/industrial/medical devices.

Signed-off-by: Enric Balletbo i Serra <eballetbo@gmail.com>
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
14 years agoOMAP3: Add support for the IGEP v2 board.
Enric Balletbo i Serra [Thu, 14 Oct 2010 20:54:59 +0000 (16:54 -0400)]
OMAP3: Add support for the IGEP v2 board.

The IGEP v2 board is a low-cost, fan-less and industrial temperature
range single board computer that unleashes laptop-like performance and
expandability without the bulk, expense, or noise of typical desktop
machines. Its architecture shares much in common with other OMAP3 boards.

Signed-off-by: Enric Balletbo i Serra <eballetbo@gmail.com>
Acked-by: Steve Sakoman <steve.sakoman@linaro.org>
Tested-by: Steve Sakoman <steve.sakoman@linaro.org>
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
14 years agoOMAP3: SDRC: Introduce Numonyx DDR type
Enric Balletbo i Serra [Thu, 14 Oct 2010 20:53:27 +0000 (16:53 -0400)]
OMAP3: SDRC: Introduce Numonyx DDR type

Introduce Numonyx DDR timings and provide CONFIG_OMAP3_NUMONYX_DDR
config options to allow for platform files to setup their timings.

Signed-off-by: Enric Balletbo i Serra <eballetbo@gmail.com>
Acked-by: Steve Sakoman <steve.sakoman@linaro.org>
Tested-by: Steve Sakoman <steve.sakoman@linaro.org>
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
14 years agoARMV7: OMAP4: Implement relocation for Panda and OMAP4430SDP
Steve Sakoman [Thu, 30 Sep 2010 03:59:51 +0000 (20:59 -0700)]
ARMV7: OMAP4: Implement relocation for Panda and OMAP4430SDP

This patch fixes the build breakage introduced by the recent relocation
changes for ARMV7

Signed-off-by: Steve Sakoman <steve@sakoman.com>
14 years agoARMV7: OMAP3: Fix bug in get_sdr_cs_offset()
Steve Sakoman [Fri, 1 Oct 2010 04:46:52 +0000 (21:46 -0700)]
ARMV7: OMAP3: Fix bug in get_sdr_cs_offset()

This patch fixes a typo in the routine to calculate the cs offset
based upon the contents of the SDRC cs_cfg register.  This function
mistakenly shifts the CS1STARTLOW field 17 bits right instead of
17 bits left.

This hasn't been an issue to date because all OMAP3 boards currently
are configured to have zeros in this field.

Reported-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Steve Sakoman <steve.sakoman@linaro.org>
14 years agoARMV7: OMAP3: Enable cache support on Overo
Steve Sakoman [Wed, 29 Sep 2010 20:58:34 +0000 (13:58 -0700)]
ARMV7: OMAP3: Enable cache support on Overo

Signed-off-by: Steve Sakoman <steve@sakoman.com>
14 years agoARMV7: OMAP3: Implement relocation for Overo
Steve Sakoman [Wed, 29 Sep 2010 20:54:19 +0000 (13:54 -0700)]
ARMV7: OMAP3: Implement relocation for Overo

This patch fixes the build breakage introduced by the recent relocation
changes for ARMV7

Signed-off-by: Steve Sakoman <steve@sakoman.com>
14 years agoARMV7: OMAP4: Enable saveenv to eMMC for SDP4430
Sukumar Ghorai [Tue, 14 Sep 2010 08:22:34 +0000 (13:52 +0530)]
ARMV7: OMAP4: Enable saveenv to eMMC for SDP4430

The SDP4430 does not have onboard NAND, it has eMMC on the second
MMC slot.  This patch adds support for saving the u-boot environment
to eMMC.

Signed-off-by: Aneesh V <aneesh@ti.com>
Signed-off-by: Sukumar Ghorai <s-ghorai@ti.com>
Tested-by: Steve Sakoman <steve@sakoman.com>
14 years agoARMV7: OMAP4: Use generic mmc driver on Overo
Steve Sakoman [Mon, 20 Sep 2010 04:21:07 +0000 (21:21 -0700)]
ARMV7: OMAP4: Use generic mmc driver on Overo

This patch switches from the legacy mmc driver to the new generic mmc driver

Signed-off-by: Steve Sakoman <steve@sakoman.com>
14 years agoARMV7: OMAP4: Use generic mmc driver on Beagle
Steve Sakoman [Mon, 20 Sep 2010 04:19:48 +0000 (21:19 -0700)]
ARMV7: OMAP4: Use generic mmc driver on Beagle

This patch switches from the legacy mmc driver to the new generic mmc driver

Signed-off-by: Steve Sakoman <steve@sakoman.com>
14 years agoARMV7: OMAP4: Use generic mmc driver on SDP4430
Sukumar Ghorai [Sun, 19 Sep 2010 03:59:54 +0000 (20:59 -0700)]
ARMV7: OMAP4: Use generic mmc driver on SDP4430

This patch switches from the legacy mmc driver to the new generic mmc driver

Signed-off-by: Sukumar Ghorai <s-ghorai@ti.com>
Tested-by: Steve Sakoman <steve@sakoman.com>
14 years agoARMV7: OMAP4: Use generic mmc driver on Panda
Sukumar Ghorai [Sun, 19 Sep 2010 03:56:18 +0000 (20:56 -0700)]
ARMV7: OMAP4: Use generic mmc driver on Panda

This patch switches from the legacy mmc driver to the new generic mmc driver

Signed-off-by: Sukumar Ghorai <s-ghorai@ti.com>
Tested-by: Steve Sakoman <steve@sakoman.com>
14 years agoARMV7: OMAP: Add new mmc driver compatible with CONFIG_GENERIC_MMC
Sukumar Ghorai [Sun, 19 Sep 2010 03:32:33 +0000 (20:32 -0700)]
ARMV7: OMAP: Add new mmc driver compatible with CONFIG_GENERIC_MMC

OMAP boards currently use a legacy mmc driver. This patch adds a new
mmc driver which will work with the generic mmc driver in u-boot.

This new driver will work with both OMAP3 and OMAP4 boards.

This patch does not remove the old driver.  It should remain in the
tree until all boards that use it switch to the new driver.

Signed-off-by: Sukumar Ghorai <s-ghorai@ti.com>
Tested-by: Steve Sakoman <steve@sakoman.com>
14 years agoMMC: Fix for capacity calculation on eMMC
Sukumar Ghorai [Mon, 20 Sep 2010 12:59:29 +0000 (18:29 +0530)]
MMC: Fix for capacity calculation on eMMC

  The current mmc driver returns erroneous capacity information for
  eMMC.  The capacity of eMMC devices is available only in the ext-CSD
  register.  This patch add code to read the ext-CDSD register and
  correctly calculate eMMC capacity.

Signed-off-by: Sukumar Ghorai <s-ghorai@ti.com>
Acked-by: Steve Sakoman <steve@sakoman.com>
14 years agoARMV7: OMAP: Use default vendor/product ID for USB gadget
Steve Sakoman [Mon, 27 Sep 2010 21:46:34 +0000 (14:46 -0700)]
ARMV7: OMAP: Use default vendor/product ID for USB gadget

TI hasn't reserved a USB Product ID for gadgets, so use the default
vendor and product ID to avoid confusion.

Signed-off-by: Steve Sakoman <steve@sakoman.com>
14 years agoMerge branch 'master' of git://git.denx.de/u-boot-imx
Wolfgang Denk [Sun, 17 Oct 2010 17:57:38 +0000 (19:57 +0200)]
Merge branch 'master' of git://git.denx.de/u-boot-imx

14 years agoBlackfin: workaround anomaly 05000440
Mike Frysinger [Thu, 14 Oct 2010 18:29:17 +0000 (14:29 -0400)]
Blackfin: workaround anomaly 05000440

We cannot rely on the syscontrol rom func to program PLL_DIV with anomaly
05000440 is in effect, so manually program the MMR when necessary.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
14 years agoBlackfin: update anomaly lists to latest sheets
Mike Frysinger [Thu, 14 Oct 2010 18:22:02 +0000 (14:22 -0400)]
Blackfin: update anomaly lists to latest sheets

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
14 years agomx51evk: add u-boot.imx to ALL target
Loic Minier [Wed, 13 Oct 2010 20:37:14 +0000 (14:37 -0600)]
mx51evk: add u-boot.imx to ALL target

Signed-off-by: Loic Minier <loic.minier@linaro.org>
CC: stefano babic <sbabic@denx.de>
14 years agoenv_mmc: fix cannot save env issue
Lei Wen [Wed, 13 Oct 2010 03:07:21 +0000 (11:07 +0800)]
env_mmc: fix cannot save env issue

The env change its implementation after this log, while env mmc
didn't change it immediately, which cause issue. Follow to the
new style to fix it.

commit ea882baf9c17cd142c99e3ff640d3ab01daa5cec
Author: Wolfgang Denk <wd@denx.de>
Date:   Sun Jun 20 23:33:59 2010 +0200

    New implementation for internal handling of environment variables.

Signed-off-by: Lei Wen <leiwen@marvell.com>
14 years agons16550: Add WATCHDOG_RESET to putc for short watchdog timeout boards
Stefan Roese [Tue, 12 Oct 2010 07:39:45 +0000 (09:39 +0200)]
ns16550: Add WATCHDOG_RESET to putc for short watchdog timeout boards

Call watchdog_reset() upon newline. This is done here in putc
since the environment code uses a single puts() to print the complete
envrironment upon "printenv". So we can't put this watchdog call
in puts().

This is needed for boards with a very short watchdog timeout, like the
lwmon5 with a 100ms timeout. Without this patch this board resets in the
commands with long outputs, like "printenv" or "fdt print".

Note that the image size is not increased with this patch when
CONFIG_HW_WATCHDOG or CONFIG_WATCHDOG are not defined since the compiler
optimizes this additional code away.

Signed-off-by: Stefan Roese <sr@denx.de>
Fix typo in comment.
Signed-off-by: Wolfgang Denk <wd@denx.de>
14 years agoenv_mmc: Fix crashing bug encountered after enabling ARM relocation
Steve Sakoman [Mon, 11 Oct 2010 12:51:39 +0000 (05:51 -0700)]
env_mmc: Fix crashing bug encountered after enabling ARM relocation

The crash was occuring in env_relocate because it was being called prior
to mmc_initialize.  This patch moves the MMC initialization earlier in
the init process.

This patch also cleans up the env_relocate_spec code in env_mmc.c

Signed-off-by: Steve Sakoman <steve.sakoman@linaro.org>
Acked-by: Stefano Babic <sbabic@denx.de>
14 years agoppc: Conditionally compile bat_rw.c
Peter Tyser [Fri, 8 Oct 2010 03:32:48 +0000 (22:32 -0500)]
ppc: Conditionally compile bat_rw.c

Only a few PPC boards actually use the common BAT manipulation
functions, so only compile it for them.

Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
14 years agoFix define for MPC5121 ADS board.
mark.vels@team-embedded.nl [Tue, 5 Oct 2010 15:46:19 +0000 (17:46 +0200)]
Fix define for MPC5121 ADS board.

Originally the Makefile defines CONFIG_ADS5121_REV2 when configuring
for board mpc5121ads_rev2. The config in include/configs/mpc5121ads.h
expects a define CONFIG_MPC5121ADS_REV2 for this.
Therefore there are two defines used but only 1 is defined.
This patch renames references to CONFIG_ADS5121_REV2 to CONFIG_MPC5121ADS_REV2
to have one common define.

This patch fixes faulty mem size detection caused by wrong config in
include/configs/mpc5121ads.h

Signed-off-by: Mark Vels <mark.vels@team-embedded.nl>
14 years agoMerge branch 'master' of git://git.denx.de/u-boot-arm
Wolfgang Denk [Wed, 13 Oct 2010 18:59:47 +0000 (20:59 +0200)]
Merge branch 'master' of git://git.denx.de/u-boot-arm

14 years agoMerge branch 'sf' of git://git.denx.de/u-boot-blackfin
Wolfgang Denk [Wed, 13 Oct 2010 18:58:51 +0000 (20:58 +0200)]
Merge branch 'sf' of git://git.denx.de/u-boot-blackfin

14 years agoMerge branch 'master' of git://git.denx.de/u-boot-usb
Wolfgang Denk [Wed, 13 Oct 2010 18:57:34 +0000 (20:57 +0200)]
Merge branch 'master' of git://git.denx.de/u-boot-usb

14 years agocommon/fdt_support.c: fix compile error
Matthew McClintock [Wed, 13 Oct 2010 11:39:26 +0000 (13:39 +0200)]
common/fdt_support.c: fix compile error

Fix build error introduced in beca5a5f5bf0d88125580e5e9c1730469cd50ab8

common/libcommon.a(fdt_support.o): In function `fdt_add_edid':
/local/hudson/jobs/mirrors-u-boot.git/workspace/common/fdt_support.c:1205: undefined reference to `fdt_increase_size'
make: *** [u-boot] Error 1

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Anatolij Gustschin <agust@denx.de>
14 years agoMX31: Add USB Host support to the QONG board
Stefano Babic [Tue, 5 Oct 2010 12:05:11 +0000 (14:05 +0200)]
MX31: Add USB Host support to the QONG board

Signed-off-by: Stefano Babic <sbabic@denx.de>
14 years agoMX31: Add support for MXC EHCI controller
Stefano Babic [Wed, 6 Oct 2010 07:00:01 +0000 (09:00 +0200)]
MX31: Add support for MXC EHCI controller

The patch adds the EHCI controller for the i.MX31 Soc.

Signed-off-by: Stefano Babic <sbabic@denx.de>
14 years agoMX31: add support for setting pin pads
Stefano Babic [Wed, 6 Oct 2010 06:59:26 +0000 (08:59 +0200)]
MX31: add support for setting pin pads

The patch adds a utility function and defines
to set the pad as it is done in linux.

Signed-off-by: Stefano Babic <sbabic@denx.de>
14 years agoMX31: Add support to update FPGA bitstream
Stefano Babic [Tue, 29 Jun 2010 09:48:24 +0000 (11:48 +0200)]
MX31: Add support to update FPGA bitstream

The patch adds the possibility to update the QONG
FPGA (a Lattice XP2-5E) with u-boot using some GPIOs
to drive the JTAG interface.

Signed-off-by: Stefano Babic <sbabic@denx.de>
14 years agoMX31: Adding missing iomux pin to MX.31 registers
Stefano Babic [Fri, 1 Oct 2010 10:34:34 +0000 (12:34 +0200)]
MX31: Adding missing iomux pin to MX.31 registers

Signed-off-by: Stefano Babic <sbabic@denx.de>
14 years agoFPGA: add support for downloading Lattice bitstream
Stefano Babic [Tue, 29 Jun 2010 09:47:48 +0000 (11:47 +0200)]
FPGA: add support for downloading Lattice bitstream

The patch adds support to load a Lattice's bitstream
image (called VME file) into a Lattice FPGA. The code
containing the state machine delivered as part of
Lattice's ispVMtools is integrated.

The FPGA is programmed using the JTAG interface. The
board maintainer must provide accessors to drive the
JTAG signals TCK, TMS, TDI and to get the value of the
input signal TDO.

Signed-off-by: Stefano Babic <sbabic@denx.de>
14 years agousb: musb: only write CLRDATATOG when appropriate
Bryan Wu [Mon, 9 Aug 2010 18:58:24 +0000 (14:58 -0400)]
usb: musb: only write CLRDATATOG when appropriate

This is a change similar to what is already in the Linux driver.  We
should only program the CLRDATATOG bit when the current mode indicates
that it is needed.

Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Cliff Cai <cliff.cai@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
14 years agousb: Add support for multiple-LUN mass storage devices
Ludovic Courtès [Tue, 5 Oct 2010 20:04:26 +0000 (22:04 +0200)]
usb: Add support for multiple-LUN mass storage devices

This patch changes `usb_stor_scan' to scan all the LUNs of each mass
storage device.  It also fixes the various commands to correctly set
the LUN field.

Notably, it allows each LUN of GuruPlug's microSD card reader to be
accessed.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Acked-by: Prafulla Wadaskar <prafulla@marvell.com>
14 years agoUSB-CDC: Prevent rx_req being enqueued twice
Vitaly Kuzmichev [Wed, 22 Sep 2010 09:13:56 +0000 (13:13 +0400)]
USB-CDC: Prevent rx_req being enqueued twice

After gadget reinitializaton (after tftp has been done once)
packet_received may become equal to 1 due to nuking OUT_EP
while disabling it in eth_reset_config.

rx_submit called from usb_eth_init queues rx_req first time.
But the first call of usb_eth_recv from NetLoop queues rx_req
again due to packet_received = 1.

The following flow shows the path of functions calls when
this happens:

 net/net.c:NetLoop
 |
 +-net/eth.c:eth_init
 |   ether.c:usb_eth_init
 |   |
 |   +-udc_driver:usb_gadget_handle_interrupts
 |   |   udc_driver:...
 |   |     ether.c:eth_setup
 |   |       ether.c:eth_set_config
 |   |         ether.c:eth_reset_config
 |   |           udc_driver:usb_ep_disable
 |   |             udc_driver:nuke
 |   |               ether.c:rx_complete
 |   |                 ether.c: packet_received = 1;
 |   |
 |   +-ether.c:rx_submit
 |       udc_driver:usb_ep_queue --- The first time when rx_req is queued
 |
 +-net/eth.c:eth_rx
     ether.c:usb_eth_recv
     |
     +-udc_driver:usb_gadget_handle_interrupts
     |   udc_driver:... --- no interrupts, returning
     +-ether.c: if (packet_received) { ...
         ether.c:rx_submit
           udc_driver:usb_ep_queue --- The second time!

Signed-off-by: Vitaly Kuzmichev <vkuzmichev@mvista.com>
14 years agoUSB-CDC: Fix tx/rx_req memory leaks
Vitaly Kuzmichev [Wed, 22 Sep 2010 09:13:55 +0000 (13:13 +0400)]
USB-CDC: Fix tx/rx_req memory leaks

Remove and fix needless and destructive operations with tx/rx_req.

1) 'req' in rx_complete is always not NULL and always equals to rx_req
2) Free allocated tx_req if rx_req allocation has failed
3) Do not zero out tx/rx_req in usb_eth_init, leave this for
eth_reset_config which will be called at the next use of usb0
4) Additional check in usb_eth_recv is not required

Signed-off-by: Vitaly Kuzmichev <vkuzmichev@mvista.com>
14 years agoUSB: Make non-bulk delay longer in OHCI
Marek Vasut [Mon, 20 Sep 2010 01:57:25 +0000 (03:57 +0200)]
USB: Make non-bulk delay longer in OHCI

This fixes TIMEOUT with my Kingston 32GB USB3.0 flashdrive, which I experienced
on my PXA270 (USB 1.1) Vpac270 board.

Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
14 years agoboard/armltd/integrator/split_by_variant.sh: fix 'echo -n'
Andreas Bießmann [Fri, 24 Sep 2010 19:20:40 +0000 (21:20 +0200)]
board/armltd/integrator/split_by_variant.sh: fix 'echo -n'

This patch fixes an error when running MAKEALL for ARM9.

On OS X /bin/sh uses builtin echo which does not utilise '-n' switch.
GNU manual for builtins recomend to use here-document style to solve
this portability issue.

This patch removes the usage of 'echo -n' and replace by here-document
style or a oneline echo command.

Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com>
CC: Peter Pearse <peter.pearse@arm.com>
14 years agoARMV7: Fixed baudrate setting in pl01x driver
Matt Waddel [Thu, 7 Oct 2010 21:48:46 +0000 (15:48 -0600)]
ARMV7: Fixed baudrate setting in pl01x driver

The pl01x serial driver was lacking the code to switch baudrates from the
command line.  Fixed by simply saving the new baudrate and calling
serial_init() again.  Also fixed CamelCase variables, I/O accessors and
comment style.

Signed-off-by: Matt Waddel <matt.waddel@linaro.org>
14 years agoARMV7: Versatile Express Coretile CortexA9x4 support
Matt Waddel [Thu, 7 Oct 2010 21:48:45 +0000 (15:48 -0600)]
ARMV7: Versatile Express Coretile CortexA9x4 support

Adds support for the ARM quad-core Cortex-A9 processor

This system includes a motherboard(Versatile Express), daughterboard
(Coretile), and SOC(Cortex-A9 quad core).  The serial port, ethernet,
and flash systems work with these additions.  The naming convention
is:
   SOC -> CortexA9 quad core = ca9x4
   daughterboard -> Coretile = ct
   motherboard -> Versatile Express = vxp
This gives ca9x4_ct_vxp.c as the board support file.

Signed-off-by: Matt Waddel <matt.waddel@linaro.org>
14 years agoarch/arm/include/asm/sizes.h: cleanups
Andreas Bießmann [Fri, 24 Sep 2010 21:31:43 +0000 (23:31 +0200)]
arch/arm/include/asm/sizes.h: cleanups

Merge several sizes.h in asm/arch subdirectories into a single
asm/sizes.h file.

Fixup usage of asm/arch/sizes.h in some files to use the merged file.

Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com>
14 years agoMerge branch 'master' of git://git.denx.de/u-boot-marvell
Wolfgang Denk [Wed, 13 Oct 2010 07:59:13 +0000 (09:59 +0200)]
Merge branch 'master' of git://git.denx.de/u-boot-marvell

14 years agoARM: relocation: don't undef CONFIG_SYS_ARM_WITHOUT_RELOC
Ben Gardiner [Wed, 22 Sep 2010 21:32:49 +0000 (17:32 -0400)]
ARM: relocation: don't undef CONFIG_SYS_ARM_WITHOUT_RELOC

There were some #undef's of CONFIG_SYS_ARM_WITHOUT_RELOC added to a few board
configs as part of the arm relocation series; but these are not needed now as we
do not #undef what is not #defined in the first place.

Signed-off-by: Ben Gardiner <bengardiner@nanometrics.ca>
CC: Heiko Schocher <hs@denx.de>
14 years agoARM: relocation: fix typo in comment
Heiko Schocher [Wed, 22 Sep 2010 12:06:33 +0000 (14:06 +0200)]
ARM: relocation: fix typo in comment

Signed-off-by: Heiko Schocher <hs@denx.de>
14 years agoKirkwood: Changes specific to ARM relocation support
Prafulla Wadaskar [Thu, 30 Sep 2010 17:27:02 +0000 (22:57 +0530)]
Kirkwood: Changes specific to ARM relocation support

All Kirkwood based boards are supported for this new implementation
ref: docs/README.arm-relocation

Signed-off-by: Prafulla Wadaskar <prafulla@marvell.com>
14 years agokirkwood: added common config file mv-common.h
Prafulla Wadaskar [Thu, 30 Sep 2010 17:23:43 +0000 (22:53 +0530)]
kirkwood: added common config file mv-common.h

It is observed that, in most of the board configs the code is being
duplicated, also for any common change all board files needs update
This issue was under discussion from long on mailing list and we
converge on introducing common config file.

With this patch-
1. Total Kirkwood specific configuration code is reduced by 210 lines
2. All common configuration can be shared by multiple boards
3. Easy to manage common updates like ARM relocation changes

mv-common.h file is added to include/configs/
It contains all common configuration supported for all Kirkwood boards
The respective board configs are updated for its usage

Build tested for guruplug, mv88f6281gtw_ge, openrd_base,
rd6281a and sheevaplug
Binary execution tested for sheevaplug

Todo:
1. Other custom Kirkwood boards to be synced
2. The support to be extended for Orion5X based boards

Signed-off-by: Prafulla Wadaskar <prafulla@marvell.com>
14 years agoKirkwood: dram_init is moved to dram.c
Prafulla Wadaskar [Thu, 30 Sep 2010 14:03:19 +0000 (19:33 +0530)]
Kirkwood: dram_init is moved to dram.c

For all Kirkwood boards so far dram_init function is duplicated
dram_init function is moved to dram.c and relevant code from all
board specific files removed

If any board needs specific dram init handling than standard one,
then, a macro CONFIG_SYS_BOARD_DRAM_INIT should be defined in
board config header file and the dram_init function can be put
in board specific source file
For ex. keymile boards

Signed-off-by: Prafulla Wadaskar <prafulla@marvell.com>
14 years agoorion5x: optimize window size computation
Albert Aribaud [Thu, 7 Oct 2010 14:49:53 +0000 (20:19 +0530)]
orion5x: optimize window size computation

Signed-off-by: Chris Moore <moore@free.fr>
Signed-off-by: Albert Aribaud <albert.aribaud@free.fr>
14 years agoKirkwood: print_cpuinfo fixed for valid devid revid
Prafulla Wadaskar [Mon, 20 Sep 2010 11:49:42 +0000 (17:19 +0530)]
Kirkwood: print_cpuinfo fixed for valid devid revid

Earlier Device Identification register was used to detect
the type for SoC, considering 88F6282 support to be added,
It is not possible to detect the same using current
algorithm.

With this patch, device ID is being read using PCIE devid
register, also valid chip revision ID will also be read and
displayed

Signed-off-by: Prafulla Wadaskar <prafulla@marvell.com>
14 years agomvsata_ide: adjust port init sequence
Albert Aribaud [Thu, 16 Sep 2010 15:00:30 +0000 (20:30 +0530)]
mvsata_ide: adjust port init sequence

mvsata_ide_initialize_port(): adjust init sequence (SStatus
should be checked only after all writes to SControl) and
return success/failure to ide_preinit().

Also, as some tests showed init durations in the hundreds
of us, raise the time-out to 01 ms to be on the safe side.

Signed-off-by: Albert Aribaud <albert.aribaud@free.fr>
14 years agosf: turn probe switch into a lookup table
Reinhard Meyer [Tue, 5 Oct 2010 14:56:39 +0000 (16:56 +0200)]
sf: turn probe switch into a lookup table

This allows for arbitrarily long manufacturer ids following the JEDEC
standard of 0x7f continuation bytes.  It also makes adding new entries
easier as it's just one element in an array.  The downside is that it
increases code size a bit, but we're talking ~50 bytes.

Signed-off-by: Reinhard Meyer <u-boot@emk-elektronik.de>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
14 years agoTSI148: Fix argument parsing
Brent Darley [Wed, 29 Sep 2010 18:50:17 +0000 (13:50 -0500)]
TSI148: Fix argument parsing

This patch does 2 things:
 - Fix the argument number assigned to the vdw (VME data width) value.
   Previously, a nonexistent 7th arument was read as the vdw variable.

 - Reduce the size of the argument array for the tsi148 command from
   8 to 7.  The tsi148 command itself is argument index 0, and the
   maximum number arguments passed to the command is 6, making a total
   of 7 for the array.

Signed-off-by: Brent Darley <bdarley@xes-inc.com>
Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
14 years agopowerpc: Remove warm reset entry point
Peter Tyser [Wed, 15 Sep 2010 00:13:53 +0000 (19:13 -0500)]
powerpc: Remove warm reset entry point

No boards utilize the warm reset entry point, so remove it.

Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
14 years agoppmc7xx: Use _start as reset entry point
Peter Tyser [Wed, 15 Sep 2010 00:13:52 +0000 (19:13 -0500)]
ppmc7xx: Use _start as reset entry point

Previously the _warm_start label was used as an entry point.  These 2
entry points should be functionally identical after the removal of the
BOOTFLAG_WARM define.

Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
14 years agopowerpc: Zero out board info struct on bootup
Peter Tyser [Wed, 15 Sep 2010 00:13:51 +0000 (19:13 -0500)]
powerpc: Zero out board info struct on bootup

This puts the board info struct in a known state and allows the removal
of other code which initialized board info fields to 0.

Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
14 years agocp/cmp: Add WATCHDOG_RESET in copy and compare loop
Stefan Roese [Mon, 13 Sep 2010 09:10:34 +0000 (11:10 +0200)]
cp/cmp: Add WATCHDOG_RESET in copy and compare loop

On some boards with a very short watchdog timeout, the "cp" and
"cmp" commands may reset the board. This patch adds some
watchdog resets inside the loops. Otherwise for example the lwmon5
board will reset while doing something like this:

=> cp.b fc000000 1000000 100000

Signed-off-by: Stefan Roese <sr@denx.de>
14 years agoexamples/standalone: Use gcc's -fno-toplevel-reorder
Peter Tyser [Sun, 12 Sep 2010 22:38:49 +0000 (17:38 -0500)]
examples/standalone: Use gcc's -fno-toplevel-reorder

Using -fno-toplevel-reorder causes gcc to not reorder functions.  This
ensures that an application's entry point will be the first function in
the application's source file.

This change, along with commit 620bbba524fbaa26971a5004793010b169824f1b
should cause a standalone application's entry point to be at the base of
the compiled binary.  Previously, the entry point could change depending
on gcc version and flags.

Note -fno-toplevel-reorder is only available in gcc version 4.2 or
greater.

Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
14 years agoa4m072: support for SHOW_BOOT_PROGRESS feature using LED display
Ilya Yanok [Thu, 9 Sep 2010 21:03:34 +0000 (23:03 +0200)]
a4m072: support for SHOW_BOOT_PROGRESS feature using LED display

This patch adds support for displaying boot progress codes on a4m072 board
using LED display. As we can display only one symbol at any time on the hardware
(two symbols with blinking) we can't display progress codes directly and have
to map them to 2-symbol codes.
We use the following mapping on the a4m972 board:
 [1, 8] U [100, 108] -> 5
 [-9, -1] U [-101, -100] U [-113, -103] -> -5
 [9, 14] U [120, 123] U [125, 129] -> 8
 [-13, -10] U [-122, -120] U [-127, -124] U {-129} -> -8
 {15} -> 9
 [-32, -30] -> -A
 [-40, -35] U [-51, -42] U [-58, -53] U
[-83, -80] U {-64, -130, -140, -150} -> -B

Other progress code are ignored. One symbol codes are displayed steady while
two-symbol codes are displayed using blinking. Boot progress codes are
displayed with decimal got unset (as opposed to 'display' command output).

Signed-off-by: Ilya Yanok <yanok@emcraft.com>
14 years agoa4m072: led display support
Ilya Yanok [Thu, 9 Sep 2010 21:03:33 +0000 (23:03 +0200)]
a4m072: led display support

This patch adds support for LED display on a4m072 board. Hardware is
capable of displaying only one symbol at any time. We support displaying
two symbols in software (via blinking).

Signed-off-by: Ilya Yanok <yanok@emcraft.com>
14 years agoled_display: split led display support into generic and hw-dependent parts
Ilya Yanok [Thu, 9 Sep 2010 21:03:32 +0000 (23:03 +0200)]
led_display: split led display support into generic and hw-dependent parts

Split the display command into generic interface and hardware-specific
realization for PDSP188x LED display found on hmi1001 and manroland
boards. Simple interface for LED displays is defined in
include/led-display.h and described in doc/README.LED_display.
Driver-specific implementation was moved into drivers/misc/pdsp188x.c
file (enabled with CONFIG_PDSP188x set).

Signed-off-by: Ilya Yanok <yanok@emcraft.com>
14 years agoA4M072: Added support for the board.
Sergei Poselenov [Thu, 9 Sep 2010 21:03:31 +0000 (23:03 +0200)]
A4M072: Added support for the board.

This patch provides support for the A4M072 board with the following features:
 UART
 NOR flash
 FEC Ethernet
 External SRAM
 I2C EEPROM
 CompactFlash cards on IDE/ATA port
 USB Host
 PCI initialization

The 7-segment LED indicator is not yet supported.

Signed-off-by: Sergei Poselenov <sposelenov@emcraft.com>
14 years agoVFAT: fix processing of scattered long file name entries
Mikhail Zolotaryov [Wed, 8 Sep 2010 14:06:03 +0000 (17:06 +0300)]
VFAT: fix processing of scattered long file name entries

The U-Boot code has the following bugs related to the processing of Long File
Name (LFN) entries scattered across several clusters/sectors :

1) get_vfatname() function is designed to gather scattered LFN entries by
cluster chain processing - that doesn't work for FAT12/16 root directory.
In other words, the function expects the following input data:
 1.1) FAT32 directory (which is cluster chain based);
        OR
 1.2) FAT12/16 non-root directory (which is also cluster chain based);
        OR
 1.3) FAT12/16 root directory (allocated as contiguous sectors area), but
 all necessary information MUST be within the input buffer of filesystem cluster
 size (thus cluster-chain jump is never initiated).

In order to accomplish the last condition, root directory parsing code in
do_fat_read() uses the following trick: read-out cluster-size block, process
only first sector (512 bytes), then shift 512 forward, read-out cluster-size
block and so on. This works great unless cluster size is equal to 512 bytes
(in a case you have a small partition), or long file name entries are scattered
across three sectors, see 4) for details.

2) Despite of the fact that get_vfatname() supports FAT32 root directory
browsing, do_fat_read() function doesn't send current cluster number correctly,
so root directory look-up doesn't work correctly.

3) get_vfatname() doesn't gather scattered entries correctly also is the case
when all LFN entries are located at the end of the source cluster, but real
directory entry (which must be returned) is at the only beginning of the
next one. No error detected, the resulting directory entry returned contains
a semi-random information (wrong size, wrong start cluster number and so on)
i.e. the entry is not accessible.

4) LFN (VFAT) allows up to 20 entries (slots) each containing 26 bytes (13
UTF-16 code units) to represent a single long file name i.e. up to 520 bytes.
U-Boot allocates 256 bytes buffer instead, i.e. 10 or more LFN slots record
may cause buffer overflow / memory corruption.
Also, it's worth to mention that 20+1 slots occupy 672 bytes space which may
take more than one cluster of 512 bytes (medium-size FAT32 or small FAT16
partition) - get_vfatname() function doesn't support such case as well.

The patch attached fixes these problems in the following way:
- keep using 256 bytes buffer for a long file name, but safely prevent a
possible buffer overflow (skip LFN processing, if it contains 10 or more
slots).

- explicitly specify FAT12/16 root directory parsing buffer size, instead
of relying on cluster size. The value used is a double sector size (to store
current sector and the next one). This fixes the first problem and increases
performance on big FAT12/16 partitions;

- send current cluster number (FAT32) to get_vfatname() during root
directory processing;

- use LFN counter to seek the real directory entry in get_vfatname() - fixes the
third problem;

- skip deleted entries in the root directory (to prevent bogus buffer
overflow detection and LFN counter steps).

Note: it's not advised to split up the patch, because a separate part may
operate incorrectly.

Signed-off-by: Mikhail Zolotaryov <lebon@lebon.org.ua>
14 years agotools/imls: fix comment in Makefile
Daniel Hobi [Mon, 11 Oct 2010 16:03:35 +0000 (18:03 +0200)]
tools/imls: fix comment in Makefile

Commit d984fed0 (makefiles: fixes for building build tools)
changed the variable name FIT_CFLAGS to HOSTCFLAGS_NOPED
but forgot to update to corresponding comment.

Signed-off-by: Daniel Hobi <daniel.hobi@schmid-telecom.ch>
Cc: Scott Wood <scottwood@freescale.com>
Cc: Wolfgang Denk <wd@denx.de>
14 years agoenv: don't set to default env twice when use CONFIG_ENV_IS_NOWHERE
Lei Wen [Sun, 10 Oct 2010 04:36:40 +0000 (12:36 +0800)]
env: don't set to default env twice when use CONFIG_ENV_IS_NOWHERE

When use the CONFIG_ENV_IS_NOWHERE, I met such issue:

DRAM:  256 MiB
Using default environment

*** Warning - bad CRC, using default environment

Signed-off-by: Lei Wen <leiwen@marvell.com>
14 years agozlib: Add further watchdog reset calls
Stefan Roese [Wed, 8 Sep 2010 13:35:31 +0000 (15:35 +0200)]
zlib: Add further watchdog reset calls

Patch 253cb831 [zlib: add watchdog reset call] added already a few
watchdog reset calls to the new zlib U-Boot port. But on some boards
this is not enough. Additional calls are needed on boards with
short watchdog timeouts.

This was detected and tested on the lwmon5 board with a very short
watchdog timeout. Without this patch, the board resets during Linux
kernel decompression. With it, the decompression succeeds.

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Detlev Zundel <dzu@denx.de>
Acked-by: Detlev Zundel <dzu@denx.de>
14 years agozlib/gunzip: Use WATCHDOG_RESET macro
Stefan Roese [Wed, 8 Sep 2010 13:34:58 +0000 (15:34 +0200)]
zlib/gunzip: Use WATCHDOG_RESET macro

As usually done in U-Boot, the watchdog_reset code is called via a
macro (WATCHDOG_RESET). In zlib.c this was done differently, by using
a function pointer which is initialized with WATCHDOG_RESET upon watchdog
usage or with NULL otherwise. This patch now uses the plain
WATCHDOG_RESET macros to call the function resulting in slightly smaller
U-Boot images and simpler code.

U-Boot code size reduction:

PowerPC board with watchdog support (lwmon5):
-> 80 bytes smaller image size

PowerPC board without watchdog support (sequoia):
-> 112 bytes smaller image size

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Detlev Zundel <dzu@denx.de>
Cc: Wolfgang Denk <wd@denx.de>
Acked-by: Detlev Zundel <dzu@denx.de>