summaryrefslogtreecommitdiff
path: root/lib_blackfin
Commit message (Collapse)AuthorAgeLines
* Move lib_$ARCH directories to arch/$ARCH/libPeter Tyser2010-04-13-3472/+0
| | | | | | | | | Also move lib_$ARCH/config.mk to arch/$ARCH/config.mk This change is intended to clean up the top-level directory structure and more closely mimic Linux's directory organization. Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
* Create CPUDIR variablePeter Tyser2010-04-13-1/+1
| | | | | | | | | | | | 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>
* Blackfin: drop bfin #undef in linker scriptMike Frysinger2010-04-07-2/+1
| | | | | | | 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>
* Blackfin: call watchdog_init() for external watchdogsMike Frysinger2010-04-07-0/+6
| | | | Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* Blackfin: link with normal ABI targetMike Frysinger2010-04-07-2/+2
| | | | | | | | | 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>
* Blackfin: relax .data alignmentMike Frysinger2010-04-07-1/+1
| | | | | | | 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>
* Blackfin: drop reference to gd->reloc_offMike Frysinger2010-04-07-3/+5
| | | | | | | | | 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>
* Blackfin: add support for kgdbRobin Getz2010-01-17-7/+783
| | | | | Signed-off-by: Robin Getz <robin.getz@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* Blackfin: drop .eh_frame from linker scriptMike Frysinger2010-01-17-1/+0
| | | | | | | 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>
* Blackfin: use sort funcs in the linker scriptMike Frysinger2010-01-17-2/+1
| | | | | | This is just Blackfin catching up with every one else. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* Blackfin: pull io funcs from linuxMike Frysinger2010-01-17-0/+179
| | | | | | | 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>
* Blackfin: convert bfin_sdh to generic mmcCliff Cai2010-01-17-0/+6
| | | | | Signed-off-by: Cliff Cai <cliff.cai@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* Blackfin: support boards with no external memoryMike Frysinger2010-01-17-17/+33
| | | | Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* Blackfin: kill off useless initdram() usageMike Frysinger2010-01-17-1/+3
| | | | | | | 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>
* Blackfin: move section length calculation to linker scriptMike Frysinger2010-01-17-7/+17
| | | | | | | 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>
* Blackfin: tweak embedded LDR env config optionMike Frysinger2010-01-17-3/+7
| | | | | | | 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>
* Blackfin: drop MAC display at bootMike Frysinger2009-10-13-4/+0
| | | | | | | | | | 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>
* Blackfin: Remove relocation fixupsMike Frysinger2009-10-13-2/+0
| | | | | | Blackfin pieces like commit 0630535e2d062dd73c1ceca5c6125c86d1127a49. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* Add bb_miiphy_init call before any ethernet bring-up code.Luigi 'Comio' Mantellini2009-10-10-0/+7
| | | | | Signed-off-by: Luigi 'Comio' Mantellini <luigi.mantellini@idf-hit.com> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
* push LOAD_ADDR out to arch mk filesMike Frysinger2009-09-04-0/+2
| | | | | | | | | | 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>
* Consolidate arch-specific mem_malloc_init() implementationsPeter Tyser2009-09-04-9/+0
| | | | Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
* Standardize mem_malloc_init() implementationPeter Tyser2009-09-04-6/+6
| | | | | | | | | | 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>
* Consolidate arch-specific sbrk() implementationsPeter Tyser2009-09-04-17/+3
| | | | Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
* Blackfin: fix debug printf modifiersMike Frysinger2009-09-02-18/+18
| | | | | | | The display_global_data() function generated warnings with pretty much every variable. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* Blackfin: change global data register from P5 to P3Robin Getz2009-09-02-1/+1
| | | | | | | | | | | 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>
* Blackfin: use common code to preprocess linker scriptMike Frysinger2009-08-23-5/+2
| | | | | | | 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>
* Blackfin: restore EVT1 handling in linker scriptMike Frysinger2009-07-24-1/+8
| | | | | | | 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>
* Move architecture specific config.mk files into subdirsPeter Tyser2009-07-21-0/+66
| | | | | | | | 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>
* Blackfin: add os log functionsMike Frysinger2009-07-18-0/+6
| | | | | | | | 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>
* stdio/device: rework function naming conventionJean-Christophe PLAGNIOL-VILLARD2009-07-18-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Blackfin: add cache_dump commandsMike Frysinger2009-07-10-0/+146
| | | | | | | 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>
* Blackfin: unify u-boot linker scriptsMike Frysinger2009-06-14-1/+137
| | | | | | | | | | | 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>
* lib_arch/board.c: Move malloc initialization before flash_init()Stefan Roese2009-06-12-3/+4
| | | | | | | | | | | | | | | | | | | 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>
* Blackfin: print out Flash: before checking itMike Frysinger2009-03-23-1/+1
| | | | | | | | 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>
* Blackfin: safely flush data caches when in writeback modeMike Frysinger2009-03-23-0/+42
| | | | Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* Blackfin: unify net-related init codeMike Frysinger2009-03-23-10/+20
| | | | | | | 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>
* Blackfin: bfin_mac: force boards to setup the MAC themselvesMike Frysinger2009-03-20-46/+2
| | | | | | | | | 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>
* Blackfin: output booting source when bootingMike Frysinger2009-02-02-1/+5
| | | | | | | 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>
* Blackfin: use 8/16/32 bit transfer widths in dma_memcpy()Mike Frysinger2009-02-02-4/+19
| | | | | | | 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>
* Blackfin: dma_memcpy(): fix random failuresMike Frysinger2009-02-02-8/+11
| | | | | | | | 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>
* Blackfin: rewrite cache handling functionsMike Frysinger2009-02-02-4/+14
| | | | | | | 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>
* Blackfin: setup bi_enetaddr for single netsMike Frysinger2009-02-02-1/+10
| | | | | | | 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>
* Blackfin: cache core/system clock valuesMike Frysinger2009-02-02-44/+78
| | | | | | | | 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>
* Blackfin: only build post code when CONFIG_POSTMike Frysinger2009-02-02-9/+1
| | | | | | Save some time by using CONFIG_POST in the Makefile rather than C files. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* Blackfin: fixup misc warnings such as printf's and missing castsMike Frysinger2009-01-28-1/+1
| | | | Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* Blackfin: pass RETX to LinuxMike Frysinger2009-01-28-1/+8
| | | | | | | 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>
* Blackfin: respect CONFIG_SYS_MONITOR_LEN for default flash protectionMike Frysinger2009-01-28-3/+3
| | | | | | | | 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>
* Blackfin: respect/check CONFIG_SYS_GBL_DATA_SIZEMike Frysinger2009-01-28-1/+5
| | | | | | | 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>
* Blackfin: implement general support for CONFIG_STATUS_LEDMike Frysinger2009-01-28-0/+10
| | | | | | Here are the Blackfin-specific and board-independent pieces for status leds. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* Blackfin: do not init i2c in Blackfin board initMike Frysinger2009-01-28-15/+0
| | | | | | | 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>