Beginning today, we’ll start shipping boards with a new release of U-Boot, aligned with the 2013.10 release from main-line.

A binary package is available here:

If you extract the content to an SD card, you can upgrade on our standard 1GiB versions of Nitrogen6X or BD-SL-i.MX6 boards like so:
U-Boot > bootfile=u-boot.nitrogen6q ; run upgradeu
Refer to this post for more detail and this post for the list of available machine configurations.

There aren’t too many new features in this release, and no critical bug fixes for most users, so don’t feel pressured to upgrade immediately.

There are a couple of notable bug fixes though:
  • This patch to the clock startup fixed an issue for QNX users. Without it, the GPU would fail to start in around 1 of 10 boot cycles. We also noticed that it cured an occasional hang initializing the SD card and/or SATA under U-Boot, and
  • This patch from Fabio fixed the artifacts on HDMI on Dual-Lite and Solo boards.
We also added support for device-tree in the boot scripts for SABRE Lite and Nitrogen6x and added support for a couple of new 1280×800 displays with the Focaltech FT5X06 touch controller.

Finally, we removed the U-Boot (Linux penguin) logo from the splash screen. As much as we love Tux, it didn’t make a lot of sense when booting QNX or Windows CE (err. Embedded 7). Splash screen support is still present, so you can put him back.

The source code is in the normal place (“production” branch on GitHub). We’ve kept the older release in branch production-before-20131107.

In case there’s a regression, binaries of the older 2013.07 release are available here: As always, please let us know how this upgrade goes for you, and reach out if you have any trouble.

Comments 6

  1. Daniel

    I just made a dumb mistake, I accidentally forgot the last 0 in the sf write command and just executed ‘U-Boot > sf write 10000000 c200 ${filesize}’. So, if I got this right I have overwritten my u-boot. I now already have loaded the last u-boot image over your imx_usb_loader tool and then used ‘bootfile=u-boot.nitrogen6q;run upgradeu’, This worked pretty fine, but I still get a black Screen after a reset.
    PS.: After executing the ‘upgradeu’ command again I get a message that u-boot versions match, so no update is performed. How can I get u-boot loading again?

      1. Post
  2. embedsri

    Hi Eric,
    I’m assuming BoundaryDevices used Freescale DDR Stress test tool as referenced here: https://community.freescale.com/docs/DOC-96412

    for i.MX6-BD.SL board and updated the DDR3 related parameter into the dcd table of u-boot.

    Can you share the script you used for this purpose? Its contents should have looked a lot like this:

    // DDR Controller Registers
    // Manufacturer: Micron
    // Device Part Number: MT41K128M16JT-125:K
    // Clock Freq.: 528MHz
    // Density per CS in Gb: 8
    // Chip Selects used: 1
    // Number of Banks: 8
    // Row address: 14
    // Column address: 10
    // Data bus width 64

    // Calibration setup.
    setmem /32 0x021b0800 = 0xA1390003 // DDR_PHY_P0_MPZQHWCTRL, enable both one-time & periodic HW ZQ calibration.

    // For target board, may need to run write leveling calibration to fine tune these settings.
    setmem /32 0x021b080c = 0x00000000
    setmem /32 0x021b0810 = 0x00000000
    setmem /32 0x021b480c = 0x00000000
    setmem /32 0x021b4810 = 0x00000000

    ////Read DQS Gating calibration
    setmem /32 0x021b083c = 0x00000000 // MPDGCTRL0 PHY0
    setmem /32 0x021b0840 = 0x00000000 // MPDGCTRL1 PHY0
    setmem /32 0x021b483c = 0x00000000 // MPDGCTRL0 PHY1
    setmem /32 0x021b4840 = 0x00000000 // MPDGCTRL1 PHY1

  3. Wilson


    Got errors when upgrading the u-boot
    MX6Q SABRELITE U-Boot > run upgradeu
    Card did not respond to voltage select!
    mmc0(part 0) is current device
    MMC: block number 0x1 exceeds max(0x0)
    ** Can’t read from device 0 **

    ** Unable to use mmc 0:1 for fatload **
    ** Bad partition 1 **
    mmc1 is current device
    reading /6q_upgrade

    ** Unable to read “/6q_upgrade” from mmc 1:1 **
    Loading file “/6q_upgrade” from mmc device 1:1 (xxb1)
    1465 bytes read
    ## Executing script at 10008000
    ERROR: There is a global environment variable with the same name.
    check U-Boot
    ** Block device 1:1 301989888 not supported
    ** Block device 1:1 301989888 not supported
    No U-Boot image found on SD card

    I just copy 6q_upgrade and u-boot.imx to the SD card and then run upgardeu.
    I tried different cards already. Any clues?

    P.S. I am able to boot this u-boot.imx through USB OTG port.

    1. Post

      Hi Wilson,

      The source of the issue you’re seeing is the really old version you’re running. we switched from using 6q_upgrade to 6x_upgrade when we switched to main-line U-Boot because there are command-line incompatibilities. See this thread for details, but the short answer is that you’ll need the 6q_upgrade script from this post.

Leave a Reply

Your email address will not be published. Required fields are marked *