Commit graph

323 commits

Author SHA1 Message Date
Haavard Skinnemoen
df548d3c3e AVR32: Resource management rewrite
Rewrite the resource management code (i.e. I/O memory, clock gating,
gpio) so it doesn't depend on any global state. This is necessary
because this code is heavily used before relocation to RAM, so we
can't write to any global variables.

As an added bonus, this makes u-boot's memory footprint a bit smaller,
although some functionality has been left out; all clocks are enabled
all the time, and there's no checking for gpio line conflicts.

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
2007-04-14 15:20:27 +02:00
Joakim Tjernlund
f6f5f709e5 mpc83xx: Fix empty i2c reads/writes in fsl_i2c.c
Fix empty i2c reads/writes, i2c_write(0x50, 0x00, 0, NULL, 0)
which is used to se if an slave will ACK after receiving its address.

Correct i2c probing to use this method as the old method could upset
a slave as it wrote a data byte to it.

Add a small delay in i2c_init() to let the controller
shutdown any ongoing I2C activity.

Signed-off-by: Joakim Tjernlund <Joakim.Tjernlund@transmode.se>
2007-03-02 11:05:54 -06:00
Emilian Medve
a28899c910 mpc83xx: Fix alternating tx error / tx buffer not ready bug in QE UEC
The problem is not gcc4 but the code itself. The BD_STATUS() macro can't
be used for busy-waiting since it strips the 'volatile' property from
the bd variable. gcc3 was working by pure luck.

This is a follow on patch to "Fix the UEC driver bug of QE"
2007-03-02 11:05:53 -06:00
Paul Gortmaker
91e2576977 mpc83xx: U-Boot support for Wind River SBC8349
I've redone the SBC8349 support to match git-current, which
incorporates all the MPC834x updates from Freescale since the 1.1.6
release,  including the DDR changes.

I've kept all the SBC8349 files as parallel as possible to the
MPC8349EMDS ones for ease of maintenance and to allow for easy
inspection of what was changed to support this board.  Hence the SBC8349
U-Boot has FDT support and everything else that the MPC8349EMDS has.

Fortunately the Freescale updates added support for boards using CS0,
but I had to change spd_sdram.c to allow for board specific settings for
the sdram_clk_cntl (it is/was hard coded to zero, and that remains the
default if the board doesn't specify a value.)

Hopefully this should be mergeable as-is and require no whitespace
cleanups or similar, but if something doesn't measure up then let me
know and I'll fix it.

Thanks,
Paul.
2007-03-02 11:05:53 -06:00
Dave Liu
24c3aca3f1 mpc83xx: Add support for the MPC832XEMDS board
This patch supports DUART, ETH3/4 and PCI etc.

Signed-off-by: Dave Liu <daveliu@freescale.com>
2007-03-02 11:05:53 -06:00
Dave Liu
ddd02492f4 mpc83xx: Fix the UEC driver bug of QE
The patch prevents the GCC tool chain from striping useful code for
optimization. It will make UEC ethernet driver workable, Otherwise the
UEC will fail in tx when you are using gcc4.x. but the driver can work
when using gcc3.4.3.

CHANGELOG

*Prevent the GCC from striping code for optimization, Otherwise the UEC
will tx failed when you are using gcc4.x.

Signed-off-by: Dave Liu <daveliu@freescale.com>
2007-03-02 11:05:52 -06:00
Wolfgang Denk
743571145b Minor code cleanup. 2007-02-27 14:26:04 +01:00
Stefan Roese
8274ec0bd0 [PATCH] Change systemace driver to select 8 & 16bit mode
As suggested by Grant Likely this patch enables the Xilinx SystemACE
driver to select 8 or 16bit mode upon startup.

Signed-off-by: Stefan Roese <sr@denx.de>
2007-02-22 07:40:23 +01:00
Haiying Wang
3a197b2fe4 [PATCH v3] Add sync to ensure flash_write_cmd is fully finished
Some CPUs like PPC, BLACKFIN need sync() to ensure cfi flash write command
is fully finished. The sync() is defined in each CPU's io.h file. For
those CPUs which do not need sync for now, a dummy sync() is defined in
their io.h as well.

Signed-off-by: Haiying Wang <Haiying.Wang@freescale.com>
2007-02-21 16:52:31 +01:00
Stefan Roese
da04995c7d [PATCH] Fix problem in systemace driver (ace_writew instead of ace_write)
Signed-off-by: Stefan Roese <sr@denx.de>
2007-02-21 13:44:34 +01:00
Stefan Roese
d93e2212f9 [PATCH] Update SystemACE driver for 16bit access
This patch removes some problems when the Xilinx SystemACE driver
is used with 16bit access on an big endian platform (like the
AMCC Katmai).

Signed-off-by: Stefan Roese <sr@denx.de>
2007-02-20 13:17:42 +01:00
Grant Likely
eb867a7623 [PATCH 9_9] Use "void *" not "unsigned long *" for block dev read_write buffer pointers
Block device read/write is anonymous data; there is no need to use a
typed pointer.  void * is fine.  Also add a hook for block_read functions

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
2007-02-20 09:05:45 +01:00
Grant Likely
f4852ebe6c [PATCH 7_9] Replace ace_readw_ace_writeb functions with macros
Register read/write does not need to be wrapped in a full function.  The
patch replaces them with macros.

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
2007-02-20 09:05:31 +01:00
Grant Likely
3a8ce9af6f [PATCH 6_9] Move common_cmd_ace.c to drivers_systemace.c
The code in this file is not a command; it is a device driver.  Put it in
the correct place.  There are zero functional changes in this patch, it
only moves the file.

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
2007-02-20 09:05:23 +01:00
Heiko Schocher
d0b6e14087 [PATCH] CFI: define CFG_WRITE_SWAPPED_DATA for the CFI-Flash driver
if you must swap the bytes between reading/writing.
             (Needed for the SC3 board)

Signed-off-by: Heiko Schocher <hs@denx.de>
2007-01-19 18:05:26 +01:00
Heiko Schocher
cb4820725e [PATCH] Fix: Compilerwarnings for SC3 board.
The EBC Configuration Register is now by CFG_EBC_CFG definable
             Added JFFS2 support for the SC3 board.

Signed-off-by: Heiko Schocher <hs@denx.de>
2007-01-18 11:28:51 +01:00
Wolfgang Denk
f11033e739 Merge with /home/hs/SC3/u-boot
Some code cleanup.
2007-01-15 13:41:04 +01:00
Heiko Schocher
ca43ba18e9 Added support for the SOLIDCARD III board from Eurodesign
Signed-off-by: Heiko Schocher <hs@denx.de>
2007-01-11 15:44:44 +01:00
Stefan Roese
cd1d937f90 [PATCH] nand: Fix problem with oobsize calculation
Here the description from Brian Brelsford <Brian_Brelsford@dell.com>:

The Hynix part returns a 0x1d in the 4th ID byte. The Samsung part
returns a 0x15. In the code fragment below bits [1:0] determine the
page size, it is ANDed via "(extid & 0x3)" then shifted out. The
next field is also ANDed with 0x3. However this is a one bit field
as defined in the Hynix and Samsung parts in the 4th ID byte that
determins the oobsize, not a two bit field. It works on Samsung as
bits[3:2] are 01. However for the Hynix there is a 11 in these two
bits, so the oob size gets messed up.

I checked the correct linux code and the suggested fix from Brian is
also available in the linux nand mtd driver.

Signed-off-by: Stefan Roese <sr@denx.de>
2007-01-05 11:46:05 +01:00
Wolfgang Denk
92eb729bad Fix bug in adaption of Stefano Babic's CFI driver patch. 2006-12-27 01:26:13 +01:00
Wolfgang Denk
de8404441b Merge with /home/wd/git/u-boot/master 2006-12-24 01:33:32 +01:00
Wolfgang Denk
bc5556d62b Merge with /home/hs/TQ/u-boot-dev 2006-12-24 01:30:04 +01:00
Stefano Babic
d784fdb059 Fix cfi failure with Spansion Flash (Spansion Flash Devices have a different offset to go into CFI mode) 2006-12-24 01:27:41 +01:00
Heiko Schocher
fa23044564 Added support for the TQM8272 board from TQ
Signed-off-by: Heiko Schocher <hs@denx.de>
2006-12-21 17:17:02 +01:00
Wolfgang Denk
dd520bf314 Code cleanup. 2006-11-30 18:02:20 +01:00
Wolfgang Denk
ab07b6c221 Merge with http://opensource.freescale.com/pub/scm/u-boot-83xx.git 2006-11-30 02:01:32 +01:00
Joakim Tjernlund
1939d96944 Make fsl-i2c not conflict with SOFT I2C
Signed-off-by: Timur Tabi <timur@freescale.com>
2006-11-29 00:25:26 -06:00
Joakim Tjernlund
14198bf768 Fix I2C master address initialization.
Signed-off-by: Timur Tabi <timur@freescale.com>
2006-11-29 00:25:23 -06:00
Kim Phillips
32081125a0 Merge http://www.denx.de/git/u-boot 2006-11-28 23:35:49 -06:00
Kim Phillips
1aa934c81b Eliminate gcc 4 'used uninitialized' warnings in drivers/qe/uccf.c
give initial values for reg_num, shift, p_cmxucr in ucc_set_clk_src
since they are passed by reference to ucc_get_cmxucr_reg and assigned.
2006-11-28 23:34:30 -06:00
Stefan Roese
e7f3e9ff01 [PATCH] nand: Fix patch merge problem
Signed-off-by: Stefan Roese <sr@denx.de>
2006-11-28 11:05:49 +01:00
Wolfgang Denk
d2c83f5493 Merge with /home/sr/git/u-boot/denx-alpr-merge-test 2006-11-27 23:11:18 +01:00
Stefan Roese
1578486285 [PATCH] nand_wait() timeout fixes
Two fixes for the nand_wait() function in
drivers/nand/nand_base.c:

1. Use correct timeouts. The original timeouts in Linux
source are 400ms and 20ms not 40s and 20s

2. Return correct error value in case of timeout. 0 is
interpreted as OK.

Signed-off-by: Rui Sousa <rui.sousa@laposte.net>
Signed-off-by: Stefan Roese <sr@denx.de>
2006-11-27 17:24:40 +01:00
Stefan Roese
48c7d6dba9 Merge with /home/stefan/git/u-boot/denx 2006-11-27 14:11:22 +01:00
Stefan Roese
260421a21e [PATCH] CFI driver AMD Command Set Top boot geometry reversal, etc. [Updated]
* Adds support for AMD command set Top Boot flash geometry reversal
   * Adds support for reading JEDEC Manufacturer ID and Device ID
   * Adds support for displaying command set, manufacturer id and
     device ids (flinfo)
   * Makes flinfo output to be consistent when CFG_FLASH_EMPTY_INFO defined
   * Removes outdated change history (refer to git log instead)

Signed-off-by: Tolunay Orkun <listmember@orkun.us>
Signed-off-by: Stefan Roese <sr@denx.de>
2006-11-13 13:58:55 +01:00
Stefan Roese
dfc8a9ee00 Merge with /home/stefan/git/u-boot/denx 2006-11-10 07:48:47 +01:00
Timur Tabi
be5e61815d mpc83xx: Update 83xx to use fsl_i2c.c
Update the 83xx tree to use I2C support in drivers/fsl_i2c.c.  Delete
cpu/mpc83xx/i2c.c, include/asm-ppc/i2c.h, and all references to those files.
Added multiple I2C bus support to fsl_i2c.c.

Signed-off-by: Timur Tabi <timur@freescale.com>
2006-11-03 19:42:23 -06:00
Timur Tabi
d239d74b1c mpc83xx: Replace CFG_IMMRBAR with CFG_IMMR
Replace all instances of CFG_IMMRBAR with CFG_IMMR, so that the 83xx
tree matches the other 8xxx trees.

Signed-off-by: Timur Tabi <timur@freescale.com>
2006-11-03 19:42:23 -06:00
Dave Liu
7737d5c658 mpc83xx: add QE ethernet support
this patch adds support for the QUICC Engine based UCC gigabit ethernet device.
2006-11-03 19:42:21 -06:00
Timur Tabi
2ad6b513b3 mpc83xx: Add support for the MPC8349E-mITX
PREREQUISITE PATCHES:

* This patch can only be applied after the following patches have been applied:

  1) DNX#2006090742000024 "Add support for multiple I2C buses"
  2) DNX#2006090742000033 "Multi-bus I2C implementation of MPC834x"
  3) DNX#2006091242000041 "Additional MPC8349 support for multibus i2c"
  4) DNX#2006091242000078 "Add support for variable flash memory sizes on 83xx systems"
  5) DNX#2006091242000069 "Add support for Errata DDR6 on MPC 834x systems"

CHANGELOG:

* Add support for the Freescale MPC8349E-mITX reference design platform.
  The second TSEC (Vitesse 7385 switch) is not supported at this time.

Signed-off-by: Timur Tabi <timur@freescale.com>
2006-11-03 19:42:20 -06:00
Nick Spence
04f899fc46 NAND Flash verify across block boundaries
This patch addresses a problem when CONFIG_MTD_NAND_VERIFY_WRITE is
defined
and the write crosses a block boundary. The pointer to the verification
buffer (bufstart) is not being updated to reflect the starting of the
new
block so the verification of the second block fails.

CHANGELOG:

* Fix NAND FLASH page verification across block boundaries
2006-11-03 19:42:17 -06:00
Nick Spence
f484dc791a Added RGMII support to the TSECs and Marvell 881111 Phy
Added a phy initialization to adjust the RGMII RX and TX timing
Always set the R100 bit in 100 BaseT mode regardless of the TSEC mode

Signed-off-by: Nick Spence <nick.spence@freescale.com>
2006-11-03 19:42:17 -06:00
Stefan Roese
856f054410 [PATCH] NAND: Partition name support added to NAND subsystem
chpart, nboot and NAND subsystem related commands now accept also partition
name to specify offset.

Signed-off-by: Ladislav Michl <ladis@linux-mips.org>
Signed-off-by: Stefan Roese <sr@denx.de>
2006-10-28 17:11:10 +02:00
Ben Warren
4653f91c13 Fix TSEC driver (now for real): avoid crashes if PHY is not attached
to a TSEC (e.g. a switch is connected via RMII) or
if the PHY is defective/incorrectly configured.

Signed-off-by: Ben Warren <bwarren@qstreams.com>
2006-10-26 21:17:25 +02:00
Wolfgang Denk
0ab292cbc1 Merge with /home/wd/git/u-boot/master 2006-10-24 15:17:59 +02:00
Wolfgang Denk
f93ae788c3 Add common serial driver for Atmel AT32 and AT91 chips
Patch by Haavard Skinnemoen, 06 Sep 2006

This is a first attempt at creating a common serial driver for Atmel
chips. For now, it supports the AT32AP7000 AVR32 chip, but it should
be possible to support AT91RM9200 and other ARM-based chips with some
minor modifications.

There's nothing fundamentally AVR32-specific in this driver, but it
does use some features which are currently only defined for the
AT32AP CPU port:
  * pm_get_clock_freq: Obtain the clock frequency of a given domain
  * gd->console_uart: A "struct device" containing information about
    register mappings, gpio resources and clocks associated with the
    UART device.

For more information about these features, please see the "AT32AP
CPU" patch.
2006-10-24 14:31:24 +02:00
Wolfgang Denk
d67c14c0f4 Merge with http://www.jdl.com/software/u-boot-86xx.git 2006-10-20 23:52:58 +02:00
Jon Loeliger
2047672684 Converted all 85xx boards to use a common FSL I2C driver.
Introduced COFIG_FSL_I2C to select the common FSL I2C driver.
And removed hard i2c path from a few u-boot.lds scipts too.
Minor whitespace cleanups along the way.

Signed-off-by: Jon Loeliger <jdl@freescale.com>
2006-10-20 15:50:15 -05:00
Stefan Roese
43a2b0e76a Add board/cpu specific NAND chip select function to 440 NDFC
Based on idea and implementation from Jeff Mann
Patch by Stefan Roese, 20 Oct 2006
2006-10-20 15:17:55 +02:00
Jon Loeliger
4d45f69e36 Rewrite a series of goto statements as a sequences of
conditional expressions instead.

Use consistent return code 0/-1 for good/bad indicators.

Include one fewer file if the driver isn't used at all.

Signed-off-by: Jon Loeliger <jdl@freescale.com>
2006-10-19 12:02:24 -05:00