[U-Boot] [RFC PATCH v2 1/5] spl: dfu: add dfu support in SPL

B, Ravi ravibabu at ti.com
Thu Jul 28 06:09:10 CEST 2016


Tom

> On 27-Jul-2016, at 8:55 PM, Tom Rini <trini at konsulko.com> wrote:
> 
>> On Wed, Jul 27, 2016 at 02:04:24PM +0000, B, Ravi wrote:
>> Hi Tom
>> 
>> Missed this thread to reply.
>> 
>>>> index ef12f9f..ed3e295 100644
>>>> --- a/Kconfig
>>>> +++ b/Kconfig
>>>> @@ -336,6 +336,33 @@ config SPL_FIT_IMAGE_POST_PROCESS
>>>>      injected into the FIT creation (i.e. the blobs would have been pre-
>>>>      processed before being added to the FIT image).
>>>> 
>>>> +config SPL_DFU_SUPPORT
>>>> +    bool "Enable SPL with DFU to load binaries to memory device"
>>>> +    depends on USB && TARGET_DRA7XX_EVM
>> 
>>> This seems needlessly restrictive.
>> 
>> Yes, I do agree, at present only dra7x platform  support BOOT_DEVICE_DFU.
>> if we make it generic, then other platform should also enable the SPL-DFU
>> support for their respective platform (similar to [RFC PATCH v2 5/5] dra7x: configs: enable SPL-DFU support).
> 
> That's what I'm saying, this all looks generic today, except for the
> restriction here in Kconfig.  Yes, boards that want to use it will have
> to fill in plumbing, but that's normal.

Ok, then I will remove this restriction. 
> 
>>>> diff --git a/common/command.c b/common/command.c index 
>>>> e5d9b9c..d1c049c 100644
>>>> --- a/common/command.c
>>>> +++ b/common/command.c
>>>> @@ -520,7 +520,7 @@ enum command_ret_t cmd_process(int flag, int argc, char * const argv[],
>>>>    if (argc > cmdtp->maxargs)
>>>>        rc = CMD_RET_USAGE;
>>>> 
>>>> -#if defined(CONFIG_CMD_BOOTD)
>>>> +#if defined(CONFIG_CMD_BOOTD) && !defined(CONFIG_SPL_BUILD)
>>>>    /* avoid "bootd" recursion */ Check whether they use DMA or PIO mode.
>> 
>>>>    else if (cmdtp->cmd == do_bootd) {
>>>>        if (flag & CMD_FLAG_BOOTD) {
>> 
>>> Why do we need this?
>> 
>> Actually CONFIG_CMD_BOOTD is not required for SPL-DFU. 
>> But cmd/Kconfg has defined CONFIG_CMD_BOOTD by default, which is causing compilation error for "do_bootd" not defined.
>> Again do_bootd depends on CONFIG_CMD_BOOTM which is not defined for SPL.
>> 
>> What is best way? What do you suggest ?
> 
> First, what is the exact compile error you get?  And second, probably
> disable CMD_BOOTD.

Since CMD_BOOTD is enabled, the function do_bood is undefined due to cmd/bootm.c compiled out for SPL.

As you said, better to disable CMD_BOOTD.

Regards
Ravi


More information about the U-Boot mailing list