world leader in high performance signal processing
Trace: » 2008r1

2008R1 u-boot-1.1.6 Release Notes

March 13th 2008


  • New board support: BF527-EZKit
  • New board support: BF548-EZKit
  • Porting to new boards greatly simplified
  • New dynamic SPI flash driver that supports most serial flashes
  • POST support is broken
  • All supported processor variants now work (e.g. BF534/BF536 work rather than just BF537)

Build Environment

While we would love to test every environment out there that you may use, we'll document the platforms we actively develop and test on. Refer to the documentation for setting up your system.

Development is actively done with:

  • Toolchain: Blackfin Toolchain (GCC-4.1.2)
  • Build Platform: Gentoo
  • Target board: BF537-STAMP and BF548-EZKIT boards

Testing is actively done with the same software on SUSE systems, but for all supported boards.


File names generally take the form u-boot-<board>-<boot mode>-<version>.filetype.

All files are raw binary. That means you use them as is. They are most certainly not in the hex or srec format. Alternative file formats are no longer provided as part of the release. If you really need such a file, you will need to convert it yourself.

File Description
u-boot-1.1.6-2008R1.tar.bz2 Source code package
u-boot-bf527-ezkit-para-2008R1.ldr BF527-EZKit booting LDR out of parallel flash
u-boot-bf527-ezkit-spi-2008R1.ldr BF527-EZKit booting LDR out of SPI/serial flash
u-boot-bf527-ezkit-uart-2008R1.ldr BF527-EZKit booting LDR over UART
u-boot-bf533-ezkit-bypass-2008R1.bin BF533-EZKit executing directly from parallel flash
u-boot-bf533-stamp-bypass-2008R1.bin BF533-STAMP executing directly from parallel flash
u-boot-bf533-stamp-spi-2008R1.ldr BF533-STAMP booting LDR out of SPI/serial flash
u-boot-bf537-stamp-bypass-2008R1.bin BF537-STAMP executing directly from parallel flash
u-boot-bf537-stamp-spi-2008R1.ldr BF537-STAMP booting LDR out of SPI/serial flash
u-boot-bf537-stamp-uart-2008R1.ldr BF537-STAMP booting LDR over UART
u-boot-bf548-ezkit-para-2008R1.ldr BF548-EZKit booting LDR out of parallel flash
u-boot-bf548-ezkit-spi-2008R1.ldr BF548-EZKit booting LDR out of SPI/serial flash
u-boot-bf548-ezkit-uart-2008R1.ldr BF548-EZKit booting LDR over UART
u-boot-bf561-ezkit-bypass-2008R1.bin BF561-EZKit executing directly from parallel flash


  • Set default SCLK for BF561-EZKits to 100MHz to workaround hardware problems in newer ADI USB/LAN add on cards
  • Enable arbitrary environment overwriting for all our development boards (like resetting ethaddr)
  • Enable support for command completion by default (even when command history is enabled)
  • Hardcoded CPLB tables thrown out -- all CPLBs are dynamically generated now
  • Enable icache and dcache (write through) by default for everyone, and do so earlier in the booting process
  • Disable icache and dcache before booting an ELF or running an application with go
  • New command cplbinfo for viewing the active CPLB tables
  • New command bootldr using common Boot ROM functions
  • New command otp for accessing on-chip one time programmable memory (found on BF52x and BF54x processors) -- write support is considered broken and will eat your processor as well as your processor's dog
  • New command icache_dump for dumping the L1 instruction cache
  • The memory commands md and cp now work with all on-chip L1 regions
  • Punt local bin2ldr utility and use the ldr-utils package for LDR creation
  • Support environments embedded in LDRs sanely via ldr-utils without hacking common flash code and hardcoded constants in board configs
  • New helper target to automatically select a config and build it: make <board name> (just drop the _config)
  • Bind SMC91111 code to driver config rather than specific boards
  • Switch Blackfin headers to clean/autogenerated ones based on processor xml files rather than VDSP mess
    • Peripheral defines no longer in namespace by default -- need to #include <asm/mach-common/bits/<peripheral>.h
    • Introduce bfin_read/bfin_write MMR accessor functions like in the Linux kernel
    • Use nice anomaly.h headers from the Linux kernel
  • Remove many headers in include/asm-blackfin/ that were not actually used, as well as many unused definitions in the remaining header files
  • Use defines from processor headers for memory ranges rather than hardcoding addresses
  • Unify all Blackfin processor directories bf533, bf537, bf548, and bf561 into just blackfin
  • Unify all Blackfin boot modes into the form BFIN_BOOT_<MODE>
  • Unify all initcode paths (regardless of boot mode) into cpu/blackfin/initcode.c
  • Allow people to explicitly specify init register values (like pll/memory/bus registers) rather than forcing them to go through the handy indirection
  • Enable support for SPORT Hysteresis by default on all processors that support it
  • Drop all unused cpu/cache related functions
  • Convert all assembly code labels to actually be local labels and clean up entry points in general
  • Rewrite reset function to use system reset rather than having the watchdog kick us, and get the latest information from the hardware team rather than the outdated HRM
  • Allow board porters to implement their own reset hook to workaround any board-specific issues
  • Move the -ffixed-P5 compiler flag to common Blackfin config rather than board specific
  • Build with all code with -fomit-frame-pointer by default
  • Drop need for duplicated TEXT_BASE and CFG_MONITOR_BASE -- the latter is used everywhere now
  • Do not read SWRST anywhere so that it is available to the user as they want (it is a read-to-clear register)
  • Cleanup and synchronize all Blackfin linker scripts, and preprocess it now so it can be dynamic based on board config
  • Synchronize default environment for all ADI boards so they all behave very similarly
  • Get rid of object-specific L1 relocation handling and use the standard L1 attributes from the compiler like we do in the kernel (unfortunately this is still broken in general due to lack of linker relocation)
  • Rewrite the SPI flash driver
    • Unified across all Blackfin platforms
    • Dynamic support for a wide variety of chips from most vendors (Spansion/ST/Atmel/Winbond)
    • Regression test suite
  • Drop custom BF537-STAMP parallel flash driver and use the common CFI one instead
  • Add support for Blackfin on-chip hardware watchdog
  • Enable early serial debug support (basically from power-on of the part)
  • Enable debugging support via the hardware trace and including translated symbols (like the kernel crash dump)
  • Enable debug support for catching NULL pointer dereferences
  • Automatically trigger any JTAG emulators via the emuexcpt instruction whenever the board calls the hang function
  • Simplify configuration headers so that commands are bound to device driver support rather than boot mode
  • Convert all board-specific checks to config/processor/driver-specific checks as none of the things were actually board-specific
  • Make sure building with flash support completely turned off works as expected
  • Cleanup the BF537-STAMP specific MAC driver so that any Blackfin board with an on-chip MAC can use it
  • New driver for AXIS AX88180 Gigabit Ethernet parts
  • New driver for SMSC9118 (and friends) Ethernet parts and an EEPROM manager/programmer
  • Optimize the Blackfin RTC driver to only delay when needed (should get rid of the common noticeable pause of up to 1 second during boot)
  • Convert a lot of assembly code to C with bfin_read/bfin_write MMR accessor functions
  • Customize the bdinfo function for the Blackfin port
  • Add script to automatically test all Blackfin boards with all relevant processor variants
  • Fix all supported Blackfin variants so they actually work (e.g. trying to build for the BF531 rather than the BF533 never actually worked in past releases)
  • Add support for video splash screens with optionally-gzipped-compressed BMP (only tested on BF527 and BF548 EZKits) as well as RGB (rather than just YUV) images
  • Fix all known parallel build issues
  • Add support for working around ANOMALY 05000371
  • Workaround issue on BF537 processors when booting over the UART where the Boot ROM resets EBIU_AMGCTL on us


Please refer to the Das U-Boot section of the Blackfin documentation wiki for more information: