fastboot: Implement NAND backend

So far the fastboot code was only supporting MMC-backed devices for its
flashing operations (flash and erase).

Add a storage backend for NAND-backed devices.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
This commit is contained in:
Maxime Ripard
2015-10-15 14:34:17 +02:00
committed by Tom Rini
parent 1f8690aa95
commit bf8940d35b
4 changed files with 223 additions and 1 deletions

View File

@@ -24,6 +24,9 @@
#ifdef CONFIG_FASTBOOT_FLASH_MMC_DEV
#include <fb_mmc.h>
#endif
#ifdef CONFIG_FASTBOOT_FLASH_NAND_DEV
#include <fb_nand.h>
#endif
#define FASTBOOT_VERSION "0.4"
@@ -568,6 +571,11 @@ static void cb_flash(struct usb_ep *ep, struct usb_request *req)
fb_mmc_flash_write(cmd, fastboot_flash_session_id,
(void *)CONFIG_FASTBOOT_BUF_ADDR,
download_bytes, response);
#endif
#ifdef CONFIG_FASTBOOT_FLASH_NAND_DEV
fb_nand_flash_write(cmd, fastboot_flash_session_id,
(void *)CONFIG_FASTBOOT_BUF_ADDR,
download_bytes, response);
#endif
fastboot_flash_session_id++;
fastboot_tx_write_str(response);
@@ -613,6 +621,9 @@ static void cb_erase(struct usb_ep *ep, struct usb_request *req)
#ifdef CONFIG_FASTBOOT_FLASH_MMC_DEV
fb_mmc_erase(cmd, response);
#endif
#ifdef CONFIG_FASTBOOT_FLASH_NAND_DEV
fb_nand_erase(cmd, response);
#endif
fastboot_tx_write_str(response);
}