Commit Graph

3555 Commits

Author SHA1 Message Date
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
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
Stefan Roese
9692c2734a CFI: Coding style cleanup
Signed-off-by: Stefan Roese <sr@denx.de>
2007-12-08 08:25:09 +01:00
Michael Schwingen
81b20ccc2d CFI: support JEDEC flash roms in CFI-flash framework
The following patch adds support for non-CFI flash ROMS, by hooking into the
CFI flash code and using most of its code, as recently discussed here in the
thread "Mixing CFI and non-CFI flashs".

Signed-off-by: Michael Schwingen <michael@schwingen.org>
Signed-off-by: Stefan Roese <sr@denx.de>
2007-12-08 08:16:50 +01:00
Wolfgang Denk
41be969f49 Release v1.3.1
Signed-off-by: Wolfgang Denk <wd@denx.de>
2007-12-06 10:21:19 +01:00
Wolfgang Denk
cf5933ba1e ADS5121 Board: fix compile problem.
Signed-off-by: Wolfgang Denk <wd@denx.de>
2007-12-06 10:21:03 +01:00
Wolfgang Denk
8d4f040a3c Prepare for 1.3.1-rc1
Signed-off-by: Wolfgang Denk <wd@denx.de>
2007-12-03 00:15:28 +01:00
Wolfgang Denk
88fed9a120 Merge commit '3deca9d'
Conflicts:

	Makefile

Signed-off-by: Wolfgang Denk <wd@denx.de>
2007-11-26 22:57:53 +01:00
Wolfgang Denk
a5f601fd1b Cleanup coding style; update CHANGELOG
Signed-off-by: Wolfgang Denk <wd@denx.de>
2007-11-26 19:18:21 +01:00
Wolfgang Denk
fe08fb6580 Merge commit '87ddedd' 2007-11-26 19:15:04 +01:00
Jean-Christophe PLAGNIOL-VILLARD
3deca9d447 MAKEALL: add missing 512x boards in ppc
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2007-11-26 18:59:44 +01:00
Jean-Christophe PLAGNIOL-VILLARD
a340c325e6 Makefile : fix tags ctags etags with new drivers organization
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2007-11-26 18:59:40 +01:00
Jean-Christophe PLAGNIOL-VILLARD
87ddedd6ad Makefile : fix tags ctags etags with new drivers organization
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2007-11-25 23:28:52 +01:00
Jean-Christophe PLAGNIOL-VILLARD
59829cc189 drivers/mtd : move mtd drivers to drivers/mtd
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2007-11-25 23:28:52 +01:00
Jean-Christophe PLAGNIOL-VILLARD
318c0b9043 drivers/misc : move misc drivers to drivers/misc
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2007-11-25 23:28:51 +01:00
Jean-Christophe PLAGNIOL-VILLARD
33daf5b785 drivers/block : move block drivers to drivers/block
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2007-11-25 23:28:51 +01:00
Jean-Christophe PLAGNIOL-VILLARD
0c698dcaa7 drivers/rtc : move rtc drivers to drivers/rtc
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2007-11-25 23:28:50 +01:00
Jean-Christophe PLAGNIOL-VILLARD
f868cc5a50 drivers/hwmon : move hardware monitor drviers to drivers/hwmon
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2007-11-25 23:28:50 +01:00
Jean-Christophe PLAGNIOL-VILLARD
16b195c82a drivers/input : move input drivers to drivers/input
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2007-11-25 23:28:49 +01:00
Jean-Christophe PLAGNIOL-VILLARD
e455866629 drivers/usb : move usb drivers to drivers/usb
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2007-11-25 23:27:38 +01:00
Jean-Christophe PLAGNIOL-VILLARD
1378df792a drivers/serial : move serial drivers to drivers/serial
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2007-11-25 23:24:16 +01:00
Jean-Christophe PLAGNIOL-VILLARD
2439e4bfa1 drivers/net : move net drivers to drivers/net
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2007-11-25 18:35:17 +01:00
Jean-Christophe PLAGNIOL-VILLARD
352d259130 drivers/video : move video drivers to drivers/video
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2007-11-25 18:35:11 +01:00
Jean-Christophe PLAGNIOL-VILLARD
7364621718 drivers/pcmcia : move pcmcia drivers to drivers/pcmcia
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2007-11-24 20:35:56 +01:00
Jean-Christophe PLAGNIOL-VILLARD
93a686ee9c drivers/pci : move pci drivers to drivers/pci
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2007-11-24 20:35:55 +01:00
Wolfgang Denk
cfa4c9d899 Merge branch 'testing' of git://www.denx.de/git/u-boot-fdt 2007-11-23 00:55:23 +01:00
Gerald Van Baren
9162352817 Fix fdt printing for updated libfdt
Also improve printing (adopt dtc v1 "c style" hex format), whitespace cleanup.

Signed-off-by: Gerald Van Baren <vanbaren@cideas.com>
2007-11-22 17:23:23 -05:00
Kumar Gala
9eb77cea1f Add additional fdt fixup helper functions
Added the following fdt fixup helpers:
 * do_fixup_by_prop{_u32} - Find matching nodes by property name/value
 * do_fixup_by_compat{_u32} - Find matching nodes by compat

The _u32 variants work the same only the property they are setting
is know to be a 32-bit integer instead of a byte buffer.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2007-11-21 15:11:58 -06:00
Kumar Gala
ab544633ab Add fdt_fixup_ethernet helper to set mac addresses
Added a fixup helper that uses aliases to set mac addresses
in the device tree based on the bd_t

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2007-11-21 15:08:56 -06:00
Kumar Gala
dbaf07ce62 Fix warnings from import of libfdt
cmd_fdt.c: In function fdt_print:
cmd_fdt.c:586: warning: assignment discards qualifiers from pointer target type
cmd_fdt.c:613: warning: assignment discards qualifiers from pointer target type
cmd_fdt.c:635: warning: assignment discards qualifiers from pointer target type
cmd_fdt.c:636: warning: assignment discards qualifiers from pointer target type

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2007-11-21 14:18:06 -06:00
Kumar Gala
8d04f02f62 Update libfdt from device tree compiler (dtc)
Update libfdt to commit 8eaf5e358366017aa2e846c5038d1aa19958314e from
the device tree compiler (dtc) project.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2007-11-21 14:04:05 -06:00
Kumar Gala
e93becf80d Move do_fixup* for libfdt into common code
Moved the generic fixup handling code out of cpu/mpc5xxx and cpu/mpc8260
into common/fdt_support.c and renamed:

do_fixup()	-> do_fixup_by_path()
do_fixup_u32() 	-> do_fixup_by_path_u32()

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2007-11-21 14:01:49 -06:00
Kumar Gala
f738b4a759 Make no options to fdt print default to '/'
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2007-11-21 14:01:49 -06:00
Kumar Gala
a3c2933e02 Removed some nonused fdt functions and moved fdt_find_and_setprop out of libfdt
Removed:
	fdt_node_is_compatible
	fdt_find_node_by_type
	fdt_find_compatible_node

To ease merge of newer libfdt as we aren't using them anywhere at this time.

Also moved fdt_find_and_setprop out of libfdt into fdt_support.c for the same
reason.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2007-11-21 14:01:49 -06:00
Grant Likely
98e2867cc8 [BUILD] Remove libraries when updating autoconf.mk
Fix library problems caused by conditional compilation.  Using
autoconf.mk to decide which files to compile has caused a problem when
changing configuration from one board to another without clearing out
the library (*.a) files.

It used to be that the linker was always passed the same list of .o
files when building the .a files.  However, that is not longer true
with conditional compilation.  Now, a different board config will have
a different file list passed to the linker.  The problem occurs when
a library has already been built and the board config is changed.

Since the linker will update instead of replace a preexisting library,
then if the file list changes to remove some object files the old
objects will still exist in the library.

The solution is to remove all old library files when autoconf.mk is
made.

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
2007-11-21 09:19:37 -07:00
Kumar Gala
ed1353d74b [BUILD] conditionally compile libfdt/*.c in libfdt/Makefile
Modify libfdt/Makefile to conditionally compile the *.c files based
on the board config.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2007-11-21 08:49:50 -06:00
Grant Likely
4a43719a77 [BUILD] conditionally compile common/cmd_*.c in common/Makefile
Modify common/Makefile to conditionally compile the cmd_*.c files based
on the board config.

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
2007-11-20 22:33:54 -07:00
Grant Likely
2f155f6c0a [BUILD] Generate include/autoconf.mk from board config files
Use cpp and sed to postprocess config.h and import the defined values
into include/autoconf.mk.  autoconf.mk is then included by config.mk to
give 'make' access to the board configuration.

Doing this enables conditional compilation at the Makefile level instead
of by wrapping every .c file with #ifdef/#endif wrappers.

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
2007-11-20 22:33:38 -07:00
Jean-Christophe PLAGNIOL-VILLARD
080c646dbf drivers/i2c : move i2c drivers to drivers/i2c
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2007-11-20 20:14:18 +01:00
Grant Likely
f92edbd8a0 Merge branch 'origin' into kconfig-for-1.3.1 2007-11-20 08:19:56 -07:00
Wolfgang Denk
9a337ddc15 Prepare for 1.3.0 release.
Signed-off-by: Wolfgang Denk <wd@denx.de>
2007-11-19 22:20:24 +01:00