Fastboot oem command is updated with SPI specific functionality.

Signed-off-by: Dileep Katta <dileep.ka...@linaro.org>
---
Note: This is on top of Rob Herring patches submitted to support oem format 
command
        Ref: https://patchwork.ozlabs.org/patch/433056/
             https://patchwork.ozlabs.org/patch/433057/
 drivers/usb/gadget/f_fastboot.c | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/drivers/usb/gadget/f_fastboot.c b/drivers/usb/gadget/f_fastboot.c
index a170eea..04fa4c2 100644
--- a/drivers/usb/gadget/f_fastboot.c
+++ b/drivers/usb/gadget/f_fastboot.c
@@ -591,7 +591,33 @@ static void cb_flash(struct usb_ep *ep, struct usb_request 
*req)
 static void cb_oem(struct usb_ep *ep, struct usb_request *req)
 {
        char *cmd = req->buf;
+
 #ifdef CONFIG_FASTBOOT_FLASH
+#ifdef CONFIG_SPL_SPI_SUPPORT
+       char *sf_erase[4] = {"sf", "erase", "0", "20000"};
+       int status;
+       char *sf_probe[3] = {"sf", "probe", "0"};
+       if (strncmp(req->buf + 4, "spi", 3) == 0) {
+               boot_from_spi = 1;
+               status = do_spi_flash(NULL, 0, 3, sf_probe);
+               if (status) {
+                       fastboot_tx_write_str("FAILcould not probe SPI");
+                       return;
+               }
+               status = do_spi_flash(NULL, 0, 4, sf_erase);
+               if (status) {
+                       fastboot_tx_write_str("FAILcould not erase SPI");
+                       return;
+               }
+               fastboot_tx_write_str("OKAY");
+               return;
+       } else if (strncmp(req->buf + 4, "mmc", 3) == 0) {
+               boot_from_spi = 0;
+               fastboot_tx_write_str("OKAY");
+               return;
+       }
+#endif
+
        if (strncmp("format", cmd + 4, 6) == 0) {
                char cmdbuf[32];
                 sprintf(cmdbuf, "gpt write mmc %x $partitions",
-- 
1.8.3.2

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to