From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tom Rini Date: Thu, 29 Nov 2012 20:57:07 -0500 Subject: [U-Boot] [PATCH 05/10] dfu: Only perform DFU board_usb_init() for TRATS In-Reply-To: <20121130001402.3ffc49a3@jawa> References: <1354174439-5589-1-git-send-email-panto@antoniou-consulting.com> <1354174439-5589-6-git-send-email-panto@antoniou-consulting.com> <20121128154743.06b3da95@amdc308.digital.local> <50B63336.6060002@ti.com> <20121128170859.6177fe9b@amdc308.digital.local> <50B79E96.7010605@ti.com> <20121130001402.3ffc49a3@jawa> Message-ID: <50B81273.4040009@ti.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de -----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 >>>>>>>> --- 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-----