Browse Source

drivers: fastboot: Fix the error of writing sparse file with fastboot

Add config for max block size to write in MMC with sparse file.

Signed-off-by: Xingyu Wu <xingyu.wu@starfivetech.com>
Xingyu Wu 8 months ago
parent
commit
706fab8ccb
3 changed files with 18 additions and 0 deletions
  1. 11 0
      configs/starfive_evb_defconfig
  2. 3 0
      drivers/fastboot/Kconfig
  3. 4 0
      drivers/fastboot/fb_mmc.c

+ 11 - 0
configs/starfive_evb_defconfig

@@ -72,6 +72,17 @@ CONFIG_SPL_CLK_COMPOSITE_CCF=y
 CONFIG_CLK_CCF=y
 CONFIG_CLK_COMPOSITE_CCF=y
 CONFIG_SPL_CLK_JH7110=y
+CONFIG_USB_FUNCTION_FASTBOOT=y
+CONFIG_FASTBOOT_BUF_ADDR=0x60000000
+CONFIG_FASTBOOT_BUF_SIZE=0x80000000
+CONFIG_FASTBOOT_USB_DEV=1
+CONFIG_FASTBOOT_FLASH=y
+CONFIG_FASTBOOT_UUU_SUPPORT=y
+CONFIG_FASTBOOT_FLASH_MMC_DEV=0
+CONFIG_FASTBOOT_MMC_BOOT_SUPPORT=y
+CONFIG_FASTBOOT_MMC_USER_SUPPORT=y
+CONFIG_FASTBOOT_CMD_OEM_FORMAT=y
+CONFIG_FASTBOOT_STARFIVE_MAX_BLK_WRITE=8192
 CONFIG_SYS_I2C_DW=y
 CONFIG_MMC_HS200_SUPPORT=y
 CONFIG_SPL_MMC_HS200_SUPPORT=y

+ 3 - 0
drivers/fastboot/Kconfig

@@ -212,6 +212,9 @@ config FASTBOOT_CMD_OEM_BOOTBUS
 	  Add support for the "oem bootbus" command from a client. This set
 	  the mmc boot configuration for the selecting eMMC device.
 
+config FASTBOOT_STARFIVE_MAX_BLK_WRITE
+        int "The max size of block writing with sparse file on StarFive JH7110 SoC"
+
 endif # FASTBOOT
 
 endmenu

+ 4 - 0
drivers/fastboot/fb_mmc.c

@@ -20,7 +20,11 @@
 #include <linux/compat.h>
 #include <android_image.h>
 
+#ifdef CONFIG_FASTBOOT_STARFIVE_MAX_BLK_WRITE
+#define FASTBOOT_MAX_BLK_WRITE	CONFIG_FASTBOOT_STARFIVE_MAX_BLK_WRITE /* = 8192 */
+#else
 #define FASTBOOT_MAX_BLK_WRITE 16384
+#endif
 
 #define BOOT_PARTITION_NAME "boot"