106

Unbricking a Nitrogen6X or Sabre Lite i.MX6 board

Boot mode switches on Nitrogen6X If you’ve ever looked closely at the Sabre Lite or Nitrogen6X boards, you’ll see that there are two DIP switches and some notation on the silk screen indicating their use.
  • 00 – Fuses
  • 01 – USB
  • 10 – Internal
These switches can be used to override the normal boot flow and force a boot to the USB OTG port.

Under Linux

If you set the switches to the USB setting and reset the board or cycle power, you should see a “Freescale” device show up in lsusb:
        ~/$ lsusb
	Bus 008 Device 002: ID 044e:3017 Alps Electric Co., Ltd BCM2046 Bluetooth Device
	Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
	Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
-->	Bus 006 Device 012: ID 15a2:0054 Freescale Semiconductor, Inc.
	Bus 006 Device 006: ID 06cd:0119 Keyspan USA-19QW PDA
	Bus 006 Device 004: ID 04f2:0841 Chicony Electronics Co., Ltd
Combined with the right tools, this can be used to un-brick a board whose serial EEPROM has been trashed, or to program the serial EEPROM on a board which has never been programmed. Freescale has a tool (the Manufacturing tool) that will do this. It will allow you to program not only the serial EEPROM on a board, but also SD cards, NAND, and NOR flash you might have attached to your device. That’s pretty heavy-weight though. It also requires Windows, which isn’t present on many development machines, and it won’t run on an i.MX board. To address these issues, we built our own, and made the sources available on GitHub:

This tool is much more lightweight. In normal use, it simply loads a named file into RAM and executes it. If you run it like so, you can launch a U-Boot binary directly.

~/imx_usb_loader$ ./imx_usb u-boot.imx
If you’re running the older U-Boot (2009.08 code base), you’ll need to specify u-boot.bin.
~/imx_usb_loader$ ./imx_usb u-boot.bin
If everything goes as planned, you should see U-Boot launch (output on the serial console) If you’ve gone through all of this, you might ask how this un-bricks the board. It doesn’t. But once you have U-Boot running, you can use U-Boot to upgrade the serial EEPROM using the upgradeu command as discussed in this blog post:
  • u-boot-conventions-for-i-mx6-nitrogen6x-and-sabrelite

Build Details

To run imx_usb, you’ll need to have libusb installed on your machine. If you’re using an Ubuntu or Debian machine, you should be able to do this:
    ~$ sudo apt-get install libusb-1.0-0
To compile it, you’ll need the libusb headers, which can be installed by grabbing the -dev package:
~$ sudo apt-get install libusb-1.0-0-dev
And compiling it should just be a matter of grabbing the sources and invoking make:
~$ git clone git://github.com/boundarydevices/imx_usb_loader
Cloning into 'imx_usb_loader'...
remote: Counting objects: 131, done.
remote: Compressing objects: 100% (61/61), done.
remote: Total 131 (delta 71), reused 127 (delta 68)
Receiving objects: 100% (131/131), 44.69 KiB, done.
Resolving deltas: 100% (71/71), done.
~$ cd imx_usb_loader/
~/imx_usb_loader$ make
cc -c imx_usb.c -o imx_usb.o -Wstrict-prototypes -Wno-trigraphs -pipe -ggdb `pkg-config --cflags libusb-1.0`
cc -o imx_usb imx_usb.o -lusb-1.0

Under Windows

See this post for details on how to use sb_loader.exe under Windows.

The function is essentially the same: sb_loader.exe can be used to download and run a U-Boot image and U-Boot can handle the rest.
adminUnbricking a Nitrogen6X or Sabre Lite i.MX6 board

Comments 106

  1. Post
    Author
    ericn

    It appears that we inadvertently checked in a file named ‘mx6_usb_work.conf’ that contained support for auto-programming devices.

    If you downloaded before now and run across error messages about missing binary files, please grab the latest copy of the configuration file.

  2. Lili.Wang

    hello , I have a question about auto load uboot from spi nor of i.mx6 sabre-lite board, would you give me same tip that I can auto boot from spi, i have MFG Tools and can download uboot to Ram and run it , but when i write uboot to addr 0 on SPI Nor, but Can’t run it on boot. please give me same help!! Thanks!!

  3. Post
    Author
    ericn

    Our boards should have the boot fuses blown to select SPI NOR boot at reset time.

    Are you running a u-boot.imx file though USB or u-boot.bin. Since the u-boot.imx file doesn’t contain the 0x400 bytes of padding at the start, it wants to be programmed to offset 0x400.

    1. Lili.Wang

      Hello Ericn: Thanks for you reply, I have download the u-boot.imx by usb tools, and run it all right , but how can i write it to SPI NOR , i have use sf command to write it to 0 address, is’t right ? or it should write it to 400 addr ? Thank you !!

      1. Post
        Author
    2. Lili.Wang

      Another Question , I don’t find the boot fuses on the sabre lite board ,Can you tell me how can i Set the Boot fuses,Thank you .

      1. Post
        Author
        1. Lili.Wang

          ok, I think i know about it, but how to programmed the fuses ??? by which tools ? or a software? Would you give me a tip. Thank you!!

          Best Regards .

          Lili.Wang

  4. Post
    Author
  5. Ed

    Has anyone used this imx_usb tool on a Windows machine? I have the source for both imx_usb.c and libusb and I’m able to build successfully on both windows and linux; however, on windows (W7) the call to libusb_open() fails with LIBUSB_ERROR_NOT_SUPPORTED (-12). It works fine on Linux.

    1. Post
      Author
      ericn

      Hi Ed,

      No. Nobody has tested this under Windows (until now). Troy confirmed compilation under Cygwin, but hasn’t had a chance to test.

      Do you know if you have libusb installed under Cygwin?

      1. Ed Sutter

        Eric,
        Sorry for the late reply (I didn’t get an email notice that you responded)…
        The libusb that I am linking to is one that I got from libusb.org and built from scratch (on cygwin).
        I assume that, if anything, that version would be newer than anything I would get from cygwin.
        Ed

        1. Post
          Author
          ericn

          Hi Ed,

          We’ll look into this when we can, but it’s pretty low on our priority list at the moment.

          Can you run a VM or borrow a Linux machine until then?

          If not, do you have multiple i.MX boards? Since imx_usb is Linux-based, we can put together
          a userspace that includes it.

          1. Ed

            Eric,
            Its really no problem. I’ve been working on a linux box, and using imx_usb there. Which, by the way, I built the exact same way on linux as I did under cygwin). Its just a convenience because when we start building up raw boards, it would be nice to be able to use a typical lab pc which in most cases for us is some old Windows box. I know the MfgTool from freescale can be used there if really necessary.

            If you (or I) figure out how to get imx_usb running on windows lets post that info here.
            Thanks much for the help,
            Ed

          2. Post
            Author
      2. Post
        Author
        1. Ed

          Eric, Just be aware of my post from Jun 28. I tried sb_loader, and as of now can’t explain why I see some invalid data on-target that I did not see when using imx_usb. I’ll post an update if I figure out what the issue is; but for now, just note the warning (could very well be a false alarm; however, as I said in my earlier post, I took the exact same image and loaded it with imx_usb and sb_loader, and the result was different (with sb_loader being the one that I currently claim at fault).

          1. Post
            Author
            ericn

            Thanks Ed,

            We have limited experience at this point, but nominally, this works. We have been able to take a current version of U-Boot and load and run it using sb_loader.

          2. Ed

            When/if I figure out whether this is an issue or its just my stupidity, I’ll let you know. Assume for now that its probably something I’m doing wrong.. :-(

          3. Post
            Author
            ericn

            Hey! I have to take offense at the wording here.

            Stupidity is a pretty harsh word, and the worst case is that Ed made a mistake…

            The best case is that we owe Ed a beer for finding a corner case where things don’t work.

  6. greg herman

    Trying to unbrick the board,
    ran ./imx_usb u-boot-otp.bin and got:
    main:Could not open device vid=0x15a2 pid0x54 err-3

    1. Post
      Author
      1. Ed

        Eric,
        I use sudo all the time, would be nice to just change permissions to eliminate this.
        This is probably a dumb question but, how do you know which /dev entry to change?
        The logical thing I did was compare ls -l of /dev with and without the board plugged in
        and it shows usbdev1.13_3p00 and usbdev1.13_ep81
        Ed

        1. Post
          Author
          ericn

          There’s a way to do this using udev, and I’ve seen some related notes for Android fastboot devices (which also use libusb), but I don’t have anything off-hand.

          I cheat and have imx_usb owned by root and set the suexec flag.

  7. Jason

    If I put the switches in what looks like (according to the board artwork) the USB position it doesn’t seem to work. However if I put the switches in the “Internal” position I can use the imx_usb program and boot the board fine. Is the artwork backwards or am I backwards? :)

    1. Post
      Author
  8. kumar

    From the posts above I see that this utility is not tested in cygwin environment, it would be nice, if available there, as our lab pcs are all windows.

    I got it to compile after installing libusb in cygwin–>dev, and if I comment out sys/io.h it compiles.
    running it takes segmentation fault. I am not familiar with cygwin environment and not user if libusb is doing its job. is sys/io.h required in cygwin environment ?

    Any timeframe that you are planning to release cygwin version

    1. Post
      Author
      ericn

      Hi Kumar,

      Cycles with a working Windows install in our office are a rare commodity, so we don’t have anything planned immediately.

      As for the compilation error, this may be a Cygwin version thing. It’s been a while since we’ve even compiled for Cygwin.

      1. erickr

        Yes, experiencing the same SIGSEGV fault in cygwin right at line 504. It appears we are all using the same libusb version since you must include . The fault is valid as the value of devs after the call libusb_get_device_list looks too low to be a real address.

        Can you confirm the call you guys make to libusb_get_device_list on line 1604 returns valid buffer? Just seems the weird that the libusb library would work differently on Windows.

          1. erickr

            Yeah, it looks like I cannot get rid of this error. I try to run as administrator and it is a no go. Looks like I need some help on this one. I’m sure sure how to get access to this device in Windows :(

          2. Post
            Author
            ericn

            Can you run an Ubuntu virtual machine?

            VirtualBox can access libusb, though I’m not sure about other virtual machine managers.

            If not, can you get access to a full Linux machine in your office?

            If none of those work, we have imx_usb running on our boards. Do you have another board you can use?

          3. erickr

            Actually, if I use the sb_loader in the mfgtool utilities folder then it works. Just follow their example. The sb_loader is just a command line they provide along with cfimager when you download the whole big mfgtool from their downloads site. Here is the link: https://www.freescale.com/webapp/Download?colCode=IMX_6DQ_MFG_TOOL&appType=license&location=null&fsrch=1&sr=1&Parent_nodeId=from%20search&Parent_pageType=from%20search&Parent_nodeId=1337699481071706174845&Parent_pageType=product

          4. Ed

            Ericr,
            Hi,
            You mentioned that you use “sb_loader” (under windows) from the MFGTOOL Utilities download.
            I need a windows-based tool (without a GUI), so I tried that too. It has been working. I’ve been able to write code, download it and test it; however, this AM I just noticed that some portions of data area (that did not affect runtime) were not loaded as they should be. So, I went back to my linux box and used imx_usb to download the exact same set of files and then the data was clean. Not sure what the problem is, but I figured I’d let you know (it could be pilot error on my part).

            So, this is just a warning that there may be something strange going on with the sb_loader tool (or I may not be using it correctly). You mentioned an “example”, but I didn’t find any information on this tool, I just run “sb_loader -f binfilename” and the board is magically loaded.

          5. Post
            Author
            ericn

            Thanks Ed.

            Oddly, I wasn’t aware of sb_loader. If it came from my fingertips, it shoulda’ had a u at the beginning ;)

          6. Ed

            Hi Eric,
            Actually, my previous comment was directed to “Erickr”. The “sb_loader” is a real tool (no typo) ’cause it does come with the MFGTOOLS stuff that Freescale gives out. I tried it based on Erickr’s mention of it, and until this morning I *thought* it was working fine (I’m still looking for a windows-based tool, since imx_usb doesn’t seem to work on windows).
            I sure would like to get that version working on windows! I really like to have source code for the tools I use.
            Anyway, my previous comment (to Erickr) was just a “heads up warning” because I’m seeing corruption. Note that I’m already switched back to my linux-hosted build because of this.
            Thanks,
            Ed

          7. Post
            Author
  9. Bhimsen

    Hello,
    I have flashed a wrong u-boot.bin version on the SPI-NOR flash of imx6q-sabrelite board, in-which sf command support has been removed.

    I have another issue that, when I set the boot switches for OTG mode, i.e., SW1 – 1 & SW1 – 0. Connected the USB cable to OTG port of the board, but I am not able to see it getting detected as HID device in the device manager on Windows-7 machine. I also connected the same to Ubuntu machine, and checked lsusb. There also it is not getting detected.

    Is there any solution? I think that probably the HID complient detection part of the code has been removed from the SPI-NOR flash, because of my last u-boot update. Is my understanding correct.

    Help me please.

    1. Post
      Author
      ericn

      Hello Bhimsen,

      I suspect that you’re seeing the backwards artwork that Jason reported. Please try the alternate switch setting.

      No changes to SPI-NOR can affect the ability to get into serial boot mode because that decision happens in the internal ROM before deciding to look at SPI-NOR.

  10. Muhammad Faisal

    Hi All,

    I want to download my .bin file on the Nitrogen board, I produced this .bin file with imx_sdk from freescale. I dont want to use mfg tool as I am using ubuntu so I tried to dowloand my .bin file on the Nitrogen board using imx_usb_loader, I did the following.

    I downloaded the imx_usb_loader_master.zip from the repository and then I extract all the files,
    Then I run the make command , after that I could see imx_usb (application or exe file).
    then I copied my uart_check_test.bin file and execute the following command

    sudo su ./imx_usb uart_check_test.bin

    and I got the following result:

    =======================================================================

    parse mx6_usb_work.conf
    15a2:0054(mx6_qsb) bConfigurationValue =1
    Interface 0 claimed
    report 1, wrote 16 bytes, err=0
    report 3, read 4 bytes, err=0
    read=56 78 78 56
    uart_check_test.bin 0 0 1 0 1 2
    main dcd length 2b8
    sub dcd length 2b4
    dcd_ptr=0x10000430

    loading binary file(uart_check_test.bin) to 10000000, skip=0, fsize=1a108 type=aa

    <<>>
    jumping to 0x10000400

    =====================================================================

    but nothing appears on my serial port that was supposed to be sent through uart.

    I also tried other .bin files (that i compiled for different test) but every time , I was getting the same result with exactly same information…

    can anybody guide me in this regard,

    Muhammad Faisal.

  11. smike

    Hi All,

    I tried to download my u-boot.bin file on the Sabre Lite board using imx_usb_loader:

    sudo ./imx_usb u-boot.bin

    and I got the following result:

    parse mx6_usb_work.conf
    15a2:0054(mx6_qsb) bConfigurationValue =1
    Interface 0 claimed
    report 1, wrote 16 bytes, err=0
    report 3, read 4 bytes, err=0
    read=56 78 78 56
    u-boot.bin 0 0 1 0 1 2
    main dcd length 2d8
    sub dcd length 2d4
    dcd_ptr=0x2780042c
    
    loading binary file(u-boot.bin) to 27800000, skip=0, fsize=2bb40 type=aa
    out err=-7, last_trans=0 cnt=0x4000 max=0x400 transferSize=0x0 retry=0
    out err=-7, last_trans=0 cnt=0x4000 max=0x200 transferSize=0x0 retry=1
    ...
    Giving up
    report 1, wrote 0 bytes, err=-7
    ....
    report 3, read 0 bytes, err=-7
    read=00 00 00 00
    4 in err=-7, last_trans=0  00 00 00 00
    

    can anybody help me?

    BR, Michael

    1. Post
      Author
      ericn

      Hi Michael,

      It appears that you weren’t connected over USB properly.
      Did you run lsusb before-hand and verify that a “Freescale” device showed up?

      1. smike

        Hi Ericn!
        Yes, I run lsusb and verify that the “Freescale” device is defined correctly.
        ID 15a2:0054 Freescale Semiconductor, Inc.

        1. Post
          Author
          ericn

          Hi Mike,

          Can you try with one of our U-Boot binaries? There’s a complete set (for various processor/memory configurations) on-line here:

          If you’re running a standard SABRE Lite or Nitrogen6X with Quad-core, you’ll want to use ‘u-boot.nitrogen6q':

          ~/imx_usb_loader$ sudo ./imx_usb u-boot.nitrogen6q
          
          1. smike

            Hi Ericn!
            Yesterday I didn’t tell you that I try to load u-boot on a board of our own development, almost identical saber lite (sorry for bad English).

            Today I once again run lsusb as “lsusb -v -d 15a2:0054″ with our board:

            Bus 001 Device 021: ID 15a2:0054 Freescale Semiconductor, Inc.
            Device Descriptor:
            bLength 18
            bDescriptorType 1
            bcdUSB 2.00
            bDeviceClass 0 (Defined at Interface level)
            bDeviceSubClass 0
            bDeviceProtocol 0
            bMaxPacketSize0 64
            idVendor 0x15a2 Freescale Semiconductor, Inc.
            idProduct 0x0054
            bcdDevice 0.01
            iManufacturer 1 Freescale SemiConductor Inc
            iProduct 2 SE Blank ARIK
            iSerial 0
            bNumConfigurations 1
            Configuration Descriptor:
            bLength 9
            bDescriptorType 2
            wTotalLength 34
            bNumInterfaces 1
            bConfigurationValue 1
            iConfiguration 4 Freescale Flash
            bmAttributes 0xc0
            Self Powered
            MaxPower 10mA

            ………………………….

            and so on …

            I try to load ./imx_usb u-boot.nitrogen6q to Sabre Lite – everything is ok.

            when I try to load ./imx_usb u-boot.nitrogen6q to our devboard, I receive an error: “out err=-7″
            out err=-7 is libusb_control_transfer error code LIBUSB_ERROR_TIMEOUT – transfer timed out.

            in what there can be a problem (in processor, in RAM memory, in USB)?

            Thanks.
            BR, Michael

          2. Post
            Author
            ericn

            Hi Michael,

            Any number of problems could be present, but RAM issues are the most likely.

            You might want to create a binary that runs from IRAM as a test.

          3. smike

            Hi, Ericn!
            I loaded u-boot.nitrogen6q on my board, but now other problem:
            ==================================================
            imx_usb_loader-master$ sudo ./imx_usb u-boot.nitrogen6q
            parse mx6_usb_work.conf
            15a2:0054(mx6_qsb) bConfigurationValue =1
            Interface 0 claimed
            report 1, wrote 16 bytes, err=0
            report 3, read 4 bytes, err=0
            read=56 78 78 56
            u-boot.nitrogen6q 0 0 1 0 1 2
            main dcd length 308
            sub dcd length 304
            dcd_ptr=0x177ffc2c

            loading binary file(u-boot.nitrogen6q) to 177ffc00, skip=0, fsize=50620 type=aa

            <<>>
            jumping to 0x177ffc00

            ==================================================

            but nothing appears on my serial console port after the message “jumping to 0x177ffc00″ :(
            can you help me?

            BR, Michael

  12. Rob

    Hi Michael and Eric

    Was there ever a resolution to this? I am also receiving the same “jumping to 0x177ffc00″ error

    1. Post
      Author
      ericn

      Hi Rob,

      I’m presuming a hardware error on Mike’s custom board, since this isn’t an issue we’ve seen.

      Are you also running against a custom board?

    1. Post
      Author
      ericn

      The ‘jumping to x’ message indicates success, and should be followed immediately by data on the serial console.

      Are you seeing anything on the serial port?

      1. smike

        Hi, Eric!
        Now I run u-boot.imx on my custom board, the problem was that the console port UART2 moved from standard pins EIM_D26, EIM_D27 to pins SD4_DAT7, SD4_DAT4 :(
        Next question: I want that u-boot booted from eeprom spi memory. I wrote u-boot in eeprom memory to the address 0x400.
        And now, how can I set eFUSEs to indicate (to say) boot ROM that the boot device is eeprom spi memory? (sorry for my bad English).
        Or what I need to do that my board booted from eeprom spi memory? (now boot ROM at once jumps directly to the Serial Downloader)

        Thanks!
        BR, Michael

        1. Post
          Author
          ericn

          Hi Michael,

          At the risk of bricking your board, I can only say that
          we use the imxotp command.

          U-Boot > imxotp blow --force 5 0x18000030
          U-Boot > imxotp blow --force 6 0x00000010
          

          Please double-check the validity for your board (no warranty implied).

  13. Rob

    Thanks for following up eric.

    I resolved the issue by using the manufactures tool in windows with a putty serial console open. The mfgtool in windows required: a restart of the pc, plugging in the device, then open the manufacturing tool in order for it to work.

  14. ravitejave

    Hello eric

    I followed above procedure

    and i ended up with

    parse mx7_usb_work.conf
    15a2:0054(mx6_qsb) bConfigurationValue =1
    Interface 0 claimed
    report 1, wrote 16 bytes, err=0
    report 3, read 4 bytes, err=0
    read=56 78 78 56
    ../u-boot.nitrogen6q 0 0 1 0 1 2
    main dcd length 308
    sub dcd length 304
    dcd_ptr=0x177ffc2c
    
    loading binary file(../u-boot.nitrogen6q) to 177ffc00, skip=0, fsize=50620 type=aa
    
    <<>>
    jumping to 0x177ffc00
    

    —————————————–

    nothing happens afterwards

    should the board be connected to minicom through uart while doing the above procedure ??

    if yes , which port ?? (/dev/ttys0 or /dev/ttys2)

    i am asking about the port because nothing comes in dmesg

    please do reply

    i am stuck with this board

    thanks and regards

    raviteja

    1. Post
      Author
      ericn

      Hi Raviteja,

      This all looks good, and you should see U-Boot come up on the serial console (/dev/ttymxc1, labelled “Console” on the DB-9).

      1. raviteja613

        i tried ttymxc1 but it says

        minicom: cannot open /dev/ttymxc0: No such file or directory

        same case with ttymxc0

          1. Post
            Author
  15. Assya

    I think I have trashed my My Sabre Lite board – SPI NOR Flash after I have tried to reflash it by these Linaro instructions, using SD card.
    https://wiki.linaro.org/Boards/MX6QSabreLite

    I failed to recover the board (didn’t even have a serial output after reflashing) using Freescale tool. I tried several versions with no luck.

    After reading this post – I have managed to get U-Boot launch in a serial console (after it has loaded uboot.bin, I had from Freescale tool, into RAM and executet it) from USB. U-Boot Menu opened.

    Now, I would like to flash this (or other) Uboot to a serial ROM (in order to boot from the serial flash, as I did before and not from USB). Can you please explain how do I do flash Uboot on a serial flash in Sabre Lite board?

    Thanks, Assya.

    U-Boot 2009.08 (Dec 18 2012 - 19:50:28)
    CPU: Freescale i.MX6 family TO1.2 at 792 MHz
    Temperature:   41 C, calibration data 0x5a84e17d
    mx6q pll1: 792MHz
    mx6q pll2: 528MHz
    mx6q pll3: 480MHz
    mx6q pll8: 50MHz
    ipg clock     : 66000000Hz
    ipg per clock : 66000000Hz
    uart clock    : 80000000Hz
    cspi clock    : 60000000Hz
    ahb clock     : 132000000Hz
    axi clock   : 264000000Hz
    emi_slow clock: 132000000Hz
    ddr clock     : 528000000Hz
    usdhc1 clock  : 198000000Hz
    usdhc2 clock  : 198000000Hz
    usdhc3 clock  : 198000000Hz
    usdhc4 clock  : 198000000Hz
    nfc clock     : 24000000Hz
    
    Board: MX6Q-SABRELITE:[ POR]
    Boot Device: I2C
    I2C:   ready
    DRAM:   1 GB
    MMC:   FSL_USDHC: 0,FSL_USDHC: 1
    Using default environment
    In:    serial
    Out:   serial
    Err:   serial
    Net:   got MAC address from IIM: 00:19:b8:01:09:5a
    FEC0 [PRIME]
    Hit any key to stop autoboot:  0
    Wrong Image Format for bootm command
    ERROR: can't get kernel image!
    MX6Q SABRELITE-MFG U-Boot >
    
    1. Post
      Author
      ericn

      Hi Assya,

      As long as you’re re-programming the flash, let’s get you started off right.

      We’ve just uploaded a tarball of the latest production U-Boot code that we’re shipping:

           u-boot-2013-6-19.tar.gz

      If you extract it to a single-partition SD card (FAT or ext2/3/4), and re-name u-boot.nitrogen6q to u-boot.imx, you can run upgradeu to re-program your flash with the latest.

      You’ll need to be running our U-Boot though. Freescale’s MFG U-Boot binary has some incompatibilities with the 6x_upgrade script.

      On your dev machine: run imx_usb like this:

      ~/imx_usb_loader$ sudo ./imx_usb u-boot.nitrogen6q
      

      You should see U-Boot launch on the serial port, and you should see today’s date (Jun 19, 2013) in the banner.

      Then you can use upgradeu on the serial console as shown in this post.

      1. Assya

        ericn,
        thank you for the quick reply.

        After wasting a half day on this I was finally able to boot the board (without the USB).

        I followed the instructions on http://www.eewiki.net/display/linuxonarm/i.MX6x+SABRE+Lite+SPI+Flash+Recovery
        My board now boots with U-Boot 2009.08-…..

        The strange thing was that after playing with the boot switch on board so many times, I forgot to put it into 01 mode and I performed the procedure (booting and reflashing) when the boot switch is set into 00. I wonder what does it mean?

        My next purpose is to be able to boot Yocto built on it (from SD card).
        This is the reason I have tried to update the boot with Linaro iMX6DQ_SPI_to_uSDHC3.bin from the first place.
        This puzzles me. Do I need to upgrade to the updated boot (you have supplied) in order to be able to boot from SD card (or microSD card) as stated in Linaro page:

        https://wiki.linaro.org/Boards/MX6QSabreLite

        “By default, the SabreLite boards come with u-boot which is loaded from the SPI NOR flash. These boards need to be reflashed with a small SD card loader to support boot from SD card. This small SD card loader will be flashed into the SPI NOR, the board will still boot from SPI NOR, but the loader will in turn request the BootROM to load the u-boot from SD card. ”

        Or this Linaro page isn’t valid for my case.

        Thank you very much, Assya.

        1. Post
          Author
          ericn

          Hi Assya,

          The notes on the Linaro page are bad advice for just about everyone, and I’ve asked Shawn to take them down, or at least say that these are only useful for testing the Linaro build process.

          I’ll do the same with the eewiki page.

          Please upgrade to our latest using the instructions I posted earlier and let me know if you have any trouble.

  16. Assya

    ericn, thank you.

    I have written a reply, but not sure it was sent.
    I have finally reprogram with the flash using the uboot and instructions from http://www.eewiki.net/display/linuxonarm/i.MX6x+SABRE+Lite+SPI+Flash+Recovery

    However, after playing with the boot switch half a day to fix my board, I have accidentally did it when set to 00. Is it possible?

    The reason I have started to reprogram the SPI NOR Flash due to the statement in Linaro

    “By default, the SabreLite boards come with u-boot which is loaded from the SPI NOR flash. These boards need to be reflashed with a small SD card loader to support boot from SD card. This small SD card loader will be flashed into the SPI NOR, the board will still boot from SPI NOR, but the loader will in turn request the BootROM to load the u-boot from SD card.”

    Following this procedure led me to recovering my board. Recovery with Freescale tool didn’t work for me. Thus, if I want to load permanently the uboot on my SDcard (slot3), for example Yocto builds – what do I need to do?

    Do I need to update the uboot to the updated one (currently I am with 2009.08)?
    Do I need to try the Linaro flow again?

    Thank you,
    Assya.

    1. Post
      Author
      ericn

      Again, this is bad advice.

      The reason you didn’t see your post is that we have to approve each comment before it becomes visible (spam prevention).

  17. younes

    Hi all,

    I’m trying to unbrick my i.MX6q Sabre Lite board.

    Connecting the board to the host PC with by USB, and turning the switches to USB OTG on the board, then powering up or reseting the board.

    But when entring the command : lsub
    I have no entry named Freescale semiconductor Inc !!!

    How can I force the board to run up on USB OTG recovery mode ?

    Thanks in advance for your answers

    Best regards

    1. Post
      Author
      ericn

      Hello Younes,

      Please try the alternate switch settings (i.e. 10 instead of 01). The silk screen is a bit confusing on some boards.

      1. younes

        Thank’s ericn for your quick answer. I’ve tried all the possibilities of the switches but it doesn’t work at all.
        No way to have the Freescale entry by lsusb !!! Does exist another way ?
        Because at the moment when I turn on the board I have no output on the output of the serial line.
        Regards

        1. Post
          Author
          ericn

          Hi Younes,

          Nope. There is no other way.

          I’ve never seen this fail, and this is effectively what’s done at the time of manufacturing of each board, so the USB OTG ports are tested 100% of the time.

          Are you getting any messages from the kernel on your development machine when you connect/disconnect the cable?

          ~/$ dmesg | tail
          

          I have seen the USB port on my host (laptop) get screwed up before, and a re-boot fixed it.

          Also, please double-check your cabling to see that everything is well-connected.

          1. younes

            Hi Eric,

            I checked the cabling, and everything is well connected. Here is the log from : dmesg | tail command :

            younes@younes-Latitude-E6530:~/Younes/Sabre$ dmesg | tail
            [ 1882.625777] usb 3-1: device not accepting address 59, error -71
            [ 1882.737791] usb 3-1: new full-speed USB device number 60 using xhci_hcd
            [ 1882.737952] usb 3-1: Device not responding to set address.
            [ 1882.941895] usb 3-1: Device not responding to set address.
            [ 1883.145722] usb 3-1: device not accepting address 60, error -71
            [ 1883.257724] usb 3-1: new full-speed USB device number 61 using xhci_hcd
            [ 1883.257887] usb 3-1: Device not responding to set address.
            [ 1883.461881] usb 3-1: Device not responding to set address.
            [ 1883.665652] usb 3-1: device not accepting address 61, error -71
            [ 1883.665689] hub 3-0:1.0: unable to enumerate USB device on port 1

            Do you have an idea of where it may come ?

            Thanks

          2. younes

            Hi Eric,

            Here is the log with the dmesg command :

            younes@younes-Latitude-E6530:~/Younes/Sabre$ dmesg | tail
            [16725.052578] usb 3-1: device not accepting address 44, error -71
            [16725.164583] usb 3-1: new full-speed USB device number 45 using xhci_hcd
            [16725.164711] usb 3-1: Device not responding to set address.
            [16725.368706] usb 3-1: Device not responding to set address.
            [16725.572494] usb 3-1: device not accepting address 45, error -71
            [16725.684499] usb 3-1: new full-speed USB device number 46 using xhci_hcd
            [16725.684657] usb 3-1: Device not responding to set address.
            [16725.888632] usb 3-1: Device not responding to set address.
            [16726.092439] usb 3-1: device not accepting address 46, error -71
            [16726.092478] hub 3-0:1.0: unable to enumerate USB device on port 1

            Do you have an idea of where it may come ?

            Thanks

  18. raviteja613

    Hello Ericn

    I am facing a strange issue this time

    My board is not getting detected when i connect in usb mode through usb-otg

    nothing in dmesg

    can you figure out what might be the problem

    1. Post
      Author
      ericn

      Is this after boot, or when running U-Boot (using bmode)?

      Not all of our images are configured for USB OTG by default.

      1. raviteja613

        My board is not showing u-boot prompt

        I am trying to flash u-boot on SPI-NOR by following instructions in “unbricking sabrelite board”

        but my board is not getting detected when i give lsusb command

        I followed all steps – kept board in USB mode i.e 01
        installed libusb tools

        is there any possibility to boot from mmc ??
        i think my SPI_NOR got corrupted

        1. Post
          Author
          ericn

          Can you try switch position 10? Some silk-screens are mis-leading.

          There is no way of getting around the issue except through USB OTG,

        2. younes

          Hi,
          I had the same probem. I resolved it with the MFGTool. You need to be under Windows. And your target will be flashed by putting U-Boot on the SPI-NOR. Then you can boot from mmc

  19. Saransh Jain

    hey,
    I might have bricked my board.When I try reflashing using the command sudo ./imx_usb u-boot.imx
    it gives an error:

    parse mx6_usb_work.conf
    15a2:0054(mx6_qsb) bConfigurationValue =1
    Interface 0 claimed
    report 1, wrote 16 bytes, err=0
    report 3, read 4 bytes, err=0
    read=56 78 78 56
    u-boot.imx 0 0 1 0 1 2

    error, can not open input file: u-boot.imx
    report 1, wrote 16 bytes, err=0
    report 3, read 4 bytes, err=0
    read=56 78 78 56

    Any suggestions??

    1. Post
      Author
      ericn

      I think you missed the important error message in the spew:

      error, can not open input file: u-boot.imx
      

      You need to specify the location of the U-Boot file that you want to execute.

  20. AndrewJ

    Can somebody explain to me the difference between ‘load’ and ‘plug’ when using imx_usb?
    The explanation is not very clear to me:

    “#plug – without jump uses header but clears plug flag to stop after plug execution”

  21. Post
    Author
  22. Bill Yang

    Hi Eric,

    I am strugling the u-boot issue on my customed board. I’ve used usb tool ./imx_usb u-boot.imx and booted on my board as the boot info pops up from serial console as listing below. But it is not detecting the 6x_bootscript on the SD card. Do you have any comment?

    Second question: Can you please provide me a detail instruction how to flash the u-boot.imx or u-boot.bin in to SPI-NOR, which is how to use sf command?

    -Boot 2013.04-04341-g1903727-dirty (Jul 25 2013 – 16:00:28)

    CPU: Freescale i.MX6Q rev1.2 at 792 MHz
    Reset cause: POR
    Board: SABRE Lite
    DRAM: 1 GiB
    MMC: FSL_SDHC: 0, FSL_SDHC: 1
    SF: Unsupported manufacturer 00
    *** Warning – spi_flash_probe() failed, using default environment

    No panel detected: default to HDMI
    enable_hdmi: setup HDMI monitor
    Display: HDMI (1024×768)
    In: serial
    Out: serial
    Err: serial
    Net: Phy not found
    using phy at 4
    PHY reset timed out
    FEC [PRIME]
    Warning: failed to set MAC address

    Hit any key to stop autoboot: 0
    AHCI 0000.0000 1 slots 1 ports ? Gbps 0x0 impl SATA mode
    flags:
    No port device detected!
    ** Bad device size – sata 0 **
    ** Bad device size – sata 0 **

    SATA device 1: unknown device
    ** Bad device sata 1 **
    ** Bad device sata 1 **
    MMC: no card present
    mmc0(part 0) is current device
    MMC: no card present
    ** Bad device mmc 0 **
    MMC: no card present
    ** Bad device mmc 0 **
    MMC: no card present
    mmc1(part 0) is current device
    MMC: no card present
    ** Bad device mmc 1 **
    MMC: no card present
    ** Bad device mmc 1 **

    6x_bootscript not found

    serial console at 115200, 8N1

    details at http://boundarydevices.com/6q_bootscript
    (Re)start USB…
    USB0: USB EHCI 1.00
    scanning bus 0 for devices… 1 USB Device(s) found
    scanning usb for storage devices… 0 Storage Device(s) found
    scanning usb for ethernet devices… 0 Ethernet Device(s) found

  23. Bill Yang

    As we knew the Boundary Nitrogen6x board has u-boot image programmed in serial EEPROM to boot the device. After booted it looks for 6x_bootscript on SD card, then boot the kernel.

    I wonder if it is possible directly boot u-boot from SD card with no EEPROM or the USB OTG help. For example, the u-boot in serial EEPROM has been detroyed and I copy u-boot.imx to first partition on a SD card and insert it to board and boot directly. Is it possible? If it is yes, what should the switch dip on the board settings be 00, 01, 10 or 11?

  24. Pinki Saharan

    Hi

    I am using mx6 sololite board having SPI-NOR(16 MB, micron chip) as a booting device but i am not able to initialize the SPI-NOR. i got to know this by using sf probe command. It is showing my device id correct but also showing that “failed to initialize SPI FLASH 0:0″.

    Do we need to make any changes in config file to initiliaze the SPI. Can anyone please reply.

  25. Christian Ege

    In the past I used this tool a lot to recover our nitrogen boards and in the last few days to bring-up our custom boards. I works flawlessly for me.

    But then I thought about how easy would it be to upload just a little bit more than just the u-boot. And I discovered this little bastard tool has everything in place to do but it laks documentation about how to do things.

    So I opened a issue on github where I tried to describe the things I figured out so far.

    https://github.com/boundarydevices/imx_usb_loader/issues/4

    So my goal is to upload all the peaces like u-boot,kernel,dtb and a recovery image through USB and then run a u-boot script which burns this all this stuff to the Flash.

    1. Post
      Author
      ericn

      Hi Christian,

      We’re headed in this direction, but in a slightly different way. Our intent is to use imx_usb to allow download of U-Boot, but then use U-Boot to allow download of the rest.

      Troy has committed patches to add USB OTG support to U-Boot, and we hope this will make the 2013.10 release. After that, there are a number of ways to do what you’re after:

      • USB Ethernet gadget – all of our USB OTG testing has used this so far, or
      • DFU (Device Firmware Upgrade) is already present in main-line U-Boot, or
      • Android Fastboot – patches for this are present, but some cleanup is required
  26. Peter

    Hi

    I have unbricked my board using your imx_usb. Unbricking worked, at least I think so, see attached log. Uploading functioned with all settings of SW1 beside 11, BTW.

    peter@peter-az:~/imx_usb_loader$ sudo ./imx_usb u-boot.imx
    parse mx6_usb_work.conf
    15a2:0054(mx6_qsb) bConfigurationValue =1
    Interface 0 claimed
    report 1, wrote 16 bytes, err=0
    report 3, read 4 bytes, err=0
    read=56 78 78 56
    u-boot.imx 0 0 1 0 1 2
    main dcd length 310
    sub dcd length 30c
    dcd_ptr=0x177ff02c
    
    loading binary file(u-boot.imx) to 177ff000, skip=0, fsize=528f4 type=aa
    
    <<>>
    jumping to 0x177ff000
    peter@peter-az:~/imx_usb_loader$
    

    Booting the board I do not get any reaction, however. Neither on the attached monitor nor via the serial terminal. The serial terminal works, I have also tried different u-boot files.

    What might be wrong? What can I do to get the board operational again?

    Peter

  27. Post
    Author
    ericn

    Hi Peter,

    What led up to the bricking? Perhaps that will shed some light on what’s going on.

    As you noted, the log above shows that the u-boot.imx file was successfully downloaded into RAM and executed, so the only things that could be at fault are:
    — improper u-boot binary (I’d try the latest production version as a start, or
    — bad serial connection (though the display should light up), or
    — bad board

    1. Peter

      Hi Eric

      Thanks for your reply.

      Some time ago I tried to install a Linaro Linux without success. So, I dediced to unbrick the board and to install one of BM’s Linux systems. Unbricking functioned and u-boot sent some messages to the display. As there was no SD on board booting stopped. After having added an SD and rebooting the board seemed to be dead. Unbricking still works, however

      I tried several u-boot binaries from the production package you suggested. The serial connection is operational in principle (checked with another ARM board).

      Regards

      Peter

      1. Post
        Author
        ericn

        Hi Peter,

        Only one of the binaries in the production package will work for you. The most likely is u-boot.nitrogen6q, which is for both SABRE Lite (BD-SL-i.MX6) and standard Nitrogen6X boards.

        1. Peter

          Hi Eric

          thanks for your reply.

          I have tried u-boot.nitrogen6q (and nearly all the other ones referring to nitrogen boards, too) with no success. So, there is a problem with my board.

          Best regards

          Peter

  28. Linzy

    Hi,
    Problem after i try to excute the flash command:

    linzy@debian:~/temp/imx_usb_loader/imx_usb_loader$ sudo ./imx_usb u-boot.nitrogen6dl
    No “_” environment variable
    argc == 2, argv == 0xbf949464
    base == 0x804fd00:./imx_usb
    trailing slash == 0x804fd01:/imx_usb
    conf_path == ./
    config file
    No “_” environment variable
    argc == 2, argv == 0xbf949464
    base == 0x804fd00:./imx_usb
    trailing slash == 0x804fd01:/imx_usb
    conf_path == ./
    config file
    parse mx6_usb_work.conf
    15a2:0061(mx6_qsb) bConfigurationValue =1
    Interface 0 claimed
    report 1, wrote 16 bytes, err=0
    report 3, read 4 bytes, err=0
    read=56 78 78 56
    u-boot.nitrogen6dl 0 0 1 0 1 2
    main dcd length 308
    sub dcd length 304
    w3 in err=-7, last_trans=0 00 00 00 00
    addr=0x021b001c, val=0x04008032
    w4 in err=-7, last_trans=0 00 00 00 00
    dcd_ptr=0x177ffc2c
    !!perform_dcd returned -7
    report 1, wrote 0 bytes, err=-7
    report 3, read 0 bytes, err=-7
    read=00 00 00 00
    report 1, wrote 0 bytes, err=-7
    report 3, read 0 bytes, err=-7
    read=00 00 00 00
    report 1, wrote 0 bytes, err=-7
    report 3, read 65 bytes, err=-7
    read=00 00 00 00
    report 1, wrote 0 bytes, err=-7
    report 3, read 0 bytes, err=-7
    read=00 00 00 00
    report 1, wrote 0 bytes, err=-7
    report 3, read 0 bytes, err=-7
    read=00 00 00 00
    report 1, wrote 0 bytes, err=-7
    report 3, read 0 bytes, err=-7
    read=00 00 00 00
    4 in err=-7, last_trans=65 00 00 00 00

    Err 7 always happed, and my board label:”NITROGEN6-REV2 11-28-2012″
    i.mx6 dual version, and try other versions u-boot in “u-boot-production.tar.gz”, but the same results. please help on this.
    Thanks in advance!
    BR Linzy

  29. Robert Aldridge

    So I’m having an issue using both the Linux and PC unbricking tools on a Nitrogen 6x Lite board. USB-OTG mode comes up as “Freescale SE Blank RIGEL” instead of “Freescale SE Blank ARIK” if that helps.

    1. Post
      Author
  30. Robert Aldridge

    It looks like the id for USB-OTG recovery mode has changed from 15a2:0054 to 15a2:0061 for all the Nitrogen 6X Lite boards that I have tested. I don’t know if that has anything to do with the name change from ARIK to RIGEL.

    1. Post
      Author
      ericn

      Hi Robert,

      The change from 15a2:0054 to 15a2:0061 likely has to do with the processor variant (Quad versus Solo).

      Are you by chance configuring permissions through udev? If so, the rule will need an update.

      I generally just set imx_usb to setuid root to get around this.

  31. Robert Aldridge

    So running the linux imx_usb tool with raised permissions or from terminal with sudo works just fine. It is a pain to remember that because when I run imx_usb without raised permissions I get an error ‘-3′ which would otherwise be an indication of an entirely different issue. Though the Windows sb_loader.exe does not work with the Nitrogen Lite board, I even tried running using the 3 different versions of the sb_loader program that come with the 3 different freescale manufacturing tool packages for regular, lite, and solo, in addition to the version linked to directly on the Boundary Devices site.

    1. Post
      Author
  32. Krishnan

    Hello Eric,

    Looks like some thing wrong happened to my sabre-lite board.

    When I connect the power supply to the board, the LED near 5V connector blinks. I have connected the USB cable to Linux pc and run lsusb command. But the there is no device is getting detected with freescale dev id. What the blinking LED indication means? How can I bring the board up?

  33. Braghadees

    Hi everyone ,
    >I’m currently working on an IMX6 Sabrelite and managed to brick it
    I)No activity on terminal,
    II)USB not recognized under USB mode(01) (Windows PC “USB device not recognized” and on Linux unable to enumerate the USB device).
    after i’d been flashing SPI-NOR several times to switch between platforms. Now i’m trying to get the board up i.e. see U-boot run on board and send message to terminal.
    >From what i learned, imx6 boots based on FUSE SWITCH[0:1] configuration to particular media. In my case with any config[00,01,10] i couldn’t get the board run(Even i tried 11 freescale reserved config ).
    >In all cases the green light indicating power glows and with SDslot and Ethernet port i could see lights glowing on connected condition, but serial port remains clean with no messages and USB connected on Host(Windows PC) not recognized(USB VID/UNKNOWN). which used to be detected as HIF device under 01 configuration previously.
    >So with USB flashing not possible via MFG tool or sbloader(as its detected as UNKNOWN device and not as HIF device) ,
    what could be done to get the board run i.e.
    1)Is it possible to Program U-boot to SPI-NOR flash under this condition
    2)Use SD-CARD or any other media on-board to run U-boot fro once after which i’ll be able to update SPI-NOR flash easily.
    Please reply on this as its a fairly new board and would be highly helpful on my project.

  34. Agnes

    Hi ,

    I followed the steps mentioned in this post to unbrick the board. But when it boots up it gets stuck with the following log

    U-Boot 2013.04-00308-ge1290a7 (Jun 18 2013 – 13:38:20)

    CPU: Freescale i.MX6Q rev1.2 at 792 MHz
    Reset cause: POR
    Board: SABRE Lite
    DRAM: 1 GiB
    MMC: FSL_SDHC: 0, FSL_SDHC: 1
    SF: Detected SST25VF016B with page size 4 KiB, total 2 MiB
    wait_for_sr_state: failed sr=81 cr=a0 state=2020
    i2c_init_transfer: failed for chip 0x4 retry=0
    wait_for_sr_state: failed sr=81 cr=a0 state=2020
    i2c_init_transfer: failed for chip 0x4 retry=1
    wait_for_sr_state: failed sr=81 cr=a0 state=2020
    i2c_init_transfer: failed for chip 0x4 retry=2
    i2c_init_transfer: give up i2c_regs=021a8000
    wait_for_sr_state: failed sr=81 cr=a0 state=2020
    i2c_init_transfer: failed for chip 0x38 retry=0
    wait_for_sr_state: failed sr=81 cr=a0 state=2020
    i2c_init_transfer: failed for chip 0x38 retry=1
    wait_for_sr_state: failed sr=81 cr=a0 state=2020
    i2c_init_transfer: failed for chip 0x38 retry=2
    i2c_init_transfer: give up i2c_regs=021a8000
    wait_for_sr_state: failed sr=81 cr=a0 state=2020
    i2c_init_transfer: failed for chip 0x48 retry=0
    wait_for_sr_state: failed sr=81 cr=a0 state=2020
    i2c_init_transfer: failed for chip 0x48 retry=1
    wait_for_sr_state: failed sr=81 cr=a0 state=2020
    i2c_init_transfer: failed for chip 0x48 retry=2
    i2c_init_transfer: give up i2c_regs=021a8000
    No panel detected: default to HDMI
    enable_hdmi: setup HDMI monitor
    Display: HDMI (1024×768)
    In: serial
    Out: serial
    Err: serial
    Net: using phy at 6
    FEC [PRIME]
    Hit any key to stop autoboot: 0
    AHCI 0001.0300 32 slots 1 ports 3 Gbps 0x1 impl SATA mode
    flags: ncq stag pm led clo only pmp pio slum part
    No port device detected!
    ** Bad device size – sata 0 **
    ** Bad device size – sata 0 **

    SATA device 1: unknown device
    ** Bad device sata 1 **
    ** Bad device sata 1 **
    MMC: no card present
    mmc0(part 0) is current device
    MMC: no card present
    ** Bad device mmc 0 **
    MMC: no card present
    ** Bad device mmc 0 **
    mmc1 is current device
    ** Unrecognized filesystem type **
    1653 bytes read in 65 ms (24.4 KiB/s)
    ## Executing script at 10008000
    —— no HDMI monitor
    Setting bus to 2
    Valid chip addresses:wait_for_sr_state: failed sr=81 cr=a0 state=2020
    i2c_init_transfer: failed for chip 0x4 retry=0
    wait_for_sr_state: failed sr=81 cr=a0 state=2020
    i2c_init_transfer: failed for chip 0x4 retry=1
    wait_for_sr_state: failed sr=81 cr=a0 state=2020
    i2c_init_transfer: failed for chip 0x4 retry=2
    i2c_init_transfer: give up i2c_regs=021a8000

    —— no Freescale display
    Valid chip addresses:wait_for_sr_state: failed sr=81 cr=a0 state=2020
    i2c_init_transfer: failed for chip 0x38 retry=0
    wait_for_sr_state: failed sr=81 cr=a0 state=2020
    i2c_init_transfer: failed for chip 0x38 retry=1
    wait_for_sr_state: failed sr=81 cr=a0 state=2020
    i2c_init_transfer: failed for chip 0x38 retry=2
    i2c_init_transfer: give up i2c_regs=021a8000

    —— no 1024×600 display
    Valid chip addresses:wait_for_sr_state: failed sr=81 cr=a0 state=2020
    i2c_init_transfer: failed for chip 0x48 retry=0
    wait_for_sr_state: failed sr=81 cr=a0 state=2020
    i2c_init_transfer: failed for chip 0x48 retry=1
    wait_for_sr_state: failed sr=81 cr=a0 state=2020
    i2c_init_transfer: failed for chip 0x48 retry=2
    i2c_init_transfer: give up i2c_regs=021a8000

    —— no 800×480 display
    3725540 bytes read in 490 ms (7.3 MiB/s)
    ## Booting kernel from Legacy Image at 10800000 …
    Image Name: Linux-3.0.35-gc38a245
    Image Type: ARM Linux Kernel Image (uncompressed)
    Data Size: 3725476 Bytes = 3.6 MiB
    Load Address: 10008000
    Entry Point: 10008000
    Verifying Checksum … OK
    Loading Kernel Image … OK
    OK

    Starting kernel …

    Uncompressing Linux… done, booting the kernel.
    Linux version 3.0.35-gc38a245 (robert@robert-p7-1597c) (gcc version 4.6.2 20110630 (prerelease) (Freescale MAD — Linaro 2011.07 — Built at 2011/08/10 09:20) ) #6 SMP PREEMPT Fri Jun 28 13:55:06 MST 2013
    CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c53c7d
    CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache
    Machine: Boundary Devices Nitrogen6X/SABRE Lite Board
    Memory policy: ECC disabled, Data cache writealloc
    CPU identified as i.MX6Q, silicon rev 1.2
    PERCPU: Embedded 7 pages/cpu @8c008000 s5440 r8192 d15040 u32768
    Built 1 zonelists in Zone order, mobility grouping on. Total pages: 227328
    Kernel command line: enable_wait_mode=off video=mxcfb0:off video=mxcfb1:off video=mxcfb2:off console=ttymxc1,115200 vmalloc=400M consoleblank=0 rootwait root=/dev/mmcblk0p1
    PID hash table entries: 4096 (order: 2, 16384 bytes)
    Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
    Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
    Memory: 640MB 256MB = 896MB total
    Memory: 900848k/900848k available, 147728k reserved, 0K highmem
    Virtual kernel memory layout:
    vector : 0xffff0000 – 0xffff1000 ( 4 kB)
    fixmap : 0xfff00000 – 0xfffe0000 ( 896 kB)
    DMA : 0xf4600000 – 0xffe00000 ( 184 MB)
    vmalloc : 0xc0800000 – 0xf2000000 ( 792 MB)
    lowmem : 0x80000000 – 0xc0000000 (1024 MB)
    pkmap : 0x7fe00000 – 0x80000000 ( 2 MB)
    modules : 0x7f000000 – 0x7fe00000 ( 14 MB)
    .init : 0x80008000 – 0x80039000 ( 196 kB)
    .text : 0x80039000 – 0x806bb274 (6665 kB)
    .data : 0x806bc000 – 0x80712dc0 ( 348 kB)
    .bss : 0x80712de4 – 0x80756ce4 ( 272 kB)
    SLUB: Genslabs=13, HWalign=32, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
    Preemptible hierarchical RCU implementation.
    NR_IRQS:624
    MXC GPIO hardware
    sched_clock: 32 bits at 3000kHz, resolution 333ns, wraps every 1431655ms
    arm_max_freq=1GHz
    MXC_Early serial console at MMIO 0x21e8000 (options ‘115200’)
    bootconsole [ttymxc1] enabled
    Console: colour dummy device 80×30
    Calibrating delay loop… 1581.05 BogoMIPS (lpj=7905280)
    pid_max: default: 32768 minimum: 301
    Mount-cache hash table entries: 512
    CPU: Testing write buffer coherency: ok
    hw perfevents: enabled with ARMv7 Cortex-A9 PMU driver, 7 counters available
    CPU1: Booted secondary processor
    CPU2: Booted secondary processor
    CPU3: Booted secondary processor
    Brought up 4 CPUs
    SMP: Total of 4 processors activated (6324.22 BogoMIPS).
    devtmpfs: initialized
    print_constraints: dummy:
    NET: Registered protocol family 16
    print_constraints: vddpu: 725 1300 mV at 1150 mV fast normal
    print_constraints: vddcore: 725 1300 mV at 1150 mV fast normal
    print_constraints: vddsoc: 725 1300 mV at 1200 mV fast normal
    print_constraints: vdd2p5: 2000 2775 mV at 2400 mV fast normal
    print_constraints: vdd1p1: 800 1400 mV at 1100 mV fast normal
    print_constraints: vdd3p0: 2625 3400 mV at 3000 mV fast normal
    ———— Board type Sabre Lite
    imx_add_mxc_pwm:pdata= (null)
    imx_add_mxc_pwm:pdata= (null)
    imx_add_mxc_pwm:pdata=806df0f0
    imx_add_mxc_pwm:pdata= (null)
    Flexcan NXP tja1040
    hw-breakpoint: found 6 breakpoint and 1 watchpoint registers.
    hw-breakpoint: 1 breakpoint(s) reserved for watchpoint single-step.
    hw-breakpoint: maximum watchpoint size is 4 bytes.
    L310 cache controller enabled
    l2x0: 16 ways, CACHE_ID 0x410000c7, AUX_CTRL 0x02070000, Cache size: 1048576 B
    bio: create slab at 0
    print_constraints: VDDA: 2500 mV
    print_constraints: VDDIO: 3300 mV
    machine_constraints_voltage: VDDD: unsupportable voltage constraints
    reg-fixed-voltage reg-fixed-voltage.2: Failed to register regulator: -22
    reg-fixed-voltage: probe of reg-fixed-voltage.2 failed with error -22
    print_constraints: vmmc: 3300 mV
    vgaarb: loaded
    SCSI subsystem initialized
    spi_imx imx6q-ecspi.0: probed
    usbcore: registered new interface driver usbfs
    usbcore: registered new interface driver hub
    usbcore: registered new device driver usb
    Freescale USB OTG Driver loaded, $Revision: 1.55 $
    imx-ipuv3 imx-ipuv3.0: IPU DMFC NORMAL mode: 1(0~1), 5B(4,5), 5F(6,7)
    imx-ipuv3 imx-ipuv3.1: IPU DMFC NORMAL mode: 1(0~1), 5B(4,5), 5F(6,7)
    mxc_mipi_csi2 mxc_mipi_csi2: i.MX MIPI CSI2 driver probed
    mxc_mipi_csi2 mxc_mipi_csi2: i.MX MIPI CSI2 dphy version is 0x3130302a
    MIPI CSI2 driver module loaded
    Advanced Linux Sound Architecture Driver Version 1.0.24.
    Bluetooth: Core ver 2.16
    NET: Registered protocol family 31
    Bluetooth: HCI device and connection manager initialized
    Bluetooth: HCI socket layer initialized
    Bluetooth: L2CAP socket layer initialized
    Bluetooth: SCO socket layer initialized
    cfg80211: Calling CRDA to update world regulatory domain
    Switching to clocksource mxc_timer1
    NET: Registered protocol family 2
    IP route cache hash table entries: 32768 (order: 5, 131072 bytes)
    TCP established hash table entries: 131072 (order: 8, 1048576 bytes)
    TCP bind hash table entries: 65536 (order: 7, 786432 bytes)
    TCP: Hash tables configured (established 131072 bind 65536)
    TCP reno registered
    UDP hash table entries: 512 (order: 2, 16384 bytes)
    UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
    NET: Registered protocol family 1
    RPC: Registered named UNIX socket transport module.
    RPC: Registered udp transport module.
    RPC: Registered tcp transport module.
    RPC: Registered tcp NFSv4.1 backchannel transport module.
    Static Power Management for Freescale i.MX6
    wait mode is disabled for i.MX6
    cpaddr = c0880000 suspend_iram_base=c0918000
    PM driver module loaded
    link up failed, DB_R0:0x0014cd00, DB_R1:0x08200000!
    IMX PCIe port: link down!
    IMX usb wakeup probe
    add wake up source irq 75
    IMX usb wakeup probe
    cpu regulator mode:ldo_enable
    i.MXC CPU frequency driver
    squashfs: version 4.0 (2009/01/31) Phillip Lougher
    msgmni has been set to 1759
    alg: No test for stdrng (krng)
    io scheduler noop registered
    io scheduler deadline registered
    io scheduler cfq registered (default)
    pwm_config: pwm freq = 32786, clk_select=2 clock_rate=22000000
    pwm_config: pwm freq = 20000, clk_select=2 clock_rate=22000000
    MIPI DSI driver module loaded
    mxc_sdc_fb mxc_sdc_fb.0: mxcfb0 is turned off!
    mxc_sdc_fb mxc_sdc_fb.1: mxcfb1 is turned off!
    mxc_sdc_fb mxc_sdc_fb.2: mxcfb2 is turned off!
    mxc_sdc_fb mxc_sdc_fb.3: register mxc display driver ldb
    _regulator_get: get() with no identifier
    ldb_disp_init: ret=3, 1280×800
    ldb_disp_init:r=59, x=1280, y=800, p=14065, l=40, r=40, upper=10, lower=3, h=80, v=10
    ldb_disp_init: 1024×768
    ipu_init_sync_panel: disp=0, pixel_clk=71098000 71458646
    imx-ipuv3 imx-ipuv3.1: IPU DMFC DP HIGH RESOLUTION: 1(0,1), 5B(2~5), 5F(6,7)
    pwm_config: pwm freq = 32786, clk_select=2 clock_rate=22000000
    pwm_config: pwm freq = 20000, clk_select=2 clock_rate=22000000
    ipu_init_sync_panel: disp=0, pixel_clk=71098000 71458646
    Console: switching to colour frame buffer device 160×50
    imx-sdma imx-sdma: loaded firmware 1.1
    imx-sdma imx-sdma: initialized
    Serial: IMX driver
    imx-uart.0: ttymxc0 at MMIO 0x2020000 (irq = 58) is a IMX
    imx-uart.1: ttymxc1 at MMIO 0x21e8000 (irq = 59) is a IMX
    old_ufcr=a81 new_ufcr=b01, old_ucr2=4027 new_ucr2=4027, old_ubir=f num=1f7, old_ubmr=15b denom=c34
    clk=80000000 div=7 num=504 denom=3125 baud=115200
    console [ttymxc1] enabled, bootconsole disabled
    console [ttymxc1] enabled, bootconsole disabled
    loop: module loaded
    No sata disk.
    m25p80 spi0.0: sst25vf016b (2048 Kbytes)
    Creating 3 MTD partitions on “m25p80″:
    0x000000000000-0x0000000c0000 : “bootloader”
    0x0000000c0000-0x0000000c2000 : “ubparams”
    0x0000000c2000-0x000000200000 : “unused”
    vcan: Virtual CAN interface driver
    CAN device driver interface
    flexcan netdevice driver
    flexcan imx6q-flexcan.0: device registered (reg_base=c09a8000, irq=142)
    FEC Ethernet Driver
    fec_enet_mii_bus: probed
    tun: Universal TUN/TAP device driver, 1.6
    tun: (C) 1999-2004 Max Krasnyansky
    ehci_hcd: USB 2.0 ‘Enhanced’ Host Controller (EHCI) Driver
    fsl-ehci fsl-ehci.0: Freescale On-Chip EHCI Host Controller
    fsl-ehci fsl-ehci.0: new USB bus registered, assigned bus number 1
    fsl-ehci fsl-ehci.0: irq 75, io base 0x02184000
    fsl-ehci fsl-ehci.0: USB 2.0 started, EHCI 1.00
    hub 1-0:1.0: USB hub found
    hub 1-0:1.0: 1 port detected
    add wake up source irq 72
    fsl-ehci fsl-ehci.1: Freescale On-Chip EHCI Host Controller
    fsl-ehci fsl-ehci.1: new USB bus registered, assigned bus number 2
    fsl-ehci fsl-ehci.1: irq 72, io base 0x02184200
    fsl-ehci fsl-ehci.1: USB 2.0 started, EHCI 1.00
    hub 2-0:1.0: USB hub found
    hub 2-0:1.0: 1 port detected
    usbcore: registered new interface driver cdc_acm
    cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
    Initializing USB Mass Storage driver…
    usbcore: registered new interface driver usb-storage
    USB Mass Storage support registered.
    usbcore: registered new interface driver usbserial
    usbserial: USB Serial Driver core
    USB Serial support registered for GSM modem (1-port)
    usbcore: registered new interface driver option
    option: v0.7.2:USB Driver for GSM modems
    USB Serial support registered for Qualcomm USB modem
    usbcore: registered new interface driver qcserial
    ARC USBOTG Device Controller driver (1 August 2005)
    mousedev: PS/2 mouse device common for all mice
    input: gpio-keys as /devices/platform/gpio-keys/input/input0
    usb 2-1: new high speed USB device number 2 using fsl-ehci
    hub 2-1:1.0: USB hub found
    hub 2-1:1.0: 3 ports detected
    tsc2004_prepare_for_reading: write_cmd -110
    tsc2004: probe of 2-0048 failed with error -110
    egalax_ts 2-0004: egalax_ts: failed to read firmware version
    egalax_ts: probe of 2-0004 failed with error -5
    ft5x06-ts 2-0038: ft5x06: Could not detect touch screen.
    ft5x06: Jun 27 2013
    check_alarm_past: alarm in the past
    snvs_rtc snvs_rtc.0: rtc core: registered snvs_rtc as rtc0
    i2c /dev entries driver
    Linux video capture interface: v2.00
    mxc_v4l2_output mxc_v4l2_output.0: V4L2 device registered as video16
    mxc_v4l2_output mxc_v4l2_output.0: V4L2 device registered as video17
    i2c-core: driver [mma8450] using legacy suspend method
    i2c-core: driver [mma8450] using legacy resume method
    add mma8450 i2c driver
    imx2-wdt imx2-wdt.0: IMX2+ Watchdog Timer enabled. timeout=60s (nowayout=1)
    Bluetooth: HCI UART driver ver 2.2
    Bluetooth: HCILL protocol initialized
    sdhci: Secure Digital Host Controller Interface driver
    sdhci: Copyright(c) Pierre Ossman
    mmc0: SDHCI controller on platform [sdhci-esdhc-imx.2] using DMA
    sdhci sdhci-esdhc-imx.3: no write-protect pin available!
    mmc1: SDHCI controller on platform [sdhci-esdhc-imx.3] using DMA
    mxc_vdoa mxc_vdoa: i.MX Video Data Order Adapter(VDOA) driver probed
    VPU initialized
    mxc_asrc registered
    Thermal calibration data is 0x5704b77d
    Thermal sensor with ratio = 179
    Anatop Thermal registered as thermal_zone0
    anatop_thermal_probe: default cooling device is cpufreq!
    usbcore: registered new interface driver usbhid
    usbhid: USB HID core driver
    usbcore: registered new interface driver snd-usb-audio
    mxc_hdmi_soc mxc_hdmi_soc.0: MXC HDMI Audio
    imx-hdmi-soc-dai imx-hdmi-soc-dai.0: Failed: Load HDMI-video first.
    sgtl5000 0-000a: Failed to get supply ‘VDDD': -19
    print_constraints: 0-000a: 850 1600 mV at 1200 mV normal
    sgtl5000 0-000a: Device with ID register 0 is not a sgtl5000
    sgtl5000 0-000a: asoc: failed to probe CODEC sgtl5000.0-000a: -19
    asoc: failed to instantiate card sgtl5000-audio: -19
    Initialize HDMI-audio failed. Load HDMI-video first!
    ALSA device list:
    No soundcards found.
    NET: Registered protocol family 26
    TCP cubic registered
    NET: Registered protocol family 17
    can: controller area network core (rev 20090105 abi 8)
    NET: Registered protocol family 29
    can: raw protocol (rev 20090105)
    can: broadcast manager protocol (rev 20090105 t)
    Bluetooth: RFCOMM TTY layer initialized
    Bluetooth: RFCOMM socket layer initialized
    Bluetooth: RFCOMM ver 1.11
    Bluetooth: BNEP (Ethernet Emulation) ver 1.3
    Bluetooth: BNEP filters: protocol multicast
    Bluetooth: HIDP (Human Interface Emulation) ver 1.2
    lib80211: common routines for IEEE802.11 drivers
    VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
    Bus freq driver module loaded
    Bus freq driver Enabled
    mxc_dvfs_core_probe
    DVFS driver module loaded
    regulator_init_complete: VDDIO: incomplete constraints, leaving on
    regulator_init_complete: VDDA: incomplete constraints, leaving on
    snvs_rtc snvs_rtc.0: setting system clock to 1970-01-01 00:00:00 UTC (0)
    Waiting for root device /dev/mmcblk0p1…
    mmc1: host does not support reading read-only switch. assuming write-enable.
    mmc1: new SDHC card at address aaaa
    mmcblk0: mmc1:aaaa SU04G 3.69 GiB
    mmcblk0: p1
    EXT3-fs: barriers not enabled
    kjournald starting. Commit interval 5 seconds
    EXT3-fs (mmcblk0p1): using internal journal
    EXT3-fs (mmcblk0p1): recovery complete
    EXT3-fs (mmcblk0p1): mounted filesystem with writeback data mode
    VFS: Mounted root (ext3 filesystem) on device 179:1.
    devtmpfs: mounted
    Freeing init memory: 196K
    init: ureadahead main process (1358) terminated with status 5
    unable to connect to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: Connection refused
    ov5642_read_reg:write reg error:reg=300a

    Could you please help..

Leave a Reply

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