[U-Boot] u-boot for Snow problem

Michal Suchanek hramrach at gmail.com
Fri Apr 17 20:49:47 CEST 2015


On 15 April 2015 at 19:01, Michal Suchanek <hramrach at gmail.com> wrote:
> On 15 April 2015 at 17:00, Simon Glass <sjg at chromium.org> wrote:
>> Hi Michal,
>>
>> On 14 April 2015 at 16:10, Michal Suchanek <hramrach at gmail.com> wrote:
>>> Hello,
>>>
>>> On 4 March 2015 at 00:46, Simon Glass <sjg at chromium.org> wrote:
>>>> Hi Michal,
>>>>
>>>> On 2 March 2015 at 04:25, Michal Suchanek <hramrach at gmail.com> wrote:
>>>>> Hello,
>>>>>
>>>>> On 18 February 2015 at 06:24, Michal Suchanek <hramrach at gmail.com> wrote:
>>>>>> On 18 February 2015 at 03:27, Simon Glass <sjg at chromium.org> wrote:
>>>>>>> Hi Michal,
>>>>>>>
>>>>>>> On 16 February 2015 at 04:41, Michal Suchanek <hramrach at gmail.com> wrote:
>>>>>>>> On 13 February 2015 at 05:51, Simon Glass <sjg at chromium.org> wrote:
>>>>>>>>> Hi Michal,
>>>>>>>>>
>>>>>>>>> On 11 February 2015 at 10:16, Michal Suchanek <hramrach at gmail.com> wrote:
>>>>>>>>>>
>>>>>>>>>> Hello,
>>>>>>>>>>
>>>>>>>>>> I changed the SYS_START to work around the bug in the manufacturer
>>>>>>>>>> firmware, applied snow_defconfig, built u-boot.bin, packed it into
>>>>>>>>>> kernel uimage, signed it, copied it to a kernel partition, bumped
>>>>>>>>>> priority of the partition, and rebooted.
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Do you mean u-boot-dtb.bin? If not you won't get a device tree and it
>>>>>>>>> won't work.
>>>>>>>>
>>>>>>>> No, u-boot.bin. With u-boot-dtb.bin I get a snow # prompt on the
>>>>>>>> built-in LCD, and working keyboard.
>>>>>>>
>>>>>>> OK sounds like it is working, good! I wonder if we should have a page
>>>>>>> on elinux.org?
>>>>>
>>>>> It is working to some extent.
>>>>>
>>>>> I managed to load kernel from the emmc which works fine but the kernel
>>>>> cannot read the emmc after it boots because it does not properly parse
>>>>> the partitioning scheme. This should be trivially fixable in the
>>>>> kernel and might actually work if I updated my sources but rebasing
>>>>> the extra patches required for Snow is not automatically handled.
>>>>>
>>>>> On the other hand, the linux kernel has no problem with the SDXC card
>>>>> in the SD slot and can read it just fine. Unfortunately, u-boot
>>>>> complains about EFI partition errors and won't load anything from the
>>>>> card. I tried two different GPT partitioning tools on the card and
>>>>> both say that the partition layout is fine and that I have the default
>>>>> 128 entries.
>>>>>
>>>>> How can I tell why u-boot does not like my GPT label?
>>>>
>>>> You could debug it in U-Boot and see what is going wrong.
>>>>
>>>
>>> Apparently the problem is that the dw mmc controller fails and the
>>> sectors are unreadable. U-boot sometimes reports timeout, sometimes
>>> data error, and sometimes nothing because the result has already been
>>> cached probably. And the reason the dw mmc controller fails is that
>>> port 1 is disabled. Not using disabled controllers would probably
>>> solve the problem.
>>
>> Seems strange. Can you post details of which commit you are building
>> and the console output? I could try it too.
>
>
> Sorry, I don't have the tree anymore.
>
> None of my trees has the commit to relocate away from the address
> clobbered by the Snow ro firmware.
>
> I tried looking again what actually happens but none of the mmc
> commands shows which exact mmc interfaces I have. U-boot somehow picks
> 2 of the 4 dwmmc interfaces the Exynos chip has and I suspect the
> second one is picked or multiplexed wrong. The mmc0 to which emmc is
> connected works fine but mmc2 connected to the external slot always
> fails (on Snow mmc1 is unused and mmc3 is WiFi).
>

Ok, I did the chainload dance and I am running u-boot master patched
so it prints the IO address in mmc list and now

1) both mmc interfaces work
2) I can see the correct mmc interface is used in mmc list

So it was broken for whatever reason and is fixed.

Thanks

Michal


More information about the U-Boot mailing list