
On Thu, Feb 19, 2015 at 02:04:01PM -0600, Rob Herring wrote:
On Wed, Feb 18, 2015 at 4:53 PM, Dileep Katta dileep.katta@linaro.org wrote:
This adds the functionality to flash u-boot and MLO images to QSPI using fastboot
Signed-off-by: Dileep Katta dileep.katta@linaro.org
Note: This is on top of Rob Herring patches submitted to support oem format command drivers/usb/gadget/f_fastboot.c | 75 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+)
diff --git a/drivers/usb/gadget/f_fastboot.c b/drivers/usb/gadget/f_fastboot.c index f7d84bf..a170eea 100644 --- a/drivers/usb/gadget/f_fastboot.c +++ b/drivers/usb/gadget/f_fastboot.c @@ -492,10 +492,23 @@ static void cb_continue(struct usb_ep *ep, struct usb_request *req) }
#ifdef CONFIG_FASTBOOT_FLASH +#ifdef CONFIG_SPL_SPI_SUPPORT +int boot_from_spi = 0; +#endif
static void cb_flash(struct usb_ep *ep, struct usb_request *req) { char *cmd = req->buf; char response[RESPONSE_LEN]; +#ifdef CONFIG_SPL_SPI_SUPPORT
char source[32];
int status = 0;
char *sf_probe[3] = {"sf", "probe", "0"};
char *sf_write_xloader[5] = {"sf", "write", NULL, "0", "20000"};
char *sf_update_xloader[5] = {"sf", "update", NULL, "0", "20000"};
char *sf_write_bl[5] = {"sf", "write", NULL, "80000", "80000"};
char *sf_update_bl[5] = {"sf", "update", NULL, "80000", "80000"};
+#endif
strsep(&cmd, ":"); if (!cmd) {
@@ -505,6 +518,68 @@ static void cb_flash(struct usb_ep *ep, struct usb_request *req) }
strcpy(response, "FAILno flash device defined");
+#ifdef CONFIG_SPL_SPI_SUPPORT
/*
* Check if this is for xloader or bootloader.
* Also, check if we have to flash to SPI
*/
if (strcmp(cmd, "xloader") == 0 && boot_from_spi) {
xloader is pretty specific to TI, so it belongs in TI specific code.
And it's not even "xloader", it's SPL. So are there external tools relying on this that can't be updated?