[PATCH v4 1/4] cmd: bind: Add unbind command with driver filter

Tom Rini trini at konsulko.com
Fri Aug 4 19:23:05 CEST 2023


On Fri, Aug 04, 2023 at 07:04:31PM +0200, Miquel Raynal wrote:
> Hi Tom,
> 
> > > > >>>>> Cannot find a device with path /ocp/usb at 47400000/usb at 47401000    
> > > > >>>>> => unbind /ocp/usb at 47400000/usb at 47401000
> > > > >>>>> => dm tree    
> > > > >>>>>     misc          0  [ + ]   ti-musb-wrapper       |   |-- usb at 47400000
> > > > >>>>>     usb           0  [   ]   ti-musb-host          |   |   `-- usb at 47401800    
> > > > >>>>> => fastboot usb 0
> > > > >>>>> => bind /ocp/usb at 47400000/usb at 47401000 ti-musb-peripheral
> > > > >>>>> => dm tree    
> > > > >>>>>     misc          0  [ + ]   ti-musb-wrapper       |   |-- usb at 47400000
> > > > >>>>>     usb           0  [   ]   ti-musb-host          |   |   |-- usb at 47401800
> > > > >>>>>     usb           0  [   ]   ti-musb-peripheral    |   |   `-- usb at 47401000    
> > > > >>>>> => fastboot usb 0    
> > > > >>>>> musb-hdrc: peripheral reset irq lost!
> > > > >>>>> # works! (the irq-related line above as always been there)
> > > > >>>>>
> > > > >>>>> So now, how do we make this process easy/understandable?    
> > > > >>>>
> > > > >>>> What would be your proposal ?    
> > > > > 
> > > > > At least I would appreciate:
> > > > > - to select CMD_BIND "by default" when relevant
> > > > > - to make the fastboot error more readable for the regular user    
> > > > 
> > > > Since with this 'unbind ethernet 0' this is orthogonal to this series, send separate patches, thanks.  
> > > 
> > > This is not orthogonal, I am sorry.
> > > 
> > > version X:
> > > - tftp works "out of the box"
> > > - fastboot works "out of the box"
> > > version X+1:
> > > - tftp works "out of the box"
> > > - fastboot returns an obscure error
> > > 
> > > 1/ If we now *need* the bind/unbind commands, the series must take care
> > >    of it.
> > > 2/ Without proper error message you just break fastboot for most
> > >    regular users (basically everyone but few U-Boot devs).  
> > 
> > You're missing the class of users that will be impacted here.  In order
> > for there to be a change here, you have to already be in the case where
> > you have CONFIG_USB_ETHER=y and gadget ethernet device isn't just
> > enabled but also initialized by default by calling usb_ether_init().
> > That's a very small list.  It's basically am33xx, two mediatek reference
> > platforms and xilinx_zynqmp_virt.  Given that am33xx defconfigs also
> > setup DFU, I'm not really sure just how many people use gadget ethernet.
> > The normal flow on modern devices is to be calling bind/unbind here
> > already.
> 
> Can we make this behavior explicit to the user? I am sorry, maybe it is
> the normal flow for you, but I am a regular U-Boot user and I totally
> missed that requirement.
> 
> Typical situation: one needs to use <whatever-gadget> but none is bound
> to the UDC (or another is bound), could we make the error messages more
> explicit if we decide not to unbind/bind the right one automatically
> because it is too "costly"?

If you would like to improve this, yes, please do.  The uncommon case is
where gadget ethernet and fastboot/dfu/etc are also being used one after
the other.  The typical case is you just fastboot or dfu or whatever,
and that command requires you to say what usb controller you're binding
to and so works.

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20230804/9fb131d5/attachment.sig>


More information about the U-Boot mailing list