[U-Boot] dra7xx: booting from eMMC raw boot partition

Richard Retanubun
2013-11-21T14:02:55Z

Hi Guys, thanks for the responses. my comments are below.

On 20/11/13 05:39 PM, Shankar Rao wrote:> On 11/20/2013 04:27 PM, Richard Retanubun wrote:
> Hi Richard,
> Are you trying to boot Android kernel or Linux kernel? Building u-boot
> with android config will give you access to fastboot which can help you
> partition the eMMC and boot out of it.

I am trying to boot Linux kernel. The plan is to put MLO and uboot in the eMMC's boot partition
and a GPT partitioned linux in the user data area.

I think there are some errata in the ROM bootcode about booting over QSPI1, I am concerned
that I am hitting another errata condition. Can you help me confirm this?

On 21/11/13 12:39 AM, Michael Pratt wrote:
> Hi Richard,
>
> On Wed, Nov 20, 2013 at 5:27 PM, Richard Retanubun
> <richardretanubun@ruggedcom.com> wrote:
>> However, the CPU does not print anything back on the console...
>>
>> The only way I can get raw eMMC boot mode to work is if I put the MLO on
>> /dev/mmcblk1 (which is the user data area).
>
> I have not seen a reference manual for dra7xx, so this may not apply,
> but it is worth noting that many SoCs that support booting from eMMC
> do not actually use the boot mode, and simply boot directly from the
> user data area. The boot mode is described in the eMMC spec in a
> section titled "Boot operation mode" (Section 7.3 in eMMC 4.4).
> Basically, it provides a different initialization sequence that will
> sequentially read out the partition selected in CONFIG_PARTITION. If
> the SoC is not utilizing this boot mode, it may unconditionally read
> from the user data area.
Yep. These are the sequence I am trying to do (the "Alternate boot operation")

>
>> Does the MLO for raw boot mode needs to be different that the MLO for raw
>> user data area?
>
> If both MLO and U-Boot are to be in the boot partition, booted using
> eMMC boot mode, MLO will likely need to behave differently in order to
> correctly read U-Boot. Boot mode sequentially reads out the selected
> partition, without using the standard commands, so MLO will need to
> understand this and perform the appropriate clocking of the eMMC. I
> am unsure if there is currently support for that.
I am aware that the MLO will have to behave differently.
But I expect that at least the beginning (version printing) is common.
I am trying to use that as a quick-and-dirty test to confirm the SoC's
ability to boot over eMMC boot partition.

I am aware that there is no support in denx mainline.
In the ti omapzoom repo/u-boot there are code that looks hopeful.
(ref: /drivers/mmc/spl_mmc.c::spl_mmc_load_image_raw())

Once I can get the SoC to boot the MLO, I plan to use that
for the MLO to find and load uboot.

>
> Hopefully this is helpful!
> Michael Pratt
>
Thanks for both your time.