[U-Boot] u-boot for Snow problem

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.
I get black screen with backlight on.
So
1) is u-boot supposed to have graphics console output? If so where is that output? LCD/HDMI/what HDMI mode?
The only display related option in menuconfig seems to be some SPI display bridge.
2) is u-boot supposed to have serial console output? If so where is that console? There is supposed to be some 'servo' connector somewhere but I did not find any information on the pinout.
3) how do I tell if u-boot is even running?
Thanks
Michal

Hi Michal,
On 11 February 2015 at 10:16, Michal Suchanek hramrach@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.
I get black screen with backlight on.
So
- is u-boot supposed to have graphics console output?
If so where is that output? LCD/HDMI/what HDMI mode?
The only display related option in menuconfig seems to be some SPI display bridge.
Yes it should be enabled, works for me.
- is u-boot supposed to have serial console output?
If so where is that console? There is supposed to be some 'servo' connector somewhere but I did not find any information on the pinout.
Yes but you can only access it on the servo pints. From Pit/Pi this is a little easier, but for snow you will need to do some very fine soldering.
- how do I tell if u-boot is even running?
I think you are doing the right things.
Regards, Simon

On 13 February 2015 at 05:51, Simon Glass sjg@chromium.org wrote:
Hi Michal,
On 11 February 2015 at 10:16, Michal Suchanek hramrach@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.
Thanks
Michal

Hi Michal,
On 16 February 2015 at 04:41, Michal Suchanek hramrach@gmail.com wrote:
On 13 February 2015 at 05:51, Simon Glass sjg@chromium.org wrote:
Hi Michal,
On 11 February 2015 at 10:16, Michal Suchanek hramrach@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?
Regards, Simon

On 18 February 2015 at 03:27, Simon Glass sjg@chromium.org wrote:
Hi Michal,
On 16 February 2015 at 04:41, Michal Suchanek hramrach@gmail.com wrote:
On 13 February 2015 at 05:51, Simon Glass sjg@chromium.org wrote:
Hi Michal,
On 11 February 2015 at 10:16, Michal Suchanek hramrach@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?
Actually it turns out there is linux-exynos.org. Not that it has much information on the Snow hardware, though.
Thanks
Michal

Hello,
On 18 February 2015 at 06:24, Michal Suchanek hramrach@gmail.com wrote:
On 18 February 2015 at 03:27, Simon Glass sjg@chromium.org wrote:
Hi Michal,
On 16 February 2015 at 04:41, Michal Suchanek hramrach@gmail.com wrote:
On 13 February 2015 at 05:51, Simon Glass sjg@chromium.org wrote:
Hi Michal,
On 11 February 2015 at 10:16, Michal Suchanek hramrach@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?
Thanks
Michal

Hi Michal,
On 2 March 2015 at 04:25, Michal Suchanek hramrach@gmail.com wrote:
Hello,
On 18 February 2015 at 06:24, Michal Suchanek hramrach@gmail.com wrote:
On 18 February 2015 at 03:27, Simon Glass sjg@chromium.org wrote:
Hi Michal,
On 16 February 2015 at 04:41, Michal Suchanek hramrach@gmail.com wrote:
On 13 February 2015 at 05:51, Simon Glass sjg@chromium.org wrote:
Hi Michal,
On 11 February 2015 at 10:16, Michal Suchanek hramrach@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.
Regards, Simon

On 4 March 2015 at 00:46, Simon Glass sjg@chromium.org wrote:
Hi Michal,
On 2 March 2015 at 04:25, Michal Suchanek hramrach@gmail.com wrote:
Hello,
On 18 February 2015 at 06:24, Michal Suchanek hramrach@gmail.com wrote:
On 18 February 2015 at 03:27, Simon Glass sjg@chromium.org wrote:
Hi Michal,
On 16 February 2015 at 04:41, Michal Suchanek hramrach@gmail.com wrote:
On 13 February 2015 at 05:51, Simon Glass sjg@chromium.org wrote:
Hi Michal,
On 11 February 2015 at 10:16, Michal Suchanek hramrach@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.
Presumably. How do I do that?
The available external partitioning tools say the GPT label is OK.
u-boot has afaik no partitioning tools built-in so all I get is something along the lines "I don't like this partition layout, go away". Without serial console I don't have the exact messages captured but they did not say anything about reason why u-boot did not like the label.
Presumably I can insert some debug prints in the ext2 commands.
Maybe they should have been there to start with so that users who cannot load a file get some diagnostic why loading the file failed?
Thanks
Michal

On Wed, 2015-03-04 at 11:48 +0100, Michal Suchanek wrote:
On 4 March 2015 at 00:46, Simon Glass sjg@chromium.org wrote:
Hi Michal,
On 2 March 2015 at 04:25, Michal Suchanek hramrach@gmail.com wrote:
Hello,
On 18 February 2015 at 06:24, Michal Suchanek hramrach@gmail.com wrote:
On 18 February 2015 at 03:27, Simon Glass sjg@chromium.org wrote:
Hi Michal,
On 16 February 2015 at 04:41, Michal Suchanek hramrach@gmail.com wrote:
On 13 February 2015 at 05:51, Simon Glass sjg@chromium.org wrote: > Hi Michal, > > On 11 February 2015 at 10:16, Michal Suchanek hramrach@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.
Presumably. How do I do that?
You should be able to use the u-boot sandbox build (on your intel box) and load image from your device in there using the sb command. The partitioning code isn't device specific, so that should give you a convenient way to reproduce the issue and debug it without needing a serial.
The available external partitioning tools say the GPT label is OK.
u-boot has afaik no partitioning tools built-in so all I get is something along the lines "I don't like this partition layout, go away". Without serial console I don't have the exact messages captured but they did not say anything about reason why u-boot did not like the label.
Presumably I can insert some debug prints in the ext2 commands.
Maybe they should have been there to start with so that users who cannot load a file get some diagnostic why loading the file failed?

On 4 March 2015 at 13:29, Sjoerd Simons sjoerd.simons@collabora.co.uk wrote:
On Wed, 2015-03-04 at 11:48 +0100, Michal Suchanek wrote:
On 4 March 2015 at 00:46, Simon Glass sjg@chromium.org wrote:
Hi Michal,
On 2 March 2015 at 04:25, Michal Suchanek hramrach@gmail.com wrote:
Hello,
On 18 February 2015 at 06:24, Michal Suchanek hramrach@gmail.com wrote:
On 18 February 2015 at 03:27, Simon Glass sjg@chromium.org wrote:
Hi Michal,
On 16 February 2015 at 04:41, Michal Suchanek hramrach@gmail.com wrote: > On 13 February 2015 at 05:51, Simon Glass sjg@chromium.org wrote: >> Hi Michal, >> >> On 11 February 2015 at 10:16, Michal Suchanek hramrach@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.
Presumably. How do I do that?
You should be able to use the u-boot sandbox build (on your intel box) and load image from your device in there using the sb command. The partitioning code isn't device specific, so that should give you a convenient way to reproduce the issue and debug it without needing a serial.
The problem is not that I do not have a serial port. It makes grepping for error messages inconvenient but that's it.
The problem is that u-boot does not provide any diagnostics as to why it does not like the partition layout.
Thanks
Michal

Hi Michal,
On 4 March 2015 at 05:58, Michal Suchanek hramrach@gmail.com wrote:
On 4 March 2015 at 13:29, Sjoerd Simons sjoerd.simons@collabora.co.uk wrote:
On Wed, 2015-03-04 at 11:48 +0100, Michal Suchanek wrote:
On 4 March 2015 at 00:46, Simon Glass sjg@chromium.org wrote:
Hi Michal,
On 2 March 2015 at 04:25, Michal Suchanek hramrach@gmail.com wrote:
Hello,
On 18 February 2015 at 06:24, Michal Suchanek hramrach@gmail.com wrote:
On 18 February 2015 at 03:27, Simon Glass sjg@chromium.org wrote: > Hi Michal, > > On 16 February 2015 at 04:41, Michal Suchanek hramrach@gmail.com wrote: >> On 13 February 2015 at 05:51, Simon Glass sjg@chromium.org wrote: >>> Hi Michal, >>> >>> On 11 February 2015 at 10:16, Michal Suchanek hramrach@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.
Presumably. How do I do that?
You should be able to use the u-boot sandbox build (on your intel box) and load image from your device in there using the sb command. The partitioning code isn't device specific, so that should give you a convenient way to reproduce the issue and debug it without needing a serial.
The problem is not that I do not have a serial port. It makes grepping for error messages inconvenient but that's it.
The problem is that u-boot does not provide any diagnostics as to why it does not like the partition layout.
Yes it would be good to improve the error messages.
Regards, Simon

Hello,
On 4 March 2015 at 00:46, Simon Glass sjg@chromium.org wrote:
Hi Michal,
On 2 March 2015 at 04:25, Michal Suchanek hramrach@gmail.com wrote:
Hello,
On 18 February 2015 at 06:24, Michal Suchanek hramrach@gmail.com wrote:
On 18 February 2015 at 03:27, Simon Glass sjg@chromium.org wrote:
Hi Michal,
On 16 February 2015 at 04:41, Michal Suchanek hramrach@gmail.com wrote:
On 13 February 2015 at 05:51, Simon Glass sjg@chromium.org wrote:
Hi Michal,
On 11 February 2015 at 10:16, Michal Suchanek hramrach@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.
Thanks
Michal

Hi Michal,
On 14 April 2015 at 16:10, Michal Suchanek hramrach@gmail.com wrote:
Hello,
On 4 March 2015 at 00:46, Simon Glass sjg@chromium.org wrote:
Hi Michal,
On 2 March 2015 at 04:25, Michal Suchanek hramrach@gmail.com wrote:
Hello,
On 18 February 2015 at 06:24, Michal Suchanek hramrach@gmail.com wrote:
On 18 February 2015 at 03:27, Simon Glass sjg@chromium.org wrote:
Hi Michal,
On 16 February 2015 at 04:41, Michal Suchanek hramrach@gmail.com wrote:
On 13 February 2015 at 05:51, Simon Glass sjg@chromium.org wrote: > Hi Michal, > > On 11 February 2015 at 10:16, Michal Suchanek hramrach@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.
Regards, Simon

On 15 April 2015 at 17:00, Simon Glass sjg@chromium.org wrote:
Hi Michal,
On 14 April 2015 at 16:10, Michal Suchanek hramrach@gmail.com wrote:
Hello,
On 4 March 2015 at 00:46, Simon Glass sjg@chromium.org wrote:
Hi Michal,
On 2 March 2015 at 04:25, Michal Suchanek hramrach@gmail.com wrote:
Hello,
On 18 February 2015 at 06:24, Michal Suchanek hramrach@gmail.com wrote:
On 18 February 2015 at 03:27, Simon Glass sjg@chromium.org wrote:
Hi Michal,
On 16 February 2015 at 04:41, Michal Suchanek hramrach@gmail.com wrote: > On 13 February 2015 at 05:51, Simon Glass sjg@chromium.org wrote: >> Hi Michal, >> >> On 11 February 2015 at 10:16, Michal Suchanek hramrach@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).
I tried building u-boot master but none of the boot commands I have in the currently installed unknown u-boot snapshot likes the u-boot-dtb.bin image and I definitely do not want to replace the semi-working snapshot I have with non-relocated u-boot master.
Thanks
Michal

On 15 April 2015 at 19:01, Michal Suchanek hramrach@gmail.com wrote:
On 15 April 2015 at 17:00, Simon Glass sjg@chromium.org wrote:
Hi Michal,
On 14 April 2015 at 16:10, Michal Suchanek hramrach@gmail.com wrote:
Hello,
On 4 March 2015 at 00:46, Simon Glass sjg@chromium.org wrote:
Hi Michal,
On 2 March 2015 at 04:25, Michal Suchanek hramrach@gmail.com wrote:
Hello,
On 18 February 2015 at 06:24, Michal Suchanek hramrach@gmail.com wrote:
On 18 February 2015 at 03:27, Simon Glass sjg@chromium.org wrote: > Hi Michal, > > On 16 February 2015 at 04:41, Michal Suchanek hramrach@gmail.com wrote: >> On 13 February 2015 at 05:51, Simon Glass sjg@chromium.org wrote: >>> Hi Michal, >>> >>> On 11 February 2015 at 10:16, Michal Suchanek hramrach@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

Hi Michal,
On 17 April 2015 at 12:49, Michal Suchanek hramrach@gmail.com wrote:
On 15 April 2015 at 19:01, Michal Suchanek hramrach@gmail.com wrote:
On 15 April 2015 at 17:00, Simon Glass sjg@chromium.org wrote:
Hi Michal,
On 14 April 2015 at 16:10, Michal Suchanek hramrach@gmail.com wrote:
Hello,
On 4 March 2015 at 00:46, Simon Glass sjg@chromium.org wrote:
Hi Michal,
On 2 March 2015 at 04:25, Michal Suchanek hramrach@gmail.com wrote:
Hello,
On 18 February 2015 at 06:24, Michal Suchanek hramrach@gmail.com wrote: > On 18 February 2015 at 03:27, Simon Glass sjg@chromium.org wrote: >> Hi Michal, >> >> On 16 February 2015 at 04:41, Michal Suchanek hramrach@gmail.com wrote: >>> On 13 February 2015 at 05:51, Simon Glass sjg@chromium.org wrote: >>>> Hi Michal, >>>> >>>> On 11 February 2015 at 10:16, Michal Suchanek hramrach@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
- both mmc interfaces work
- I can see the correct mmc interface is used in mmc list
So it was broken for whatever reason and is fixed.
OK great. If you have time you could post the details at elinux.org or similar.
Regards, Simon

On 17 April 2015 at 20:57, Simon Glass sjg@chromium.org wrote:
Hi Michal,
On 17 April 2015 at 12:49, Michal Suchanek hramrach@gmail.com wrote:
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
- both mmc interfaces work
- I can see the correct mmc interface is used in mmc list
So it was broken for whatever reason and is fixed.
OK great. If you have time you could post the details at elinux.org or similar.
I have actually written the details here http://chrodyssey.blogspot.de/ because I always forget how to put the different guides together.
Thanks
Michal
participants (3)
-
Michal Suchanek
-
Simon Glass
-
Sjoerd Simons