On Mon, Aug 27, 2018 at 10:13:22AM +0200, Michael Grzeschik wrote: > On Mon, Aug 27, 2018 at 09:52:24AM +0200, Sascha Hauer wrote: > > On Mon, Aug 27, 2018 at 09:47:41AM +0200, Michael Grzeschik wrote: > > > On Fri, Aug 24, 2018 at 05:18:02PM -0300, Fabio Estevam wrote: > > > > Hi Michael, > > > > > > > > On Fri, Aug 24, 2018 at 4:55 PM, Michael Grzeschik <mgr@xxxxxxxxxxxxxx> wrote: > > > > > > > > > I get that it is not safe to toggle bits if the clock is not > > > > > there. We could check for the bootsource. Is it possible to > > > > > ensure that we are started by imx-usb-loader? > > > > > > > > It is possible to determine if we have started via USB download mode. > > > > > > > > Check the is_boot_from_usb() implementation in U-Boot for a reference. > > > > > > Right, So it seems to be safe to reach for the phys registers on mx6. > > > > > > On mx5 and similar we have a nop phy and the only way to > > > communicate with it is through usbmisc, which is also in the > > > register space that leads to a hang if one clock is missing. > > > > > > I will search for another solutions on those SoCs. > > > > It's not necessary to ask for the bootsource. You just have to enable > > the clocks necessary to access the USB registers. Or the other way > > round: When the clocks are not enabled already, you could assume we have > > not booted from USB. > > Right, I think enabling the clocks is a little bit more safe > as we otherwise would need to ensure that nobody slips in > a DCD that already ungates all clocks. What could happen is that somebody *dis*abled the USB clocks in DCD. In that case though the USB on the host will already be confused and we already have lost - no need to do anything in that case. Sascha -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox