[U-Boot] [PATCH] rockchip: rk3288: update the mmc number for fastboot
Dr. Philipp Tomsich
philipp.tomsich at theobroma-systems.com
Thu Aug 17 08:27:10 UTC 2017
> On 17 Aug 2017, at 09:51, Kever Yang <kever.yang at rock-chips.com> wrote:
>
> Hi Philipp,
>
>
> On 07/27/2017 09:09 PM, Dr. Philipp Tomsich wrote:
>>> On 27 Jul 2017, at 15:04, Kever Yang <kever.yang at rock-chips.com> wrote:
>>>
>>> Philipp,
>>>
>>>
>>> On 07/27/2017 08:16 PM, Dr. Philipp Tomsich wrote:
>>>> Kever,
>>>>
>>>>> On 27 Jul 2017, at 13:47, Kever Yang <kever.yang at rock-chips.com> wrote:
>>>>>
>>>>> The emmc number is 0, correct it for fastboot parameter.
>>>> I provided some code in rk3399-board-spl.c (commit d02d11f8; see
>>>> spl_node_to_boot_device(…) and how 'desc->devnum’ is accessed there)
>>>> to map from a of_node back to a device-number.
>>>>
>>>> Could you do something similar for the fastboot case, so we can have a DTS
>>>> property (e.g. under /config or /chosen) to map back to the devnum on a
>>>> per-board basis?
>>> I'm not sure if there two are similar the same case, for boot device, we
>>> want to support more then one devices in an order, but for fastboot,
>>> we usually do not support device other than eMMC.
>> Sorry for being a bit unspecific (but had hoped that the reference to the function
>> resolving a single of_node back to a devnum would have clarified what I intended
>> to say)…
>>
>> I didn’t mean for you to use an ordered list, but rather a single referenced node.
>> E.g.
>> u-boot,fastboot-flash-device = <&sdmmc>;
>
> I try to under stand what you want to do here, but again, I think this is different
> with the boot order. The boot order have much choice, different sequence, so it's
> reasonable for what you have done. But the FLASH_MMC_DEV is only one number,
> not a list, not a node, just like CONFIG_SYS_MMC_ENV_DEV, it's quite easy to do it,
> we do not need to write it in dts and decode the dts, what we need is give the correct
> number to fastboot driver, and that's all.
While eMMC will be the default for most deployments, people may want to
use a different setting for their devices or during testing. In fact the way this
is used in the applications we see can be grouped along the following use
cases:
(a) production deployment
(1) sometimes fixed to the internal storage (i.e. eMMC)
(2) sometimes fixed to external storage (e.g. a eMMC on the baseboard)
(3) sometimes set to ‘same device the bootloader was loaded from'
(b) device development:
(4) often fixed to a specific storage device (can bei either ‘internal’ or
‘external’ storage)
(5) sometimes set to ‘same devices as the bootloader'
In other words, there’s a lot of variability in what is right for a specific application
and device, but this should not require a new board-configuration in U-Boot (or
a U-Boot rebuild).
Regards,
Philipp.
More information about the U-Boot
mailing list