Commit graph

101 commits

Author SHA1 Message Date
Robin Getz
f19fd87e93 Blackfin: add support for kgdb
Signed-off-by: Robin Getz <robin.getz@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-01-17 20:36:09 -05:00
Mike Frysinger
846a6391e4 Blackfin: drop .eh_frame from linker script
Nothing in U-Boot uses runtime C++ exceptions/unwinding, so there is no
need to list this section.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-01-17 09:17:27 -05:00
Mike Frysinger
ed912d4d65 Blackfin: use sort funcs in the linker script
This is just Blackfin catching up with every one else.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-01-17 09:17:27 -05:00
Mike Frysinger
a52ad4f994 Blackfin: pull io funcs from linux
Some common code uses more of the io.h funcs than we currently provide, so
pull in all of the ones from the linux kernel.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-01-17 09:17:27 -05:00
Cliff Cai
e54c820991 Blackfin: convert bfin_sdh to generic mmc
Signed-off-by: Cliff Cai <cliff.cai@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-01-17 09:17:27 -05:00
Mike Frysinger
7527feef06 Blackfin: support boards with no external memory
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-01-17 09:17:26 -05:00
Mike Frysinger
fa45bd498a Blackfin: kill off useless initdram() usage
While the initdram() function makes sense on some arches, it doesn't for
Blackfin systems as it's always implemented the same way.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-01-17 09:17:26 -05:00
Mike Frysinger
b1e2c5519a Blackfin: move section length calculation to linker script
The length of the sections is fixed at link time, so let the linker do the
calculation rather than doing it ourselves at runtime.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-01-17 09:17:26 -05:00
Mike Frysinger
76d82187c6 Blackfin: tweak embedded LDR env config option
Use the common config option for extracting the environment for embedding
into LDR files and clarify the LDR-specific option.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-01-17 09:17:26 -05:00
Mike Frysinger
d087d19a99 Blackfin: drop MAC display at boot
The default Blackfin boot would display the MAC address for the first NIC,
but this relies on the environment.  The current net multi stack no longer
writes the default hardware settings to the environment, so most of the
time the display shows all zeros.  This can be pretty confusing and really
doesn't add anything useful, so just drop it.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-10-13 22:00:29 -04:00
Mike Frysinger
370ec73455 Blackfin: Remove relocation fixups
Blackfin pieces like commit 0630535e2d.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-10-13 21:48:52 -04:00
Luigi 'Comio' Mantellini
310cecb8cc Add bb_miiphy_init call before any ethernet bring-up code.
Signed-off-by: Luigi 'Comio' Mantellini <luigi.mantellini@idf-hit.com>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
2009-10-10 23:16:53 -07:00
Mike Frysinger
262ae0a619 push LOAD_ADDR out to arch mk files
Rather than maintain/extend the current ifeq($(ARCH)) mess that exists in
the standalone Makefile, push the setting up of LOAD_ADDR out to the arch
config.mk (and rename to STANDALONE_LOAD_ADDR in the process).  This keeps
the common code clean and lets the arch do whatever crazy crap it wants in
its own area.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-09-04 23:06:34 +02:00
Peter Tyser
d4e8ada0f6 Consolidate arch-specific mem_malloc_init() implementations
Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
2009-09-04 21:47:07 +02:00
Peter Tyser
a483a167bc Standardize mem_malloc_init() implementation
This lays the groundwork to allow architectures to share a common
mem_malloc_init().

Note that the x86 implementation was not modified as it did not fit the
mold of all other architectures.

Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
2009-09-04 21:46:32 +02:00
Peter Tyser
5e93bd1c9a Consolidate arch-specific sbrk() implementations
Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
2009-09-04 21:45:39 +02:00
Mike Frysinger
f541e1d6d9 Blackfin: fix debug printf modifiers
The display_global_data() function generated warnings with pretty much
every variable.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-09-02 05:58:38 -04:00
Robin Getz
c4db335c2e Blackfin: change global data register from P5 to P3
Since the Blackfin ABI favors higher scratch registers by default, use the
last scratch register (P3) for global data rather than the first (P5).
This allows the compiler's register allocator to use higher number scratch
P registers, which in turn better matches the Blackfin instruction set,
which reduces the size of U-Boot by more than 1024 bytes...

Signed-off-by: Robin Getz <robin.getz@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-09-02 05:14:02 -04:00
Mike Frysinger
2ed0869d30 Blackfin: use common code to preprocess linker script
Now that the common code preprocesses the linker script, the Blackfin code
no longer needs to do it.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-08-23 22:25:05 +02:00
Mike Frysinger
f51e001143 Blackfin: restore EVT1 handling in linker script
Sadly, the Blackfin linker script unification lost a small #ifdef logic
needed on older parts.  Restore that CONFIG_BFIN_BOOTROM_USES_EVT1 logic.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-07-24 14:05:04 -04:00
Peter Tyser
b220c64d86 Move architecture specific config.mk files into subdirs
This cleans up U-Boot's toplevel directory a bit and makes the
architecture 'config.mk' file naming and location similar to board
and cpu 'config.mk' files

Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
2009-07-21 00:12:35 +02:00
Mike Frysinger
909878fd3f Blackfin: add os log functions
Part of the mini Blackfin ABI with operating systems is that they can use
0x4f0-0x4f8 to pass log buffers to/from bootloaders.  So add support to
U-Boot for reading the log buffer.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-07-18 21:15:50 -04:00
Jean-Christophe PLAGNIOL-VILLARD
52cb4d4fb3 stdio/device: rework function naming convention
So far the console API uses the following naming convention:

	======Extract======
	typedef struct device_t;

	int	device_register (device_t * dev);
	int	devices_init (void);
	int	device_deregister(char *devname);
	struct list_head* device_get_list(void);
	device_t* device_get_by_name(char* name);
	device_t* device_clone(device_t *dev);
	=======

which is too generic and confusing.

Instead of using device_XX and device_t we change this
into stdio_XX and stdio_dev

This will also allow to add later a generic device mechanism in order
to have support for multiple devices and driver instances.

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>

Edited commit message.

Signed-off-by: Wolfgang Denk <wd@denx.de>
2009-07-18 00:27:46 +02:00
Mike Frysinger
286070ddc8 Blackfin: add cache_dump commands
A few debug-type commands used to dump the raw icache/dcache data.  Useful
when trying to track down cache-related bugs.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-07-10 02:36:26 -04:00
Mike Frysinger
9ff67e5e4c Blackfin: unify u-boot linker scripts
All the Blackfin linker scripts were duplicated across the board dirs with
no difference save from the semi-often used ENV_IS_EMBEDDED option.  So
unify all of them in the lib_blackfin/ dir and for the few boards that
need to embedded the environment directly, add a LDS_BOARD_TEXT define for
them to customize via their board config file.  This is much simpler than
forcing them to duplicate the rest of the linker script.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-06-14 20:01:14 -04:00
Stefan Roese
c790b04d23 lib_arch/board.c: Move malloc initialization before flash_init()
This patch moves the malloc initialization before calling flash_init().
Upcoming changes to the NOR FLASH common CFI driver with optional
MTD infrastructure and MTD concatenation support will call malloc().
And nothing really speaks against enabling malloc just a little earlier
in the boot stage. Some architectures already enable malloc before
calling flash_init() so they don't need any changes here.

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Wolfgang Denk <wd@denx.de>
Cc: Mike Frysinger <vapier@gentoo.org>
Cc: Scott McNutt <smcnutt@psyent.com>
Cc: Shinya Kuribayashi <shinya.kuribayashi@necel.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
Cc: Daniel Hellstrom <daniel@gaisler.com>
Cc: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Cc: John Rigby <jcrigby@gmail.com>
2009-06-12 20:39:47 +02:00
Mike Frysinger
45c48953e8 Blackfin: print out Flash: before checking it
If there is some problem in the flash init/checking code, it's nicer to see
the message "Flash:" before crashing.  This way the source of the problem
is a bit more straightforward.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-03-23 15:14:53 -04:00
Mike Frysinger
1c7a79a04e Blackfin: safely flush data caches when in writeback mode
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-03-23 15:14:53 -04:00
Mike Frysinger
8996d1608a Blackfin: unify net-related init code
Unify all of the net-related init code in the common Blackfin board init
code to clean up the ifdef mess a bit.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-03-23 15:14:52 -04:00
Mike Frysinger
500b6c51e4 Blackfin: bfin_mac: force boards to setup the MAC themselves
Since the on-chip MAC does not have an eeprom or similar interface, force
all Blackfin boards that use this driver to setup the board data with a
proper MAC.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
CC: Ben Warren <biggerbadderben@gmail.com>
2009-03-20 22:39:09 +01:00
Mike Frysinger
fc68f9f859 Blackfin: output booting source when booting
Knowing the booting source of the part is useful, especially when the part
can switch dynamically between sources.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-02-02 12:27:16 -05:00
Mike Frysinger
961954ea0e Blackfin: use 8/16/32 bit transfer widths in dma_memcpy()
Rather than using 8bit transfers for everything, use 8/16/32 bit transfers
as usable with the source/destination addresses and the count size.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-02-02 12:24:46 -05:00
Mike Frysinger
e347c092a3 Blackfin: dma_memcpy(): fix random failures
We have to make sure the DMA channel is actually disabled in hardware before
attempting to reprogram it.  Otherwise the new settings are ignored and we
end up with random hangs/failures.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-02-02 12:24:46 -05:00
Mike Frysinger
fdce83c108 Blackfin: rewrite cache handling functions
Take the cache flush functions from the kernel as they use hardware loops in
order to get optimal performance.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-02-02 12:24:44 -05:00
Mike Frysinger
84c5f0dc47 Blackfin: setup bi_enetaddr for single nets
For systems with CONFIG_NET_MULTI disabled, bi_enetaddr does not get setup
based on $ethaddr, so set it up.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-02-02 12:24:43 -05:00
Mike Frysinger
40599239e7 Blackfin: cache core/system clock values
Calculating the clocks requires a bit of calls to gcc math functions, so
cache the values after the first run since they'll most likely never
change once U-Boot is up and running.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-02-02 12:24:42 -05:00
Mike Frysinger
7a1e87b106 Blackfin: only build post code when CONFIG_POST
Save some time by using CONFIG_POST in the Makefile rather than C files.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-02-02 12:24:30 -05:00
Mike Frysinger
fe033ad6d0 Blackfin: fixup misc warnings such as printf's and missing casts
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-01-28 13:27:28 -05:00
Mike Frysinger
b1e9435b64 Blackfin: pass RETX to Linux
Make sure we save the value of RETX at power on and then pass it on to the
kernel so that it can nicely debug a "double-fault-caused-a-reset" crash.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-01-28 13:26:15 -05:00
Mike Frysinger
b6edc719a1 Blackfin: respect CONFIG_SYS_MONITOR_LEN for default flash protection
Respect the CONFIG_SYS_MONITOR_LEN define rather than assuming a size of
128kB when setting up the default flash protection region for U-Boot
itself.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-01-28 13:26:12 -05:00
Mike Frysinger
78a0ba7dc2 Blackfin: respect/check CONFIG_SYS_GBL_DATA_SIZE
When setting up the global data, rather than relying on sizeof(), use the
common CONFIG_SYS_GBL_DATA_SIZE define.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-01-28 13:26:12 -05:00
Mike Frysinger
01815c2d06 Blackfin: implement general support for CONFIG_STATUS_LED
Here are the Blackfin-specific and board-independent pieces for status leds.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-01-28 13:26:12 -05:00
Mike Frysinger
6882b5a79a Blackfin: do not init i2c in Blackfin board init
The common code takes care of calling i2c_init() when needed, so no point
in us doing it as well.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-01-28 13:26:12 -05:00
Mike Frysinger
05b75e4883 Blackfin: fix dcache handling when doing dma memcpy's
Our dcache invalidate function doesn't just invalidate, it also flushes.
So rename the function accordingly and fix the dma_memcpy() function so it
doesn't inadvertently corrupt the data destination.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-01-28 13:26:12 -05:00
Mike Frysinger
21d6313604 Blackfin: split cache handling out of dma_memcpy()
Creating a new dma_memcpy() function that skips all cache checks allows us
to use the function in very early init where the cache is not yet setup.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-01-28 13:26:10 -05:00
Mike Frysinger
d31eb38512 Blackfin: abort dma_memcpy() for L1 scratchpad
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-01-28 13:26:10 -05:00
Mike Frysinger
81b799add7 Blackfin: rename bootm.c to boot.c
The boot file contains functions for more than just "bootm", so rename it
accordingly.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-01-28 13:26:10 -05:00
Mike Frysinger
36cd52a007 Blackfin: convert CMD_LINE_ADDR to CONFIG_LINUX_CMDLINE_{ADDR,SIZE}
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-01-28 13:26:10 -05:00
Mike Frysinger
6dadc9195a Blackfin: use common strmhz() in system output
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-01-23 22:59:16 +01:00
Mike Frysinger
687f952e41 Blackfin: drop CONFIG_SPI handling in board init
The eeprom SPI init functions are duplicated as the common code already
executes these for us.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-01-07 03:00:06 -05:00