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

Albert's rework of the linker scripts conflicted with Simon's making
everyone use __bss_end.  We also had a minor conflict over
README.scrapyard being added to in mainline and enhanced in
u-boot-arm/master with proper formatting.

Conflicts:
	arch/arm/cpu/ixp/u-boot.lds
	arch/arm/cpu/u-boot.lds
	arch/arm/lib/Makefile
	board/actux1/u-boot.lds
	board/actux2/u-boot.lds
	board/actux3/u-boot.lds
	board/dvlhost/u-boot.lds
	board/freescale/mx31ads/u-boot.lds
	doc/README.scrapyard
	include/configs/tegra-common.h

Build tested for all of ARM and run-time tested on am335x_evm.

Signed-off-by: Tom Rini <trini@ti.com>
This commit is contained in:
Tom Rini
2013-03-18 12:31:00 -04:00
486 changed files with 15600 additions and 10419 deletions

View File

@@ -15,24 +15,22 @@ help: Long description. This is a string
**** Behind the scene ******
The structure created is named with a special prefix (__u_boot_list_cmd_)
and placed by the linker in a special section.
The structure created is named with a special prefix and placed by
the linker in a special section using the linker lists mechanism
(see include/linker_lists.h)
This makes it possible for the final link to extract all commands
compiled into any object code and construct a static array so the
command can be found in an array starting at _u_boot_list_cmd__start.
command array can be iterated over using the linker lists macros.
To ensure that the linker does not discard these symbols when linking
full U-Boot we generate a list of all the commands we have built (based
on the sections mentioned above) and use that to force the linker to
first enter the symbol as undefined in the output object so that there
is then a need for the symbol to be kept (this is the UNDEF_SYM logic in
the Makefile).
The linker lists feature ensures that the linker does not discard
these symbols when linking full U-Boot even though they are not
referenced in the source code as such.
If a new board is defined do not forget to define the command section
by writing in u-boot.lds ($(TOPDIR)/board/boardname/u-boot.lds) these
3 lines:
.u_boot_list : {
#include "u-boot.lst";
KEEP(*(SORT(.u_boot_list*)));
}

View File

@@ -0,0 +1,27 @@
If you are experiencing hangups/data-aborts when trying to display a BMP image,
the following might be relevant to your situation...
Some architectures cannot handle unaligned memory accesses, and an attempt to
perform one will lead to a data abort. On such architectures it is necessary to
make sure all data is properly aligned, and in many situations simply choosing
a 32 bit aligned address is enough to ensure proper alignment. This is not
always the case when dealing with data that has an internal layout such as a
BMP image:
BMP images have a header that starts with 2 byte-size fields followed by mostly
32 bit fields. The packed struct that represents this header can be seen below:
typedef struct bmp_header {
/* Header */
char signature[2];
__u32 file_size;
__u32 reserved;
__u32 data_offset;
... etc
} __attribute__ ((packed)) bmp_header_t;
When placed in an aligned address such as 0x80a00000, char signature offsets
the __u32 fields into unaligned addresses (in our example 0x80a00002,
0x80a00006, and so on...). When these fields are accessed by U-Boot, a 32 bit
access is generated at a non-32-bit-aligned address, causing a data abort.
The proper alignment for BMP images is therefore: 32-bit-aligned-address + 2.

View File

@@ -1,36 +0,0 @@
U-Boot Port to the NS9750 DevKit from NetSilicon
1 Overview
2 Board Configuration
3 Installation
1 Overview
----------
This port supports these NS9750 features.
o one UART
2 Board Configuration
---------------------
Switches:
SW10: 4
SW11: 6,7
SW16: 6,7,8
SW17-SW20: 1
SW4: 3, 6
SW 1: 1
SW2: 4
SW3: 3
SW8: 3 (rotated by 180 degree!!!!)
Serial Console is Port B (bottom right port)
3 Installation
--------------
Have fun,
--
Markus Pietrek <mpietrek@fsforth.de>

View File

@@ -9,85 +9,86 @@ maintain a list of such former fellows, so archeologists can check
easily if here is something they might want to dig for...
Board Arch CPU removed Commit last known maintainer/contact
=============================================================================
AMX860 powerpc mpc860 - - Wolfgang Denk <wd@denx.de>
c2mon powerpc mpc855 - - Wolfgang Denk <wd@denx.de>
ETX094 powerpc mpc850 - - Wolfgang Denk <wd@denx.de>
IAD210 powerpc mpc860 - - -
LANTEC powerpc mpc850 - - Wolfgang Denk <wd@denx.de>
SCM powerpc mpc8260 - - Wolfgang Grandegger <wg@denx.de>
SX1 arm arm925t - -
TQM85xx powerpc MPC85xx d923a5d5 2012-10-04 Stefan Roese <sr@denx.de>
apollon arm omap24xx 535c74f 2012-09-18 Kyungmin Park <kyungmin.park@samsung.com>
tb0229 mips mips32 3f3110d 2011-12-12
rmu powerpc MPC850 fb82fd7 2011-12-07 Wolfgang Denk <wd@denx.de>
OXC powerpc MPC8240 309a292 2011-12-07
BAB7xx powerpc MPC740/MPC750 c53043b 2011-12-07 Frank Gottschling <fgottschling@eltec.de>
xm250 arm pxa c746cdd 2011-25-11
pleb2 arm pxa b185a1c 2011-25-11
cradle arm pxa 4e24f8a 2011-25-11 Kyle Harris <kharris@nexus-tech.net>
cerf250 arm pxa a3f1241 2011-25-11 Prakash Kumar <prakash@embedx.com>
mpq101 powerpc mpc85xx e877fab 2011-10-23 Alex Dubov <oakad@yahoo.com>
ixdpg425 arm ixp 0ca8eb7 2011-09-22 Stefan Roese <sr@denx.de>
ixdp425 arm ixp 0ca8eb7 2011-09-22 Kyle Harris <kharris@nexus-tech.net>
zylonite arm pxa b66521a 2011-09-05
shannon arm sa1100 5df092d 2011-09-05 Rolf Offermanns <rof@sysgo.de>
modnet50 arm arm720t 9c62815 2011-09-05 Thomas Elste <info@elste.org>
lpc2292sodimm arm arm720t d1a067a 2011-09-05
lart arm sa1100 3d57573 2011-09-05 Alex Züpke <azu@sysgo.de>
impa7 arm arm720t c1f8750 2011-09-05 Marius Gröger <mag@sysgo.de>
gcplus arm sa1100 2c650e2 2011-09-05 George G. Davis <gdavis@mvista.com>
evb4510 arm arm720t 26e670e 2011-09-05 Curt Brune <curt@cucy.com>
ep7312 arm arm720t c8f63b4 2011-09-05 Marius Gröger <mag@sysgo.de>
dnp1110 arm sa1100 fc5e5ce 2011-09-05 Alex Züpke <azu@sysgo.de>
SMN42 arm arm720t 6aac646 2011-09-05
at91rm9200dk arm arm920t 1c85752 2011-07-17
m501sk arm arm920t b1a2bd4 2011-07-17
kb9202 arm arm920t 5bd3814 2011-07-17
csb637 arm arm920t d14af08 2011-07-17
cmc_pu2 arm arm920t 37a9b4d 2011-07-17
at91cap9adk arm arm926ejs b550834 2011-07-17 Stelian Pop <stelian@popies.net>
voiceblue arm arm925t 1b793a4 2011-07-17
smdk2400 arm arm920t ad218a8 2011-07-17 Gary Jennejohn <garyj@denx.de>
sbc2410x arm arm920t 1f7f0ed 2011-07-17
netstar arm arm925t 6ea2405 2011-07-17
mx1fs2 arm arm920t 6962419 2011-07-17
lpd7a404 arm lh7a40x 957731e 2011-07-17
edb9301 arm arm920t 716f7ad 2011-07-17
edb9302 arm arm920t 716f7ad 2011-07-17
edb9302a arm arm920t 716f7ad 2011-07-17
edb9307 arm arm920t 716f7ad 2011-07-17
edb9307a arm arm920t 716f7ad 2011-07-17
edb9312 arm arm920t 716f7ad 2011-07-17
edb9315 arm arm920t 716f7ad 2011-07-17
edb9315a arm arm920t 716f7ad 2011-07-17
B2 arm s3c44b0 5dcf536 2011-07-16 Andrea Scian <andrea.scian@dave-tech.it>
armadillo arm arm720t be28857 2011-07-16 Rowel Atienza <rowel@diwalabs.com>
assabet arm sa1100 c91e90d 2011-07-16 George G. Davis <gdavis@mvista.com>
trab arm S3C2400 566e5cf 2011-05-01 Gary Jennejohn <garyj@denx.de>
xsengine ARM PXA2xx 4262a7c 2010-10-20
wepep250 ARM PXA2xx 7369478 2010-10-20 Peter Figuli <peposh@etc.sk>
delta ARM PXA2xx 75e2035 2010-10-20
mp2usb ARM AT91RM2900 ee986e2 2011-01-25 Eric Bénard <eric@eukrea.com>
barco powerpc MPC8245 afaa27b 2010-11-23 Marc Leeman <marc.leeman@barco.com>
ERIC powerpc 405GP d9ba451 2010-11-21 Swen Anderson <sand@peppercon.de>
VoVPN-GW_100MHz powerpc MPC8260 26fe3d2 2010-10-24 Juergen Selent <j.selent@elmeg.de>
NC650 powerpc MPC852 333d86d 2010-10-19 Wolfgang Denk <wd@denx.de>
CP850 powerpc MPC852 333d86d 2010-10-19 Wolfgang Denk <wd@denx.de>
logodl ARM PXA2xx 059e778 2010-10-18 August Hoeraendl <august.hoerandl@gmx.at>
CCM powerpc MPC860 dff07e1 2010-10-06 Wolfgang Grandegger <wg@denx.de>
PCU_E powerpc MPC860T 544d97e 2010-10-06 Wolfgang Denk <wd@denx.de>
spieval powerpc MPC5200 69434e4 2010-09-19
smmaco4 powerpc MPC5200 9ddc3af 2010-09-19
HMI10 powerpc MPC823 77efe35 2010-09-19 Wolfgang Denk <wd@denx.de>
GTH powerpc MPC860 0fe247b 2010-07-17 Thomas Lange <thomas@corelatus.se>
AmigaOneG3SE 953b7e6 2010-06-23
suzaku microblaze 4f18060 2009-10-03 Yasushi Shoji <yashi@atmark-techno.com>
XUPV2P microblaze 8fab49e 2008-12-10 Michal Simek <monstr@monstr.eu>
MVS1 powerpc MPC823 306620b 2008-08-26 Andre Schwarz <andre.schwarz@matrix-vision.de>
adsvix ARM PXA27x 7610db1 2008-07-30 Adrian Filipi <adrian.filipi@eurotech.com>
R5200 ColdFire 48ead7a 2008-03-31 Zachary P. Landau <zachary.landau@labxtechnologies.com>
CPCI440 powerpc 440GP b568fd2 2007-12-27 Matthias Fuchs <matthias.fuchs@esd-electronics.com>
PCIPPC2 powerpc MPC740/MPC750 - - Wolfgang Denk <wd@denx.de>
Board Arch CPU Commit Removed Last known maintainer/contact
=================================================================================================
ns9750dev arm arm926ejs - - Markus Pietrek <mpietrek@fsforth.de>
AMX860 powerpc mpc860 1b0757e 2012-10-28 Wolfgang Denk <wd@denx.de>
c2mon powerpc mpc855 1b0757e 2012-10-28 Wolfgang Denk <wd@denx.de>
ETX094 powerpc mpc850 1b0757e 2012-10-28 Wolfgang Denk <wd@denx.de>
IAD210 powerpc mpc860 1b0757e 2012-10-28 -
LANTEC powerpc mpc850 1b0757e 2012-10-28 Wolfgang Denk <wd@denx.de>
SCM powerpc mpc8260 1b0757e 2012-10-28 Wolfgang Grandegger <wg@denx.de>
SX1 arm arm925t 53c4154 2012-10-26
TQM85xx powerpc MPC85xx d923a5d 2012-10-04 Stefan Roese <sr@denx.de>
apollon arm omap24xx 535c74f 2012-09-18 Kyungmin Park <kyungmin.park@samsung.com>
tb0229 mips mips32 3f3110d 2011-12-12
rmu powerpc MPC850 fb82fd7 2011-12-07 Wolfgang Denk <wd@denx.de>
OXC powerpc MPC8240 309a292 2011-12-07
BAB7xx powerpc MPC740/MPC750 c53043b 2011-12-07 Frank Gottschling <fgottschling@eltec.de>
xm250 arm pxa c746cdd 2011-25-11
pleb2 arm pxa b185a1c 2011-25-11
cradle arm pxa 4e24f8a 2011-25-11 Kyle Harris <kharris@nexus-tech.net>
cerf250 arm pxa a3f1241 2011-25-11 Prakash Kumar <prakash@embedx.com>
mpq101 powerpc mpc85xx e877fab 2011-10-23 Alex Dubov <oakad@yahoo.com>
ixdpg425 arm ixp 0ca8eb7 2011-09-22 Stefan Roese <sr@denx.de>
ixdp425 arm ixp 0ca8eb7 2011-09-22 Kyle Harris <kharris@nexus-tech.net>
zylonite arm pxa b66521a 2011-09-05
shannon arm sa1100 5df092d 2011-09-05 Rolf Offermanns <rof@sysgo.de>
modnet50 arm arm720t 9c62815 2011-09-05 Thomas Elste <info@elste.org>
lpc2292sodimm arm arm720t d1a067a 2011-09-05
lart arm sa1100 3d57573 2011-09-05 Alex Züpke <azu@sysgo.de>
impa7 arm arm720t c1f8750 2011-09-05 Marius Gröger <mag@sysgo.de>
gcplus arm sa1100 2c650e2 2011-09-05 George G. Davis <gdavis@mvista.com>
evb4510 arm arm720t 26e670e 2011-09-05 Curt Brune <curt@cucy.com>
ep7312 arm arm720t c8f63b4 2011-09-05 Marius Gröger <mag@sysgo.de>
dnp1110 arm sa1100 fc5e5ce 2011-09-05 Alex Züpke <azu@sysgo.de>
SMN42 arm arm720t 6aac646 2011-09-05
at91rm9200dk arm arm920t 1c85752 2011-07-17
m501sk arm arm920t b1a2bd4 2011-07-17
kb9202 arm arm920t 5bd3814 2011-07-17
csb637 arm arm920t d14af08 2011-07-17
cmc_pu2 arm arm920t 37a9b4d 2011-07-17
at91cap9adk arm arm926ejs b550834 2011-07-17 Stelian Pop <stelian@popies.net>
voiceblue arm arm925t 1b793a4 2011-07-17
smdk2400 arm arm920t ad218a8 2011-07-17 Gary Jennejohn <garyj@denx.de>
sbc2410x arm arm920t 1f7f0ed 2011-07-17
netstar arm arm925t 6ea2405 2011-07-17
mx1fs2 arm arm920t 6962419 2011-07-17
lpd7a404 arm lh7a40x 957731e 2011-07-17
edb9301 arm arm920t 716f7ad 2011-07-17
edb9302 arm arm920t 716f7ad 2011-07-17
edb9302a arm arm920t 716f7ad 2011-07-17
edb9307 arm arm920t 716f7ad 2011-07-17
edb9307a arm arm920t 716f7ad 2011-07-17
edb9312 arm arm920t 716f7ad 2011-07-17
edb9315 arm arm920t 716f7ad 2011-07-17
edb9315a arm arm920t 716f7ad 2011-07-17
B2 arm s3c44b0 5dcf536 2011-07-16 Andrea Scian <andrea.scian@dave-tech.it>
armadillo arm arm720t be28857 2011-07-16 Rowel Atienza <rowel@diwalabs.com>
assabet arm sa1100 c91e90d 2011-07-16 George G. Davis <gdavis@mvista.com>
trab arm S3C2400 566e5cf 2011-05-01 Gary Jennejohn <garyj@denx.de>
xsengine ARM PXA2xx 4262a7c 2010-10-20
wepep250 ARM PXA2xx 7369478 2010-10-20 Peter Figuli <peposh@etc.sk>
delta ARM PXA2xx 75e2035 2010-10-20
mp2usb ARM AT91RM2900 ee986e2 2011-01-25 Eric Bénard <eric@eukrea.com>
barco powerpc MPC8245 afaa27b 2010-11-23 Marc Leeman <marc.leeman@barco.com>
ERIC powerpc 405GP d9ba451 2010-11-21 Swen Anderson <sand@peppercon.de>
VoVPN-GW_100MHz powerpc MPC8260 26fe3d2 2010-10-24 Juergen Selent <j.selent@elmeg.de>
NC650 powerpc MPC852 333d86d 2010-10-19 Wolfgang Denk <wd@denx.de>
CP850 powerpc MPC852 333d86d 2010-10-19 Wolfgang Denk <wd@denx.de>
logodl ARM PXA2xx 059e778 2010-10-18 August Hoeraendl <august.hoerandl@gmx.at>
CCM powerpc MPC860 dff07e1 2010-10-06 Wolfgang Grandegger <wg@denx.de>
PCU_E powerpc MPC860T 544d97e 2010-10-06 Wolfgang Denk <wd@denx.de>
spieval powerpc MPC5200 69434e4 2010-09-19
smmaco4 powerpc MPC5200 9ddc3af 2010-09-19
HMI10 powerpc MPC823 77efe35 2010-09-19 Wolfgang Denk <wd@denx.de>
GTH powerpc MPC860 0fe247b 2010-07-17 Thomas Lange <thomas@corelatus.se>
AmigaOneG3SE powerpc 74xx_7xx 953b7e6 2010-06-23
suzaku microblaze - 4f18060 2009-10-03 Yasushi Shoji <yashi@atmark-techno.com>
XUPV2P microblaze - 8fab49e 2008-12-10 Michal Simek <monstr@monstr.eu>
MVS1 powerpc MPC823 306620b 2008-08-26 Andre Schwarz <andre.schwarz@matrix-vision.de>
adsvix ARM PXA27x 7610db1 2008-07-30 Adrian Filipi <adrian.filipi@eurotech.com>
R5200 ColdFire - 48ead7a 2008-03-31 Zachary P. Landau <zachary.landau@labxtechnologies.com>
CPCI440 powerpc 440GP b568fd2 2007-12-27 Matthias Fuchs <matthias.fuchs@esd-electronics.com>
PCIPPC2 powerpc MPC740/MPC750 7c9e89b 2013-02-07 Wolfgang Denk <wd@denx.de>
PCIPPC6 powerpc MPC740/MPC750 - - Wolfgang Denk <wd@denx.de>

View File

@@ -0,0 +1,92 @@
USING AM335x NETBOOT FEATURE
Some boards (like TI AM335x based ones) have quite big on-chip RAM and
have support for booting via network in ROM. The following describes
how to setup network booting and then optionally use this support to flash
NAND and bricked (empty) board with only a network cable.
I. Building the required images
1. You have to enable generic SPL configuration options (see
docs/README.SPL) as well as CONFIG_SPL_NET_SUPPORT,
CONFIG_ETH_SUPPORT, CONFIG_SPL_LIBGENERIC_SUPPORT and
CONFIG_SPL_LIBCOMMON_SUPPORT in your board configuration file to build
SPL with support for booting over the network. Also you have to enable
the driver for the NIC used and CONFIG_SPL_BOARD_INIT option if your
board needs some board-specific initialization (TI AM335x EVM does).
If you want SPL to use some Vendor Class Identifier (VCI) you can set
one with CONFIG_SPL_NET_VCI_STRING option. am335x_evm configuration
comes with support for network booting preconfigured.
2. Define CONFIG_BOOTCOMMAND for your board to load and run debrick
script after boot:
#define CONFIG_BOOTCOMMAND \
"setenv autoload no; " \
"bootp; " \
"if tftp 80000000 debrick.scr; then " \
"source 80000000; " \
"fi"
(Or create additional board configuration with such option).
3. Build U-Boot as usual
$ make <your_board_name>
You will need u-boot.img and spl/u-boot.bin images to perform
network boot. Copy them to u-boot-restore.img and
u-boot-spl-restore.bin respectively to distinguish this version
(with automatic restore running) from the main one.
II. Host configuration.
1. Setup DHCP server (recommended server is ISC DHCPd).
- Install DHCP server and setup it to listen on the interface you
chose to connect to the board (usually configured in
/etc/default/dhcpd or /etc/default/isc-dhcp-server). Make sure there
are no other active DHCP servers in the same network segment.
- Edit your dhcpd.conf and subnet declaration matching the address
on the interface. Specify the range of assigned addresses and bootfile
to use. IMPORTANT! Both RBL and SPL use the image filename provided
in the BOOTP reply but obviously they need different images (RBL needs
raw SPL image -- u-boot-spl-restore.bin while SPL needs main U-Boot
image -- u-boot-restore.img). So you have to configure DHCP server to
provide different image filenames to RBL and SPL (and possibly another
one to main U-Boot). This can be done by checking Vendor Class
Identifier (VCI) set by BOOTP client (RBL sets VCI to "DM814x ROM v1.0"
and you can set VCI used by SPL with CONFIG_SPL_NET_VCI_STRING option,
see above).
- If you plan to use TFTP server on another machine you have to set
server-name option to point to it.
- Here is sample configuration for ISC DHCPd, assuming the interface
used to connect to the board is eth0, and it has address 192.168.8.1:
subnet 192.168.8.0 netmask 255.255.255.0 {
range dynamic-bootp 192.168.8.100 192.168.8.199;
if substring (option vendor-class-identifier, 0, 10) = "DM814x ROM" {
filename "u-boot-spl-restore.bin";
} elsif substring (option vendor-class-identifier, 0, 17) = "AM335x U-Boot SPL" {
filename "u-boot-restore.img";
} else {
filename "uImage";
}
}
2. Setup TFTP server.
Install TFTP server and put image files to it's root directory
(likely /tftpboot or /var/lib/tftpboot or /srv/tftp). You will need
u-boot.img and spl/u-boot-spl-bin files from U-Boot build directory.
III. Reflashing (debricking) the board.
1. Write debrick script. You will need to write a script that will
be executed after network boot to perform actual rescue actions. You
can use usual U-Boot commands from this script: tftp to load additional
files, nand erase/nand write to erase/write the NAND flash.
2. Create script image from your script. From U-Boot build directory:
$ ./tools/mkimage -A arm -O U-Boot -C none -T script -d <your script> debrick.scr
This will create debrick.scr file with your script inside.
3. Copy debrick.scr to TFTP root directory. You also need to copy
there all the files your script tries to load via TFTP. Example script
loads u-boot.img and MLO. You have to create these files doing regular
(not restore_flash) build and copy them to tftpboot directory.
4. Boot the board from the network, U-Boot will load debrick script
and run it after boot.

View File

@@ -86,7 +86,7 @@ III) Analysis of in-tree drivers
7) ns9750_serial.c
------------------
No support for CONFIG_SERIAL_MULTI. Simple conversion possible.
Unmaintained port. Code got removed.
8) opencores_yanu.c
-------------------