summaryrefslogtreecommitdiff
path: root/lib_blackfin
AgeCommit message (Collapse)Author
2010-04-13Create CPUDIR variablePeter Tyser
The CPUDIR variable points to the location of a target's CPU directory. Currently, it is set to cpu/$CPU. However, using $CPUDIR will allow for more flexibility in the future. It lays the groundwork for reorganizing U-Boot's directory structure to support a layout such as: arch/$ARCH/cpu/$CPU/* (architecture with multiple CPU types) arch/$ARCH/cpu/* (architecture with one CPU type) Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
2010-04-07Blackfin: drop bfin #undef in linker scriptMike Frysinger
Now that the linker script is preprocessed with -ansi, there is no need to manually undef the bfin define. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-04-07Blackfin: call watchdog_init() for external watchdogsMike Frysinger
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-04-07Blackfin: link with normal ABI targetMike Frysinger
If someone uses the FDPIC toolchain to compile U-Boot, make sure the linker knows to use the normal ABI target rather than the FDPIC one. This wasn't needed with older toolchains, but when we fixed the linker such that the default target changed based on tuple, this broke. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-04-07Blackfin: relax .data alignmentMike Frysinger
The strictest alignment on Blackfin systems is 32bits (since that is the largest load instruction), so don't force 256byte alignment here. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-04-07Blackfin: drop reference to gd->reloc_offMike Frysinger
The reloc_off member no longer exists, so drop it. Also change this function so that it is always compiled and prevents latent issues like this in the future. Reported-by: Peter Meerwald <pmeerw@pmeerw.net> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-01-18Blackfin: add support for kgdbRobin Getz
Signed-off-by: Robin Getz <robin.getz@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-01-17Blackfin: drop .eh_frame from linker scriptMike Frysinger
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-17Blackfin: use sort funcs in the linker scriptMike Frysinger
This is just Blackfin catching up with every one else. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-01-17Blackfin: pull io funcs from linuxMike Frysinger
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-17Blackfin: convert bfin_sdh to generic mmcCliff Cai
Signed-off-by: Cliff Cai <cliff.cai@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-01-17Blackfin: support boards with no external memoryMike Frysinger
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-01-17Blackfin: kill off useless initdram() usageMike Frysinger
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-17Blackfin: move section length calculation to linker scriptMike Frysinger
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-17Blackfin: tweak embedded LDR env config optionMike Frysinger
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>
2009-10-14Blackfin: drop MAC display at bootMike Frysinger
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-14Blackfin: Remove relocation fixupsMike Frysinger
Blackfin pieces like commit 0630535e2d062dd73c1ceca5c6125c86d1127a49. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-10-11Add bb_miiphy_init call before any ethernet bring-up code.Luigi 'Comio' Mantellini
Signed-off-by: Luigi 'Comio' Mantellini <luigi.mantellini@idf-hit.com> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
2009-09-04push LOAD_ADDR out to arch mk filesMike Frysinger
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-04Consolidate arch-specific mem_malloc_init() implementationsPeter Tyser
Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
2009-09-04Standardize mem_malloc_init() implementationPeter Tyser
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-04Consolidate arch-specific sbrk() implementationsPeter Tyser
Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
2009-09-02Blackfin: fix debug printf modifiersMike Frysinger
The display_global_data() function generated warnings with pretty much every variable. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-09-02Blackfin: change global data register from P5 to P3Robin Getz
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-08-23Blackfin: use common code to preprocess linker scriptMike Frysinger
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-07-24Blackfin: restore EVT1 handling in linker scriptMike Frysinger
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-20Move architecture specific config.mk files into subdirsPeter Tyser
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-19Blackfin: add os log functionsMike Frysinger
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-17stdio/device: rework function naming conventionJean-Christophe PLAGNIOL-VILLARD
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-10Blackfin: add cache_dump commandsMike Frysinger
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-06-15Blackfin: unify u-boot linker scriptsMike Frysinger
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-12lib_arch/board.c: Move malloc initialization before flash_init()Stefan Roese
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-03-23Blackfin: print out Flash: before checking itMike Frysinger
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-23Blackfin: safely flush data caches when in writeback modeMike Frysinger
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-03-23Blackfin: unify net-related init codeMike Frysinger
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-20Blackfin: bfin_mac: force boards to setup the MAC themselvesMike Frysinger
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-02-02Blackfin: output booting source when bootingMike Frysinger
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-02Blackfin: use 8/16/32 bit transfer widths in dma_memcpy()Mike Frysinger
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-02Blackfin: dma_memcpy(): fix random failuresMike Frysinger
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-02Blackfin: rewrite cache handling functionsMike Frysinger
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-02Blackfin: setup bi_enetaddr for single netsMike Frysinger
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-02Blackfin: cache core/system clock valuesMike Frysinger
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-02Blackfin: only build post code when CONFIG_POSTMike Frysinger
Save some time by using CONFIG_POST in the Makefile rather than C files. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-01-28Blackfin: fixup misc warnings such as printf's and missing castsMike Frysinger
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-01-28Blackfin: pass RETX to LinuxMike Frysinger
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-28Blackfin: respect CONFIG_SYS_MONITOR_LEN for default flash protectionMike Frysinger
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-28Blackfin: respect/check CONFIG_SYS_GBL_DATA_SIZEMike Frysinger
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-28Blackfin: implement general support for CONFIG_STATUS_LEDMike Frysinger
Here are the Blackfin-specific and board-independent pieces for status leds. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-01-28Blackfin: do not init i2c in Blackfin board initMike Frysinger
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-28Blackfin: fix dcache handling when doing dma memcpy'sMike Frysinger
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>