Merge branch 'master' of git://git.denx.de/u-boot-arm

Conflicts:
	cpu/arm1176/cpu.c
	cpu/arm1176/start.S
	cpu/arm_cortexa8/s5pc1xx/Makefile
	cpu/arm_cortexa8/s5pc1xx/clock.c
	drivers/serial/serial_s5p.c
	include/asm-arm/arch-s5pc1xx/clk.h
	include/asm-arm/arch-s5pc1xx/gpio.h
	include/asm-arm/arch-s5pc1xx/uart.h

Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
This commit is contained in:
Minkyu Kang 2010-04-19 10:26:18 +09:00
commit 83653121d7
2360 changed files with 83050 additions and 79690 deletions

457
CHANGELOG
View file

@ -1,3 +1,460 @@
commit 8e64d6efd8d778a5f83d8bff9cd273a86dcc182f
Author: Heiko Schocher <hs@denx.de>
Date: Wed Mar 31 08:34:51 2010 +0200
net, doc: How to setup MAC address correctly
As this seems unclear, document how the flow of setting up
the MAC address is correct.
Signed-off-by: Heiko Schocher <hs@denx.de>
Text changed slightly, adding input from Mike Frysinger.
Signed-off-by: Wolfgang Denk <wd@denx.de>
commit b78b48c6a0c34b2991e31fc4548aaf773d34f2b3
Author: Heiko Schocher <hs@denx.de>
Date: Wed Mar 31 08:34:46 2010 +0200
net, fec_mxc: only setup the device enetaddr with eeprom value
Only fill the device enetaddr with the contents of the eeprom,
do not program it in MAC address registers
Signed-off-by: Heiko Schocher <hs@denx.de>
Acked-by: Ben Warren <biggerbadderben@gmail.com>
commit d5a64237d58ded31c2eed455c7a346e1c85f5565
Author: Felix Radensky <felix@embedded-sol.com>
Date: Tue Mar 30 15:02:13 2010 +0300
doc: Fix ramdisk examples in doc/uImage.FIT/multi.its
The ramdisk sections in doc/uImage.FIT/multi.its lack
load address and entry point properties. Using examples
from this file will result in unbootable image, u-boot
will issue the following error messages:
Can't get ramdisk subimage load address!
Ramdisk image is corrupt or invalid
This patch adds missing properties to ramdisk sections.
Signed-off-by: Felix Radensky <felix@embedded-sol.com>
commit 2d2018f3db5ed834bc1ee208a2c6212fdf00bca1
Author: Heiko Schocher <heiko.schocher@invitel.hu>
Date: Wed Mar 24 13:22:50 2010 +0100
jffs2, suen3: Fix compiler warning
$ ./MAKEALL suen3
jffs2_1pass.c: In function 'get_fl_mem':
jffs2_1pass.c:399: warning: unused variable 'id'
jffs2_1pass.c: In function 'get_node_mem':
jffs2_1pass.c:423: warning: unused variable 'id'
Signed-off-by: Heiko Schocher <hs@denx.de>
Tested-by: Tom <Tom.Rix@windriver.com>
commit 9ff32d8ccf0e23b5577c25610f001af8d761b4a2
Author: Timur Tabi <timur@freescale.com>
Date: Mon Mar 29 12:51:07 2010 -0500
mpc86xx: set the DDR BATs after calculating true DDR size
After determining how much DDR is actually in the system, set DBAT0 and
IBAT0 accordingly. This ensures that the CPU won't attempt to access
(via speculation) addresses outside of actual memory.
On 86xx systems, DBAT0 and IBAT0 (the BATs for DDR) are initialized to 2GB
and kept that way. If the system has less than 2GB of memory (typical for
an MPC8610 HPCD), the CPU may attempt to access this memory during
speculation. The zlib code is notorious for generating such memory reads,
and indeed on the MPC8610, uncompressing the Linux kernel causes a machine
check (without this patch).
Currently we are limited to power of two sized DDR since we only use a
single bat. If a non-power of two size is used that is less than
CONFIG_MAX_MEM_MAPPED u-boot will crash.
Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
commit 33f57bd553edf29dffef5a6c7d76e169c79a6049
Author: Kumar Gala <galak@kernel.crashing.org>
Date: Fri Mar 26 15:14:43 2010 -0500
85xx: Fix enabling of L1 cache parity on secondary cores
Use the same code between primary and secondary cores to init the
L1 cache. We were not enabling cache parity on the secondary cores.
Also, reworked the L1 cache init code to match the e500mc L2 init code
that first invalidates the cache and locks. Than enables the cache and
makes sure its enabled before continuing.
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
commit 1a332da61df9c38b567359af114daeaaaefaead8
Author: Stefan Roese <sr@denx.de>
Date: Mon Mar 29 15:30:46 2010 +0200
ppc4xx: Fix problem with I2C bus >= 1 initialization
This patch fixes a problem introduced with patch eb5eb2b0
[ppc4xx: Cleanup PPC4xx I2C infrastructure]. We need to assign the I2C
base address to the "i2c" pointer inside of the controller loop.
Otherwise controller 0 is initialized multiple times instead of
initializing each I2C controller sequentially.
Tested on Katmai.
Signed-off-by: Stefan Roese <sr@denx.de>
Acked-by: Heiko Schocher <hs@denx.de>
commit 24de2f4be00f81c58270d0df47296bf3a3601cef
Author: Heiko Schocher <hs@denx.de>
Date: Mon Mar 29 13:15:48 2010 +0200
bootm, linux: fix booting Multi-File Image with "kernel+ramdisk+fdt"
Booting a "Multi-File Image" including a linux kernel, ramdisk and
fdt, generated with
mkimage -A ppc \
-O linux \
-T multi \
-C gzip \
-a 00000000 \
-e 00000000 \
-n "kernel-2.6+initrd+dtb" \
-d "vmlinux.bin.gz:ramdisk_image.gz:board.dtb" \
multi.bin
actually fails, because ramdisk start and end addresses
didn;t get initialized. This patch fixes this issue.
Tested on the KUP4K board.
Signed-off-by: Heiko Schocher <hs@denx.de>
commit 2883cc2d48e99fd1873ef8af03fee7966611b735
Author: Wolfgang Denk <wd@denx.de>
Date: Sun Mar 28 00:25:14 2010 +0100
Prepare 2010.03-rc3
Update CHANGELOG
Signed-off-by: Wolfgang Denk <wd@denx.de>
commit 060f28532b09dd3d2c78423bdd809ac768a27629
Author: Wolfgang Denk <wd@denx.de>
Date: Thu Mar 25 14:07:23 2010 +0100
cmd_usb.c: print debug messages only when DEBUG is defined
Signed-off-by: Wolfgang Denk <wd@denx.de>
commit a574cff121b1479c8e962b7a2a29310020387260
Author: Wolfgang Denk <wd@denx.de>
Date: Wed Mar 24 12:19:19 2010 +0100
ml300: remove support for broken, orphaned board
The ml300 board has a number of issues, but nobody cares about this
long-orphaned board any more. Remove it.
Signed-off-by: Wolfgang Denk <wd@denx.de>
Acked-by: Michal Simek <monstr@monstr.eu>
commit 04387d24a17b1ee13024dd4779da4b84d47c65cc
Author: Wolfgang Denk <wd@denx.de>
Date: Sat Mar 27 23:37:46 2010 +0100
mkimage: fix Segmentation Fault when run without "-n name" option
The restructuring of the mkimage command in commit 89a4d6b1 ("tools:
mkimage: split code into core, default and FIT image specific")
introduced a bug that caused mkimage to segfault when run without
"-n name" option. Initialize the imagename entry to prevent that.
Signed-off-by: Wolfgang Denk <wd@denx.de>
commit c40c94a3d20a8616264c2dfcda85279185d69aeb
Author: Renato Andreola <renato.andreola@imagos.it>
Date: Wed Mar 24 23:00:47 2010 +0800
cfi_flash: precision and underflow problem in tout calculation
With old configuration it could happen tout=0 if CONFIG_SYS_HZ<1000.
Signed-off-by: Renato Andreola <renato.andreola@imagos.it>
Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Signed-off-by: Stefan Roese <sr@denx.de>
commit c550afada5fcad426aa6a219a329feb9eedae8b2
Author: Rupjyoti Sarmah <rsarmah@appliedmicro.com>
Date: Wed Mar 24 16:52:02 2010 +0530
ppc4xx fix unstable 440EPx bootstrap options
440EPx fixed bootstrap options A, B, D, and E sets PLL FWDVA to a value = 1.
This results in the PLLOUTB being greater than the CPU clock frequency
resulting unstable 440EPx operation resulting in various software hang
conditions.
This patch reprograms the FWDVA satisfying the requirement of setting FWDVB
to a value greater than 1 while using one of the four deafult bootstrap options.
Signed-off-by: Rupjyoti Sarmah <rsarmah@amcc.com>
Acked-by : Victor Gallardo <vgallardo@appliedmicro.com>
Signed-off-by: Stefan Roese <sr@denx.de>
commit fb508b8b39a52a4063d098f5a9b4355bc5b30c14
Author: Matthias Fuchs <matthias.fuchs@esd.eu>
Date: Wed Mar 24 10:16:20 2010 +0100
at91: Get rid of some warnings when building for otc570
The soft-i2c code for AT91 defines I2C_SOFT_DECLARATIONS
for direct access by dereferencing a pio pointer.
The OTC570 platform uses the AT91 gpio API so it does not
need the pio variable.
Signed-off-by: Matthias Fuchs <matthias.fuchs@esd.eu>
commit acb13868936a28502782a16e1edaec378e494a29
Author: Alessandro Rubini <rubini@unipv.it>
Date: Sat Mar 13 17:44:08 2010 +0100
lcd: make 16bpp work
Support for 16bpp was supposed to be in the code but was not working.
This makes it work and has been tested in the nhk8815 board.
Signed-off-by: Alessandro Rubini <rubini@unipv.it>
Acked-by: Andrea Gallo <andrea.gallo@stericsson.com>
Signed-off-by: Anatolij Gustschin <agust@denx.de>
commit 152dda3d94e97ede7af3f9560a59a659384d4585
Author: Wolfgang Denk <wd@denx.de>
Date: Mon Mar 22 23:25:00 2010 +0100
Prepare v2010.03-rc2
Update CHANGELOG
Signed-off-by: Wolfgang Denk <wd@denx.de>
commit d650da2dd4af99967aabc43cccbd8f160eb4cea6
Author: Matthias Kaehlcke <matthias@kaehlcke.net>
Date: Tue Mar 9 22:13:33 2010 +0100
ep93xx timer: Fix resolution of get_ticks()
ep93xx timer: Make get_ticks() return a value in CONFIG_SYS_HZ resolution,
as announced by get_tbclk()
Signed-off-by: Matthias Kaehlcke <matthias@kaehlcke.net>
commit 7e67fb5bf27a07d3b8d6b97c76f7195f7d68af58
Author: Matthias Kaehlcke <matthias@kaehlcke.net>
Date: Tue Mar 9 22:13:20 2010 +0100
ep93xx timer: Fix possible overflow in usecs_to_ticks()
ep93xx timer: Use 64-bit values in usecs_to_ticks() in order to avoid
overflows in intermediate values
Signed-off-by: Matthias Kaehlcke <matthias@kaehlcke.net>
commit daa989b47297c9f73426783599c286ef3a1f3f49
Author: Asen Dimov <dimov@ronetix.at>
Date: Thu Mar 18 13:41:47 2010 +0200
correct a syntax typo in at91_matrix.h
Signed-off-by: Asen Dimov <dimov@ronetix.at>
commit 322ff395c9aec7b87a2211fe4333fdf44377c564
Author: Jeff Angielski <jeff@theptrgroup.com>
Date: Wed Mar 17 15:09:26 2010 -0400
env: fix endian ordering in crc table
The crc table was being built as little endian for big endian
targets. This would cause fw_printenv to always fail with
"Warning: Bad CRC, using default environment" messages.
Signed-off-by: Jeff Angielski <jeff@theptrgroup.com>
Acked-by: Joakim Tjernlund <Joakim.Tjernlund@transmode.se>
commit 51c2ac9bb574c1420b993615268392b0c1f829f6
Author: Anatolij Gustschin <agust@denx.de>
Date: Tue Mar 16 17:10:08 2010 +0100
mpc5121: cpu/mpc512x/diu.c: fix warnings
Fix warnings while compiling with CONFIG_VIDEO enabled:
diu.c: In function 'video_hw_init':
diu.c:158: warning: 'return' with no value, in function returning non-void
diu.c:162: warning: format '%ld' expects type 'long int', but argument 6 has type 'int'
diu.c:162: warning: format '%ld' expects type 'long int', but argument 7 has type 'int'
Signed-off-by: Anatolij Gustschin <agust@denx.de>
commit a74908161a1b37d780d3a826a86807bbc50a3857
Author: Anatolij Gustschin <agust@denx.de>
Date: Tue Mar 16 15:29:33 2010 +0100
console.c: fix problem with splashimage
If a board uses cfb_console driver and splash image
and also defines CONFIG_SILENT_CONSOLE, the user is
locked out even if "silent" is not set. It is not
possible to get any output, neither on vga console
device nor on serial console after redirecting the
output to the serial console, since the GD_FLG_SILENT
flag remains set.
Fix the problem by redirecting the output from frame
buffer to serial console if splashimage is used.
Only suppress the output if "silent" environment
variable was set and don't set the GD_FLG_SILENT
flag arbitrarily.
Signed-off-by: Anatolij Gustschin <agust@denx.de>
commit 5647f78d04174b0b99857d2a7cbf25141bd14a45
Author: Thomas Weber <swirl@gmx.li>
Date: Sat Mar 13 23:14:45 2010 +0100
mod change 755 => 644 for multiple files
I executed 'find . -name "*.[chS]" -perm 755 -exec chmod 644 {} \;'
Signed-off-by: Thomas Weber <swirl@gmx.li>
Add some more: neither Makefile nor config.mk need execute permissions.
Signed-off-by: Wolfgang Denk <wd@denx.de>
commit 99c006a320ceb9ea19135ac1512e4a81e8bebb72
Author: Stefano Babic <sbabic@denx.de>
Date: Sat Mar 13 21:09:00 2010 +0100
mxcmmc: fix warnings due to access 32 bit registers with 16 bit accessors
Some registers of the mxcmmc driver were accessed using
16 bit accessor functions, because only the LSB is
significant. This is not needed and generates
warnings.
Signed-off-by: Stefano Babic <sbabic@denx.de>
commit c96f86eefc215b67dd222694ce2b6f60e6a42b0b
Author: Wolfgang Denk <wd@denx.de>
Date: Sun Jan 17 23:55:53 2010 +0100
TFTP: allow for adjustable retransmission timout
So far, TFTP negotiated a fixed retransmission timeout of 5 seconds.
In some cases (busy networks, slow TFTP servers) this caused very
slow transfers. A new environment variable "tftptimeout" allows to
set this timeout. Lowering this value may make downloads succeed
faster in networks with high packet loss rates or with unreliable
TFTP servers.
Signed-off-by: Wolfgang Denk <wd@denx.de>
Cc: Ben Warren <biggerbadderben@gmail.com>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
commit 252b404d954f91499a4477a3e1064eb237ce5a1c
Author: Wolfgang Denk <wd@denx.de>
Date: Tue Mar 9 14:27:25 2010 +0100
Fix PCI_BASE_ADDRESS_5 handling in pci_hose_config_device()
Signed-off-by: FUJITA Kazutoshi <fujita@soum.co.jp>
Signed-off-by: <wd@denx.de>
Acked-by: Stefan Roese <sr@denx.de>
commit 9d90a93d367272ee65550c0c9f82615cec967c70
Author: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
Date: Thu Feb 25 14:03:08 2010 +0100
cmd_mmc remove \n
This patch removes the \n after the help message for mmcinfo.
This resulted in an empty line being displayed after the mmcinfo line
when the help command was given.
Signed-off-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
commit 67c7189dd35cb368ef665126fd17816581bd2e92
Author: Renato Andreola <renato.andreola@imagos.it>
Date: Tue Mar 16 16:01:29 2010 -0400
nios2: Added support to YANU UART
Signed-off-by: Scott McNutt <smcnutt@psyent.com>
commit 1e67fb32fbdae7949bb423c9e20b3f77c0a61663
Author: Thomas Chou <thomas@wytron.com.tw>
Date: Tue Mar 16 12:12:48 2010 -0400
nios2: use generic unaligned.h
Signed-off-by: Scott McNutt <smcnutt@psyent.com>
commit 05022629a2ca6c385dc390d32c20aa27cf5d915a
Author: Mike Frysinger <vapier@gentoo.org>
Date: Thu Jan 21 05:01:15 2010 -0500
asm-blackfin/unaligned.h: add for zlib code
The new zlib code wants asm/unaligned.h, so have the Blackfin version pull
in the asm-generic/unaligned.h.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
commit 3adc1fda38a6aacd4aaf3c2c9cc62a1e69e6de17
Author: Mike Frysinger <vapier@gentoo.org>
Date: Thu Jan 21 05:01:14 2010 -0500
asm-generic/unaligned.h: dynamic default unaligned accesses
This is based on the asm-arm/unaligned.h, but made generic so all arches
that cannot do unaligned accesses can utilize it.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
commit be129aa71882421ad0b50cd3762915d10ace27ad
Author: Matthias Weisser <matthias.weisser@graf-syteco.de>
Date: Tue Jan 12 12:06:31 2010 +0100
video: Fix console display when splashscreen is used
If a splashscreen is used the console scrolling used the
scroll size as needed when a logo was displayed. This
patch sets the scroll size to the whole screen if
a splashscreen is shown.
Signed-off-by: Matthias Weisser <matthias.weisser@graf-syteco.de>
commit 93910edb595a88d394da3eb2cf5148096155dfe9
Author: Wolfgang Denk <wd@denx.de>
Date: Fri Mar 12 23:06:04 2010 +0100
Prepare v2010.03-rc1
Coding style cleanup, update CHANGELOG.
Signed-off-by: Wolfgang Denk <wd@denx.de>
commit 4e72fb15c9073129e05820cc9c54f54bc4985835 commit 4e72fb15c9073129e05820cc9c54f54bc4985835
Author: Wolfgang Denk <wd@denx.de> Author: Wolfgang Denk <wd@denx.de>
Date: Fri Mar 12 22:11:00 2010 +0100 Date: Fri Mar 12 22:11:00 2010 +0100

View file

@ -437,7 +437,7 @@ D: FADS823 configuration, MPC823 video support, I2C, wireless keyboard, lots mor
N: Andre Schwarz N: Andre Schwarz
E: andre.schwarz@matrix-vision.de E: andre.schwarz@matrix-vision.de
D: Support for Matrix Vision boards (MVBLM7/MVBC_P) D: Support for Matrix Vision boards (MVBLM7/MVBC_P/MVSMR)
N: Robert Schwebel N: Robert Schwebel
E: r.schwebel@pengutronix.de E: r.schwebel@pengutronix.de
@ -511,6 +511,11 @@ N: Martin Winistoerfer
E: martinwinistoerfer@gmx.ch E: martinwinistoerfer@gmx.ch
D: Port to MPC555/556 microcontrollers and support for cmi board D: Port to MPC555/556 microcontrollers and support for cmi board
N: David Wu
E: support@arcturusnetworks.com
D: Mercury Security EP2500
W: http://www.arcturusnetworks.com
N: Ming-Len Wu N: Ming-Len Wu
E: minglen_wu@techware.com.tw E: minglen_wu@techware.com.tw
D: Motorola MX1ADS board support D: Motorola MX1ADS board support

View file

@ -80,7 +80,6 @@ Torsten Demke <torsten.demke@fci.com>
Wolfgang Denk <wd@denx.de> Wolfgang Denk <wd@denx.de>
IceCube_5100 MGT5100
IceCube_5200 MPC5200 IceCube_5200 MPC5200
ARIA MPC5121e ARIA MPC5121e
@ -423,6 +422,7 @@ Andre Schwarz <andre.schwarz@matrix-vision.de>
mvbc_p MPC5200 mvbc_p MPC5200
mvblm7 MPC8343 mvblm7 MPC8343
mvsmr MPC5200
Jon Smirl <jonsmirl@gmail.com> Jon Smirl <jonsmirl@gmail.com>
@ -734,6 +734,10 @@ Jens Scharsig <esw@bus-elektronik.de>
eb_cpux9k2 ARM920T (AT91RM9200 SoC) eb_cpux9k2 ARM920T (AT91RM9200 SoC)
Heiko Schocher <hs@denx.de>
magnesium i.MX27
Robert Schwebel <r.schwebel@pengutronix.de> Robert Schwebel <r.schwebel@pengutronix.de>
csb226 xscale csb226 xscale
@ -897,6 +901,10 @@ TsiChung Liew <Tsi-Chung.Liew@freescale.com>
M5475EVB mcf547x_8x M5475EVB mcf547x_8x
M5485EVB mcf547x_8x M5485EVB mcf547x_8x
Wolfgang Wegner <w.wegner@astro-kom.de>
astro_mcf5373l MCF5373L
######################################################################### #########################################################################
# AVR32 Systems: # # AVR32 Systems: #
# # # #
@ -1012,6 +1020,10 @@ Anton Shurpin <shurpin.aa@niistt.ru>
BF561-ACVILON BF561 BF561-ACVILON BF561
Brent Kandetzki <brentk@teleco.com>
IP04 BF532
######################################################################### #########################################################################
# End of MAINTAINERS list # # End of MAINTAINERS list #
######################################################################### #########################################################################

View file

@ -61,7 +61,6 @@ LIST_5xxx=" \
EVAL5200 \ EVAL5200 \
fo300 \ fo300 \
galaxy5200 \ galaxy5200 \
icecube_5100 \
icecube_5200 \ icecube_5200 \
inka4x0 \ inka4x0 \
ipek01 \ ipek01 \
@ -71,12 +70,12 @@ LIST_5xxx=" \
motionpro \ motionpro \
munices \ munices \
MVBC_P \ MVBC_P \
MVSMR \
o2dnt \ o2dnt \
pcm030 \ pcm030 \
pf5200 \ pf5200 \
PM520 \ PM520 \
TB5200 \ TB5200 \
Total5100 \
Total5200 \ Total5200 \
Total5200_Rev2 \ Total5200_Rev2 \
TQM5200 \ TQM5200 \
@ -238,7 +237,6 @@ LIST_4xx=" \
MIP405 \ MIP405 \
MIP405T \ MIP405T \
ML2 \ ML2 \
ml300 \
ml507 \ ml507 \
ml507_flash \ ml507_flash \
neo \ neo \
@ -564,6 +562,7 @@ LIST_ARM9=" \
edb9315a \ edb9315a \
imx27lite \ imx27lite \
lpd7a400 \ lpd7a400 \
magnesium \
mv88f6281gtw_ge \ mv88f6281gtw_ge \
mx1ads \ mx1ads \
mx1fs2 \ mx1fs2 \
@ -841,6 +840,7 @@ LIST_microblaze=" \
######################################################################### #########################################################################
LIST_coldfire=" \ LIST_coldfire=" \
astro_mcf5373l \
cobra5272 \ cobra5272 \
EB+MCF-EV123 \ EB+MCF-EV123 \
EB+MCF-EV123_internal \ EB+MCF-EV123_internal \
@ -907,6 +907,7 @@ LIST_blackfin=" \
cm-bf548 \ cm-bf548 \
cm-bf561 \ cm-bf561 \
ibf-dsp561 \ ibf-dsp561 \
ip04 \
tcm-bf518 \ tcm-bf518 \
tcm-bf537 \ tcm-bf537 \
" "

View file

@ -1,5 +1,5 @@
# #
# (C) Copyright 2000-2009 # (C) Copyright 2000-2010
# Wolfgang Denk, DENX Software Engineering, wd@denx.de. # Wolfgang Denk, DENX Software Engineering, wd@denx.de.
# #
# See file CREDITS for list of people who contributed to this # See file CREDITS for list of people who contributed to this
@ -24,7 +24,7 @@
VERSION = 2010 VERSION = 2010
PATCHLEVEL = 03 PATCHLEVEL = 03
SUBLEVEL = SUBLEVEL =
EXTRAVERSION = -rc1 EXTRAVERSION =
ifneq "$(SUBLEVEL)" "" ifneq "$(SUBLEVEL)" ""
U_BOOT_VERSION = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) U_BOOT_VERSION = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
else else
@ -169,33 +169,33 @@ include $(TOPDIR)/config.mk
######################################################################### #########################################################################
# U-Boot objects....order is important (i.e. start must be first) # U-Boot objects....order is important (i.e. start must be first)
OBJS = cpu/$(CPU)/start.o OBJS = $(CPUDIR)/start.o
ifeq ($(CPU),i386) ifeq ($(CPU),i386)
OBJS += cpu/$(CPU)/start16.o OBJS += $(CPUDIR)/start16.o
OBJS += cpu/$(CPU)/resetvec.o OBJS += $(CPUDIR)/resetvec.o
endif endif
ifeq ($(CPU),ppc4xx) ifeq ($(CPU),ppc4xx)
OBJS += cpu/$(CPU)/resetvec.o OBJS += $(CPUDIR)/resetvec.o
endif endif
ifeq ($(CPU),mpc85xx) ifeq ($(CPU),mpc85xx)
OBJS += cpu/$(CPU)/resetvec.o OBJS += $(CPUDIR)/resetvec.o
endif endif
OBJS := $(addprefix $(obj),$(OBJS)) OBJS := $(addprefix $(obj),$(OBJS))
LIBS = lib_generic/libgeneric.a LIBS = lib/libgeneric.a
LIBS += lib_generic/lzma/liblzma.a LIBS += lib/lzma/liblzma.a
LIBS += lib_generic/lzo/liblzo.a LIBS += lib/lzo/liblzo.a
LIBS += $(shell if [ -f board/$(VENDOR)/common/Makefile ]; then echo \ LIBS += $(shell if [ -f board/$(VENDOR)/common/Makefile ]; then echo \
"board/$(VENDOR)/common/lib$(VENDOR).a"; fi) "board/$(VENDOR)/common/lib$(VENDOR).a"; fi)
LIBS += cpu/$(CPU)/lib$(CPU).a LIBS += $(CPUDIR)/lib$(CPU).a
ifdef SOC ifdef SOC
LIBS += cpu/$(CPU)/$(SOC)/lib$(SOC).a LIBS += $(CPUDIR)/$(SOC)/lib$(SOC).a
endif endif
ifeq ($(CPU),ixp) ifeq ($(CPU),ixp)
LIBS += cpu/ixp/npe/libnpe.a LIBS += arch/arm/cpu/ixp/npe/libnpe.a
endif endif
LIBS += lib_$(ARCH)/lib$(ARCH).a LIBS += arch/$(ARCH)/lib/lib$(ARCH).a
LIBS += fs/cramfs/libcramfs.a fs/fat/libfat.a fs/fdos/libfdos.a fs/jffs2/libjffs2.a \ LIBS += fs/cramfs/libcramfs.a fs/fat/libfat.a fs/fdos/libfdos.a fs/jffs2/libjffs2.a \
fs/reiserfs/libreiserfs.a fs/ext2/libext2fs.a fs/yaffs2/libyaffs2.a \ fs/reiserfs/libreiserfs.a fs/ext2/libext2fs.a fs/yaffs2/libyaffs2.a \
fs/ubifs/libubifs.a fs/ubifs/libubifs.a
@ -227,12 +227,12 @@ LIBS += drivers/qe/qe.a
endif endif
ifeq ($(CPU),mpc85xx) ifeq ($(CPU),mpc85xx)
LIBS += drivers/qe/qe.a LIBS += drivers/qe/qe.a
LIBS += cpu/mpc8xxx/ddr/libddr.a LIBS += arch/ppc/cpu/mpc8xxx/ddr/libddr.a
LIBS += cpu/mpc8xxx/lib8xxx.a LIBS += arch/ppc/cpu/mpc8xxx/lib8xxx.a
endif endif
ifeq ($(CPU),mpc86xx) ifeq ($(CPU),mpc86xx)
LIBS += cpu/mpc8xxx/ddr/libddr.a LIBS += arch/ppc/cpu/mpc8xxx/ddr/libddr.a
LIBS += cpu/mpc8xxx/lib8xxx.a LIBS += arch/ppc/cpu/mpc8xxx/lib8xxx.a
endif endif
LIBS += drivers/rtc/librtc.a LIBS += drivers/rtc/librtc.a
LIBS += drivers/serial/libserial.a LIBS += drivers/serial/libserial.a
@ -244,7 +244,7 @@ LIBS += drivers/usb/phy/libusb_phy.a
LIBS += drivers/video/libvideo.a LIBS += drivers/video/libvideo.a
LIBS += drivers/watchdog/libwatchdog.a LIBS += drivers/watchdog/libwatchdog.a
LIBS += common/libcommon.a LIBS += common/libcommon.a
LIBS += libfdt/libfdt.a LIBS += lib/libfdt/libfdt.a
LIBS += api/libapi.a LIBS += api/libapi.a
LIBS += post/libpost.a LIBS += post/libpost.a
@ -257,7 +257,7 @@ LIBBOARD := $(addprefix $(obj),$(LIBBOARD))
# Add GCC lib # Add GCC lib
ifdef USE_PRIVATE_LIBGCC ifdef USE_PRIVATE_LIBGCC
ifeq ("$(USE_PRIVATE_LIBGCC)", "yes") ifeq ("$(USE_PRIVATE_LIBGCC)", "yes")
PLATFORM_LIBGCC = -L $(OBJTREE)/lib_$(ARCH) -lgcc PLATFORM_LIBGCC = -L $(OBJTREE)/arch/$(ARCH)/lib -lgcc
else else
PLATFORM_LIBGCC = -L $(USE_PRIVATE_LIBGCC) -lgcc PLATFORM_LIBGCC = -L $(USE_PRIVATE_LIBGCC) -lgcc
endif endif
@ -354,7 +354,7 @@ ifeq ($(CONFIG_KALLSYMS),y)
endif endif
$(OBJS): depend $(OBJS): depend
$(MAKE) -C cpu/$(CPU) $(if $(REMOTE_BUILD),$@,$(notdir $@)) $(MAKE) -C $(CPUDIR) $(if $(REMOTE_BUILD),$@,$(notdir $@))
$(LIBS): depend $(SUBDIRS) $(LIBS): depend $(SUBDIRS)
$(MAKE) -C $(dir $(subst $(obj),,$@)) $(MAKE) -C $(dir $(subst $(obj),,$@))
@ -404,7 +404,7 @@ env:
# Explicitly make _depend in subdirs containing multiple targets to prevent # Explicitly make _depend in subdirs containing multiple targets to prevent
# parallel sub-makes creating .depend files simultaneously. # parallel sub-makes creating .depend files simultaneously.
depend dep: $(TIMESTAMP_FILE) $(VERSION_FILE) $(obj)include/autoconf.mk depend dep: $(TIMESTAMP_FILE) $(VERSION_FILE) $(obj)include/autoconf.mk
for dir in $(SUBDIRS) cpu/$(CPU) $(dir $(LDSCRIPT)) ; do \ for dir in $(SUBDIRS) $(CPUDIR) $(dir $(LDSCRIPT)) ; do \
$(MAKE) -C $$dir _depend ; done $(MAKE) -C $$dir _depend ; done
TAG_SUBDIRS = $(SUBDIRS) TAG_SUBDIRS = $(SUBDIRS)
@ -548,8 +548,7 @@ icecube_5200_LOWBOOT_config \
icecube_5200_LOWBOOT08_config \ icecube_5200_LOWBOOT08_config \
icecube_5200_DDR_config \ icecube_5200_DDR_config \
icecube_5200_DDR_LOWBOOT_config \ icecube_5200_DDR_LOWBOOT_config \
icecube_5200_DDR_LOWBOOT08_config \ icecube_5200_DDR_LOWBOOT08_config: unconfig
icecube_5100_config: unconfig
@mkdir -p $(obj)include @mkdir -p $(obj)include
@mkdir -p $(obj)board/icecube @mkdir -p $(obj)board/icecube
@[ -z "$(findstring LOWBOOT_,$@)" ] || \ @[ -z "$(findstring LOWBOOT_,$@)" ] || \
@ -568,14 +567,6 @@ icecube_5100_config: unconfig
{ echo "#define CONFIG_MPC5200_DDR" >>$(obj)include/config.h ; \ { echo "#define CONFIG_MPC5200_DDR" >>$(obj)include/config.h ; \
$(XECHO) "... DDR memory revision" ; \ $(XECHO) "... DDR memory revision" ; \
} }
@[ -z "$(findstring 5200,$@)" ] || \
{ echo "#define CONFIG_MPC5200" >>$(obj)include/config.h ; \
$(XECHO) "... with MPC5200 processor" ; \
}
@[ -z "$(findstring 5100,$@)" ] || \
{ echo "#define CONFIG_MGT5100" >>$(obj)include/config.h ; \
$(XECHO) "... with MGT5100 processor" ; \
}
@$(MKCONFIG) -a IceCube ppc mpc5xxx icecube @$(MKCONFIG) -a IceCube ppc mpc5xxx icecube
jupiter_config: unconfig jupiter_config: unconfig
@ -594,7 +585,6 @@ lite5200b_LOWBOOT_config: unconfig
@mkdir -p $(obj)board/icecube @mkdir -p $(obj)board/icecube
@ echo "#define CONFIG_MPC5200_DDR" >>$(obj)include/config.h @ echo "#define CONFIG_MPC5200_DDR" >>$(obj)include/config.h
@ $(XECHO) "... DDR memory revision" @ $(XECHO) "... DDR memory revision"
@ echo "#define CONFIG_MPC5200" >>$(obj)include/config.h
@ echo "#define CONFIG_LITE5200B" >>$(obj)include/config.h @ echo "#define CONFIG_LITE5200B" >>$(obj)include/config.h
@[ -z "$(findstring _PM_,$@)" ] || \ @[ -z "$(findstring _PM_,$@)" ] || \
{ echo "#define CONFIG_LITE5200B_PM" >>$(obj)include/config.h ; \ { echo "#define CONFIG_LITE5200B_PM" >>$(obj)include/config.h ; \
@ -604,7 +594,6 @@ lite5200b_LOWBOOT_config: unconfig
{ echo "TEXT_BASE = 0xFF000000" >$(obj)board/icecube/config.tmp ; \ { echo "TEXT_BASE = 0xFF000000" >$(obj)board/icecube/config.tmp ; \
$(XECHO) "... with LOWBOOT configuration" ; \ $(XECHO) "... with LOWBOOT configuration" ; \
} }
@ $(XECHO) "... with MPC5200B processor"
@$(MKCONFIG) -a IceCube ppc mpc5xxx icecube @$(MKCONFIG) -a IceCube ppc mpc5xxx icecube
mcc200_config \ mcc200_config \
@ -675,6 +664,11 @@ MVBC_P_config: unconfig
{ echo "#define CONFIG_MVBC_P" >>$(obj)include/config.h; } { echo "#define CONFIG_MVBC_P" >>$(obj)include/config.h; }
@$(MKCONFIG) -n $@ -a MVBC_P ppc mpc5xxx mvbc_p matrix_vision @$(MKCONFIG) -n $@ -a MVBC_P ppc mpc5xxx mvbc_p matrix_vision
MVSMR_config: unconfig
@mkdir -p $(obj)include
@mkdir -p $(obj)board/matrix_vision/mvsmr
@$(MKCONFIG) $(@:_config=) ppc mpc5xxx mvsmr matrix_vision
o2dnt_config: unconfig o2dnt_config: unconfig
@$(MKCONFIG) o2dnt ppc mpc5xxx o2dnt @$(MKCONFIG) o2dnt ppc mpc5xxx o2dnt
@ -728,21 +722,12 @@ TOP5200_config: unconfig
@ echo "#define CONFIG_$(@:_config=) 1" >$(obj)include/config.h @ echo "#define CONFIG_$(@:_config=) 1" >$(obj)include/config.h
@$(MKCONFIG) -n $@ -a TOP5200 ppc mpc5xxx top5200 emk @$(MKCONFIG) -n $@ -a TOP5200 ppc mpc5xxx top5200 emk
Total5100_config \
Total5200_config \ Total5200_config \
Total5200_lowboot_config \ Total5200_lowboot_config \
Total5200_Rev2_config \ Total5200_Rev2_config \
Total5200_Rev2_lowboot_config: unconfig Total5200_Rev2_lowboot_config: unconfig
@mkdir -p $(obj)include @mkdir -p $(obj)include
@mkdir -p $(obj)board/total5200 @mkdir -p $(obj)board/total5200
@[ -z "$(findstring 5100,$@)" ] || \
{ echo "#define CONFIG_MGT5100" >>$(obj)include/config.h ; \
$(XECHO) "... with MGT5100 processor" ; \
}
@[ -z "$(findstring 5200,$@)" ] || \
{ echo "#define CONFIG_MPC5200" >>$(obj)include/config.h ; \
$(XECHO) "... with MPC5200 processor" ; \
}
@[ -n "$(findstring Rev,$@)" ] || \ @[ -n "$(findstring Rev,$@)" ] || \
{ echo "#define CONFIG_TOTAL5200_REV 1" >>$(obj)include/config.h ; \ { echo "#define CONFIG_TOTAL5200_REV 1" >>$(obj)include/config.h ; \
$(XECHO) "... revision 1 board" ; \ $(XECHO) "... revision 1 board" ; \
@ -1435,9 +1420,6 @@ MIP405T_config: unconfig
ML2_config: unconfig ML2_config: unconfig
@$(MKCONFIG) $(@:_config=) ppc ppc4xx ml2 @$(MKCONFIG) $(@:_config=) ppc ppc4xx ml2
ml300_config: unconfig
@$(MKCONFIG) $(@:_config=) ppc ppc4xx ml300 xilinx
ml507_flash_config: unconfig ml507_flash_config: unconfig
@mkdir -p $(obj)include $(obj)board/xilinx/ppc440-generic @mkdir -p $(obj)include $(obj)board/xilinx/ppc440-generic
@mkdir -p $(obj)include $(obj)board/xilinx/ml507 @mkdir -p $(obj)include $(obj)board/xilinx/ml507
@ -1996,6 +1978,10 @@ ZPC1900_config: unconfig
## Coldfire ## Coldfire
######################################################################### #########################################################################
astro_mcf5373l_config \
astro_mcf5373l_RAM_config : unconfig
@$(MKCONFIG) -t $(@:_config=) astro_mcf5373l m68k mcf532x mcf5373l astro
M5208EVBE_config : unconfig M5208EVBE_config : unconfig
@$(MKCONFIG) $(@:_config=) m68k mcf52x2 m5208evbe freescale @$(MKCONFIG) $(@:_config=) m68k mcf52x2 m5208evbe freescale
@ -2064,6 +2050,9 @@ EB+MCF-EV123_internal_config : unconfig
@echo "TEXT_BASE = 0xF0000000"|tee $(obj)board/BuS/EB+MCF-EV123/textbase.mk @echo "TEXT_BASE = 0xF0000000"|tee $(obj)board/BuS/EB+MCF-EV123/textbase.mk
@$(MKCONFIG) EB+MCF-EV123 m68k mcf52x2 EB+MCF-EV123 BuS @$(MKCONFIG) EB+MCF-EV123 m68k mcf52x2 EB+MCF-EV123 BuS
EP2500_config: unconfig
@$(MKCONFIG) $(@:_config=) m68k mcf52x2 ep2500 Mercury
idmr_config : unconfig idmr_config : unconfig
@$(MKCONFIG) $(@:_config=) m68k mcf52x2 idmr @$(MKCONFIG) $(@:_config=) m68k mcf52x2 idmr
@ -2952,6 +2941,7 @@ davinci_dm365evm_config : unconfig
davinci_dm6467evm_config : unconfig davinci_dm6467evm_config : unconfig
@$(MKCONFIG) $(@:_config=) arm arm926ejs dm6467evm davinci davinci @$(MKCONFIG) $(@:_config=) arm arm926ejs dm6467evm davinci davinci
magnesium_config \
imx27lite_config: unconfig imx27lite_config: unconfig
@$(MKCONFIG) $(@:_config=) arm arm926ejs imx27lite logicpd mx27 @$(MKCONFIG) $(@:_config=) arm arm926ejs imx27lite logicpd mx27
@ -3570,7 +3560,7 @@ BFIN_BOARDS += cm-bf527 cm-bf533 cm-bf537e cm-bf537u cm-bf548 cm-bf561 \
tcm-bf518 tcm-bf537 tcm-bf518 tcm-bf537
# Misc third party boards # Misc third party boards
BFIN_BOARDS += bf537-minotaur bf537-srv1 bf561-acvilon blackstamp BFIN_BOARDS += bf537-minotaur bf537-srv1 bf561-acvilon blackstamp ip04
# I-SYST Micromodule # I-SYST Micromodule
BFIN_BOARDS += ibf-dsp561 BFIN_BOARDS += ibf-dsp561
@ -3754,9 +3744,9 @@ clean:
$(obj)board/netstar/{eeprom,crcek,crcit,*.srec,*.bin} \ $(obj)board/netstar/{eeprom,crcek,crcit,*.srec,*.bin} \
$(obj)board/trab/trab_fkt $(obj)board/voiceblue/eeprom \ $(obj)board/trab/trab_fkt $(obj)board/voiceblue/eeprom \
$(obj)board/armltd/{integratorap,integratorcp}/u-boot.lds \ $(obj)board/armltd/{integratorap,integratorcp}/u-boot.lds \
$(obj)lib_blackfin/u-boot.lds \ $(obj)arch/blackfin/lib/u-boot.lds \
$(obj)u-boot.lds \ $(obj)u-boot.lds \
$(obj)cpu/blackfin/bootrom-asm-offsets.[chs] $(obj)arch/blackfin/cpu/bootrom-asm-offsets.[chs]
@rm -f $(obj)include/bmp_logo.h @rm -f $(obj)include/bmp_logo.h
@rm -f $(obj)nand_spl/{u-boot.lds,u-boot-spl,u-boot-spl.map,System.map} @rm -f $(obj)nand_spl/{u-boot.lds,u-boot-spl,u-boot-spl.map,System.map}
@rm -f $(obj)onenand_ipl/onenand-{ipl,ipl.bin,ipl.map} @rm -f $(obj)onenand_ipl/onenand-{ipl,ipl.bin,ipl.map}
@ -3779,7 +3769,7 @@ clobber: clean
@rm -f $(obj)u-boot.kwb @rm -f $(obj)u-boot.kwb
@rm -f $(obj)u-boot.imx @rm -f $(obj)u-boot.imx
@rm -f $(obj)tools/{env/crc32.c,inca-swap-bytes} @rm -f $(obj)tools/{env/crc32.c,inca-swap-bytes}
@rm -f $(obj)cpu/mpc824x/bedbug_603e.c @rm -f $(obj)arch/ppc/cpu/mpc824x/bedbug_603e.c
@rm -f $(obj)include/asm/proc $(obj)include/asm/arch $(obj)include/asm @rm -f $(obj)include/asm/proc $(obj)include/asm/arch $(obj)include/asm
@[ ! -d $(obj)nand_spl ] || find $(obj)nand_spl -name "*" -type l -print | xargs rm -f @[ ! -d $(obj)nand_spl ] || find $(obj)nand_spl -name "*" -type l -print | xargs rm -f
@[ ! -d $(obj)onenand_ipl ] || find $(obj)onenand_ipl -name "*" -type l -print | xargs rm -f @[ ! -d $(obj)onenand_ipl ] || find $(obj)onenand_ipl -name "*" -type l -print | xargs rm -f

168
README
View file

@ -138,68 +138,91 @@ U-Boot will always have a patchlevel of "0".
Directory Hierarchy: Directory Hierarchy:
==================== ====================
- api Machine/arch independent API for external apps /arch Architecture specific files
- board Board dependent files /arm Files generic to ARM architecture
- common Misc architecture independent functions /cpu CPU specific files
- cpu CPU specific files /arm720t Files specific to ARM 720 CPUs
- 74xx_7xx Files specific to Freescale MPC74xx and 7xx CPUs /arm920t Files specific to ARM 920 CPUs
- arm720t Files specific to ARM 720 CPUs /at91rm9200 Files specific to Atmel AT91RM9200 CPU
- arm920t Files specific to ARM 920 CPUs /imx Files specific to Freescale MC9328 i.MX CPUs
- at91rm9200 Files specific to Atmel AT91RM9200 CPU /s3c24x0 Files specific to Samsung S3C24X0 CPUs
- imx Files specific to Freescale MC9328 i.MX CPUs /arm925t Files specific to ARM 925 CPUs
- s3c24x0 Files specific to Samsung S3C24X0 CPUs /arm926ejs Files specific to ARM 926 CPUs
- arm925t Files specific to ARM 925 CPUs /arm1136 Files specific to ARM 1136 CPUs
- arm926ejs Files specific to ARM 926 CPUs /ixp Files specific to Intel XScale IXP CPUs
- arm1136 Files specific to ARM 1136 CPUs /pxa Files specific to Intel XScale PXA CPUs
- at32ap Files specific to Atmel AVR32 AP CPUs /s3c44b0 Files specific to Samsung S3C44B0 CPUs
- blackfin Files specific to Analog Devices Blackfin CPUs /sa1100 Files specific to Intel StrongARM SA1100 CPUs
- i386 Files specific to i386 CPUs /lib Architecture specific library files
- ixp Files specific to Intel XScale IXP CPUs /avr32 Files generic to AVR32 architecture
- leon2 Files specific to Gaisler LEON2 SPARC CPU /cpu CPU specific files
- leon3 Files specific to Gaisler LEON3 SPARC CPU /lib Architecture specific library files
- mcf52x2 Files specific to Freescale ColdFire MCF52x2 CPUs /blackfin Files generic to Analog Devices Blackfin architecture
- mcf5227x Files specific to Freescale ColdFire MCF5227x CPUs /cpu CPU specific files
- mcf532x Files specific to Freescale ColdFire MCF5329 CPUs /lib Architecture specific library files
- mcf5445x Files specific to Freescale ColdFire MCF5445x CPUs /i386 Files generic to i386 architecture
- mcf547x_8x Files specific to Freescale ColdFire MCF547x_8x CPUs /cpu CPU specific files
- mips Files specific to MIPS CPUs /lib Architecture specific library files
- mpc5xx Files specific to Freescale MPC5xx CPUs /m68k Files generic to m68k architecture
- mpc5xxx Files specific to Freescale MPC5xxx CPUs /cpu CPU specific files
- mpc8xx Files specific to Freescale MPC8xx CPUs /mcf52x2 Files specific to Freescale ColdFire MCF52x2 CPUs
- mpc8220 Files specific to Freescale MPC8220 CPUs /mcf5227x Files specific to Freescale ColdFire MCF5227x CPUs
- mpc824x Files specific to Freescale MPC824x CPUs /mcf532x Files specific to Freescale ColdFire MCF5329 CPUs
- mpc8260 Files specific to Freescale MPC8260 CPUs /mcf5445x Files specific to Freescale ColdFire MCF5445x CPUs
- mpc85xx Files specific to Freescale MPC85xx CPUs /mcf547x_8x Files specific to Freescale ColdFire MCF547x_8x CPUs
- nios Files specific to Altera NIOS CPUs /lib Architecture specific library files
- nios2 Files specific to Altera Nios-II CPUs /microblaze Files generic to microblaze architecture
- ppc4xx Files specific to AMCC PowerPC 4xx CPUs /cpu CPU specific files
- pxa Files specific to Intel XScale PXA CPUs /lib Architecture specific library files
- s3c44b0 Files specific to Samsung S3C44B0 CPUs /mips Files generic to MIPS architecture
- sa1100 Files specific to Intel StrongARM SA1100 CPUs /cpu CPU specific files
- disk Code for disk drive partition handling /lib Architecture specific library files
- doc Documentation (don't expect too much) /nios Files generic to Altera NIOS architecture
- drivers Commonly used device drivers /cpu CPU specific files
- examples Example code for standalone applications, etc. /lib Architecture specific library files
- fs Filesystem code (cramfs, ext2, jffs2, etc.) /nios2 Files generic to Altera NIOS2 architecture
- include Header Files /cpu CPU specific files
- lib_arm Files generic to ARM architecture /lib Architecture specific library files
- lib_avr32 Files generic to AVR32 architecture /ppc Files generic to PowerPC architecture
- lib_blackfin Files generic to Blackfin architecture /cpu CPU specific files
- lib_generic Files generic to all architectures /74xx_7xx Files specific to Freescale MPC74xx and 7xx CPUs
- lib_i386 Files generic to i386 architecture /mpc5xx Files specific to Freescale MPC5xx CPUs
- lib_m68k Files generic to m68k architecture /mpc5xxx Files specific to Freescale MPC5xxx CPUs
- lib_microblaze Files generic to microblaze architecture /mpc8xx Files specific to Freescale MPC8xx CPUs
- lib_mips Files generic to MIPS architecture /mpc8220 Files specific to Freescale MPC8220 CPUs
- lib_nios Files generic to NIOS architecture /mpc824x Files specific to Freescale MPC824x CPUs
- lib_nios2 Files generic to NIOS2 architecture /mpc8260 Files specific to Freescale MPC8260 CPUs
- lib_ppc Files generic to PowerPC architecture /mpc85xx Files specific to Freescale MPC85xx CPUs
- lib_sh Files generic to SH architecture /ppc4xx Files specific to AMCC PowerPC 4xx CPUs
- lib_sparc Files generic to SPARC architecture /lib Architecture specific library files
- libfdt Library files to support flattened device trees /sh Files generic to SH architecture
- net Networking code /cpu CPU specific files
- post Power On Self Test /sh2 Files specific to sh2 CPUs
- rtc Real Time Clock drivers /sh3 Files specific to sh3 CPUs
- tools Tools to build S-Record or U-Boot images, etc. /sh4 Files specific to sh4 CPUs
/lib Architecture specific library files
/sparc Files generic to SPARC architecture
/cpu CPU specific files
/leon2 Files specific to Gaisler LEON2 SPARC CPU
/leon3 Files specific to Gaisler LEON3 SPARC CPU
/lib Architecture specific library files
/api Machine/arch independent API for external apps
/board Board dependent files
/common Misc architecture independent functions
/disk Code for disk drive partition handling
/doc Documentation (don't expect too much)
/drivers Commonly used device drivers
/examples Example code for standalone applications, etc.
/fs Filesystem code (cramfs, ext2, jffs2, etc.)
/include Header Files
/lib Files generic to all architectures
/libfdt Library files to support flattened device trees
/lzma Library files to support LZMA decompression
/lzo Library files to support LZO decompression
/net Networking code
/post Power On Self Test
/rtc Real Time Clock drivers
/tools Tools to build S-Record or U-Boot images, etc.
Software Configuration: Software Configuration:
======================= =======================
@ -1133,6 +1156,12 @@ The following options need to be configured:
images, gzipped BMP images can be displayed via the images, gzipped BMP images can be displayed via the
splashscreen support or the bmp command. splashscreen support or the bmp command.
- Run length encoded BMP image (RLE8) support: CONFIG_VIDEO_BMP_RLE8
If this option is set, 8-bit RLE compressed BMP images
can be displayed via the splashscreen support or the
bmp command.
- Compression support: - Compression support:
CONFIG_BZIP2 CONFIG_BZIP2
@ -1387,10 +1416,11 @@ The following options need to be configured:
to run and CONFIG_SYS_I2C_SLAVE to be the address of this node (ie to run and CONFIG_SYS_I2C_SLAVE to be the address of this node (ie
the CPU's i2c node address). the CPU's i2c node address).
Now, the u-boot i2c code for the mpc8xx (cpu/mpc8xx/i2c.c) Now, the u-boot i2c code for the mpc8xx
sets the CPU up as a master node and so its address should (arch/ppc/cpu/mpc8xx/i2c.c) sets the CPU up as a master node
therefore be cleared to 0 (See, eg, MPC823e User's Manual and so its address should therefore be cleared to 0 (See,
p.16-473). So, set CONFIG_SYS_I2C_SLAVE to 0. eg, MPC823e User's Manual p.16-473). So, set
CONFIG_SYS_I2C_SLAVE to 0.
CONFIG_SYS_I2C_INIT_MPC5XXX CONFIG_SYS_I2C_INIT_MPC5XXX
@ -1934,9 +1964,9 @@ Legacy uImage format:
13 common/image.c Start multifile image verification 13 common/image.c Start multifile image verification
14 common/image.c No initial ramdisk, no multifile, continue. 14 common/image.c No initial ramdisk, no multifile, continue.
15 lib_<arch>/bootm.c All preparation done, transferring control to OS 15 arch/<arch>/lib/bootm.c All preparation done, transferring control to OS
-30 lib_ppc/board.c Fatal error, hang the system -30 arch/ppc/lib/board.c Fatal error, hang the system
-31 post/post.c POST test failed, detected by post_output_backlog() -31 post/post.c POST test failed, detected by post_output_backlog()
-32 post/post.c POST test failed, detected by post_run_single() -32 post/post.c POST test failed, detected by post_run_single()
@ -2697,7 +2727,7 @@ Low Level (hardware related) configuration options:
CONFIG_SYS_PCI_MSTR_MEMIO_SIZE, CONFIG_SYS_POCMR1_MASK_ATTRIB, CONFIG_SYS_PCI_MSTR_IO_LOCAL, CONFIG_SYS_PCI_MSTR_MEMIO_SIZE, CONFIG_SYS_POCMR1_MASK_ATTRIB, CONFIG_SYS_PCI_MSTR_IO_LOCAL,
CONFIG_SYS_PCI_MSTR_IO_BUS, CONFIG_SYS_CPU_PCI_IO_START, CONFIG_SYS_PCI_MSTR_IO_SIZE, CONFIG_SYS_PCI_MSTR_IO_BUS, CONFIG_SYS_CPU_PCI_IO_START, CONFIG_SYS_PCI_MSTR_IO_SIZE,
CONFIG_SYS_POCMR2_MASK_ATTRIB: (MPC826x only) CONFIG_SYS_POCMR2_MASK_ATTRIB: (MPC826x only)
Overrides the default PCI memory map in cpu/mpc8260/pci.c if set. Overrides the default PCI memory map in arch/ppc/cpu/mpc8260/pci.c if set.
- CONFIG_PCI_DISABLE_PCIE: - CONFIG_PCI_DISABLE_PCIE:
Disable PCI-Express on systems where it is supported but not Disable PCI-Express on systems where it is supported but not

66
arch/arm/config.mk Normal file
View file

@ -0,0 +1,66 @@
#
# (C) Copyright 2000-2002
# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
#
# See file CREDITS for list of people who contributed to this
# project.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation; either version 2 of
# the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
# MA 02111-1307 USA
#
CROSS_COMPILE ?= arm-linux-
ifeq ($(BOARD),omap2420h4)
STANDALONE_LOAD_ADDR = 0x80300000
else
ifeq ($(SOC),omap3)
STANDALONE_LOAD_ADDR = 0x80300000
else
STANDALONE_LOAD_ADDR = 0xc100000
endif
endif
PLATFORM_CPPFLAGS += -DCONFIG_ARM -D__ARM__
# Explicitly specifiy 32-bit ARM ISA since toolchain default can be -mthumb:
PLATFORM_CPPFLAGS += $(call cc-option,-marm,)
# Try if EABI is supported, else fall back to old API,
# i. e. for example:
# - with ELDK 4.2 (EABI supported), use:
# -mabi=aapcs-linux -mno-thumb-interwork
# - with ELDK 4.1 (gcc 4.x, no EABI), use:
# -mabi=apcs-gnu -mno-thumb-interwork
# - with ELDK 3.1 (gcc 3.x), use:
# -mapcs-32 -mno-thumb-interwork
PLATFORM_CPPFLAGS += $(call cc-option,\
-mabi=aapcs-linux -mno-thumb-interwork,\
$(call cc-option,\
-mapcs-32,\
$(call cc-option,\
-mabi=apcs-gnu,\
)\
) $(call cc-option,-mno-thumb-interwork,)\
)
# For EABI, make sure to provide raise()
ifneq (,$(findstring -mabi=aapcs-linux,$(PLATFORM_CPPFLAGS)))
# This file is parsed several times; make sure to add only once.
ifeq (,$(findstring arch/arm/lib/eabi_compat.o,$(PLATFORM_LIBS)))
PLATFORM_LIBS += $(OBJTREE)/arch/arm/lib/eabi_compat.o
endif
endif
LDSCRIPT := $(SRCTREE)/$(CPUDIR)/u-boot.lds

View file

@ -0,0 +1,64 @@
/*
* (C) Copyright 2009
* Ilya Yanok, Emcraft Systems Ltd, <yanok@emcraft.com>
*
* Copyright (C) 2005-2007 Samsung Electronics
* Kyungin Park <kyugnmin.park@samsung.com>
*
* Copyright (c) 2004 Texas Instruments
*
* (C) Copyright 2002
* Gary Jennejohn, DENX Software Engineering, <garyj@denx.de>
*
* See file CREDITS for list of people who contributed to this
* project.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of
* the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*/
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
OUTPUT_ARCH(arm)
ENTRY(_start)
SECTIONS
{
. = 0x00000000;
. = ALIGN(4);
.text :
{
arch/arm/cpu/arm1136/start.o (.text)
*(.text)
}
. = ALIGN(4);
.rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
. = ALIGN(4);
.data : { *(.data) }
. = ALIGN(4);
.got : { *(.got) }
. = .;
__u_boot_cmd_start = .;
.u_boot_cmd : { *(.u_boot_cmd) }
__u_boot_cmd_end = .;
. = ALIGN(4);
__bss_start = .;
.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
_end = .;
}

View file

@ -0,0 +1,56 @@
/*
* (C) Copyright 2002-2004
* Gary Jennejohn, DENX Software Engineering, <garyj@denx.de>
*
* See file CREDITS for list of people who contributed to this
* project.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of
* the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*/
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
OUTPUT_ARCH(arm)
ENTRY(_start)
SECTIONS
{
. = 0x00000000;
. = ALIGN(4);
.text :
{
arch/arm/cpu/arm1176/start.o (.text)
*(.text)
}
. = ALIGN(4);
.rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
. = ALIGN(4);
.data : { *(.data) }
. = ALIGN(4);
.got : { *(.got) }
. = .;
__u_boot_cmd_start = .;
.u_boot_cmd : { *(.u_boot_cmd) }
__u_boot_cmd_end = .;
. = ALIGN(4);
__bss_start = .;
.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
_end = .;
}

View file

@ -0,0 +1,56 @@
/*
* (C) Copyright 2000-2004
* Wolfgang Denk, DENX Software Engineering, wd@denx.de.
*
* See file CREDITS for list of people who contributed to this
* project.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of
* the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*/
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
OUTPUT_ARCH(arm)
ENTRY(_start)
SECTIONS
{
. = 0x00000000;
. = ALIGN(4);
.text :
{
arch/arm/cpu/arm720t/start.o (.text)
*(.text)
}
. = ALIGN(4);
.rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
. = ALIGN(4);
.data : { *(.data) }
. = ALIGN(4);
.got : { *(.got) }
. = .;
__u_boot_cmd_start = .;
.u_boot_cmd : { *(.u_boot_cmd) }
__u_boot_cmd_end = .;
. = ALIGN(4);
__bss_start = .;
.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
_end = .;
}

View file

@ -0,0 +1,143 @@
/*
* Cirrus Logic EP93xx timer support.
*
* Copyright (C) 2009, 2010 Matthias Kaehlcke <matthias@kaehlcke.net>
*
* Copyright (C) 2004, 2005
* Cory T. Tusar, Videon Central, Inc., <ctusar@videon-central.com>
*
* Based on the original intr.c Cirrus Logic EP93xx Rev D. interrupt support,
* author unknown.
*
* See file CREDITS for list of people who contributed to this project.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include <common.h>
#include <linux/types.h>
#include <asm/arch/ep93xx.h>
#include <asm/io.h>
#include <div64.h>
#define TIMER_CLKSEL (1 << 3)
#define TIMER_ENABLE (1 << 7)
#define TIMER_FREQ 508469 /* ticks / second */
#define TIMER_MAX_VAL 0xFFFFFFFF
static struct ep93xx_timer
{
unsigned long long ticks;
unsigned long last_read;
} timer;
static inline unsigned long long usecs_to_ticks(unsigned long usecs)
{
unsigned long long ticks = (unsigned long long)usecs * TIMER_FREQ;
do_div(ticks, 1000 * 1000);
return ticks;
}
static inline void read_timer(void)
{
struct timer_regs *timer_regs = (struct timer_regs *)TIMER_BASE;
const unsigned long now = TIMER_MAX_VAL - readl(&timer_regs->timer3.value);
if (now >= timer.last_read)
timer.ticks += now - timer.last_read;
else
/* an overflow occurred */
timer.ticks += TIMER_MAX_VAL - timer.last_read + now;
timer.last_read = now;
}
/*
* Get the number of ticks (in CONFIG_SYS_HZ resolution)
*/
unsigned long long get_ticks(void)
{
unsigned long long sys_ticks;
read_timer();
sys_ticks = timer.ticks * CONFIG_SYS_HZ;
do_div(sys_ticks, TIMER_FREQ);
return sys_ticks;
}
unsigned long get_timer_masked(void)
{
return get_ticks();
}
unsigned long get_timer(unsigned long base)
{
return get_timer_masked() - base;
}
void reset_timer_masked(void)
{
read_timer();
timer.ticks = 0;
}
void reset_timer(void)
{
reset_timer_masked();
}
void __udelay(unsigned long usec)
{
unsigned long long target;
read_timer();
target = timer.ticks + usecs_to_ticks(usec);
while (timer.ticks < target)
read_timer();
}
int timer_init(void)
{
struct timer_regs *timer_regs = (struct timer_regs *)TIMER_BASE;
/* use timer 3 with 508KHz and free running, not enabled now */
writel(TIMER_CLKSEL, &timer_regs->timer3.control);
/* set initial timer value */
writel(TIMER_MAX_VAL, &timer_regs->timer3.load);
/* Enable the timer */
writel(TIMER_ENABLE | TIMER_CLKSEL,
&timer_regs->timer3.control);
reset_timer_masked();
return 0;
}
/*
* This function is derived from PowerPC code (timebase clock frequency).
* On ARM it returns the number of timer ticks per second.
*/
unsigned long get_tbclk(void)
{
return CONFIG_SYS_HZ;
}

View file

@ -0,0 +1,59 @@
/*
* (C) Copyright 2002
* Gary Jennejohn, DENX Software Engineering, <gj@denx.de>
*
* See file CREDITS for list of people who contributed to this
* project.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of
* the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*/
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
OUTPUT_ARCH(arm)
ENTRY(_start)
SECTIONS
{
. = 0x00000000;
. = ALIGN(4);
.text :
{
arch/arm/cpu/arm920t/start.o (.text)
/* the EP93xx expects to find the pattern 'CRUS' at 0x1000 */
. = 0x1000;
LONG(0x53555243)
*(.text)
}
. = ALIGN(4);
.rodata : { *(.rodata) }
. = ALIGN(4);
.data : { *(.data) }
. = ALIGN(4);
.got : { *(.got) }
. = .;
__u_boot_cmd_start = .;
.u_boot_cmd : { *(.u_boot_cmd) }
__u_boot_cmd_end = .;
. = ALIGN(4);
__bss_start = .;
.bss : { *(.bss) }
_end = .;
}

View file

@ -0,0 +1,64 @@
/*
* (c) Copyright 2004
* Techware Information Technology, Inc.
* Ming-Len Wu <minglen_wu@techware.com.tw>
*
* (C) Copyright 2000-2004
* Wolfgang Denk, DENX Software Engineering, wd@denx.de.
*
* (C) Copyright 2002
* Gary Jennejohn, DENX Software Engineering, <gj@denx.de>
*
* See file CREDITS for list of people who contributed to this
* project.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of
* the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*
*/
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
OUTPUT_ARCH(arm)
ENTRY(_start)
SECTIONS
{
. = 0x00000000;
. = ALIGN(4);
.text :
{
arch/arm/cpu/arm920t/start.o (.text)
*(.text)
}
. = ALIGN(4);
.rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
. = ALIGN(4);
.data : { *(.data) }
. = ALIGN(4);
.got : { *(.got) }
. = .;
__u_boot_cmd_start = .;
.u_boot_cmd : { *(.u_boot_cmd) }
__u_boot_cmd_end = .;
. = ALIGN(4);
__bss_start = .;
.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
_end = .;
}

View file

@ -0,0 +1,59 @@
/*
* (C) Copyright 2004
* Wolfgang Denk, DENX Software Engineering, <wg@denx.de>
*
* (C) Copyright 2002
* Gary Jennejohn, DENX Software Engineering, <garyj@denx.de>
*
* See file CREDITS for list of people who contributed to this
* project.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of
* the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*/
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
OUTPUT_ARCH(arm)
ENTRY(_start)
SECTIONS
{
. = 0x00000000;
. = ALIGN(4);
.text :
{
arch/arm/cpu/arm925t/start.o (.text)
*(.text)
}
. = ALIGN(4);
.rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
. = ALIGN(4);
.data : { *(.data) }
. = ALIGN(4);
.got : { *(.got) }
. = .;
__u_boot_cmd_start = .;
.u_boot_cmd : { *(.u_boot_cmd) }
__u_boot_cmd_end = .;
. = ALIGN(4);
__bss_start = .;
.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
_end = .;
}

Some files were not shown because too many files have changed in this diff Show more