Commit Graph

3927 Commits

Author SHA1 Message Date
Wolfgang Denk
3f523edb14 Merge branch 'master' of git://www.denx.de/git/u-boot-mpc85xx 2007-12-27 00:35:03 +01:00
Wolfgang Denk
bd878eb024 Merge branch 'testing' of git://www.denx.de/git/u-boot-fdt 2007-12-27 00:22:24 +01:00
Haavard Skinnemoen
467bcee11f cfi_flash: Add manufacturer-specific fixups
Run fixups based on the JEDEC manufacturer ID independent of the
command set ID.

This changes current behaviour: Previously, geometry reversal for AMD
chips were done based on the command set ID, while they are now done
based on the JEDEC manufacturer and device ID.

Also add fixup for top-boot Atmel chips. A fixup is needed for
AT49BV6416(T) too, but since u-boot currently only reads the low byte
of the device ID, there's no way to tell it apart from AT49BV642D,
which should not have this fixup. Since AT49BV642D support is
necessary to get ATNGW100 board support into mainline, I've commented
out the fixup for now.

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
2007-12-17 15:48:38 +01:00
Haavard Skinnemoen
0ddf06ddf6 cfi_flash: Add cmdset-specific init functions
Move things like reading JEDEC IDs and fixing up geometry reversal
into separate functions. The geometry reversal fixup is now performed
by altering the qry structure directly, which makes the sector init
code slightly cleaner.

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
2007-12-17 15:48:31 +01:00
Haavard Skinnemoen
e23741f4a6 cfi_flash: Read whole QRY structure in one go
Read out the whole CFI Standard Query structure after successful cfi
identification. This allows subsequent code to access this information
directly without having to go through flash_read_uchar() and friends.

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
2007-12-17 15:48:25 +01:00
Haavard Skinnemoen
df9c25ea04 AVR32: Fix logic inversion in disable_interrupts()
disable_interrupts() should return nonzero if interrupts were
_enabled_ before, not disabled.

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
2007-12-17 11:02:44 +01:00
Haavard Skinnemoen
acac475212 AVR32: Enable interrupts at bootup
The timer code depends on the timer interrupt to keep track of the
upper 32 bits of the cycle counter. This obviously doesn't work when
interrupts are disabled the whole time.

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
2007-12-17 10:43:16 +01:00
Haavard Skinnemoen
9570bcd87f AVR32: Fix wrong pin setup for USART3
As reported by Gerhard Berghofer:

in "gpio_enable_usart3" the correct pins for USART 3 are PB17 and PB18
instead of PB18 and PB19.

which is obviously correct. There's currently no code that uses
USART3, but custom boards may run into problems.

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
2007-12-17 10:35:02 +01:00
Haavard Skinnemoen
09ea0de03d README: Remove ATSTK1000 daughterboard list
As noted by Kim Phillips, these lists tend to become out of date.

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
2007-12-17 10:35:02 +01:00
Haavard Skinnemoen
c81cbbad21 Add ATSTK100[234] to MAINTAINERS
Add all the ATSTK1000 daughterboards to MAINTAINERS along with their
"mother". Also update the entry for ATSTK1000 to be not only about the
AP7000 CPU; it's intended to handle all CPUs in the AT32AP family.

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
2007-12-17 10:35:02 +01:00
Haavard Skinnemoen
64ff2357b1 AVR32: Add support for the ATSTK1004 board
ATSTK1004 is a daughterboard for ATSTK1000 with the AT32AP7002 CPU,
which is a derivative of AT32AP7000.

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
2007-12-17 10:35:01 +01:00
Haavard Skinnemoen
667568db15 AVR32: Add support for the ATSTK1003 board
ATSTK1003 is a daughterboard for ATSTK1000 with the AT32AP7001 CPU,
which is a derivative of AT32AP7000.

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
2007-12-17 10:34:54 +01:00
Haavard Skinnemoen
5fee84a794 AVR32: Make some AT32AP700x peripherals optional
Add a chip-features file providing definitions of the form

AT32AP700x_CHIP_HAS_<peripheral>

to indicate the availability of the given peripheral on the currently
selected chip.

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
2007-12-17 10:34:12 +01:00
Haavard Skinnemoen
36f28f8a96 AVR32: Rename at32ap7000 -> at32ap700x
The SoC-specific code for all the AT32AP700x CPUs is practically
identical; the only difference is that some chips have less features
than others. By doing this rename, we can add support for the AP7000
derivatives simply by making some features conditional.

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
2007-12-17 10:34:12 +01:00
Haavard Skinnemoen
4d5fa99c73 atmel_mci: Show SR when block read fails
Show controller status as well as card status when an error occurs
during block read.

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
2007-12-17 10:34:11 +01:00
Stefan Roese
8697e6a19b ppc4xx: Bring 4xx fdt support up-to-date
This patch update the 4xx fdt support. It enabled fdt booting
on the AMCC Kilauea and Sequoia for now. More can follow later
quite easily.

Signed-off-by: Stefan Roese <sr@denx.de>
2007-12-13 14:52:53 +01:00
Stefan Roese
a449c500b1 Merge commit 'u-boot-fdt/testing' 2007-12-13 14:02:42 +01:00
Haavard Skinnemoen
12d30aa797 cfi_flash: Use map_physmem() and unmap_physmem()
Use map_physmem() and unmap_physmem() to convert from physical to
virtual addresses. This gives the arch a chance to provide an uncached
mapping for flash accesses.

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
2007-12-13 13:15:22 +01:00
Haavard Skinnemoen
4d7d6936eb Introduce map_physmem() and unmap_physmem()
map_physmem() returns a virtual address which can be used to access a
given physical address without involving the cache. unmap_physmem()
should be called when the virtual address returned by map_physmem() is
no longer needed.

This patch adds a stub implementation which simply returns the
physical address cast to a uchar * for all architectures except AVR32,
which converts the physical address to an uncached virtual mapping.
unmap_physmem() is a no-op on all architectures, but if any
architecture needs to do such mappings through the TLB, this is the
hook where those TLB entries can be invalidated.

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
2007-12-13 13:15:16 +01:00
Haavard Skinnemoen
cdbaefb5f5 cfi_flash: Introduce read and write accessors
Introduce flash_read{8,16,32,64) and flash_write{8,16,32,64} and use
them to access the flash memory. This makes it clearer when the flash
is actually being accessed; merely dereferencing a volatile pointer
looks just like any other kind of access.

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
2007-12-13 13:15:11 +01:00
Haavard Skinnemoen
812711ce6b Implement __raw_{read,write}[bwl] on all architectures
This adds implementations of __raw_read[bwl] and __raw_write[bwl] to
m68k, ppc, nios and nios2. The m68k and ppc implementations were taken
from Linux.

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
2007-12-13 13:15:04 +01:00
Haavard Skinnemoen
be60a9021c cfi_flash: Reorder functions and eliminate extra prototypes
Reorder the functions in cfi_flash.c so that each function only uses
functions that have been defined before it. This allows the static
prototype declarations near the top to be eliminated and might allow
gcc to do a better job inlining functions.

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
2007-12-13 13:14:55 +01:00
Haavard Skinnemoen
3055793bcb cfi_flash: Make some needlessly global functions static
Make functions not declared in any header file static.

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
2007-12-13 13:12:46 +01:00
Haavard Skinnemoen
7e5b9b4715 cfi_flash: Break long lines
This patch tries to keep all lines in the cfi_flash driver below 80
columns. There are a few lines left which don't fit this requirement
because I couldn't find any trivial way to break them (i.e. it would
take some restructuring, which I intend to do in a later patch.)

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
2007-12-13 13:11:45 +01:00
Bartlomiej Sieka
42026c9cb3 CFI: synchronize command offsets with Linux CFI driver
Fixes non-working CFI Flash on the Inka4x0 board.

Signed-off-by: Bartlomiej Sieka <tur@semihalf.com>
2007-12-13 12:00:37 +01:00
Kumar Gala
8ff3de61fc Handle MPC85xx PCIe reset errata (PCI-Ex 38)
On the MPC85xx boards that have PCIe enable the PCIe errata fix.
(MPC8544DS, MPC8548CDS, MPC8568MDS).

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2007-12-11 22:34:20 -06:00
Kumar Gala
82ac8c9714 Update Freescale MPC85xx ADS/CDS/MDS board config
* Enabled CONFIG_CMD_ELF

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2007-12-11 22:34:20 -06:00
Kumar Gala
d435793229 Handle Asynchronous DDR clock on 85xx
The MPC8572 introduces the concept of an asynchronous DDR clock with
regards to the platform clock.

Introduce get_ddr_freq() to report the DDR freq regardless of sync/async
mode.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2007-12-11 22:34:20 -06:00
Kumar Gala
22abb2d2ea Update Freescale MPC85xx ADS/CDS/MDS board config
* Removed some misc environment setup
* Enabled CONFIG_CMDLINE_EDITING

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2007-12-11 22:34:20 -06:00
Kumar Gala
415a613bab Move the MPC8541/MPC8555/MPC8548 CDS board under board/freescale.
Minor path corrections needed to ensure buildability.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2007-12-11 22:34:20 -06:00
Kumar Gala
c2d943ffbf Move the MPC8540 ADS board under board/freescale.
Minor path corrections needed to ensure buildability.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2007-12-11 22:34:20 -06:00
Kumar Gala
870ceac5b3 Move the MPC8560 ADS board under board/freescale.
Minor path corrections needed to ensure buildability.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2007-12-11 22:34:20 -06:00
Kumar Gala
acbca876fb Move the MPC8568 MDS board under board/freescale.
Minor path corrections needed to ensure buildability.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2007-12-11 22:34:20 -06:00
Kumar Gala
a853d56c59 Use standard LAWAR_TRGT_IF_* defines for LAW setup on 85xx
We already had defines for LAWAR_TRGT_IF_* that we should use
rather than creating new ones.  Also, added some missing defines for
PCIE targets.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2007-12-11 22:34:20 -06:00
Kumar Gala
04db400892 Stop using immap_t on 85xx
In the future the offsets to various blocks may not be in same location.
Move to using CFG_MPC85xx_*_ADDR as the base of the registers
instead of getting it via &immap.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2007-12-11 22:34:20 -06:00
Kumar Gala
2714223f8e Remove CONFIG_OF_FLAT_TREE related code from mpc85xx since we now use libfdt
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2007-12-11 22:34:20 -06:00
Kumar Gala
c480861bf0 Update MPC8568 MDS to use libfdt
Updated the MPC8568 MDS config to use libfdt and assume use of aliases for
ethernet, pci, and serial for the various fixups that are done.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2007-12-11 22:34:20 -06:00
Haiying Wang
1563f56e0c Add PCI Express support on MPC8568MDS
Signed-off-by: Haiying Wang <Haiying.Wang@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2007-12-11 22:34:19 -06:00
Kumar Gala
b90d254976 Update MPC85xx CDS to use libfdt
Updated the MPC85xx CDS config to use libfdt and assume use of aliases for
ethernet, pci, and serial for the various fixups that are done.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2007-12-11 22:34:19 -06:00
Kumar Gala
0fd5ec66b1 Update MPC8540 ADS to use libfdt
Updated the MPC8540 ADS config to use libfdt and assume use of aliases for
ethernet, pci, and serial for the various fixups that are done.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2007-12-11 22:34:19 -06:00
Kumar Gala
5ce715802f Update MPC8560 ADS to use libfdt
Updated the MPC8560 ADS config to use libfdt and assume use of aliases for
ethernet, pci, and serial for the various fixups that are done.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2007-12-11 22:34:19 -06:00
Kumar Gala
aafeefbdb8 Stop using immap_t for cpm offset on 85xx
In the future the offsets to various blocks may not be in same location.
Move to using CFG_MPC85xx_CPM_ADDR as the base of the CPM registers
instead of getting it via &immap->im_cpm.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2007-12-11 22:34:19 -06:00
Kumar Gala
f59b55a5b8 Stop using immap_t for guts offset on 85xx
In the future the offsets to various blocks may not be in same location.
Move to using CFG_MPC85xx_GUTS_ADDR as the base of the guts registers
instead of getting it via &immap->im_gur.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2007-12-11 22:34:19 -06:00
Kumar Gala
50c03c8cf4 Update MPC8544 DS config
* Removed HAS_ETH2/HAS_ETH3 - MPC8544 only has TSEC1/2
* Removed some misc environment setup
* Moved to using fdtfile & fdtaddr as fdt env var names
* Enabled CONFIG_CMDLINE_EDITING

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2007-12-11 22:34:19 -06:00
Kumar Gala
addce57e2e Update MPC8544DS to use libfdt
Updated the MPC8544DS config to use libfdt and assume use of aliases for
ethernet, pci, and serial for the various fixups that are done.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2007-12-11 22:34:19 -06:00
Kumar Gala
f852ce72f1 Add libfdt based ft_cpu_setup for mpc85xx
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2007-12-11 22:34:19 -06:00
Stefan Roese
3b9abdc448 ppc4xx: Correct GPIO offset in gpio_config()
Thanks to Gary Jennejohn for pointing this out.

Signed-off-by: Stefan Roese <sr@denx.de>
2007-12-11 13:38:19 +01:00
Stefan Roese
8809a2713b rtc: Fix merging problem
Signed-off-by: Stefan Roese <sr@denx.de>
2007-12-11 11:46:01 +01:00
Stefan Roese
9caeaadf50 Merge commit 'u-boot/master' into for-1.3.1
Conflicts:

	drivers/rtc/Makefile
2007-12-11 11:34:54 +01:00
Stefan Roese
7cfc12a7dc ppc4xx: 405EX: Correctly enable USB pins
This patch selects the USB data pins in the 405EX GPIO and MFC (multi
function control) registers. This is done for the AMCC Kilauea and
Makalu eval boards.

Signed-off-by: Stefan Roese <sr@denx.de>
2007-12-08 14:47:34 +01:00