oweals/u-boot.git
16 years agompc8641: Change 32-bit memory map
Becky Bruce [Thu, 6 Nov 2008 23:36:04 +0000 (17:36 -0600)]
mpc8641: Change 32-bit memory map

The memory map on the 8641hpcn is modified to look more like
the 85xx boards; this is a step towards a more standardized
layout going forward. As part of this change, we now relocate
the flash.

The regions for some of the mappings were far larger than they
needed to be.  I have reduced the mappings to match the
actual sizes supported by the hardware.

In addition I have removed the comments at the head
of the BAT blocks in the config file, rather than updating
them.  These get horribly out of date, and it's a simple
matter to look at the defines to see what they are set to
since everything is right here in the same file.

Documentation has been changed to reflect the new map, as this
change is user visible, and affects the OS which runs post-uboot.

Signed-off-by: Becky Bruce <becky.bruce@freescale.com>
16 years agompc86xx: Change early FLASH mapping to 1M at CONFIG_MONITOR_BASE_EARLY
Becky Bruce [Wed, 5 Nov 2008 20:55:35 +0000 (14:55 -0600)]
mpc86xx: Change early FLASH mapping to 1M at CONFIG_MONITOR_BASE_EARLY

We define CONFIG_MONITOR_BASE_EARLY to define the initial location
of the bootpage in flash.   Use this to create an early mapping
definition for the FLASH, and change the early_bats code to use this.

This  change facilitates the relocation of the flash since the early
mappings are no longer tied to the final location of the flash.

Signed-off-by: Becky Bruce <becky.bruce@freescale.com>
16 years agompc86xx: Use SRR0/1/rfi to enable address translation, not blr
Becky Bruce [Wed, 5 Nov 2008 20:55:34 +0000 (14:55 -0600)]
mpc86xx: Use SRR0/1/rfi to enable address translation, not blr

Using a mtmsr/blr means that you have to be executing at the
same virtual address once you enable translation.  This is
unnecessarily restrictive, and is not really how this is
usually done.  Change it to use the more common mtspr SRR0/SRR1
and rfi method.

Signed-off-by: Becky Bruce <becky.bruce@freescale.com>
16 years agompc8641: make DIAG_ADDR == FLASH_BASE
Becky Bruce [Wed, 5 Nov 2008 20:55:33 +0000 (14:55 -0600)]
mpc8641: make DIAG_ADDR == FLASH_BASE

Currently, that's what it is, but it's hardcoded.

Signed-off-by: Becky Bruce <becky.bruce@freescale.com>
16 years agompc8641: Drop imaginary second flash bank, map 8MB
Becky Bruce [Wed, 5 Nov 2008 20:55:32 +0000 (14:55 -0600)]
mpc8641: Drop imaginary second flash bank, map 8MB

There's a lot of setup and foo for the second flash
bank.  The problem is, this board doesn't actually have one.
Clean this up.  Also, the flash is 8M in size.  Get rid
of the confusing aliased overmapping, and just map 8M.

Signed-off-by: Becky Bruce <becky.bruce@freescale.com>
16 years agompc8641: only define CONFIG_ENV_SIZE once
Becky Bruce [Wed, 5 Nov 2008 20:55:31 +0000 (14:55 -0600)]
mpc8641: only define CONFIG_ENV_SIZE once

It's currently defined twice inside in an if/else block, but
both halves set the same value.  Move the define outside
the if.

Signed-off-by: Becky Bruce <becky.bruce@freescale.com>
16 years agompc86xx: Move setup_bats into cpu_init_f
Becky Bruce [Wed, 5 Nov 2008 20:55:30 +0000 (14:55 -0600)]
mpc86xx: Move setup_bats into cpu_init_f

In order to later allow for a physical relocation of the
flash, setup_bats, which sets up the final BAT mapping
for the board, needs to happen *after* init_laws().
Otherwise, there will be no window programmed for the flash
at the new physical location at the point when we change
the mmu translation.

Signed-off-by: Becky Bruce <becky.bruce@freescale.com>
16 years agompc8641: Remove extra "0" from BR2 define
Becky Bruce [Wed, 5 Nov 2008 20:55:29 +0000 (14:55 -0600)]
mpc8641: Remove extra "0" from BR2 define

Signed-off-by: Becky Bruce <becky.bruce@freescale.com>
16 years agoMerge commit 'wd/master'
Jon Loeliger [Mon, 10 Nov 2008 16:04:51 +0000 (10:04 -0600)]
Merge commit 'wd/master'

16 years agoMerge branch 'master' of /home/wd/git/u-boot/custodians
Wolfgang Denk [Sat, 8 Nov 2008 23:33:44 +0000 (00:33 +0100)]
Merge branch 'master' of /home/wd/git/u-boot/custodians

16 years agoMerge branch 'master' of git://git.denx.de/u-boot-arm
Wolfgang Denk [Sat, 8 Nov 2008 23:33:10 +0000 (00:33 +0100)]
Merge branch 'master' of git://git.denx.de/u-boot-arm

16 years agoMerge branch 'master' of /home/wd/git/u-boot/custodians
Wolfgang Denk [Sat, 8 Nov 2008 23:10:03 +0000 (00:10 +0100)]
Merge branch 'master' of /home/wd/git/u-boot/custodians

16 years agoMerge branch 'master' of git://git.denx.de/u-boot-at91
Wolfgang Denk [Sat, 8 Nov 2008 23:09:51 +0000 (00:09 +0100)]
Merge branch 'master' of git://git.denx.de/u-boot-at91

16 years agoMerge branch 'master' of /home/wd/git/u-boot/custodians
Wolfgang Denk [Sat, 8 Nov 2008 23:01:59 +0000 (00:01 +0100)]
Merge branch 'master' of /home/wd/git/u-boot/custodians

16 years agoMerge branch 'master' of git://git.denx.de/u-boot-coldfire
Wolfgang Denk [Sat, 8 Nov 2008 23:01:42 +0000 (00:01 +0100)]
Merge branch 'master' of git://git.denx.de/u-boot-coldfire

16 years agoAT91: Replace AT91_BASE_EMAC by the board specific values.
Stelian Pop [Fri, 7 Nov 2008 12:54:31 +0000 (13:54 +0100)]
AT91: Replace AT91_BASE_EMAC by the board specific values.

AT91_BASE_EMAC is never used outside the board specific files,
so replace its usage by the board specific AT91xxx_BASE_EMAC.

Signed-off-by: Stelian Pop <stelian@popies.net>
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
16 years agoAT91: Replace (undefined) AT91_ID_US* by the board specific values.
Stelian Pop [Fri, 7 Nov 2008 11:09:21 +0000 (12:09 +0100)]
AT91: Replace (undefined) AT91_ID_US* by the board specific values.

AT91_ID_US0 / AT91_ID_US1 / AT91_ID_US2 were used but never defined.
Since they are never used outside the board specific files, they can
be replaced by the board specific AT91xxx_ID_US0 / AT91xxx_ID_US1 /
AT91xxx_ID_US2.

Bug spotted by Jesus Alvarez <jalvarez@micromint.com>.

Signed-off-by: Stelian Pop <stelian@popies.net>
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
16 years agoMakefile/at91sam9: move some at91sam9 to the correct subsection for arm926ejs
Jean-Christophe PLAGNIOL-VILLARD [Sat, 1 Nov 2008 09:47:59 +0000 (10:47 +0100)]
Makefile/at91sam9: move some at91sam9 to the correct subsection for arm926ejs

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
16 years agoCustom AFEB9260 board support
Sergey Lapin [Fri, 31 Oct 2008 11:28:43 +0000 (12:28 +0100)]
Custom AFEB9260 board support

This patch provides support for AFEB9260 board, a product of
OpenSource hardware and software. Some commertial projects
are made with this design. A board is basically AT91SAM9260-EK
with some modifications and different peripherals and different
parts used. Main purpose of this project is to gain experience in
hardware design.
More info: http://groups.google.com/group/arm9fpga-evolution-board
(In Russian only, sorry).
Subversion repository: svn://194.85.238.22/home/users/george/svn/arm9eb

Signed-off-by: Sergey Lapin <slapin@ossfans.org>
16 years agoChange to use "do_div" macro
Tomohiro Masubuchi [Tue, 21 Oct 2008 04:17:16 +0000 (13:17 +0900)]
Change to use "do_div" macro

Signed-off-by: Tomohiro Masubuchi <tomohiro_masubuchi@tripeaks.co.jp>
16 years agoARM926EJ-S: relocate OMAP specific 'cpuinfo.c' into OMAP directory
Roman Mashak [Wed, 22 Oct 2008 20:00:26 +0000 (16:00 -0400)]
ARM926EJ-S: relocate OMAP specific 'cpuinfo.c' into OMAP directory

OMAP identification is implemented in 'cpuinfo.c' and located in ARM926EJ-S directory.
It makes sense to place this file in OMAP specific subdirectory, i.e. cpu/arm926ejs/omap

Signed-off-by: Roman Mashak <romez777@gmail.com>
16 years agoARM/Versatile port: Removed unused functions
Roman Mashak [Tue, 21 Oct 2008 10:01:41 +0000 (03:01 -0700)]
ARM/Versatile port: Removed unused functions

Removal of never used functions.

Signed-off-by: Roman Mashak <romez777@gmail.com>
16 years agopowerpc: change 86xx SMP boot method
Becky Bruce [Mon, 3 Nov 2008 21:44:01 +0000 (15:44 -0600)]
powerpc: change 86xx SMP boot method

We put the bootpg for the secondary cpus into memory and use
BPTR to get to it.  This is a step towards converting to the
ePAPR boot methodology.  Also, the code is written to
deal properly with more than 4GB of RAM.

Signed-off-by: Becky Bruce <becky.bruce@freescale.com>
16 years ago8641HPCN: Config file cleanup
Becky Bruce [Fri, 31 Oct 2008 22:13:49 +0000 (17:13 -0500)]
8641HPCN: Config file cleanup

There are several items in the config file that were hardcoded
but that should really be based on other config options, since
the regions are contiguous and depend on being so.  This cleans
that up a bit.  Also, add BR_PHYS_ADDR() macro to convert
addresses into the proper format for BR registers.

Signed-off-by: Becky Bruce <becky.bruce@freescale.com>
16 years ago86xx: Make dram_size a phys_size_t
Becky Bruce [Fri, 31 Oct 2008 22:13:32 +0000 (17:13 -0500)]
86xx: Make dram_size a phys_size_t

It's currently a long and should be phys_size_t.

Signed-off-by: Becky Bruce <becky.bruce@freescale.com>
16 years agopowerpc 86xx: Handle CCSR relocation earlier
Becky Bruce [Mon, 3 Nov 2008 00:19:32 +0000 (18:19 -0600)]
powerpc 86xx: Handle CCSR relocation earlier

Currently, the CCSR gets relocated while translation is
enabled, meaning we need 2 BAT translations to get to both the
old location and the new location.  Also, the DEFAULT
CCSR location has a dependency on the BAT that maps the
FLASH region.  Moving the relocation removes this unnecessary
dependency. This makes it easier and more intutive to
modify the board's memory map.

Swap BATs 3 and 4 on 8610 so that all 86xx boards use the same
BAT for CCSR space.

Signed-off-by: Becky Bruce <becky.bruce@freescale.com>
16 years agompc8641: Make PCI and RIO mutually exclusive, fix non-PCI build
Becky Bruce [Fri, 31 Oct 2008 22:14:14 +0000 (17:14 -0500)]
mpc8641: Make PCI and RIO mutually exclusive, fix non-PCI build

You can't actually have both, and with some coming changes to
change the memory map for the board and support 36-bit physical,
we need the extra BAT that is being consumed by having both.

I also make non-PCI configs build cleanly, for the sake of sanity.

Signed-off-by: Becky Bruce <becky.bruce@freescale.com>
16 years agompc8641: Stop supporting non-PCI_PNP configs
Becky Bruce [Fri, 31 Oct 2008 22:14:00 +0000 (17:14 -0500)]
mpc8641: Stop supporting non-PCI_PNP configs

We don't actually ever do this, remove the code so we
can stop maintaining it.

Signed-off-by: Becky Bruce <becky.bruce@freescale.com>
16 years agoColdFire: Fix M5329EVB and M5373EVB nand issue
TsiChung Liew [Fri, 24 Oct 2008 12:59:12 +0000 (12:59 +0000)]
ColdFire: Fix M5329EVB and M5373EVB nand issue

Fix compilation issue caused by a few mismatches.
Provide proper nand chip select enable/disable in
nand_hwcontrol() rather than in board_nand_init()
just enable once. Remove redundant local nand driver
functions - nand_read_byte(), nand_write_byte() and
nand_dev_ready() to use common nand driver.

Signed-off-by: TsiChung Liew <Tsi-Chung.Liew@freescale.com>
16 years agoColdFire: Fix compilation error
TsiChung Liew [Wed, 22 Oct 2008 11:55:30 +0000 (11:55 +0000)]
ColdFire: Fix compilation error

The error was caused by the change for strmhz() in cpu.c.
A few of them were one extra close parenthesis.

Signed-off-by: TsiChung Liew <Tsi-Chung.Liew@freescale.com>
16 years agoColdFire: Add MCF5301x CPU and M53017EVB support
TsiChung Liew [Wed, 22 Oct 2008 11:38:21 +0000 (11:38 +0000)]
ColdFire: Add MCF5301x CPU and M53017EVB support

Signed-off-by: TsiChung Liew <Tsi-Chung.Liew@freescale.com>
16 years agoColdFire: Add SBF support for M52277EVB
TsiChung Liew [Tue, 21 Oct 2008 15:37:02 +0000 (15:37 +0000)]
ColdFire: Add SBF support for M52277EVB

Add serial boot support

Signed-off-by: TsiChung Liew <Tsi-Chung.Liew@freescale.com>
16 years agoColdFire: Use CFI driver for M5272C3
TsiChung Liew [Tue, 21 Oct 2008 14:19:26 +0000 (14:19 +0000)]
ColdFire: Use CFI driver for M5272C3

Signed-off-by: TsiChung Liew <Tsi-Chung.Liew@freescale.com>
16 years agoColdFire: Relocate FEC's GPIO and mii functions protocols
TsiChung Liew [Tue, 21 Oct 2008 13:47:54 +0000 (13:47 +0000)]
ColdFire: Relocate FEC's GPIO and mii functions protocols

Place FEC pin assignments in cpu_init.c from platform's
mii.c

Signed-off-by: TsiChung Liew <Tsi-Chung.Liew@freescale.com>
16 years agoColdFire: Remove platforms mii.c file
TsiChung Liew [Tue, 21 Oct 2008 12:15:44 +0000 (12:15 +0000)]
ColdFire: Remove platforms mii.c file

Will use mcfmii.c driver in drivers/net rather than
keep creating new mii.c for each future platform.
Remove EB+MCF-EV123, cobra5272, idmr, M5235EVB,
M5271EVB, M5272C3, M5275EVB, M5282EVB, M5329EVB,
M5373EVB, M54451EVB, M54455EVB, M547xEVB, and M548xEVB's
mii.c

Signed-off-by: TsiChung Liew <Tsi-Chung.Liew@freescale.com>
16 years agoColdFire: Modules header files cleanup
TsiChung Liew [Tue, 21 Oct 2008 10:03:07 +0000 (10:03 +0000)]
ColdFire: Modules header files cleanup

Consolidate ATA, ePORT, QSPI, FlexCan, PWM, RNG,
MDHA, SKHA, INTC, and FlexBus structures and
definitions in immap_5xxx.h to more unify modules
header files. Append DSPI support for m547x_8x.
SSI cleanup. Remove USB Host structure from immap_539.h.
Apply changes to use FlexBus structures in mcf52x2's
cpu_init.c and platform configuration files.

Signed-off-by: TsiChung Liew <Tsi-Chung.Liew@freescale.com>
16 years agoColdFire: Remove linker file
TsiChung Liew [Tue, 21 Oct 2008 08:52:36 +0000 (08:52 +0000)]
ColdFire: Remove linker file

Each different build for M54455EVB and M5235EVB will
create a u-boot.lds linker file. It is redundant to
keep the u-boot.lds

Signed-off-by: TsiChung Liew <Tsi-Chung.Liew@freescale.com>
16 years agoppc: Fix compile warnings when !CONFIG_OF_LIBFDT
Peter Tyser [Fri, 31 Oct 2008 16:26:44 +0000 (11:26 -0500)]
ppc: Fix compile warnings when !CONFIG_OF_LIBFDT

Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
16 years agocommon/Makefile: create others group for non core, environment and command files
Jean-Christophe PLAGNIOL-VILLARD [Fri, 31 Oct 2008 11:12:12 +0000 (12:12 +0100)]
common/Makefile: create others group for non core, environment and command files

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
16 years agoTQM8260: use CFI flash driver instead of custom driver.
Wolfgang Denk [Fri, 31 Oct 2008 00:13:37 +0000 (01:13 +0100)]
TQM8260: use CFI flash driver instead of custom driver.

Signed-off-by: Wolfgang Denk <wd@denx.de>
16 years agoConsolidate MAX/MIN definitions
Andy Fleming [Thu, 30 Oct 2008 22:35:30 +0000 (17:35 -0500)]
Consolidate MAX/MIN definitions

There were several, now there is one (two if you count the lower-case
versions).

Signed-off-by: Andy Fleming <afleming@freescale.com>
16 years agomgsuvd: remove unused defines in config file.
Heiko Schocher [Thu, 30 Oct 2008 08:23:09 +0000 (09:23 +0100)]
mgsuvd: remove unused defines in config file.

Signed-off-by: Heiko Schocher <hs@denx.de>
16 years agoCoding Style cleanup, update CHANGELOG
Wolfgang Denk [Sun, 2 Nov 2008 15:14:22 +0000 (16:14 +0100)]
Coding Style cleanup, update CHANGELOG

Signed-off-by: Wolfgang Denk <wd@denx.de>
16 years agoMerge branch 'master' of git://git.denx.de/u-boot-nand-flash
Wolfgang Denk [Sat, 1 Nov 2008 15:18:43 +0000 (16:18 +0100)]
Merge branch 'master' of git://git.denx.de/u-boot-nand-flash

16 years agoMerge branch 'master' of git://git.denx.de/u-boot-sh
Wolfgang Denk [Sat, 1 Nov 2008 15:13:12 +0000 (16:13 +0100)]
Merge branch 'master' of git://git.denx.de/u-boot-sh

16 years agoMerge branch 'master' of git://git.denx.de/u-boot-cfi-flash
Wolfgang Denk [Sat, 1 Nov 2008 15:11:08 +0000 (16:11 +0100)]
Merge branch 'master' of git://git.denx.de/u-boot-cfi-flash

16 years agoMerge branch 'master' of git://git.denx.de/u-boot-ppc4xx
Wolfgang Denk [Sat, 1 Nov 2008 15:07:43 +0000 (16:07 +0100)]
Merge branch 'master' of git://git.denx.de/u-boot-ppc4xx

16 years agoMerge branch 'master' of git://git.denx.de/u-boot-fdt
Wolfgang Denk [Sat, 1 Nov 2008 15:05:51 +0000 (16:05 +0100)]
Merge branch 'master' of git://git.denx.de/u-boot-fdt

16 years agoMerge branch 'master' of git://git.denx.de/u-boot-blackfin
Wolfgang Denk [Sat, 1 Nov 2008 14:59:35 +0000 (15:59 +0100)]
Merge branch 'master' of git://git.denx.de/u-boot-blackfin

16 years agoNAND: Allow NAND and OneNAND to coexist
Alessandro Rubini [Fri, 31 Oct 2008 21:33:21 +0000 (22:33 +0100)]
NAND: Allow NAND and OneNAND to coexist

This removes in nand.h code that is verbatim duplicated from bbm.h,
including directly bbm.h in nand.h. The previous state of affairs
prevented compiling code for a board hosting both NAND and OneNAND chips.

Reported-by: Scott Wood <scottwood@freescale.com>
Signed-off-by: Alessandro Rubini <rubini@unipv.it>
Signed-off-by: Scott Wood <scottwood@freescale.com>
16 years agoJFFS2: Eliminate compiler error when both NAND and OneNAND are enabled.
Scott Wood [Fri, 31 Oct 2008 18:51:12 +0000 (13:51 -0500)]
JFFS2: Eliminate compiler error when both NAND and OneNAND are enabled.

Reported-by: Alessandro Rubini <rubini-list@gnudd.com>
Signed-off-by: Scott Wood <scottwood@freescale.com>
16 years agoNAND: Add NAND support for MPC8536DS board
Jason Jin [Fri, 31 Oct 2008 10:07:04 +0000 (05:07 -0500)]
NAND: Add NAND support for MPC8536DS board

This patch defines 1M TLB&LAW size for NAND on MPC8536DS, assigns 0xffa00000
for CONFIG_SYS_NAND_BASE and adds other NAND supports in config file.
It also moves environment(CONFIG_ENV_ADDR) outside of u-boot image.

Singed-off-by: Jason Jin <Jason.Jin@freescale.com>
Signed-off-by: Haiying Wang <Haiying.Wang@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
16 years agoNAND: Fix CONFIG_ENV_ADDR for MPC8572DS
Haiying Wang [Fri, 31 Oct 2008 10:06:14 +0000 (05:06 -0500)]
NAND: Fix CONFIG_ENV_ADDR for MPC8572DS

CONFIG_ENV_ADDR should be (CONFIG_SYS_MONITOR_BASE - CONFIG_ENV_SECT_SIZE).

Signed-off-by: Haiying Wang <Haiying.Wang@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
16 years agosh: rsk7203: Moved rsk7203 board to board/renesas
Nobuhiro Iwamatsu [Fri, 24 Oct 2008 01:49:48 +0000 (10:49 +0900)]
sh: rsk7203: Moved rsk7203 board to board/renesas

Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
16 years agosh: MigoR: Moved MigoR board to board/renesas
Nobuhiro Iwamatsu [Fri, 24 Oct 2008 01:48:31 +0000 (10:48 +0900)]
sh: MigoR: Moved MigoR board to board/renesas

Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
16 years agosh: r2dplus: Moved r2dplus board to board/renesas
Nobuhiro Iwamatsu [Fri, 24 Oct 2008 01:39:44 +0000 (10:39 +0900)]
sh: r2dplus: Moved r2dplus board to board/renesas

Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
16 years agosh: sh7763rdp: Moved sh7763rdp board to board/renesas
Nobuhiro Iwamatsu [Fri, 24 Oct 2008 01:36:13 +0000 (10:36 +0900)]
sh: sh7763rdp: Moved sh7763rdp board to board/renesas

Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
16 years agosh: sh7785lcr: Moved sh7785lcr board to board/renesas
Nobuhiro Iwamatsu [Fri, 24 Oct 2008 01:35:19 +0000 (10:35 +0900)]
sh: sh7785lcr: Moved sh7785lcr board to board/renesas

Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
16 years agosh: r7780mp: Moved r7780mp board to board/renesas
Nobuhiro Iwamatsu [Fri, 24 Oct 2008 01:34:21 +0000 (10:34 +0900)]
sh: r7780mp: Moved r7780mp board to board/renesas

Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
16 years agosh: ap325rxa: Moved ap325rxa board to board/renesas
Nobuhiro Iwamatsu [Fri, 24 Oct 2008 01:32:14 +0000 (10:32 +0900)]
sh: ap325rxa: Moved ap325rxa board to board/renesas

Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
16 years agoCFI Driver: Fix "flash not ready" problem
Wolfgang Denk [Fri, 31 Oct 2008 00:12:28 +0000 (01:12 +0100)]
CFI Driver: Fix "flash not ready" problem

This patch fixes a problem on systems where the NOR flash is attached
to a 64 bit bus.  The toggle bit detection in flash_toggle() is based
on the assumption that the same flash address is read twice without
any other interjacent flash accesses.  However, on 32 bit systems the
function flash_read64() [as currently implemented] does not perform
an atomic 64 bit read - instead, this is broken down into two 32 bit
read accesses on addresses "addr" and "addr + 4".  So instead of
reading a 64 bit value twice from "addr", we see a sequence of 4 32
bit reads from "addr", "addr + 4", "addr", and "addr + 4".  The
consequence is that flash_toggle() fails to work.

This patch implements a simple, but somewhat ugly solution, as it
avoids the use of flash_read64() in this critical place (by breaking
it down manually into 32 bit read operations) instead of rewriting
flash_read64() such to perform atomic 64 bit reads as one could
expect.  However, such a rewrite would require the use of floating
point load operations, which becomes pretty complex:

save MSR;
set Floating Point Enable bit in MSR;
use "lfd" instruction to perform atomic 64 bit read;
use "stfd" to store value to temporary variable on stack;
load u64 value from temporary variable;
restore saved MSR;
return u64 value;

The benefit-cost ratio of such an implementation was considered too
bad to actually attempt this, especially as we can expect that such
an implementation would not only have a bigger memory footprint but
also cause a performance degradation.

Signed-off-by: Wolfgang Denk <wd@denx.de>
Signed-off-by: Stefan Roese <sr@denx.de>
16 years agoppc4xx: Fix spelling error in MAINTAINERS file
Stefan Roese [Fri, 31 Oct 2008 09:48:08 +0000 (10:48 +0100)]
ppc4xx: Fix spelling error in MAINTAINERS file

Signed-off-by: Stefan Roese <sr@denx.de>
16 years agoppc4xx: Update PMC440 board support
Matthias Fuchs [Tue, 28 Oct 2008 12:37:00 +0000 (13:37 +0100)]
ppc4xx: Update PMC440 board support

This patch brings PMC440 board support up to date:

- fix GPIO configuration
- add misc_init_f()
- use better values for usbact variable
- fix USB 2.0 phy reset sequence
- shrink BAR2 to save PCI address space
- add FDT support

Signed-off-by: Matthias Fuchs <matthias.fuchs@esd-electronics.com>
Signed-off-by: Stefan Roese <sr@denx.de>
16 years agoppc4xx: Fix PMC440 BSP commands
Matthias Fuchs [Tue, 28 Oct 2008 12:36:59 +0000 (13:36 +0100)]
ppc4xx: Fix PMC440 BSP commands

This patch fixes the PMC440 BSP commands painit and selfreset

Signed-off-by: Matthias Fuchs <matthias.fuchs@esd-electronics.com>
Signed-off-by: Stefan Roese <sr@denx.de>
16 years agoppc4xx: Update PMC440 board configuration
Matthias Fuchs [Tue, 28 Oct 2008 12:36:58 +0000 (13:36 +0100)]
ppc4xx: Update PMC440 board configuration

Signed-off-by: Matthias Fuchs <matthias.fuchs@esd-electronics.com>
Signed-off-by: Stefan Roese <sr@denx.de>
16 years agoppc4xx: Fix esd loadpci command
Matthias Fuchs [Tue, 28 Oct 2008 12:36:57 +0000 (13:36 +0100)]
ppc4xx: Fix esd loadpci command

This patch fixes esd's loadpci command when not all
memory on adapter boards is accessable via PCI.

Signed-off-by: Matthias Fuchs <matthias.fuchs@esd-electronics.com>
Signed-off-by: Stefan Roese <sr@denx.de>
16 years agoppc4xx: Clean up PMC440 header
Matthias Fuchs [Tue, 28 Oct 2008 12:36:56 +0000 (13:36 +0100)]
ppc4xx: Clean up PMC440 header

-Codingstyle cleanup
-Remove unused GPIO define

Signed-off-by: Matthias Fuchs <matthias.fuchs@esd-electronics.com>
Signed-off-by: Stefan Roese <sr@denx.de>
16 years agoppc4xx: Handle other board variant in PMC440 FPGA code
Matthias Fuchs [Tue, 28 Oct 2008 12:36:55 +0000 (13:36 +0100)]
ppc4xx: Handle other board variant in PMC440 FPGA code

Signed-off-by: Matthias Fuchs <matthias.fuchs@esd-electronics.com>
Signed-off-by: Stefan Roese <sr@denx.de>
16 years agoppc4xx: Merge xilinx-ppc440 and xilinx-ppc405 cfg
Ricardo Ribalda Delgado [Mon, 27 Oct 2008 11:35:59 +0000 (12:35 +0100)]
ppc4xx: Merge xilinx-ppc440 and xilinx-ppc405 cfg

Xilinx ppc440 and ppc405 have many similarities. This patch merge the
config files of both infrastuctures

Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@uam.es>
Signed-off-by: Stefan Roese <sr@denx.de>
16 years agoppc4xx: Correctly configure the GPIO pin muxing on Arches
Stefan Roese [Sat, 25 Oct 2008 04:45:31 +0000 (06:45 +0200)]
ppc4xx: Correctly configure the GPIO pin muxing on Arches

Arches doesn't use PerCS3 but GPIO43, so let's configure the GPIO
pin multiplexing correctly

Signed-off-by: Stefan Roese <sr@denx.de>
16 years agoFix to the auto-update feature documentation (CONFIG_UPDATE_TFTP_MSEC_MAX)
Bartlomiej Sieka [Thu, 30 Oct 2008 22:22:04 +0000 (23:22 +0100)]
Fix to the auto-update feature documentation (CONFIG_UPDATE_TFTP_MSEC_MAX)

Signed-off-by: Bartlomiej Sieka <tur@semihalf.com>
16 years agolibfdt: Fix bug in fdt_subnode_offset_namelen()
David Gibson [Thu, 30 Oct 2008 04:27:45 +0000 (23:27 -0500)]
libfdt: Fix bug in fdt_subnode_offset_namelen()

There's currently an off-by-one bug in fdt_subnode_offset_namelen()
which causes it to keep searching after it's finished the subnodes of
the given parent, and into the subnodes of siblings of the original
node which come after it in the tree.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
16 years agofdt_resize(): ensure minimum padding
Peter Korsgaard [Tue, 28 Oct 2008 07:26:52 +0000 (08:26 +0100)]
fdt_resize(): ensure minimum padding

fdt_add_mem_rsv() requires space for a struct fdt_reserve_entry
(16 bytes), so make sure that fdt_resize at least adds that much
padding, no matter what the location or size of the fdt is.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Acked-by: Andy Fleming <afleming@freescale.com>
16 years ago74xx: use r4 instead of r2 in lock_ram_in_cache and unlock_ram_in_cache
Dave Liu [Thu, 23 Oct 2008 13:59:35 +0000 (21:59 +0800)]
74xx: use r4 instead of r2 in lock_ram_in_cache and unlock_ram_in_cache

The patch is following the commit 392438406041415fe64ab8748ec5ab5ad01d1cf7

mpc86xx: use r4 instead of r2 in lock_ram_in_cache and unlock_ram_in_cache

This is needed in unlock_ram_in_cache() because it is called from C and
will corrupt the small data area anchor that is kept in R2.

lock_ram_in_cache() is modified similarly as good coding practice, but
is not called from C.

Signed-off-by: Nick Spence <nick.spence@freescale.com>
also, the r2 is used as global data pointer.

Signed-off-by: Dave Liu <daveliu@freescale.com>
16 years agoMerge branch 'master' of git://git.denx.de/u-boot-mpc83xx
Wolfgang Denk [Thu, 30 Oct 2008 20:34:40 +0000 (21:34 +0100)]
Merge branch 'master' of git://git.denx.de/u-boot-mpc83xx

16 years agompc83xx pci: Round up memory size in inbound window.
Scott Wood [Tue, 28 Oct 2008 16:45:04 +0000 (11:45 -0500)]
mpc83xx pci: Round up memory size in inbound window.

The current calculation will fail to cover all memory if
its size is not a power of two.

Signed-off-by: Scott Wood <scottwood@freescale.com>
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
16 years agoMerge branch 'master' of git://git.denx.de/u-boot-mpc86xx
Wolfgang Denk [Thu, 30 Oct 2008 19:57:46 +0000 (20:57 +0100)]
Merge branch 'master' of git://git.denx.de/u-boot-mpc86xx

16 years ago86xx: remove the unused definition
Dave Liu [Thu, 23 Oct 2008 13:19:13 +0000 (21:19 +0800)]
86xx: remove the unused definition

Signed-off-by: Dave Liu <daveliu@freescale.com>
16 years ago86xx: remove the redundant r2 global data pointer save
Dave Liu [Tue, 28 Oct 2008 09:47:49 +0000 (17:47 +0800)]
86xx: remove the redundant r2 global data pointer save

The commit 67256678f00c09b0a7f19e862e5c1847553d31bc add
the another global data pointer save, but in fact the
global data pointer will be initialized in the board_init_r,
so remove it such as the 85xx/83xx family.

Signed-off-by: Dave Liu <daveliu@freescale.com>
Acked-by: Kumar Gala <kumar.gala@freescale.com>
16 years ago86xx: remove the unused code for 86xx family
Dave Liu [Tue, 28 Oct 2008 09:47:41 +0000 (17:47 +0800)]
86xx: remove the unused code for 86xx family

I believe these code was copied from 74xx family, but for
86xx, it is unused.

Signed-off-by: Dave Liu <daveliu@freescale.com>
Acked-by: Kumar Gala <kumar.gala@freescale.com>
16 years ago86xx: remove the second DDR LAW setting for mpc8641hpcn
Dave Liu [Tue, 28 Oct 2008 09:46:35 +0000 (17:46 +0800)]
86xx: remove the second DDR LAW setting for mpc8641hpcn

The DDR1 LAW will precedence the DDR2 LAW, so remove
the second DDR LAW.

Signed-off-by: Dave Liu <daveliu@freescale.com>
Acked-by: Becky Bruce <becky.bruce@freescale.com>
16 years ago86xx: remove the unused ddr_enable_ecc in the board file
Dave Liu [Tue, 28 Oct 2008 09:46:23 +0000 (17:46 +0800)]
86xx: remove the unused ddr_enable_ecc in the board file

The DDR controller of 86xx processors have the ECC data init
feature, and the new DDR code is using the feature, we don't
need the way with DMA to init memory again.

Signed-off-by: Dave Liu <daveliu@freescale.com>
Acked-by: Kumar Gala <kumar.gala@freescale.com>
16 years ago86xx: Move the clear_tlbs before MMU turn on
Dave Liu [Tue, 28 Oct 2008 09:46:12 +0000 (17:46 +0800)]
86xx: Move the clear_tlbs before MMU turn on

We must invalidate TLBs before MMU turn on, but
currently the code is not, if there are some stale
TLB entry valid in the TLBs, it will cause strange
issue.

Signed-off-by: Dave Liu <daveliu@freescale.com>
Acked-by: Becky Bruce <becky.bruce@freescale.com>
16 years agompc8313erdb: Document NAND boot.
Scott Wood [Mon, 27 Oct 2008 20:57:08 +0000 (15:57 -0500)]
mpc8313erdb: Document NAND boot.

Previously, the documentation claimed that NAND boot is not supported.
This is no longer true.

Signed-off-by: Scott Wood <scottwood@freescale.com>
16 years agoNAND: Properly create JFFS2 cleanmarkers.
Scott Wood [Wed, 29 Oct 2008 19:20:26 +0000 (14:20 -0500)]
NAND: Properly create JFFS2 cleanmarkers.

As reported by Ilko Iliev <iliev@ronetix.at>, the "nand erase clean"
command is currently broken, and among other things causes all blocks
to be marked bad.

This implements it properly using MTD_OOB_AUTO, along with some
indentation fixes.

Signed-off-by: Scott Wood <scottwood@freescale.com>
16 years agoNAND fsl elbc: Set FMR[ECCM] based on page size.
Scott Wood [Wed, 29 Oct 2008 18:42:41 +0000 (13:42 -0500)]
NAND fsl elbc: Set FMR[ECCM] based on page size.

Hardware expects ECCM 0 for small page and ECCM 1 for large page
when booting from NAND, so use those defaults.

Signed-off-by: Scott Wood <scottwood@freescale.com>
16 years agoNAND: Add support for MPC8572DS board
Haiying Wang [Wed, 29 Oct 2008 17:32:59 +0000 (13:32 -0400)]
NAND: Add support for MPC8572DS board

This patch defines 1M TLB&LAW size for NAND on MPC8572DS, assigns
0xffa00000 for CONFIG_SYS_NAND_BASE and adds other NAND supports in
config file.

It also moves environment(CONFIG_ENV_ADDR) outside of u-boot image, to
make room for the increased code size with NAND enabled.

Signed-off-by: Jason Jin <Jason.Jin@freescale.com>
Signed-off-by: Haiying Wang <Haiying.Wang@freescale.com>
Signed-off-by: Scott Wood <scottwood@freescale.com>
16 years agoMake Freescale local bus registers available for both 83xx and 85xx.
Haiying Wang [Wed, 29 Oct 2008 15:05:55 +0000 (11:05 -0400)]
Make Freescale local bus registers available for both 83xx and 85xx.

- Rename lbus83xx_t to fsl_lbus_t and move it to asm/fsl_lbc.h so that it
  can be shared by both 83xx and 85xx
- Remove lbus83xx_t and replace it with fsl_lbus_t in all 83xx boards
  files which use lbus83xx_t.
- Move FMR, FIR, FCR, FPAR, LTESR from mpc83xx.h to asm/fsl_lbc.h so that
  85xx can share them.

Signed-off-by: Jason Jin <Jason.Jin@freescale.com>
Signed-off-by: Haiying Wang <Haiying.Wang@freescale.com>
Signed-off-by: Scott Wood <scottwood@freescale.com>
16 years agoNAND: Align right column of the shorthelp with other commands.
Scott Wood [Mon, 27 Oct 2008 20:38:30 +0000 (15:38 -0500)]
NAND: Align right column of the shorthelp with other commands.

I accidentally broke this in when making consistent the partial
alignment of the longhelp.

Signed-off-by: Scott Wood <scottwood@freescale.com>
16 years agoNAND: Reset chip on power-up
Karl Beldan [Mon, 15 Sep 2008 14:08:03 +0000 (16:08 +0200)]
NAND: Reset chip on power-up

Some chips require a RESET after power-up (e.g. Micron MT29FxGxxxxx).
The first command sent is NAND_CMD_READID.
Issue a NAND_CMD_RESET in nand_scan_ident before reading the device id.
Tested with an MT29F4G08AAC.

Signed-off-by: Karl Beldan <karl.beldan@gmail.com>
Signed-off-by: Scott Wood <scottwood@freescale.com>
16 years agoNAND: sync with 2.6.27
Scott Wood [Fri, 24 Oct 2008 21:20:43 +0000 (16:20 -0500)]
NAND: sync with 2.6.27

This brings the core NAND code up to date with the Linux kernel.

Since there were several drivers in Linux as of the last update that are
not in u-boot, I'm not bringing over new drivers that have been added
since in the absence of an interested party.

I did not update OneNAND since it was recently synced by Kyungmin Park,
and I'm not sure exactly what the common ancestor is.

Signed-off-by: Scott Wood <scottwood@freescale.com>
16 years agobootm: Added CONFIG_BOOTM_{LINUX, NETBSD, RTEMS}
Kumar Gala [Tue, 21 Oct 2008 22:25:47 +0000 (17:25 -0500)]
bootm: Added CONFIG_BOOTM_{LINUX, NETBSD, RTEMS}

Added the ability to config out bootm support for Linux, NetBSD, RTEMS

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
16 years agobootm: support subcommands in linux ppc bootm
Kumar Gala [Tue, 21 Oct 2008 22:25:46 +0000 (17:25 -0500)]
bootm: support subcommands in linux ppc bootm

Add support for 'bdt', 'cmdline', 'prep' to the linux PPC bootm.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
16 years agobootm: Add subcommands
Kumar Gala [Tue, 21 Oct 2008 22:25:45 +0000 (17:25 -0500)]
bootm: Add subcommands

Add the ability to break the steps of the bootm command into several
subcommands: start, loados, ramdisk, fdt, bdt, cmdline, prep, go.

This allows us to do things like manipulate device trees before
they are passed to a booting kernel or setup memory for a secondary
core in multicore situations.

Not all OS types support all subcommands (currently only start, loados,
ramdisk, fdt, and go are supported).

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
16 years agobootm: Move to using a function pointer table for the boot os function
Kumar Gala [Tue, 21 Oct 2008 22:25:44 +0000 (17:25 -0500)]
bootm: Move to using a function pointer table for the boot os function

This removes a bit of code and makes it easier for the upcoming sub bootm
command support to call into the proper OS specific handler.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Wolfgang Denk <wd@denx.de>
16 years agoMerge branch 'master' of git://git.denx.de/u-boot-video
Wolfgang Denk [Tue, 28 Oct 2008 07:37:19 +0000 (08:37 +0100)]
Merge branch 'master' of git://git.denx.de/u-boot-video

16 years agoi386: Renamed show_boot_progress in assembler code
Graeme Russ [Mon, 29 Sep 2008 13:03:14 +0000 (23:03 +1000)]
i386: Renamed show_boot_progress in assembler code

Renamed show_boot_progress in assembler init phase to
show_boot_progress_asm to avoid link conflicts with C version

Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
16 years agoMerge branch 'denx'
Andy Fleming [Mon, 27 Oct 2008 22:31:05 +0000 (17:31 -0500)]
Merge branch 'denx'

16 years ago85xx: Update MPC85xx_PORDEVSR_IO_SEL mask
Peter Tyser [Mon, 27 Oct 2008 21:42:00 +0000 (16:42 -0500)]
85xx: Update MPC85xx_PORDEVSR_IO_SEL mask

The MPC8572 has a 4-bit wide PORDEVSR IO_SEL field. Other MPC85xx
processors have a 3-bit wide IO_SEL field but have the most
significant bit is wired to 0 so this change should not affect
them.

Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
16 years agoMerge branch 'master' of git://git.denx.de/u-boot-mpc85xx
Wolfgang Denk [Mon, 27 Oct 2008 21:31:32 +0000 (22:31 +0100)]
Merge branch 'master' of git://git.denx.de/u-boot-mpc85xx