Commit graph

49977 commits

Author SHA1 Message Date
Asen Dimov
37ee3ccce7 pm9g45: enable cache command
Signed-off-by: Asen Dimov <dimov@ronetix.at>
2010-12-16 22:45:00 +01:00
Asen Dimov
510f794c89 pm9g45: ARM relocation support
Signed-off-by: Asen Dimov <dimov@ronetix.at>
2010-12-16 22:44:02 +01:00
Scott Wood
767589a7b2 powerpc/nand spl: link libgcc
Recent GCC (4.4+) performs out-of-line epilogues in some cases, when
optimizing for size.  It causes a link error for _restgpr_30_x (and similar)
if libgcc is not linked.

It actually increases size with very small binaries, due to the fixed size
of the out-of-line code, and not having any functions that actually need to
restore more than 2 or 3 registers.  But I don't see a way to turn it off,
other than asking GCC to optimize for speed -- which may also increase
size for some boards.

Signed-off-by: Scott Wood <scottwood@freescale.com>
Acked-by: Kim Phillips <kim.phillips@freescale.com>
Acked-by: Wolfgang Denk <wd@denx.de>
2010-12-16 14:54:03 -06:00
Stefan Roese
37805cf1db ppc4xx: Fix missing linker scripts for partial linking
This patch fixes the acadia_nand and kilauea_nand linker scripts
which have been missing in commit ee8028b7 [ppc4xx: Cleanup for
partial linking and --gc-sections]

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Bernhard Weirich <Bernhard.Weirich@riedel.net>
2010-12-15 13:16:33 +01:00
Wolfgang Denk
f8689b9eb3 Merge branch 'master' of git://git.denx.de/u-boot-mpc83xx 2010-12-14 00:18:19 +01:00
Wolfgang Denk
63440c4a80 Merge branch 'master' of git://git.denx.de/u-boot-arm 2010-12-14 00:06:00 +01:00
Wolfgang Denk
3600945b5a ARM: */start.S: use canonical asm syntax
Make code build with older tool chains.

Signed-off-by: Wolfgang Denk <wd@denx.de>
2010-12-13 23:58:50 +01:00
Baidu Boy
054289f752 mpc83xx: fix pcie enumeration
This patch fix a problem for the pcie enumeration for mpc83xx cpus.  Without
this we will not  get correct value in hose->regions[...].

The pointer *reg in function mpc83xx_pcie_init_bus() shall not be changed.
Because we will use this pointer as a parameter to call function
mpc83xx_pcie_register_hose().

Signed-off-by: Baidu Boy <liucai.lfn@gmail.com>
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
2010-12-13 13:55:56 -06:00
Timur Tabi
fdb9482b42 p1022ds: fix switching of DIU/LBC signals
On the P1022, the pins which drive the video display (DIU) are muxed with the
local bus controller (LBC), so if the DIU is active, the pins need to be
temporarily muxed to LBC whenever accessing NOR flash.

The code which handled this transition is checking and changing the wrong
bits in PMUXCR.

Also add a follow-up read after a write to NOR flash if we're going to
mux back to DIU after the write, as described in the P1022 RM.

Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2010-12-13 10:05:51 -06:00
P.V.Suresh
2c1764efc2 fsl_esdhc: Set the eSHDC DMACTL[SNOOP] bit after resetting the controller
eSDHC host controller reset results in clearing of snoop bit also.
This patch sets the SNOOP bit after the completion of host controller reset.
Without this patch mmc reads are not consistent.

Signed-off-by: P.V.Suresh <pala@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2010-12-13 09:32:16 -06:00
John Schmoller
9fd84915a9 fsl_upm: Add MxMR/MDR synchronization
According to Freescale reference manuals (eg section "13.4.4.2
Programming the UPMs" of the P4080 Reference Manual):

"Since the result of any update to the MxMR/MDR register must be in
effect before the dummy read or write to the UPM region, a write to
MxMR/MDR should be followed immediately by a read of MxMR/MDR."

The UPM on a custom P4080-based board did not work without performing
a read of MxMR/MDR after a write.

Signed-off-by: John Schmoller <jschmoller@xes-inc.com>
Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
Acked-by: Scott Wood <scottwood@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2010-12-13 09:32:15 -06:00
Kumar Gala
72c96a6802 tsec: Revert to setting TBICR_ANEG_ENABLE by default for SGMII
The following commit:

commit 46e91674fb
Author: Peter Tyser <ptyser@xes-inc.com>
Date:   Tue Nov 3 17:52:07 2009 -0600

    tsec: Force TBI PHY to 1000Mbps full duplex in SGMII mode

Removed setting Auto-Neg by default, however this is believed to be
proper default configuration for initialization of the TBI interface.

Instead we explicitly set CONFIG_TSEC_TBICR_SETTINGS for the
XPedite5370 & XPedite5500 boards that use a Broadcomm PHY which require
Auto-Neg to be disabled to function properly.

This addresses a breakage on the P2020 DS & MPC8572 DS boards when used
with an SGMII riser card.  We also remove setting
CONFIG_TSEC_TBICR_SETTINGS on the P1_P2_RDB family of boards as now the
default setting is sufficient for them.

Additionally, we clean up the code a bit to remove an unnecessary second
define.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Acked-by: Peter Tyser <ptyser@xes-inc.com>
Tested-by: Peter Tyser <ptyser@xes-inc.com>
2010-12-13 09:32:15 -06:00
Nishanth Menon
ee3894c681 omap3: emif|sdrc: use a single global data define
DECLARE_GLOBAL_DATA_PTR declarations in functions are inherently
troublesome with various compilers (e.g. gcc 4.5)

Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
2010-12-11 11:41:42 -05:00
Dirk Behme
53736baaff OMAP3: SPI driver
CC: Ruslan N. Araslanov <byaaka@yandex.ru>
Signed-off-by: Ruslan Araslanov <ruslan.araslanov@vitecmm.com>
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
2010-12-11 11:01:00 -05:00
Balaji T K
3e664f6d50 ARMV7: OMAP4: twl6030 add battery charging support
Add battery charging support twl6030 driver.
Add support for battery voltage and current measurements.
Add command to get battery status and start/stop battery charging from USB.

Signed-off-by: Balaji T K <balajitk@ti.com>
Tested-by: Steve Sakoman <steve.sakoman@linaro.org>
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
2010-12-11 10:56:01 -05:00
Dirk Behme
b03c8403cd OMAP: Timer: Replace bss variable by gd
Reuse the gd->tbl value for timestamp and add gd->lastinc for lastinc bss
values in the OMAP timer driver.

The usage of bss values in drivers before initialisation of bss is forbidden.
In that special case some data in .rel.dyn gets corrupted.

Signed-off-by: Dirk Behme <dirk.behme@gmail.com>
Tested-by: Steve Sakoman <steve.sakoman@linaro.org>
Tested-by: John Rigby <john.rigby@linaro.org>
Tested-by: Nishanth Menon <nm@ti.com>
Acked-by: Nishanth Menon <nm@ti.com>
Tested-by: Heiko Schocher <hs@denx.de>
Tested-by: Sandeep Paulraj <s-paulraj@ti.com>
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
2010-12-11 10:50:48 -05:00
Sandeep Paulraj
aac0b4b6c1 DaVinci DM6446: Config Update
The DM6446 does not build due to the ARM
relocation patch.

Also the board does not build in the NOR
mode. Changed default to NAND to ensure
no build failure.
While at it removed CONFIG_CMD_KGDB

Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
2010-12-11 10:47:30 -05:00
Nick Thompson
e465cf2377 davinci: Rewrite timer.c to use tbl/tbu emulation variables in gd
This change allows the davinci timer functions to be used before
relocation since it avoids using static variables prior to BSS being
made available.

The code is based on that used in the at91 timers, modified to use
a davinci specific hardware timer. It also maintains reset_timer()
to allow deprecated timer usage to continue to work (for example,
in nand_base.c)

Signed-off-by: Nick Thompson <nick.thompson@ge.com>
Tested-by: Ben Gardiner <bengardiner@nanometrics.ca>
Tested-by: Sudhakar Rajashekhara <sudhakar.raj@ti.com>
Tested-by: Sandeep Paulraj <s-paulraj@ti.com>
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
2010-12-11 10:46:46 -05:00
Sandeep Paulraj
917a62c0d2 Merge branch 'next' of git://git.denx.de/u-boot into next 2010-12-11 10:35:40 -05:00
Wolfgang Denk
ac8983bcba Merge branch 'master' of git://git.denx.de/u-boot-imx 2010-12-09 20:52:44 +01:00
Macpaul Lin
7ea23555f5 include/linux/mii.h: update for supporting GE
This file has been synced (copy) from Linux source code.
This commit was based on kernel 2.6.32.
It updates gigabit related phy registers and basic definitions.

Signed-off-by: Macpaul Lin <macpaul@andestech.com>
2010-12-09 11:01:16 +01:00
Prafulla Wadaskar
f9de0997d7 ARM: make timer variables in gt_t available for all ARM platforms
All code that attemots to access variables in BSS before relocation
(for example directly or indirectly by board_init_f()) needs to be
fixed. Especially timer.c needs to fix on most of the ARM platforms.

This patch makes timer related variables in gd_t available for
all ARM implementations.

Signed-off-by: Prafulla Wadaskar <prafulla@marvell.com>

Edited commit message.
Signed-off-by: Wolfgang Denk <wd@denx.de>
2010-12-09 11:01:16 +01:00
Andreas Bießmann
b9c5081d7d armv7: fix relocation skip
I doubt the stack_setup() was defective before:
 we load the current location of _start and compare against destination
 of relocate_code(). If we are already there we shoud skip the
 relocation and jump over to clear_bss. Before the clear_bss was also skipped.

Signed-off-by: Andreas Biemann <andreas.devel@googlemail.com>
2010-12-09 11:01:16 +01:00
Andreas Bießmann
1f52d89f2b arm: fixloop(): do not use r8 for relocation
r8 is used for global_data and should therefore be left alone!

For C code the compiler flag --fixed-r8 does the job, but in assembler
we need to be aware of that fact.

Signed-off-by: Andreas Biemann <andreas.devel@googlemail.com>
2010-12-09 11:01:15 +01:00
Andreas Bießmann
a1a47d3c57 arm: relocate_code(): do not set register useless
In case we are still at relocation target address before relocation we
do not need to load the registers needed for relocation. We should
instead skip the whole relocation part and jump over to clear_bss
immediately.

Signed-off-by: Andreas Biemann <andreas.devel@googlemail.com>
2010-12-09 11:01:15 +01:00
Andreas Bießmann
a78fb68f71 arm: copy_loop(): use scratch register
This patch uses r1 as scratch register for copy_loop(). Therefore we do
not longer need r7 for the storage of relocate_code()'s 'addr_moni' (the
destination address of relocation).
Therefore r7 can be used later on for other purposes.

Signed-off-by: Andreas Biemann <andreas.devel@googlemail.com>
2010-12-09 11:01:14 +01:00
Kumar Gala
bb141079d3 hwconfig: Fix handling of env_hwconfig, board_hwconfig, and cpu_hwconfig
The handling of env_hwconfig, board_hwconfig, and cpu_hwconfig got
broken when we removed the boards defining dummy board_hwconfig
& cpu_hwconfig values.

We fix this by handling the various strings in priority order.  If
hwconfig_parse returns NULL for a given string we check the next one
in order (env_hwconfig, board_hwconfig, followed by cpu_hwconfig).

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2010-12-09 11:01:13 +01:00
Wolfgang Denk
2ced53e1ad Move LDSCRIPT definitions to board config files.
Recent cleanup actions resulted in a number of config.mk files that
contained only LDSCRIPT definitions.  Move these into th respective
board config files and remove the now empty config.mk files.

Signed-off-by: Wolfgang Denk <wd@denx.de>
Cc: Matthias Fuchs <matthias.fuchs@esd-electronics.com>
Cc: Detlev Zundel <dzu@denx.de>
Cc: Heiko Schocher <hs@denx.de>
Cc: Andre Schwarz <andre.schwarz@matrix-vision.de>
Cc: Peter De Schrijver <p2@mind.be>
Acked-by: Detlev Zundel < dzu@denx.de>
Acked-by: Andre Schwarz <andre.schwarz@matrix-vision.de>
Acked-by: Heiko Schocher<hs@denx.de>
Acked-by: Matthias Fuchs <matthias.fuchs@esd.eu>
2010-12-09 10:27:41 +01:00
Wolfgang Denk
263d5c2f84 Remove redundant config.mk files
Recent cleanup actions resulted in a number of config.mk files that
contained only redundant entries like

	PLATFORM_CPPFLAGS += -I$(TOPDIR)

or settings of variables that were not used anywhere in the code, like

	TEXT_END  = 0xfe080000

Remove these unnecessary files.

Signed-off-by: Wolfgang Denk <wd@denx.de>
Cc: Scott McNutt <smcnutt@psyent.com>
Cc: Wolfgang Wegner <w.wegner@astro-kom.de>
Cc: Josef Wagner <Wagner@Microsys.de>
Cc: Tolunay Orkun <torkun@nextio.com>
Cc: Frank Panno <fpanno@delphintech.com>
Cc: Heiko Schocher <hs@denx.de>
Cc: Brad Kemp <Brad.Kemp@seranoa.com>
Acked-by: Heiko Schocher<hs@denx.de>
2010-12-09 10:25:56 +01:00
Stefano Babic
76bfe76b54 Davinci: add support for the ea20 board
This board uses the OMAP-L138 SOM stacked on a
custom baseboard. It supports SPI Flash, Ethernet
with RMII.

Signed-off-by: Stefano Babic <sbabic@denx.de>
Signed-off-by: Ben Gardiner <bengardiner@nanometrics.ca>
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
2010-12-09 10:24:12 +01:00
Stefano Babic
a2f2eb76e4 Davinci 8xx: Move common functions to share code
As more Davinci 8xx board can be added, move common code
to be shared between boards.

 * rebased ontop of Sugosh's patches
 * moving the HAWKBOARD_KICK{0,1}_UNLOCK defines to
   arch/arm/include/asm/arch-davinci/davinci_misc.h from to
   arch/arm/include/asm/arch-davinci/da8xx_common.h
 * don't define dram functions in PRELOADER
 * move sync_env_enetaddr into existing EMAC ifdef
 * use misc.c in hawkboard nand_spl

Signed-off-by: Ben Gardiner <bengardiner@nanometrics.ca>
Signed-off-by: Stefano Babic <sbabic@denx.de>
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
2010-12-09 10:24:12 +01:00
Sudhakar Rajashekhara
df48676aea da850: Add RMII support for EMAC
This patch is a port of the work by Sudhakar Rajeshekhara in commit
ab3effbcad8851cc65dc5241a01c064d2030a3b2 of
git://arago-project.org/git/people/sandeep/u-boot-davinci.git.

The da850 UI board has on it an RMII PHY which can be used if the MDC line
to the MII PHY on the baseboard is disabled and the RMII PHY is enabled by
configuring the values of some GPIO pins on the IO expander of the UI board.
This patch implements disabling that line via GPIO2[6], configuring the UI
board's IO expander and setting only the pinmux settings that are needed for
RMII operation.

Tested on da850evm by adding a define for CONFIG_DRIVER_TI_EMAC_USE_RMII.

Signed-off-by: Sudhakar Rajashekhara <sudhakar.raj@ti.com>
Signed-off-by: Ben Gardiner <bengardiner@nanometrics.ca>
CC: Sandeep Paulraj <s-paulraj@ti.com>
CC: Ben Warren <biggerbadderben@gmail.com>
CC: Mike Frysinger <vapier@gentoo.org>
CC: Sughosh Ganu <urwithsughosh@gmail.com>
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
2010-12-09 10:24:12 +01:00
Sughosh Ganu
dfddb5e6ba Add board support for hawkboard
The patch adds basic board support for TI's OMAP-L138 based
Hawkboard. This board is pretty similar to the da850 EVM. Support for
nand and network access is added in this version.

The following bootup procedure is used.

At reset, the Rom Boot Loader(RBL), initialises the ddr and the nand
controllers and copies the second stage bootloader(nand_spl) to
RAM. The secondary bootloader then copies u-boot from a predefined
location in the nand flash to the RAM, and passes control to the
u-boot image.

Three config options are supported
* hawkboard_config - Used to create the u-boot.bin. Tftp the
 u-boot.bin image to the RAM from u-boot, and flash to the nand flash
 at address 0xe0000.

* hawkboard_nand_config - Used to generate the secondary
 bootloader(nand_spl) image. This creates an elf file u-boot-spl
 under nand_spl/. Create an AIS signed image using this file, and
 flash it to the nand flash at address 0x20000. The ais file should
 fit in one block.

* hawkboard_uart_config - This is same as the first image, but with
 the TEXT_BASE as expected by the RBL(0xc1080000). Create the AIS

Signed-off-by: Sughosh Ganu <urwithsughosh@gmail.com>
Signed-off-by: Ben Gardiner <bengardiner@nanometrics.ca>
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
2010-12-09 10:24:11 +01:00
Sughosh Ganu
3258dcae81 Remove board_init_f function from nand_boot.c
Remove the board_init_f function from nand_spl/nand_boot.c. This
 function is to be defined by all boards using the nand_spl
 functionality in their individual board directory.

 Currently this function was being used by the smdk6400 board. Added
 the board specific function definition.

Signed-off-by: Sughosh Ganu <urwithsughosh@gmail.com>
Acked-by: Scott Wood <scottwood@freescale.com>
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
2010-12-09 10:24:11 +01:00
Sughosh Ganu
a63fbf6730 Move and rename common headers from under
board/davinci.

 Move the davinci common headers to the architecture specific
 include file path.

Signed-off-by: Sughosh Ganu <urwithsughosh@gmail.com>
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
2010-12-09 10:24:11 +01:00
Stefano Babic
b5d9791f8c da850: Enable SPI Flash
The patch was already posted to the arago project,
but not yet to mainline. It allows to save environment into
the spi flash. Tested on LogiPD tmdxl138.

Signed-off-by: Sudhakar Rajashekhara <sudhakar.raj@ti.com>
Signed-off-by: Stefano Babic <sbabic@denx.de>
CC: Detlev Zundev <dzu@denx.de>
CC: Ben Gardiner <bengardiner@nanometrics.ca>
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
2010-12-09 10:24:11 +01:00
Sudhakar Rajashekhara
f177db3011 da8xx: Add cpu_is_da8xx macros
Signed-off-by: Sudhakar Rajashekhara <sudhakar.raj@ti.com>
CC: Stefano Babic <sbabic@denx.de>
CC: Detlev Zundev <dzu@denx.de>
CC: Ben Gardiner <bengardiner@nanometrics.ca>
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
2010-12-09 10:24:10 +01:00
Rabin Vincent
ed8456f64d pl01x: use C structs and readl/writel
Use C structs for registers, and use readl/writel instead of custom
accessors.

Acked-by: Michael Brandt <michael.brandt@stericsson.com>
Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com>
2010-12-09 10:24:10 +01:00
Wolfgang Wegner
9d8461cc69 add Xilinx_abort_fn to Xilinx_Spartan3_Slave_Serial_fns
Currently the hardware was left in an undefined state in case Spartan3
serial load failed. This patch adds Xilinx_abort_fn to give the board
a possibility to clean up in this case.

Signed-off-by: Wolfgang Wegner <w.wegner@astro-kom.de>
2010-12-09 10:24:10 +01:00
Mike Frysinger
3f7cfeea2d ext2: constify file/dir names
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-12-09 10:24:09 +01:00
Mike Frysinger
32ff4b7fe4 stdio: constify "name" arg in public api
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-12-09 10:24:09 +01:00
Heiko Schocher
296cae732b arm: add 8-byte alignment for ABI compliance before board_init_f
suggested from Daniel Hobi<daniel.hobi@schmid-telecom.ch>

Tested on following boards:
arm1136: qong
armv7: omap3_beagle
arm926ejs: magnesium, tx25

Signed-off-by: Heiko Schocher <hs@denx.de>
cc: Daniel Hobi <daniel.hobi@schmid-telecom.ch>
cc: Albert ARIBAUD <albert.aribaud@free.fr>
2010-12-08 23:50:09 +01:00
Dirk Behme
44b0a386bc ARMV7: Vexpress: Fix build error
Fix ca9x4_ct_vxp build error

Configuring for ca9x4_ct_vxp board...
board/armltd/vexpress/libvexpress.o: In function `udelay':
u-boot.git/board/armltd/vexpress/ca9x4_ct_vxp.c:161: multiple
definition of `udelay'
lib/libgeneric.o:u-boot.git/lib/time.c:34: first defined here

lib/libgeneric.o: In function `udelay':

zlib.c:(.text+0x1ee8): undefined reference to `__udelay'

Signed-of-by: Dirk Behme <dirk.behme@googlemail.com>
2010-12-08 23:46:36 +01:00
Matt Waddel
9d37cf310a ARMV7: Vexpress: fix compile warnings
Fixed "pointer from integer without a cast" warnings in Vexpress.

Signed-off-by: Matt Waddel <matt.waddel@linaro.org>
2010-12-08 23:44:51 +01:00
Matt Waddel
7d38f87474 ARMV7: Vexpress: fix build errors
This patch fixes build errors in the vexpress system:
  - Removed sys_proto.h requirement from syslib.c.
  - Switched vexpress to the default armv7 linker script.
  - Renamed TEXT_BASE to CONFIG_SYS_TEXT_BASE.

Signed-off-by: Matt Waddel <matt.waddel@linaro.org>
2010-12-08 23:44:21 +01:00
Wolfgang Denk
b097b9282c Merge branch 'master' of git://git.denx.de/u-boot-arm 2010-12-08 23:17:57 +01:00
Lei Wen
a430b137eb onenand: fix oob print out issue
Seems original implementation forget to set the pointer to point
to the oobbuf, so when we want to see oob buf, we see nothing...
Fix it by get pointer as the oobbuf set.

Signed-off-by: Lei Wen <leiwen@marvell.com>
2010-12-07 16:04:20 -06:00
Andreas Bießmann
a429db7e3c arm920t/at91/timer: replace bss variables by gd
Reuse the gd->tbl value for timestamp and add gd->lastinc for lastinc
bss values in arm920t/at91/timer driver.
The usage of bss values in driver before initialisation of bss is
forbidden. In that special case some data in .rel.dyn gets corrupted by
the arm920t/at91/timer driver.

Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com>
2010-12-07 22:08:07 +01:00
Andreas Bießmann
305bf489d1 arm920t/at91/reset: board_reset: define weak symbol
Signed-off-by: Andreas Bießmann <biessmann@corscience.de>
2010-12-07 22:08:07 +01:00
Andreas Bießmann
0a41edaabb MAKEALL: fix AT91
* add boards_by_soc()
 * remove boards already in boards.cfg from LIST_AT91

Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com>
2010-12-07 22:08:07 +01:00