[U-Boot] [PATCH 05/10] dfu: Only perform DFU board_usb_init() for TRATS

Tom Rini trini at ti.com
Fri Nov 30 02:57:07 CET 2012


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 11/29/12 18:14, Lukasz Majewski wrote:
> Hi Tom,
> 
> On 11/28/12 11:08, Lukasz Majewski wrote:
>>>> Hi Tom,
>>>> 
>>>> On 11/28/12 09:47, Lukasz Majewski wrote:
>>>>>>> Hi Pantelis,
>>>>>>> 
>>>>>>>> USB initialization shouldn't happen for all the 
>>>>>>>> boards.
>>>>>>>> 
>>>>>>> 
>>>>>>> The board_usb_init() follows u-boot policy, that SoC 
>>>>>>> IPs (USB) are enabled and configured just before their
>>>>>>>  usage.
>>>>>>> 
>>>>>>> 
>>>>>>>> Signed-off-by: Pantelis Antoniou 
>>>>>>>> <panto at antoniou-consulting.com> --- common/cmd_dfu.c
>>>>>>>>  | 3 +++ 1 file changed, 3 insertions(+)
>>>>>>>> 
>>>>>>>> diff --git a/common/cmd_dfu.c b/common/cmd_dfu.c 
>>>>>>>> index 01d6b3a..327c738 100644 --- a/common/cmd_dfu.c
>>>>>>>>  +++ b/common/cmd_dfu.c @@ -55,7 +55,10 @@ static
>>>>>>>> int do_dfu(cmd_tbl_t *cmdtp, int flag, int argc, char
>>>>>>>> * const argv[]) goto done; }
>>>>>>>> 
>>>>>>>> +#ifdef CONFIG_TRATS board_usb_init(); +#endif +
>>>>>>> In mine opinion this #ifdef shall be removed and each 
>>>>>>> target board using the DFU shall define 
>>>>>>> board_usb_init() at board file.
>>>>>>> 
>>>>> 
>>>>> But this isn't a called-only-once place.  What are you 
>>>>> really doing here and are you sure it's needed every time 
>>>>> DFU is called?
>>>>> 
>>>> 
>>>> Hmm, you are correct here.
>>>> 
>>>> But I don't have a good alternative for this.
>>>> 
>>>> One solution would be to define a static flag for it at 
>>>> do_dfu function to indicate if this was executed once 
>>>> (however I'm reluctant do this).
>>>> 
>>>> 
>>>> Any ideas?
> 
> I think the answer, and it's what we do on am335x is that 
> arch_misc_init() is what calls the equiv of s3c_udc_probe(...) 
> under the logic of "if we are built with usb gadget support, we 
> want to use it, so init it".
> 
>> I've understood the policy differently:
> 
>> "We are build with gadget support and we _might_ use it, so 
>> enable low level code only when (or just before) we use it".
> 
>> What's about the power consumption? Why IP block which will be 
>> used from time to time shall be enabled and operational?

Frankly, I think this shows we don't have a good setup right now, in
general.  Saying the gadget needs to whack and re-whack the device
into on state (but isn't really turning it off once done) isn't ideal.
 There are also indeed drawbacks to saying "gadget support enabled at
boot-time, let me set it up".  Right now, I don't really have a good
answer.  It also needs to cover things like gadget ethernet where we
don't really want to disappear immediately after each command.

- -- 
Tom
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://www.enigmail.net/

iQIcBAEBAgAGBQJQuBJzAAoJENk4IS6UOR1WWncP/29E2kP1ErctSmBPUkJZASEk
qmW+rYCwxpz3aesC6Dcnc0Urad+MwO9SPbzUFfQcB4CMVXXAXMcahH+4FY8FzTnV
p8QqQjZ0o54xYxEI/evkaEWsTyM3nBBXtMq9II2gwYPMxP88i2JwL1NMOF6o2z+Y
VVNyGO1685JIGU+WMzpoXp4WYjfd/8qv8JHhQ+moGoFe0p7p5c5kokYsbXdcxvyk
rkeJrog8SV+vJQLnu0nUh8Q/pBYftiMDD+U8upQOiYNF1CPgGugX33XJydtYMoA8
rv6an/xh4PXUSJkAJbwp8vrxQqrHD0MYWtZEPwTEToFmTxvvaS2zJ0uOnNLkjanv
dp8RrD38HIczsgMtAVXR9nhFsW89MB2EiXc7N/EoO0BA4E0pac1/+OUfUMwELj16
IKJIHa4BXkHfg/ybQXCxr+GDZEc8YwLGXxzyIw8cS3PffNSkR1fkJcjZwFg190y0
1IjmlF0Dhg0CGweej0WTFuzi3OmHQOvMJcvT0doiI35iVbFvGwhjNUt8dJeDr0Yr
xkhWPhR3+iMXmzle+me+ZUxUe5g2vGqPC6HeGUO/fo0ntqZfITjzznMHKpN8Uxwv
D6Njg2e785ZIgTxcMXKn/Q2xtPBF78/stWeStyIwIAxYOEDw/C+NipWAHEpJdGTp
k8mhP+GKWgatyZ5yqDBA
=01FA
-----END PGP SIGNATURE-----


More information about the U-Boot mailing list