]> git.sur5r.net Git - u-boot/log
u-boot
16 years agoMerge branch 'master' of git://www.denx.de/git/u-boot-cfi-flash
Wolfgang Denk [Thu, 19 Jun 2008 20:58:36 +0000 (22:58 +0200)]
Merge branch 'master' of git://www.denx.de/git/u-boot-cfi-flash

16 years agoMerge branch 'master' of git://www.denx.de/git/u-boot-ppc4xx
Wolfgang Denk [Thu, 19 Jun 2008 20:57:58 +0000 (22:57 +0200)]
Merge branch 'master' of git://www.denx.de/git/u-boot-ppc4xx

16 years agoMerge branch 'master' of git://www.denx.de/git/u-boot-nand-flash
Wolfgang Denk [Thu, 19 Jun 2008 20:57:06 +0000 (22:57 +0200)]
Merge branch 'master' of git://www.denx.de/git/u-boot-nand-flash

16 years agoMPC8360ERDK: adapt NAND interface for the re-written FSL NAND UPM driver
Wolfgang Grandegger [Thu, 5 Jun 2008 11:02:30 +0000 (13:02 +0200)]
MPC8360ERDK: adapt NAND interface for the re-written FSL NAND UPM driver

This patch is based on the following patch sent a few minutes ago:
"NAND FSL UPM: driver re-write using the hwcontrol callback"
It is untested, of course. Anton, could you please give it a try.

Signed-off-by: Wolfgang Grandegger <wg@grandegger.com>
Acked-by: Anton Vorontsov <avorontsov@ru.mvista.com>
16 years agoFix 4xx build issue
Anatolij Gustschin [Thu, 12 Jun 2008 10:40:11 +0000 (12:40 +0200)]
Fix 4xx build issue

Building for 4xx doesn't work since commit 4dbdb768:

In file included from 4xx_pcie.c:28:
include/asm/processor.h:971: error: expected ')' before 'ver'
make[1]: *** [4xx_pcie.o] Error 1

This patch fixes the problem.

Signed-off-by: Anatolij Gustschin <agust@denx.de>
Acked-by: Stefan Roese <sr@denx.de>
Acked-by: Kumar Gala <galak@kernel.crashing.org>
16 years agocfi-flash: Fix problem in flash_toggle(), busy was not detected reliably
Stefan Roese [Mon, 16 Jun 2008 08:40:02 +0000 (10:40 +0200)]
cfi-flash: Fix problem in flash_toggle(), busy was not detected reliably

This patch simplifies flash_toggle() (AMD commandset), which is used to
detect if a FLASH device is still busy with erase/program operations. On
800MHz Canyonlands/Glacier boards (460EX/GT) the current implementation
did not detect the busy state reliably, resulting in non erased sectors
etc. This patch now simplifies this function by "just" comparing the
complete data-word instead of ANDing it with the command-word (0x40)
before the compatison. It is done the same way in the Linux implementation
chip_ready() in cfi_cmdset_0002.c.

Signed-off-by: Stefan Roese <sr@denx.de>
16 years agoNAND: Add missing declaration to non-redundant saveenv().
Philip Balister [Mon, 16 Jun 2008 12:58:07 +0000 (08:58 -0400)]
NAND: Add missing declaration to non-redundant saveenv().

Signed-off-by: Scott Wood <scottwood@freescale.com>
16 years agoMPC8360ERDK: adapt NAND interface for the re-written FSL NAND UPM driver
Wolfgang Grandegger [Mon, 2 Jun 2008 13:09:55 +0000 (15:09 +0200)]
MPC8360ERDK: adapt NAND interface for the re-written FSL NAND UPM driver

Signed-off-by: Wolfgang Grandegger <wg@grandegger.com>
Acked-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Signed-off-by: Scott Wood <scottwood@freescale.com>
16 years agoppc4xx: Canyonlands: Disable the RTC M41T62 square wave output
Stefan Roese [Tue, 10 Jun 2008 13:34:11 +0000 (15:34 +0200)]
ppc4xx: Canyonlands: Disable the RTC M41T62 square wave output

This patch disables the square wave output of the M41T62 RTC used on
Canyonlands & Glacier. Here the explanation:

The serial real-time clock part used in the design is an
STMicro M41T62. This part has a full-time 32KHz square wave
output that is connected to the TmrClk input to the
processor. The default state for this square wave output is
enabled so the output runs continuously when the board is
powered normally and also from the battery. The TmrClk input
to the processor goes to ground when the power is removed
from the board/processor, and therefore the running square
wave output is driving ground which drains the battery quickly.

Signed-off-by: Stefan Roese <sr@denx.de>
16 years agoFix build issue with string.h and linux/string.h
Andy Fleming [Wed, 11 Jun 2008 23:10:20 +0000 (18:10 -0500)]
Fix build issue with string.h and linux/string.h

This commit:
commit 338cc038461a6c7709c5b86fd9a240209338a1ae
Author: Wolfgang Denk <wd@denx.de>
Date:   Fri Jun 6 14:28:14 2008 +0200

    tools/mkimage: fix compiler warnings on some systems.

Broke building on some systems, because the host's string.h was interfering
with u-boot's linux/string.h.  It doesn't look like we need the u-boot one if
we're building for the host, so now we only include when building inside
u-boot.

Signed-off-by: Andy Fleming <afleming@freescale.com>
16 years agoChange initdram() return type to phys_size_t
Becky Bruce [Mon, 9 Jun 2008 21:03:40 +0000 (16:03 -0500)]
Change initdram() return type to phys_size_t

This patch changes the return type of initdram() from long int to phys_size_t.
This is required for a couple of reasons: long int limits the amount of dram
to 2GB, and u-boot in general is moving over to phys_size_t to represent the
size of physical memory.  phys_size_t is defined as an unsigned long on almost
all current platforms.

This patch *only* changes the return type of the initdram function (in
include/common.h, as well as in each board's implementation of initdram).  It
does not actually modify the code inside the function on any of the platforms;
platforms which wish to support more than 2GB of DRAM will need to modify
their initdram() function code.

Build tested with MAKEALL for ppc, arm, mips, mips-el. Booted on powerpc
MPC8641HPCN.

Signed-off-by: Becky Bruce <becky.bruce@freescale.com>
16 years agoChange lmb to use phys_size_t/phys_addr_t
Becky Bruce [Tue, 10 Jun 2008 01:37:18 +0000 (20:37 -0500)]
Change lmb to use phys_size_t/phys_addr_t

This updates the lmb code to use phys_size_t
and phys_addr_t instead of unsigned long.  Other code
which interacts with this code, like getenv_bootm_size()
is also updated.

Booted on MPC8641HPCN, build-tested ppc, arm, mips.

Signed-off-by: Becky Bruce <becky.bruce@freescale.com>
16 years agoChange print_size to take phys_size_t
Becky Bruce [Tue, 10 Jun 2008 01:37:17 +0000 (20:37 -0500)]
Change print_size to take phys_size_t

Signed-off-by: Becky Bruce <becky.bruce@freescale.com>
16 years agoChange bd/gd memsize/ram_size to be phys_size_t.
Becky Bruce [Tue, 10 Jun 2008 01:37:16 +0000 (20:37 -0500)]
Change bd/gd memsize/ram_size to be phys_size_t.

Currently, both are defined as an unsigned long, but
should be phys_size_t. This should result in no real change,
since phys_size_t is currently an unsigned long for all the
default configs.  Also add print_lnum to cmd_bdinfo to deal
with the potentially wider memsize.

Signed-off-by: Becky Bruce <becky.bruce@freescale.com>
16 years agoMerge branch 'master' of git://www.denx.de/git/u-boot-sh
Wolfgang Denk [Wed, 11 Jun 2008 20:54:47 +0000 (22:54 +0200)]
Merge branch 'master' of git://www.denx.de/git/u-boot-sh

16 years agoMerge branch 'master' of git://www.denx.de/git/u-boot-mips
Wolfgang Denk [Wed, 11 Jun 2008 20:48:09 +0000 (22:48 +0200)]
Merge branch 'master' of git://www.denx.de/git/u-boot-mips

16 years agoMerge branch 'master' of git://www.denx.de/git/u-boot-fdt
Wolfgang Denk [Wed, 11 Jun 2008 20:30:47 +0000 (22:30 +0200)]
Merge branch 'master' of git://www.denx.de/git/u-boot-fdt

16 years agoMerge branch 'master' of git://www.denx.de/git/u-boot-cfi-flash
Wolfgang Denk [Wed, 11 Jun 2008 20:24:46 +0000 (22:24 +0200)]
Merge branch 'master' of git://www.denx.de/git/u-boot-cfi-flash

16 years agoMerge branch 'master' of git://www.denx.de/git/u-boot-nand-flash
Wolfgang Denk [Wed, 11 Jun 2008 20:23:09 +0000 (22:23 +0200)]
Merge branch 'master' of git://www.denx.de/git/u-boot-nand-flash

16 years agoMerge branch 'master' of git://www.denx.de/git/u-boot-net
Wolfgang Denk [Wed, 11 Jun 2008 20:17:42 +0000 (22:17 +0200)]
Merge branch 'master' of git://www.denx.de/git/u-boot-net

16 years agoMerge branch 'master' of git://www.denx.de/git/u-boot-ppc4xx
Wolfgang Denk [Wed, 11 Jun 2008 20:13:07 +0000 (22:13 +0200)]
Merge branch 'master' of git://www.denx.de/git/u-boot-ppc4xx

16 years agoMerge branch 'master' of git://www.denx.de/git/u-boot-mpc85xx
Wolfgang Denk [Wed, 11 Jun 2008 19:33:16 +0000 (21:33 +0200)]
Merge branch 'master' of git://www.denx.de/git/u-boot-mpc85xx

Conflicts:

include/asm-ppc/fsl_lbc.h

Signed-off-by: Wolfgang Denk <wd@denx.de>
16 years agoMerge branch 'master' of git://www.denx.de/git/u-boot-mpc83xx
Wolfgang Denk [Wed, 11 Jun 2008 19:27:31 +0000 (21:27 +0200)]
Merge branch 'master' of git://www.denx.de/git/u-boot-mpc83xx

16 years agoMerge branch 'master' of git://www.denx.de/git/u-boot-mpc86xx
Wolfgang Denk [Wed, 11 Jun 2008 19:23:16 +0000 (21:23 +0200)]
Merge branch 'master' of git://www.denx.de/git/u-boot-mpc86xx

16 years agoFSL LAW: Add new interface to use the last free LAW
Kumar Gala [Tue, 10 Jun 2008 21:16:02 +0000 (16:16 -0500)]
FSL LAW: Add new interface to use the last free LAW

LAWs have the concept of priority so its useful to be able to allocate
the lowest (highest number) priority.  We will end up using this with the
new DDR code.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
16 years ago85xx/86xx: Move to dynamic mgmt of LAWs
Kumar Gala [Wed, 11 Jun 2008 05:51:45 +0000 (00:51 -0500)]
85xx/86xx: Move to dynamic mgmt of LAWs

With the new LAW interface (set_next_law) we can move to letting the
system allocate which LAWs are used for what purpose.  This makes life
a bit easier going forward with the new DDR code.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Andy Fleming <afleming@freescale.com>
Acked-by: Jon Loeliger <jdl@freescale.com>
Acked-by: Becky Bruce <becky.bruce@freescale.com>
16 years agoFSL LAW: Keep track of LAW allocations
Kumar Gala [Wed, 11 Jun 2008 05:44:10 +0000 (00:44 -0500)]
FSL LAW: Keep track of LAW allocations

Make it so we keep track of which LAWs have allocated and provide
a function (set_next_law) which can allocate a LAW for us if one is
free.

In the future we will move to doing more "dynamic" LAW allocation
since the majority of users dont really care about what LAW number
they are at.

Also, add CONFIG_MPC8540 or CONFIG_MPC8560 to those boards which needed them

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Andy Fleming <afleming@freescale.com>
16 years ago85xx: remove dummy board_early_init_f
Kumar Gala [Tue, 10 Jun 2008 03:31:57 +0000 (22:31 -0500)]
85xx: remove dummy board_early_init_f

A number of board ports have empty version of board_early_init_f
for no reason since we control its via CONFIG_BOARD_EARLY_INIT_F.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
16 years agoMPC8544DS: Update config.h
Kumar Gala [Mon, 9 Jun 2008 23:55:38 +0000 (18:55 -0500)]
MPC8544DS: Update config.h

* Enable flash progress
* remove CLEAR_LAW0 since we dont really use it

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
16 years ago85xx: Remove unused and unconfigured memory test code.
Kumar Gala [Mon, 9 Jun 2008 18:37:24 +0000 (13:37 -0500)]
85xx: Remove unused and unconfigured memory test code.

Remove unused and unconfigured DDR test code from FSL 85xx boards.
Besides, other common code exists.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
16 years agoSocrates: Added FPGA base address update in FDT.
Sergei Poselenov [Fri, 6 Jun 2008 13:42:45 +0000 (15:42 +0200)]
Socrates: Added FPGA base address update in FDT.

Signed-off-by: Sergei Poselenov <sposelenov@emcraft.com>
16 years agoSocrates: NAND support added. Changed the U-Boot base address and
Sergei Poselenov [Fri, 6 Jun 2008 13:42:44 +0000 (15:42 +0200)]
Socrates: NAND support added. Changed the U-Boot base address and

Signed-off-by: Sergei Poselenov <sposelenov@emcraft.com>
16 years agoNAND: Added support for 128-bit OOB, adapted
Sergei Poselenov [Fri, 6 Jun 2008 13:42:43 +0000 (15:42 +0200)]
NAND: Added support for 128-bit OOB, adapted

Signed-off-by: Sergei Poselenov <sposelenov@emcraft.com>
16 years agoSocrates: added missed file with UPMA configuration data.
Sergei Poselenov [Fri, 6 Jun 2008 13:42:42 +0000 (15:42 +0200)]
Socrates: added missed file with UPMA configuration data.

Signed-of-by: Sergei Poselenov <sposelenov@emcraft.com>
16 years agoSocrates: Added FPGA mapping. LAWs and TLBs cleanup.
Sergei Poselenov [Fri, 6 Jun 2008 13:42:41 +0000 (15:42 +0200)]
Socrates: Added FPGA mapping. LAWs and TLBs cleanup.

Signed-off-by: Sergei Poselenov <sposelenov@emcraft.com>
16 years agoAdded the upmconfig() function for 85xx.
Sergei Poselenov [Fri, 6 Jun 2008 13:42:40 +0000 (15:42 +0200)]
Added the upmconfig() function for 85xx.

Signed-off-by: Sergei Poselenov <sposelenov@emcraft.com>
Signed-off-by: Andy Fleming <afleming@freescale.com>
16 years agoSocrates: config file cleanup.
Sergei Poselenov [Fri, 6 Jun 2008 13:42:39 +0000 (15:42 +0200)]
Socrates: config file cleanup.

Signed-off-by: Sergei Poselenov <sposelenov@emcraft.com>
16 years agoTQM85xx: Change memory map to support Flash memory > 128 MiB
Wolfgang Grandegger [Thu, 5 Jun 2008 11:12:10 +0000 (13:12 +0200)]
TQM85xx: Change memory map to support Flash memory > 128 MiB

Some TQM85xx boards could be equipped with up to 1 GiB (NOR) Flash
memory. The current memory map only supports up to 128 MiB Flash.
This patch adds the configuration option CONFIG_TQM_BIGFLASH. If
set, up to 1 GiB flash is supported. To achieve this, the memory
map has to be adjusted in great parts (for example the CCSRBAR is
moved from 0xE0000000 to 0xA0000000).

If you want to boot Linux with CONFIG_TQM_BIGFLASH set, the new
memory map also has to be considered in the kernel (changed
CCSRBAR address, changed PCI IO base address, ...). Please use
an appropriate Flat Device Tree blob (tqm8548.dtb).

Signed-off-by: Martin Krause <martin.krause@tqs.de>
Signed-off-by: Wolfgang Grandegger <wg@grandegger.com>
16 years agoTQM85xx: NAND support via local bus UPMB
Wolfgang Grandegger [Thu, 5 Jun 2008 11:12:09 +0000 (13:12 +0200)]
TQM85xx: NAND support via local bus UPMB

This patch adds support for NAND FLASH on the TQM8548. It is disabled by
default and can be enabled for the TQM8548 modules. It is now based on
the re-written FSL NAND UPM driver. A patch has been posted earlier today
with the subject:

"NAND FSL UPM: driver re-write using the hwcontrol callback"

Note that the R/B pin is not supported by that module requiring to use
the specified maximum delay time.

Note: With NAND support enabled the size of the U-Boot image exceeds
256 KB and TEXT_BASE must therefore be set to 0xfff80000 in config.mk,
doubling the image size :-(.

Signed-off-by: Thomas Waehner <thomas.waehner@tqs.de>
Signed-off-by: Wolfgang Grandegger <wg@grandegger.com>
16 years agoTQM8548: PCI express support
Wolfgang Grandegger [Thu, 5 Jun 2008 11:12:08 +0000 (13:12 +0200)]
TQM8548: PCI express support

This patch adds support for PCI express cards. The board support
now uses common FSL PCI init code, for both, PCI and PCIe on all
TQM85xx modules.

Signed-off-by: Thomas Waehner <thomas.waehner@tqs.de>
Signed-off-by: Wolfgang Grandegger <wg@grandegger.com>
16 years agoTQM8548: Basic support for the TQM8548 modules
Wolfgang Grandegger [Thu, 5 Jun 2008 11:12:07 +0000 (13:12 +0200)]
TQM8548: Basic support for the TQM8548 modules

This patch adds basic support for the TQM8548 module from TQ-Components
(http://www.tqc.de/) including DDR2 SDRAM initialisation and support for
eTSEC 3 and 4

Furthermore Flash buffer write has been enabled to speed up output to
the Flash by approx. a factor of 10.

Signed-off-by: Thomas Waehner <thomas.waehner@tqs.de>
Signed-off-by: Wolfgang Grandegger <wg@grandegger.com>
16 years agoTQM85xx: Support for Flat Device Tree
Wolfgang Grandegger [Thu, 5 Jun 2008 11:12:06 +0000 (13:12 +0200)]
TQM85xx: Support for Flat Device Tree

This patch adds support for Linux kernels using the Flat Device Tree.
It also re-defines the default environment settings for booting Linux
with the FDT blob.

Signed-off-by: Wolfgang Grandegger <wg@grandegger.com>
16 years agoTQM85xx: Support for Intel 82527 compatible CAN controller
Wolfgang Grandegger [Thu, 5 Jun 2008 11:12:05 +0000 (13:12 +0200)]
TQM85xx: Support for Intel 82527 compatible CAN controller

This patch adds initialization of the UPMC RAM to support up to two
Intel 82527 compatible CAN controller on the TQM85xx modules.

Signed-off-by: Thomas Waehner <thomas.waehner@tqs.de>
Signed-off-by: Wolfgang Grandegger <wg@grandegger.com>
16 years agoTQM85xx: Bugfix in the SDRAM initialisation
Wolfgang Grandegger [Thu, 5 Jun 2008 11:12:04 +0000 (13:12 +0200)]
TQM85xx: Bugfix in the SDRAM initialisation

The CS0_BNDS register is now set according to the detected
memory size.

Signed-off-by Martin Krause <martin.krause@tqs.de>

16 years agoTQM85xx: Fix chip select configuration for second FLASH bank
Wolfgang Grandegger [Thu, 5 Jun 2008 11:12:03 +0000 (13:12 +0200)]
TQM85xx: Fix chip select configuration for second FLASH bank

This patch fixes the re-calculation of the automatic chip select
configuration for boards with two populated FLASH banks.

Signed-off-by: Martin Krause <martin.krause@tqs.de>
16 years agoTQM85xx: Support for Spansion 'N' type flashes added
Wolfgang Grandegger [Thu, 5 Jun 2008 11:12:02 +0000 (13:12 +0200)]
TQM85xx: Support for Spansion 'N' type flashes added

The 'N' type Spansion flashes (S29GLxxxN series) have bigger sectors,
than the formerly used 'M' types (S29GLxxxM series), so the flash layout
needs to be changed -> new start address of the environment. The macro
definition CONFIG_TQM_FLASH_N_TYPE is undefined by default and must be
defined for boards with 'N' type flashes.

Signed-off-by: Martin Krause <martin.krause@tqs.de>
Signed-off-by: Wolfgang Grandegger <wg@grandegger.com>
16 years agoTQM85xx: Fix CPM port pin configuration
Wolfgang Grandegger [Thu, 5 Jun 2008 11:12:01 +0000 (13:12 +0200)]
TQM85xx: Fix CPM port pin configuration

Do not configure port pins PD30/PD31 as SCC1 TxD/RxD except for the TQM8560
board. On the other TQM85xx boards (TQM8541 and TQM8555) SCC1 is not used
as serial interface anyway. Worse, on some board variants configuring the
pins for SCC1 leads to short circuits (for example on the TQM8541-BG).

Signed-off-by: Martin Krause <martin.krause@tqs.de>
16 years agoTQM85xx: Various coding style fixes
Wolfgang Grandegger [Thu, 5 Jun 2008 11:12:00 +0000 (13:12 +0200)]
TQM85xx: Various coding style fixes

Signed-off-by: Wolfgang Grandegger <wg@grandegger.com>
16 years agolibfdt: Move the working_fdt pointer to cmd_fdt.c
Gerald Van Baren [Wed, 11 Jun 2008 02:15:58 +0000 (22:15 -0400)]
libfdt: Move the working_fdt pointer to cmd_fdt.c

The working_fdt pointer was declared in common/fdt_support.c but was
not used there.  Move it to common/cmd_fdt.c where it is used (it is
also used in lib_ppc/bootm.c).

Signed-off-by: Gerald Van Baren <vanbaren@cideas.com>
16 years agofdt: unshadow global working fdt variable
Kim Phillips [Tue, 10 Jun 2008 16:06:17 +0000 (11:06 -0500)]
fdt: unshadow global working fdt variable

differentiate with local variables of the same name by renaming the
global 'fdt' variable 'working_fdt'.

Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
16 years agosocrates: Fix PCI clk fix patch
Andy Fleming [Tue, 10 Jun 2008 23:49:34 +0000 (18:49 -0500)]
socrates: Fix PCI clk fix patch

The submitted patch seems to have been more up-to-date, but an older patch was
already in the repository.  This patch encompasses the differences

Taken entirely from Sergei Poselenov <sposelenov@emcraft.com>

Signed-off-by: Andy Fleming <afleming@freescale.com>
16 years agoNAND FSL UPM: driver re-write using the hwcontrol callback
Wolfgang Grandegger [Thu, 5 Jun 2008 11:02:29 +0000 (13:02 +0200)]
NAND FSL UPM: driver re-write using the hwcontrol callback

This is a re-write of the NAND FSL UPM driver using the more universal
hwcontrol callback (instead of the cmdfunc callback). Here is a brief
list of furher modifications:

- For the time being, the UPM setup writing the UPM array has been
  removed from the driver and must now be done by the board specific
  code.

- The bus width definition in "struct fsl_upm_nand" is now in bits to
  comply with the corresponding Linux driver and 8, 16 and 32 bit
  accesses are supported.

- chip->dev_read is only set if fun->dev_ready != NULL, which is
  required for boards not connecting the R/B pin.

- A few issue have been fixed with MxMR bit manipulation like in the
  corresponding Linux driver.

Note: I think the "io_addr" field of "struct fsl_upm" could be removed
      as well, because the address is already determined by
      "nand->IO_ADDR_[RW]", but I'm not 100% sure.

This patch has been tested on a TQM8548 modules with the NAND chip
Micron MT29F8G08FABWP.

This patch is based on the following patches posted to this list a few
minutes ago:

  PPC: add accessor macros to clear and set bits in one shot
  83xx/85xx/86xx: add more MxMR local bus definitions

Signed-off-by: Wolfgang Grandegger <wg@grandegger.com>
Acked-by: Anton Vorontsov <avorontsov@ru.mvista.com>
16 years agoMPC85xx: Beautify boot output of L2 cache configuration
Wolfgang Grandegger [Thu, 5 Jun 2008 11:11:59 +0000 (13:11 +0200)]
MPC85xx: Beautify boot output of L2 cache configuration

The boot output is now aligned poperly with other boot output
lines, e.g.:

  FLASH: 128 MB
  L2:    512 KB enabled

Signed-off-by: Wolfgang Grandegger <wg@grandegger.com>
16 years agoPPC: add accessor macros to clear and set bits in one shot
Wolfgang Grandegger [Wed, 4 Jun 2008 10:45:22 +0000 (12:45 +0200)]
PPC: add accessor macros to clear and set bits in one shot

PPC: add accessor macros to clear and set bits in one shot

This patch adds macros from linux/include/asm-powerpc/io.h to clear and
set bits in one shot using the in_be32, out_be32, etc. accessor functions.
They are very handy to manipulate bits it I/O registers.

This patch is required for my forthcoming FSL NAND UPM driver re-write and
the support for the TQM8548 module.

Signed-off-by: Wolfgang Grandegger <wg@grandegger.com>
16 years agoTQM: move TQM boards to board/tqc
Wolfgang Grandegger [Wed, 4 Jun 2008 11:52:17 +0000 (13:52 +0200)]
TQM: move TQM boards to board/tqc

Move all TQM board directories to the vendor specific directory "tqc"
for modules from TQ-Components GmbH (http://www.tqc.de).

Signed-off-by: Wolfgang Grandegger <wg@grandegger.com>
16 years ago83xx/85xx/86xx: add more MxMR local bus definitions
Wolfgang Grandegger [Mon, 2 Jun 2008 10:09:30 +0000 (12:09 +0200)]
83xx/85xx/86xx: add more MxMR local bus definitions

83xx/85xx/86xx: add more MxMR local bus definitions

This patch adds more macro definitions for the UPM Machine Mode Registers
They are copied from "include/mpc82xx.h" to simplify the merge of all 8xxx
common local bus definitions into include/asm-ppc/fsl_lbc.h. They are
required for my forthcoming FSL NAND UPM driver re-write and the support
for the TQM8548 module.

This patch is based on the following two patches from Anton Vorontsov:

http://www.mail-archive.com/u-boot-users@lists.sourceforge.net/msg06511.html
http://www.mail-archive.com/u-boot-users@lists.sourceforge.net/msg06587.html

I leave coding style violation fixes, code beautification and name
corrections to somebody else ;-(.

Signed-off-by: Wolfgang Grandegger <wg@grandegger.com>
16 years ago83xx/85xx: further localbus cleanups
Anton Vorontsov [Thu, 29 May 2008 14:14:56 +0000 (18:14 +0400)]
83xx/85xx: further localbus cleanups

Merge mpc85xx.h's LBC defines to fsl_lbc.h. Also, adopt ACS names
from mpc85xx.h, so ACS_0b10 renamed to ACS_DIV4, ACS_0b11 to ACS_DIV2.

Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
16 years ago83xx/85xx/86xx: factor out Freescale Localbus defines out of mpc83xx.h
Anton Vorontsov [Wed, 28 May 2008 14:20:15 +0000 (18:20 +0400)]
83xx/85xx/86xx: factor out Freescale Localbus defines out of mpc83xx.h

This patch moves Freescale Localbus defines out of mpc83xx.h, so we could
use it on MPC85xx and MPC86xx processors.

Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
16 years ago85xx: Add setting of cache props in the device tree.
Kumar Gala [Thu, 29 May 2008 16:22:06 +0000 (11:22 -0500)]
85xx: Add setting of cache props in the device tree.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
16 years ago85xx: expose cpu identification
Kumar Gala [Tue, 10 Jun 2008 21:53:46 +0000 (16:53 -0500)]
85xx: expose cpu identification

The current cpu identification code is used just to return the name
of the processor at boot.  There are some other locations that the name
is useful (device tree setup).  Expose the functionality to other bits
of code.

Also, drop the 'E' suffix and add it on by looking at the SVR version
when we print this out.  This is mainly to allow the most flexible use
of the name.  The device tree code tends to not care about the 'E' suffix.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
16 years agompc83xx: MVBLM7: minor build fixups
Kim Phillips [Tue, 10 Jun 2008 18:25:24 +0000 (13:25 -0500)]
mpc83xx: MVBLM7: minor build fixups

Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
16 years agoadd MPC8343 based board mvBlueLYNX-M7 (board+make files)
Andre Schwarz [Tue, 10 Jun 2008 07:14:05 +0000 (09:14 +0200)]
add MPC8343 based board mvBlueLYNX-M7 (board+make files)

Add MPC8343 based board mvBlueLYNX-M7.
It's a single board stereo camera system.
Please read doc/README.mvblm7 for details.

Signed-off-by: Andre Schwarz <andre.schwarz@matrix-vision.de>
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
16 years agoadd MPC8343 based board mvBlueLYNX-M7 (doc+config)
Andre Schwarz [Tue, 10 Jun 2008 07:13:16 +0000 (09:13 +0200)]
add MPC8343 based board mvBlueLYNX-M7 (doc+config)

Add MPC8343 based board mvBlueLYNX-M7.
It's a single board stereo camera system.
Please read doc/README.mvblm7 for details.

Signed-off-by: Andre Schwarz <andre.schwarz@matrix-vision.de>
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
16 years ago83xx/85xx: further localbus cleanups
Anton Vorontsov [Thu, 29 May 2008 14:14:56 +0000 (18:14 +0400)]
83xx/85xx: further localbus cleanups

move the BRx_* and ORx_* left behind in mpc85xx.h

The same is needed for mpc8xx.h and mpc8260.h (defines are almost
the same, just few differences which needs some attention though).

But the bad news for mpc8xx and mpc8260 is that there are a lot of users
of these defines. So this cleanup I'll leave for the "better times".

Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
16 years ago83xx/85xx/86xx: factor out Freescale Localbus defines out of mpc83xx.h
Anton Vorontsov [Wed, 28 May 2008 14:20:15 +0000 (18:20 +0400)]
83xx/85xx/86xx: factor out Freescale Localbus defines out of mpc83xx.h

This patch moves Freescale Localbus defines out of mpc83xx.h, so we could
use it on MPC85xx and MPC86xx processors.

Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Acked-by: Andy Fleming <afleming@freescale.com>
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
16 years agoAdd missing CSCONFIG_BANK_BIT_3 define to mpc83xx.h
Tor Krill [Mon, 2 Jun 2008 13:09:30 +0000 (15:09 +0200)]
Add missing CSCONFIG_BANK_BIT_3 define to mpc83xx.h

Signed-off-by: Tor Krill <tor@excito.com>
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
16 years agonet: Conditional COBJS inclusion of network drivers
Shinya Kuribayashi [Mon, 9 Jun 2008 14:37:44 +0000 (23:37 +0900)]
net: Conditional COBJS inclusion of network drivers

Replace COBJS-y with appropriate driver config names.

Signed-off-by: Shinya Kuribayashi <skuribay@ruby.dti.ne.jp>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
16 years agoUse strncmp() for the fdt command
Gerald Van Baren [Tue, 10 Jun 2008 01:02:17 +0000 (21:02 -0400)]
Use strncmp() for the fdt command

Cleaner than doing multiple conditionals on characters.

Signed-off-by: Gerald Van Baren <vanbaren@cideas.com>
16 years agoThe fdt boardsetup command criteria was not unique
Gerald Van Baren [Sat, 7 Jun 2008 16:25:05 +0000 (12:25 -0400)]
The fdt boardsetup command criteria was not unique

It was checking just for "b", which is not unique with respect to the
"boot" command.  Change to check for "boa"[rdsetup].

Signed-off-by: Gerald Van Baren <vanbaren@cideas.com>
16 years agolibfdt: Several cleanups to parameter checking
David Gibson [Tue, 20 May 2008 07:19:11 +0000 (17:19 +1000)]
libfdt: Several cleanups to parameter checking

This patch makes a couple of small cleanups to parameter checking of
libfdt functions.

- In several functions which take a node offset, we use an
idiom involving fdt_next_tag() first to check that we have indeed been
given a node offset.  This patch adds a helper function
_fdt_check_node_offset() to encapsulate this usage of fdt_next_tag().

- In fdt_rw.c in several places we have the expanded version
of the RW_CHECK_HEADER() macro for no particular reason.  This patch
replaces those instances with an invocation of the macro; that's what
it's for.

- In fdt_sw.c we rename the check_header_sw() function to
sw_check_header() to match the analgous function in fdt_rw.c, and we
provide an SW_CHECK_HEADER() wrapper macro as RW_CHECK_HEADER()
functions in fdt_rw.c

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
16 years agoRemove the deprecated CONFIG_OF_FLAT_TREE
Gerald Van Baren [Wed, 4 Jun 2008 00:34:45 +0000 (20:34 -0400)]
Remove the deprecated CONFIG_OF_FLAT_TREE

Use CONFIG_OF_LIBFDT instead to support flattened device trees.  It is
cleaner, has better functionality, and is better supported.

Signed-off-by: Gerald Van Baren <vanbaren@cideas.com>
16 years agoChange the stxxst to CONFIG_OF_LIBFDT
Gerald Van Baren [Wed, 4 Jun 2008 00:26:29 +0000 (20:26 -0400)]
Change the stxxst to CONFIG_OF_LIBFDT

This was configured to use the deprecated CONFIG_OF_FLAT_TREE, change
to CONFIG_OF_LIBFDT.

WARNING: It appears that this board lost its ability to boot via a
flattened device tree prior to this changeset.

WARNING: This conversion was untested because I do not have a board to
test it on.

Signed-off-by: Gerald Van Baren <vanbaren@cideas.com>
16 years agoConvert mpc7448hpc2 to CONFIG_OF_LIBFDT
Gerald Van Baren [Wed, 4 Jun 2008 00:24:58 +0000 (20:24 -0400)]
Convert mpc7448hpc2 to CONFIG_OF_LIBFDT

This was configured to use the deprecated CONFIG_OF_FLAT_TREE, change
to CONFIG_OF_LIBFDT.

WARNING: This conversion is untested because I do not have a board to
test it on.

NOTE: The FDT blob (DTS) must have an /aliases/ethernet0 and (optionally)
/aliases/ethernet1 property for the ethernet to work.

Signed-off-by: Gerald Van Baren <vanbaren@cideas.com>
16 years ago85xx: Only use PORPLLSR[DDR_Ratio] on platforms that define it
Kumar Gala [Thu, 29 May 2008 06:21:24 +0000 (01:21 -0500)]
85xx: Only use PORPLLSR[DDR_Ratio] on platforms that define it

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
16 years agoMPC85xx: Change traps.c to not reference non-addressable memory
Becky Bruce [Wed, 14 May 2008 18:10:04 +0000 (13:10 -0500)]
MPC85xx: Change traps.c to not reference non-addressable memory

Currently, END_OF_RAM is used by the trap code to determine if
we should attempt to access the stack pointer or not. However,
on systems with a lot of RAM, only a subset of the RAM is
guaranteed to be mapped in and accessible.  Change END_OF_RAM
to use get_effective_memsize() instead of using the raw ram
size out of the bd.

Signed-off-by: Becky Bruce <becky.bruce@freescale.com>
16 years agosh: Renesas Solutions SH7763RDP board support
Nobuhiro Iwamatsu [Mon, 9 Jun 2008 04:39:57 +0000 (13:39 +0900)]
sh: Renesas Solutions SH7763RDP board support

SH7763RDP has SCIF, NOR Flash, Ethernet, USB host, LCDC and MMC.
In this patch, support SCIF, NOR Flash, and Ethernet.

Signed-off-by: Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
16 years agosh: Add support Renesas SH7763
Nobuhiro Iwamatsu [Fri, 6 Jun 2008 07:24:13 +0000 (16:24 +0900)]
sh: Add support Renesas SH7763

Renesas SH7763 has 3 SCIF, MMC, LCDC, Ethernet and other.
This patch supprts CPU register's header file.

Signed-off-by: Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
16 years agosh: SH7763 SCIF support
Nobuhiro Iwamatsu [Fri, 6 Jun 2008 07:16:08 +0000 (16:16 +0900)]
sh: SH7763 SCIF support

SH7763 has 3 SCIF channels. SCIF0 and 1 are same register constitution,
but only SCIF2 is different. This patch work all SCIF channel.

Signed-off-by: Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
16 years agoMerge branch 'master' of git://git.denx.de/u-boot
Ben Warren [Mon, 9 Jun 2008 05:04:22 +0000 (22:04 -0700)]
Merge branch 'master' of git://git.denx.de/u-boot

16 years ago[MIPS] cpu/mips/Makefile: Split [CS]OBJS onto separate lines
Shinya Kuribayashi [Sat, 7 Jun 2008 11:51:59 +0000 (20:51 +0900)]
[MIPS] cpu/mips/Makefile: Split [CS]OBJS onto separate lines

Also get rid of some #ifdefs in *.c files.

Signed-off-by: Shinya Kuribayashi <skuribay@ruby.dti.ne.jp>
16 years ago[MIPS] Rename Alchemy processor configs into CONFIG_SOC_*
Shinya Kuribayashi [Sat, 7 Jun 2008 11:51:56 +0000 (20:51 +0900)]
[MIPS] Rename Alchemy processor configs into CONFIG_SOC_*

CONFIG_SOC_AU1X00

  Common Alchemy Au1x00 stuff. All Alchemy processor based machines
  need to have this config as a system type specifier.

CONFIG_SOC_AU1000, CONFIG_SOC_AU1100, CONFIG_SOC_AU1200,
CONFIG_SOC_AU1500, CONFIG_SOC_AU1550

  Machine type specifiers. Each port should have one of aboves.

Signed-off-by: Shinya Kuribayashi <skuribay@ruby.dti.ne.jp>
16 years agoenv_nand.c: Added bad block management for environment variables
Stuart Wood [Fri, 30 May 2008 20:05:28 +0000 (16:05 -0400)]
env_nand.c: Added bad block management for environment variables

Modified to check for bad blocks and to skipping over them when
CFG_ENV_RANGE has been defined.
CFG_ENV_RANGE must be larger than CFG_ENV_SIZE and aligned to the NAND
flash block size.

Signed-off-by: Stuart Wood <stuart.wood@labxtechnologies.com>
Signed-off-by: Scott Wood <scottwood@freescale.com>
16 years agoMPC86xx: Change traps.c to not reference non-addressable memory
Becky Bruce [Wed, 14 May 2008 18:09:58 +0000 (13:09 -0500)]
MPC86xx: Change traps.c to not reference non-addressable memory

Currently, END_OF_RAM is used by the trap code to determine if
we should attempt to access the stack pointer or not. However,
on systems with a lot of RAM, only a subset of the RAM is
guaranteed to be mapped in and accessible.  Change END_OF_RAM
to use get_effective_memsize() instead of using the raw ram
size out of the bd to prevent us from trying to access
non-mapped memory.

Signed-off-by: Becky Bruce <becky.bruce@freescale.com>
16 years agoMerge commit 'wd/master'
Jon Loeliger [Fri, 6 Jun 2008 15:48:31 +0000 (10:48 -0500)]
Merge commit 'wd/master'

16 years agotools/mkimage: fix compiler warnings on some systems.
Wolfgang Denk [Fri, 6 Jun 2008 12:28:14 +0000 (14:28 +0200)]
tools/mkimage: fix compiler warnings on some systems.

Signed-off-by: Wolfgang Denk <wd@denx.de>
16 years agoppc4xx: Fix misspelled CONFIG_440SPE/440EPX/GRX config options
Stefan Roese [Fri, 6 Jun 2008 14:10:41 +0000 (16:10 +0200)]
ppc4xx: Fix misspelled CONFIG_440SPE/440EPX/GRX config options

We use upper case letters for the AMCC processor defines (like
CONFIG_440SPE) in U-Boot. So the 440SPe is labeled CONFIG_440SPE and
not CONFIG_440SPe. This patch fixes the last misspelled config options.

Signed-off-by: Stefan Roese <sr@denx.de>
16 years agoppc4xx: Unify AMCC's board config files (part 3/3)
Stefan Roese [Fri, 6 Jun 2008 13:55:21 +0000 (15:55 +0200)]
ppc4xx: Unify AMCC's board config files (part 3/3)

This patch series unifies the AMCC eval board ports by introducing
a common include header for all AMCC eval boards:

include/configs/amcc-common.h

This header now includes all common configuration options/defines which
are removed from the board specific headers.

The reason for this is ease of maintenance and unified look and feel
of all AMCC boards.

Signed-off-by: Stefan Roese <sr@denx.de>
16 years agoppc4xx: Unify AMCC's board config files (part 2/3)
Stefan Roese [Fri, 6 Jun 2008 13:55:03 +0000 (15:55 +0200)]
ppc4xx: Unify AMCC's board config files (part 2/3)

This patch series unifies the AMCC eval board ports by introducing
a common include header for all AMCC eval boards:

include/configs/amcc-common.h

This header now includes all common configuration options/defines which
are removed from the board specific headers.

The reason for this is ease of maintenance and unified look and feel
of all AMCC boards.

Signed-off-by: Stefan Roese <sr@denx.de>
16 years agoppc4xx: Unify AMCC's board config files (part 1/3)
Stefan Roese [Fri, 6 Jun 2008 13:54:31 +0000 (15:54 +0200)]
ppc4xx: Unify AMCC's board config files (part 1/3)

This patch series unifies the AMCC eval board ports by introducing
a common include header for all AMCC eval boards:

include/configs/amcc-common.h

This header now includes all common configuration options/defines which
are removed from the board specific headers.

The reason for this is ease of maintenance and unified look and feel
of all AMCC boards.

Signed-off-by: Stefan Roese <sr@denx.de>
16 years agoDM9000 fix status check fail 0x6d error for trizeps board
Remy Bohmer [Thu, 5 Jun 2008 11:03:36 +0000 (13:03 +0200)]
DM9000 fix status check fail 0x6d error for trizeps board

According to the Application Notes of the DM9000, only the 2 bits 0:1 of
the status byte need to be checked to identify a valid packet in the fifo

But, The several different Application Notes do not all speak the same
language on these bits. They do not disagree, but only 1 Application Note
noted explicitly that only these 2 bits need to be checked.
Even the datasheets do not mention anything about these 2 bits.

Because the old code, and the kernel check the whole byte, I left this piece
untouched.

However, I tested all board/DM9000[A|E|EP] devices with this 2 bit check, so
it should work.

Notice, that the 2nd iteration through this receive loop (when a 2nd packet is
in the fifo) is much shorter now, compared to the older U-boot driver code,
so that we can maybe run into a hardware condition now that was never seen
before, or maybe was seen very unfrequently.

Additionaly added a cleanup of a stack variable.

Signed-off-by: Remy Bohmer <linux@bohmer.net>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
16 years ago[MIPS] Update <asm/addrspace.h> header
Shinya Kuribayashi [Thu, 5 Jun 2008 13:29:00 +0000 (22:29 +0900)]
[MIPS] Update <asm/addrspace.h> header

- Fix traditional KSEG names
- Replace PHYSADDR with CPHYSADDR

Signed-off-by: Shinya Kuribayashi <skuribay@ruby.dti.ne.jp>
16 years ago[MIPS] mips_config.mk: Misc fixes
Shinya Kuribayashi [Thu, 5 Jun 2008 13:29:00 +0000 (22:29 +0900)]
[MIPS] mips_config.mk: Misc fixes

- Kill redundant `-pipe' (this will be added by $(TOPDIR)/config.mk)
- Modify comments

Signed-off-by: Shinya Kuribayashi <skuribay@ruby.dti.ne.jp>
16 years ago[MIPS] Kill unused <version.h> inclusions
Shinya Kuribayashi [Thu, 5 Jun 2008 13:29:00 +0000 (22:29 +0900)]
[MIPS] Kill unused <version.h> inclusions

Signed-off-by: Shinya Kuribayashi <skuribay@ruby.dti.ne.jp>
16 years ago[MIPS] lib_mips/time.c: Fix CP0 count register usage and timer routines
Shinya Kuribayashi [Thu, 5 Jun 2008 13:29:00 +0000 (22:29 +0900)]
[MIPS] lib_mips/time.c: Fix CP0 count register usage and timer routines

MIPS port has two problems in timer routines. One is now we assume CFG_HZ
equals to CP0 counter frequency, but this is wrong. CFG_HZ has to be 1000
in the U-Boot system.

The other is we don't have a proper time management counter like timestamp
other ARCHs have. We need the 32-bit millisecond clock counter.

This patch introduces timestamp and CYCLES_PER_JIFFY. timestamp is a
32-bit non-overflowing CFG_HZ counter, and CYCLES_PER_JIFFY is the number
of calculated CP0 counter cycles in a CFG_HZ.

STRATEGY:

* Fix improper CFG_HZ value to have 1000

* Use CFG_MIPS_TIMER_FREQ for timer counter frequency, instead.

* timer_init: initialize timestamp and set up the first timer expiration.
  Note that we don't need to initialize CP0 count/compare registers here
  as they have been already zeroed out on the system reset. Leave them as
  they are.

* get_timer: calculate how many timestamps have been passed, then return
  base-relative timestamp. Make sure we can easily count missed timestamps
  regardless of CP0 count/compare value.

* get_ticks: return the current timestamp, that is get_timer(0).

Most parts are from good old Linux v2.6.16 kernel.

v2:
- Remove FIXME comments as they turned out to be trivial.
- Use CP0 compare register as a global variable for expirelo.
- Kill a global variable 'cycles_per_jiffy'. Use #define CYCLES_PER_JIFFY
  instead.

Signed-off-by: Shinya Kuribayashi <skuribay@ruby.dti.ne.jp>
16 years ago[MIPS] lib_mips/time.c: Fix udelay
Shinya Kuribayashi [Thu, 5 Jun 2008 13:29:00 +0000 (22:29 +0900)]
[MIPS] lib_mips/time.c: Fix udelay

What we have to do is just to wait for given micro-seconds. No need to
take into account current time, get_timer and CFG_HZ.

Signed-off-by: Shinya Kuribayashi <skuribay@ruby.dti.ne.jp>
16 years ago[MIPS] lib_mips/time.c: Replace CP0 access functions with existing macros
Shinya Kuribayashi [Thu, 5 Jun 2008 13:28:59 +0000 (22:28 +0900)]
[MIPS] lib_mips/time.c: Replace CP0 access functions with existing macros

We already have many pre-defined CP0 access macros in <asm/mipsregs.h>.
This patch replaces mips_{compare,count}_set and mips_count_get with
existing macros.

Signed-off-by: Shinya Kuribayashi <skuribay@ruby.dti.ne.jp>
16 years agoGet rid of annoying/superfluous bad-checksum warning message
Remy Bohmer [Tue, 3 Jun 2008 13:48:17 +0000 (15:48 +0200)]
Get rid of annoying/superfluous bad-checksum warning message

U-boot can complain a lot about 'checksum bad' when it is attached to the network.
It is annoying for ordinary users who start to doubt the network connection
in general when they see messages like this.

This is caused by the routine NetCksumOk() which cannot handle IP-headers longer
than 20 bytes. Those packages can be ignored anyway by U-boot, so we trash them
now before checking the checksum.

Signed-off-by: Remy Bohmer <linux@bohmer.net>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
16 years agoFix order for reading rx-status registers in 32bit mode of DM9000
Remy Bohmer [Wed, 4 Jun 2008 08:47:25 +0000 (10:47 +0200)]
Fix order for reading rx-status registers in 32bit mode of DM9000

A last minute cleanup before submitting the DM9000A patch series yesterday introduced
a bug in reading the rx-status registers in 32bit mode only.
This patch repairs this.

Signed-off-by: Remy Bohmer <linux@bohmer.net>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
16 years agoDM9000: Some minor code cleanups
Remy Bohmer [Tue, 3 Jun 2008 13:26:26 +0000 (15:26 +0200)]
DM9000: Some minor code cleanups

Some lines of the U-boot DM9000x driver are longer than 80 characters, or
need some other minor cleanup.

Signed-off-by: Remy Bohmer <linux@bohmer.net>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
16 years agoDM9000: Make driver work properly for DM9000A
Remy Bohmer [Tue, 3 Jun 2008 13:26:25 +0000 (15:26 +0200)]
DM9000: Make driver work properly for DM9000A

The DM9000A network controller does not work with the U-boot DM9000x driver.
Analysis showed that many incoming packets are lost.

The DM9000A Application Notes V1.20 (section 5.6.1) recommend that the poll to
check for a valid rx packet be done on the interrupt status register, not
directly by performing the dummy read and the rx status check as is currently
the case in the u-boot driver.

When the recommended poll is done as suggested the driver starts working
correctly on 10Mbit/HD, but on 100MBit/FD packets come in faster so that there
can be more than 1 package in the fifo at the same time.

The driver must perform the rx-status check in a loop and read and handle all
packages until there is no more left _after_ the interrupt RX flag is set.

This change has been tested with DM9000A, DM9000E, DM9000EP.

Signed-off-by: Remy Bohmer <linux@bohmer.net>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>