> From: Vincent Stehlé [mailto:[email protected]] > Sent: Friday, May 22, 2015 9:53 AM > To: [email protected] > Cc: Stehle Vincent-B46079; Stefano Babic; Estevam Fabio-R49496; Li Frank- > B20596; Garg Nitin-B37173 > Subject: [PATCH] mx6: invalidate D-cache only when booting from USB > > Add a detection at runtime of the boot from USB on i.MX6, and invalidate the > D-cache only in that case. > > The USB boot detection method is taken from Freescale u-boot commit > 1309b1ed78b3 ("ENGR00315499-8 Auto check if boot from usb"). > > This repairs u-boot when it is built with CONFIG_SKIP_LOWLEVEL_INIT > defined, and is booted from another u-boot, which booted from SD card, for > example. > > Signed-off-by: Vincent Stehlé <[email protected]> > Cc: Stefano Babic <[email protected]> > Cc: Fabio Estevam <[email protected]> > Cc: Frank Li <[email protected]> > Cc: Nitin Garg <[email protected]> > --- > arch/arm/cpu/armv7/mx6/soc.c | 15 ++++++++++++++- > 1 file changed, 14 insertions(+), 1 deletion(-) > > diff --git a/arch/arm/cpu/armv7/mx6/soc.c > b/arch/arm/cpu/armv7/mx6/soc.c index 21ef9d0..774f078 100644 > --- a/arch/arm/cpu/armv7/mx6/soc.c > +++ b/arch/arm/cpu/armv7/mx6/soc.c > @@ -350,6 +350,18 @@ int board_postclk_init(void) > return 0; > } > > +/* > + * Determine if we booted from USB. > + * > + * We look at the USBPH0_PWD0.RXPWDRX register to determine if the > USB > + * PHY is powered on or off. If the USB PHY is turned on, we assume > +that > + * the ROM booted us from USB. > + */ > +static bool is_boot_from_usb(void) > +{ > + return !(readl(USB_PHY0_BASE_ADDR) & (1<<20)); } > + > #ifndef CONFIG_SYS_DCACHE_OFF > void enable_caches(void) > { > @@ -360,7 +372,8 @@ void enable_caches(void) #endif > > /* Avoid random hang when download by usb */ > - invalidate_dcache_all(); > + if (is_boot_from_usb()) > + invalidate_dcache_all();
How about second uboot save in usb mass storage device? Best regards Frank Li > > /* Enable D-cache. I-cache is already enabled in start.S */ > dcache_enable(); > -- > 2.1.4 _______________________________________________ U-Boot mailing list [email protected] http://lists.denx.de/mailman/listinfo/u-boot

