world leader in high performance signal processing
Trace: » 2012r1-bf6xx

2012R1 Release Notes for BF60x buildroot Linux Distribution

Version: 2012R1

Date: Jul. 27, 2012

This release is based on buildroot distribution 2011.05 release and kernel v3.3. This release only supports the new generation bf60x serial chips released in Mar. 2012. All BF5xx serial chips are still available in the uClinux distribution.

Development Environments

Tool Chain: toolchain release 2012R1-RC2 based on GCC 4.3

u-boot: uboot release 2012R1-RC4-BF60X based on uboot_2011.09

Host platform: ubuntu Linux 10.04 or above

Target board: BF609-EZKIT

Note: The source code in this release can be used to develop application in other Linux hosts and for bf609 customer boards. But, they are not tested by ADI.


Source files


Compressed Linux image


This document


Compressed archive of test results


Summary of test results


New features and changes

Improve kernel

  • Upgrade kernel to 3.3
  • Support new BF60x serial chips, add machine MMR access Macros for bf60x, define GPIO portmux, IRQ and DMA channel macro.
  • Add 16K, 64K, 16M, 64M CPLB page sizes support to bf60x CPLB management code.
  • Support reboot in Bf609 via RCU register instead of raise 1 to boot rom code.
  • Support programing core and system clocks for BF60x via kernel configuration.
  • Support system interrupts priority assignment for BF60x via kernel configuration.
  • Add l2 ECC IRQ handler on bf60x
  • Enable L2 SRAM on BF60x. Add new boot parameter to reserve L2 SRAM for ICC.
  • Expand pre-defined DMA region to 16M or 32M bytes.
  • Tunne bfin pm framework. Define bfin_cpu_reg_save/restore, bfin_sys_mmr_save/restore, bfin_core_mmr_save/restore macro, use new macro to save/restore pm context.
  • Enable hibernate and deep sleep mode in power management framework for bf60x. Add new wakeup sources configuration for bf60x. use DPM_RESTORE4 to save hibernate data structure.
  • Change ADI BSD license to standart 3 clause BSD license for blackfin arch code.


  • Adapt bf5xx dma driver to bf60x style dma controller. Add dma descriptor array structure.
  • Adapt bf5xx serial driver to bf60x serial4 controller with PIO and DMA mode enabled. Enable hardware flow control for UART0 and UART1.
  • Make bfin_irda driver built with bf60x style serial register macro.
  • Add bf609 mach specific clk and clk_ops define, use new clock interface to get cclk, sclk, uartclk.
  • Add new SEC system event controller driver into irq framework for bf609. Enable gpio pint support and enable software driven irq. Add bf609 PINT assignment and demux support in SEC driver. Remove unused IRQ priority config.
  • Enable bf60x on-chip EMAC driver on top of stmmac Ethernet driver.
  • New SPI host controller driver for bf60x. Support bi-direction DMA mode as well as PIO mode. Rename old bfin SPI driver to spi_bfin5xx.
  • Adapt bf5xx I2C TWI driver to bf60x, add platform configuration to bf609-ezkit board file.
  • Adapt bf5xx CAN socket driver to bf60x, add platform configuration to bf609-ezkit board file.
  • Adapt bf5xx Rotary input driver to bf60x, add platform configuration to bf609-ezkit board file.
  • Adapt bf5xx watchdog driver to bf60x style watchdog, reset chip via SFC fault controller.
  • Adapt bf5xx gptimer driver to bf60x style gptimer, add bf609 specific gp timer implement. Enable gptimer clock source support on bf609.
  • Port bf5xx SD host driver to support new RSI controller in bf609.
  • Add ieee1588 hardware time stamp support in bf609 onchip EMAC driver. Correct PTP nanoseconds register accuracy.
  • New crypto crc hardware accelerater driver for bf60x.
  • New link port driver for bf60x.
  • add BF60x cpufreq support
  • Enable SPORT I2S DAI and ADAU1761 ASOC sound driver for bf60x EI3 audio extendor.
  • Enable EPPI3 bridge and VS6624 V4L2 camera driver for bf60x EI3 stamp converter.
  • Add bfin_spi6xx SPI master driver in poll and DMA modes
  • Adapt MUSB driver to bf60x with DMA mode and OTG enabled, add platform configuration to bf609-ezkit board file.
  • Adapt ssm2603 driver to BF60x
  • Adapt ad7877 touch screen driver to BF60x
  • Add norflash map driver for bf60x to handle bf60x special NOR flash write operation.
  • Enable USB Video Camera driver for bf60x.
  • Adapt SPI flash driver for bf60x, add platform configuration to bf609-ezkit board file.
  • New V4L2 video capture driver for adv7842.
  • New V4L2 video output driver for adv7511.

ICC and MCAPI 2.0

MCAPI is a standard API for applications on different cores and running under different OS to communicate each other. 2 application models are supported in this release.

Linux and GNU bare metal:

  • MCAPI 2.0 library for Linux application
  • ICC Linux driver
  • MCAPI Linux test application
  • MCAPI 2.0 library for GNU bare metal application on slave core.
  • ICC runtime stub for GNU bare metal application on slave core.
  • MCAPI bare metal tasks on slave core.

Linux and CCES:

  • MCAPI 2.0 library for Linux application
  • ICC Linux driver
  • MCAPI Linux test application
  • MCAPI 2.0 library for CCES application on slave core. Included in CCES 1.0.1 release.
  • MCAPI CCES application on slave core. Included in CCES 1.0.1 release.

Application and library

  1. Improve buildroot building framework
    • Support unpacked Linux kernel source trees in buildroot framework
    • Support to use customer external toolchain binaries with given prefix name.
    • Add sub modules for external linux kernel and test suties git trees to buildroot framework
    • Change buildroot to patch kernel by kernel version and unpatch kernel when make clean.
    • Add Analog Devices vendor and blackfin arch into the buildroot target configuration scripts. Add building framework and default rootfs skeleton for bf609-ezkit. Support both FLAT and FDPIC binary formats.
    • Build FDPIC format binary by default. Add default buildroot configuration for bf609-ezkit.
  2. new app for buildroot
    • Add ptpd for IEEE1588 v1 protocol with average 3000ns time offset
    • Port ptpd2 for IEEE1588 v2 protocol with average 500ns time offset
    • Add bluez utils
    • Add inetutils
    • Add iperf
    • Add bonnie++
    • Add dhrystone and whetstone
    • Add dosfstools
    • Add lmbench
    • Add nbench
    • Add samba
    • Add mplayer
    • Add mnt folder and ext2 utility
    • Add linphone
    • add cpufrequtils
    • Add edn
    • Add strace
  3. new lib for buildroot
    • Add client libraries Libnemesi and netembryo to support RTP and RTSP network protocol in buildroot.
    • Add lirc with patch to enable driver cross compiling support in buildroot.
    • Add blackfin g.729 codec library.
  4. new test suites for buildroot
    • Add event_test
    • Add uart flow control test utility
    • Add version
    • Add bfin-dma test suite
    • Add crc_test
    • Add erestart, pthread and traps test suites
    • Add bfin-gptimer test suite
    • Add mmap test suite
    • Add sqlite test suite
    • Add XIP test suite
    • Add pound test suite
    • Add twi, twi_lcd and twi_keypad test suites
    • Add bfin-linkport test suite

Known Issues

A full list of known issues of 2012R1-RC4-BF60X release can be found at:

Known issues:

No Issue Title
6996 traps l1-related test fails on bf609 ezkit
6999 lmbench test fail on bf609-ezkit
7061 In usb bluetooth test, l2ping fail on bf609-ezkit
7119 [ltp] ltp case mem03 fail sometimes
7145 CPLB miss happens when use Ctrl+C to exit linphonec on bf609-ezkit
7190 PM: use spi flash uboot and wake up from mem fails when spi is enabled in kernel config
7202 PM: fail to wake up from mem when usb host is enabled in bf609-ezkit and usb hub is used
7203 PM: fail to wake up from standby when usb host is enabled in bf609-ezkit
7207 Sometimes ssm2603 has no sound output

Build Procedure

  1. Install Toolchain Release 2012R1-RC2
  2. Download the source code of project buildroot for Blackfin release 2012R1-RC6-BF60X
  3. Follow Basic compilation directions

Reporting Bugs

1. Go to the following Blackfin buildroot bug tracker page,

2. If the bug is not already reported click on “Submit New” button to report new bug.