[U-Boot] Galileo instructions

Bin Meng bmeng.cn at gmail.com
Mon Sep 14 16:32:10 CEST 2015


Hi Simon,

On Mon, Sep 14, 2015 at 9:59 PM, Bin Meng <bmeng.cn at gmail.com> wrote:
> Hi Simon,
>
> On Mon, Sep 14, 2015 at 8:51 PM, Simon Glass <sjg at chromium.org> wrote:
>> Hi Bin,
>>
>> On 14 September 2015 at 06:49, Bin Meng <bmeng.cn at gmail.com> wrote:
>>>
>>> Hi Simon,
>>>
>>> On Mon, Sep 14, 2015 at 8:45 PM, Simon Glass <sjg at chromium.org> wrote:
>>> > Hi Bin,
>>> >
>>> > On 13 September 2015 at 03:28, Bin Meng <bmeng.cn at gmail.com> wrote:
>>> >> Hi Simon,
>>> >>
>>> >> On Sun, Sep 13, 2015 at 5:06 AM, Simon Glass <sjg at chromium.org> wrote:
>>> >>> Hi Bin,
>>> >>>
>>> >>> I have a Galileo Gen 2 and am trying to get U-Boot to start on it. The
>>> >>> first problem I have is that the schematic says the chip is a W25Q64FV
>>> >>> which I think is an 8MB part, but the image produced is only 1MB.
>>> >>
>>> >> Yes, the board has an 8MB SPI flash, but U-Boot (u-boot.rom) only
>>> >> utilizes the last 1MB.
>>> >>
>>> >>>
>>> >>> Also I know that there is a Gen 1 and a Gen 2. I recall you saying
>>> >>> that U-Boot supports the Gen 2 but can easily support the Gen 1. But
>>> >>> perhaps I have done something wrong.
>>> >>>
>>> >>
>>> >> I've verified U-Boot can boot on both gen1 and gen2 boards.
>>> >
>>> > Thanks.
>>> >>
>>> >>> I downloaded the BSP from here:
>>> >>>
>>> >>> https://downloadcenter.intel.com/download/23197/Intel-Quark-BSP
>>> >>>
>>> >>> File name: Board_Support_Package_Sources_for_Intel_Quark_v1.1.0.7z
>>> >>> Version: 1.1.0 (Latest)
>>> >>>
>>> >>> Date: 03/03/2015
>>> >>> Size: 2.72 MB
>>> >>>
>>> >>> Any hints? I am using a dediprog em100 with a test clip over the flash chip.
>>> >>>
>>> >>
>>> >> It's not clear to me what issue you got. It looks like there might be
>>> >> some issue for dediporg em100 to handle the rom size mismatch? If this
>>> >> is the case, you can just create an 8MB u-boot.rom with the 1MB
>>> >> version with other 7MB filled up with 0xFFs.
>>> >
>>> > OK I did this and it works, thanks.
>>>
>>> So it's indeed the dediprog em100 cannot handle the rom mismatch?
>>>
>>> > Why don't we just change the ROM size? This point is not mentioned in README.x86.
>>> >
>>>
>>> 1MB is enough for U-Boot. u-boot.rom does not necessarily have to
>>> match the SPI flash size. And on Galileo since there is no Intel ME,
>>> so we don't need to create a whole 8MB rom. This is the same as Intel
>>> CrownBay, which has a 2MB SPI flash, but still 1MB u-boot.rom.
>>
>> What is the benefit of this mismatch? I only see the down-side at
>> present (user confusion, unbootable .rom).
>
> I don't see this as a down-side. Why did you call this as unbootable
> .rom? The Dediprog em100 does not work does not mean it is not
> bootable. The assumption is to program this 1MB u-boot.rom to the last
> 1MB of the SPI flash. Perhaps you need contact Dediprog to fix their
> em100 tool to handle such rom mismatch correctly. Or maybe there is
> some parameter to control such behavior that you are not aware of. I

I don't have a dediprog em100 tool, but based on the user manual [1] I
found on their website, the em100 tool does support such scenario. If
you check page 22, the 'Configuration Setting' window allows you can
specify the flash offset at which you download the rom file. The
corresponding command line parameter is at page 33, which is '-a
addr'. For example, on Galileo board, you need specify '-a 0x700000'
(I believe).

> think this is quite a normal use case, as is exactly the same as other
> architectures, that u-boot.bin does not have to match the flash media
> size. Say on PowerPC BookE processors, the NOR flash media can be 8MB,
> 16MB, but the generated bootable u-boot.bin is 512KB, 1MB, etc (Check
> these Freescale QorIQ boards in U-Boot). Users need program u-boot.bin
> to the last 512KB or 1MB in the NOR flash.
>
> And I don't see this is a confusion. Perhaps all x86 boards you've
> played before require the Intel ME firmware, in which case your
> u-boot.rom MUST match the SPI flash size, but we have to realize Intel
> ME is an optional feature and not every x86 board requires that. I am
> afraid this is a preconceived idea instead of confusion.
>

And one more use case from my experience FYI, on Intel Bayley Bay
which is a BayTrail based board, and it requires Intel ME, as you see
its u-boot.rom is 8MB which is the same as MinnowMax. But I did a
trick in my debugging, that I changed the rom size to 1MB and remove
the Intel ME Kconfig option from 'menuconfig'. This way I only need
program a 1MB u-boot.rom starting from 0x700000. Only the very first
time I touch this board, I chose to program the complete 8MB
u-boot.rom to the SPI flash. Programming 1MB takes quite less time
than 8MB, not to mention the first 5MB (flash descriptors plus Intel
ME firmware) is always the same.

[1] http://www.dediprog.com/save/79.pdf/to/DP_EM100Pro_user%20manual_V1.3.pdf

Regards,
Bin


More information about the U-Boot mailing list