[U-Boot] mx6qsabrelite U-Boot from SPI-NOR
Wolfgang Grandegger
wg at grandegger.com
Fri Jan 20 10:15:00 CET 2012
Hi Eric,
On 01/20/2012 01:56 AM, Eric Nelson wrote:
> Hi Wolfgang,
>
> On 01/19/2012 03:26 AM, Dirk Behme wrote:
>> Dear Wolfgang,
>>
>> On 19.01.2012 10:58, Wolfgang Grandegger wrote:
>>>
>>> Where can I find the "SPI_to_SD_loader.bin" image?
>>
>> Unfortunately, at the moment you have to ask your Freescale contact
>> for this. We
>> ping Freescale since weeks for this. Last time I heard about this
>> Freescale
>> planned to release this binary under a BSD license. They are still
>> "working
>> through the licensing details", though :(
>>
>>> What means early
>>> version of SabreLite boards?
>>
>> Most probably Eric will be able to better answer this.
>>
>
> At this point **all** versions of SabreLite are configured to boot to SPI
> NOR through the fuses.
>
> As Dirk mentioned, we've had some conversations about booting to SD card,
> but once the fuse is blown, it's blown.
>
>> What I understood: Up to now, the boards boot from SPI NOR by default.
>> There was
>> some _discussion_ to change this to SD boot. Most probably "early
>> version" was
>> written while this discussion under the impression that later boards
>> might
>> switch to SD boot. To my understanding the result of this discussion
>> was that
>> this change would be difficult, though.
>>
>
> We've discussed, but currently have no plans to support a physical switch
> to control this decision. This would involve using the "Internal" boot mode
> position of SW1 and then pulling a **bunch** of pins high or low to control
> the boot flow.
>
> Note that all of the pins are available on connector J12 (BOOT/EIM), so it
> might be done with a small daughter-board.
OK, I see.
>
>>> How can I select boot from SD-Card on newer versions?
>>
>> To my understanding there are no "newer versions" yet.
>>
>
> Right.
>
>>> And will the u-boot.imx image also boot when loaded
>>> to the SPI-NOR fash?
>>
>> Hmm, I'm not sure about this as I haven't tested this.
>>
>> Eric?
>>
>
> Yes. If you program u-boot.imx to offset 0x400, it will boot.
>
> I just did so as shown below.
>
> I started by placing SW1 in the 01 position (boot to USB), and
> used imx_usb to dowload u-boot.imx:
>
> MX6QSABRELITE U-Boot > dhcp 10800000 192.168.0.112:u-boot.imx
> fec_open:Speed=100
> BOOTP broadcast 1
> BOOTP broadcast 2
> DHCP client bound to address 29.6.1.24
> Using FEC device
> TFTP from server 192.168.0.112; our IP address is 29.6.1.24;
> sending through gateway 29.6.1.1
> Filename 'u-boot.imx'.
> Load address: 0x10800000
> Loading: #########################################
> done
> Bytes transferred = 207112 (32908 hex)
> MX6QSABRELITE U-Boot > sf write 0x10800000 0x400 $filesize
But above you used the network to load u-boot.imx. With imx_usb you
loaded and booted an image via USB first, I assume.
> <switched SW1 to BOOT mode 0 and hit the reset button here>
>
> U-Boot 2011.12-00048-g5c30101 (Jan 19 2012 - 17:14:32)
> CPU: Freescale i.MX61 family rev1.0 at 792 MHz
> Reset cause: POR
> Board: MX6Q-Sabre Lite
> DRAM: 1 GiB
> WARNING: Caches not enabled
> MMC: FSL_SDHC: 0, FSL_SDHC: 1
> MMC init failed
> Using default environment
>
> In: serial
> Out: serial
> Err: serial
> Net: FEC
> Hit any key to stop autoboot: 0
> MX6QSABRELITE U-Boot >
> MX6QSABRELITE U-Boot >
>
> The imx_usb utility is available here:
> http://boundarydevices.com/git?p=imx_usb_loader.git
>
> It requires libusb-1.0-0-dev to build, but has few other dependencies.
>
> Usage is simple: hand it the file you want to execute. It will look
> at the header to find out where to place the image.
> ~/imx_usb_loader$ sudo sudo ./imx_usb u-boot.imx
Nice fallback in case the bootloader does not start. I will give it a
try a.s.a.p. We actually plan to use a BDI[23]000 for that purpose.
>> Please note that Eric is in the process of mainlining the SPI driver for
>> i.MX6, atm.
>
> If you use my latest patch set, you can place the environment in SPI-NOR as
> well by commenting out CONFIG_ENV_IS_IN_MMC, and un-commenting
> ..._IN_SPI_FLASH
> in include/configs/mx6qsabrelite.h.
OK, that's already an excellent starting point.
Thanks.
Wolfgang.
More information about the U-Boot
mailing list