diff mbox series

[v3] usb: dfu: Migrate CONFIG_SYS_DFU_DATA_BUF_SIZE and CONFIG_SYS_DFU_MAX_FILE_SIZE to Kconfig

Message ID 20210601112147.10253-1-a-govindraju@ti.com
State Accepted
Delegated to: Tom Rini
Headers show
Series [v3] usb: dfu: Migrate CONFIG_SYS_DFU_DATA_BUF_SIZE and CONFIG_SYS_DFU_MAX_FILE_SIZE to Kconfig | expand

Commit Message

Aswath Govindraju June 1, 2021, 11:21 a.m. UTC
Currently the config options CONFIG_SYS_DFU_DATA_BUF_SIZE and
CONFIG_SYS_DFU_MAX_FILE_SIZE are being set in include/configs/<board>.h
files and also in <board_name>_defconfig files without a Kconfig option. It
is easier for users to set these configs in defconfig files than in config
header files as they are a part of the source code.

Add Kconfig symbols, and update the defconfigs by using tools/moveconfig.py
script.

Suggested-by: Pratyush Yadav <p.yadav@ti.com>
Signed-off-by: Aswath Govindraju <a-govindraju@ti.com>
Acked-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
---

Changes since v2:
- Rebased the patch on top of current HEAD
- Picked up Oleksandr Suvorov's Acked-by

Link to v2 patch,
https://patchwork.ozlabs.org/project/uboot/patch/20210226071849.29070-1-a-govindraju@ti.com/

Changes since v1:
- Removed CONFIG_SYS_DFU_MAX_FILE_SIZE in defconfig files, where it was
  not defined previously. The list of files in which this change is made
  are listed below,
  configs/colibri-imx6ull_defconfig
  configs/colibri_vf_defconfig
  configs/corvus_defconfig
  configs/dh_imx6_defconfig
  configs/draco_defconfig
  configs/etamin_defconfig 
  configs/odroid-xu3_defconfig
  configs/odroid_defconfig
  configs/origen_defconfig
  configs/pico-dwarf-imx6ul_defconfig
  configs/pico-hobbit-imx6ul_defconfig
  configs/pico-imx6_defconfig
  configs/pico-imx6ul_defconfig
  configs/pico-pi-imx6ul_defconfig
  configs/pxm2_defconfig
  configs/rastaban_defconfig 
  configs/rut_defconfig
  configs/s5p_goni_defconfig
  configs/s5pc210_universal_defconfig
  configs/smartweb_defconfig  
  configs/socfpga_arria5_defconfig
  configs/socfpga_cyclone5_defconfig
  configs/socfpga_dbm_soc1_defconfig
  configs/socfpga_de0_nano_soc_defconfig
  configs/socfpga_de10_nano_defconfig 
  configs/socfpga_mcvevk_defconfig
  configs/socfpga_sockit_defconfig
  configs/socfpga_socrates_defconfig
  configs/socfpga_vining_fpga_defconfig
  configs/taurus_defconfig
  configs/thuban_defconfig
  configs/topic_miami_defconfig
  configs/topic_miamilite_defconfig
  configs/topic_miamiplus_defconfig 
  configs/trats2_defconfig 
  configs/trats_defconfig
  configs/warp7_bl33_defconfig
  configs/warp7_defconfig
  configs/warp_defconfig
  configs/xilinx_versal_virt_defconfig
  configs/xilinx_zynq_virt_defconfig
  configs/xilinx_zynqmp_virt_defconfig

Link to v1,
https://patchwork.ozlabs.org/project/uboot/patch/20210223061427.20742-1-a-govindraju@ti.com/ 

 configs/am65x_evm_a53_defconfig           |  2 ++
 configs/am65x_evm_r5_usbdfu_defconfig     |  2 ++
 configs/am65x_hs_evm_a53_defconfig        |  2 ++
 configs/beaver_defconfig                  |  2 ++
 configs/cei-tk1-som_defconfig             |  2 ++
 configs/colibri-imx6ull_defconfig         |  1 +
 configs/colibri_vf_defconfig              |  1 +
 configs/corvus_defconfig                  |  1 +
 configs/dalmore_defconfig                 |  2 ++
 configs/dh_imx6_defconfig                 |  1 +
 configs/draco_defconfig                   |  1 +
 configs/etamin_defconfig                  |  1 +
 configs/jetson-tk1_defconfig              |  2 ++
 configs/nyan-big_defconfig                |  2 ++
 configs/odroid-xu3_defconfig              |  1 +
 configs/odroid_defconfig                  |  1 +
 configs/origen_defconfig                  |  1 +
 configs/p2371-0000_defconfig              |  2 ++
 configs/p2371-2180_defconfig              |  2 ++
 configs/p2571_defconfig                   |  2 ++
 configs/p3450-0000_defconfig              |  2 ++
 configs/pico-dwarf-imx6ul_defconfig       |  1 +
 configs/pico-hobbit-imx6ul_defconfig      |  1 +
 configs/pico-imx6_defconfig               |  1 +
 configs/pico-imx6ul_defconfig             |  1 +
 configs/pico-pi-imx6ul_defconfig          |  1 +
 configs/pxm2_defconfig                    |  1 +
 configs/rastaban_defconfig                |  1 +
 configs/rpi_4_32b_defconfig               |  2 ++
 configs/rpi_4_defconfig                   |  2 ++
 configs/rut_defconfig                     |  1 +
 configs/s5p_goni_defconfig                |  1 +
 configs/s5pc210_universal_defconfig       |  1 +
 configs/smartweb_defconfig                |  1 +
 configs/socfpga_arria5_defconfig          |  1 +
 configs/socfpga_cyclone5_defconfig        |  1 +
 configs/socfpga_dbm_soc1_defconfig        |  1 +
 configs/socfpga_de0_nano_soc_defconfig    |  1 +
 configs/socfpga_de10_nano_defconfig       |  1 +
 configs/socfpga_mcvevk_defconfig          |  1 +
 configs/socfpga_sockit_defconfig          |  1 +
 configs/socfpga_socrates_defconfig        |  1 +
 configs/socfpga_vining_fpga_defconfig     |  1 +
 configs/taurus_defconfig                  |  1 +
 configs/thuban_defconfig                  |  1 +
 configs/topic_miami_defconfig             |  1 +
 configs/topic_miamilite_defconfig         |  1 +
 configs/topic_miamiplus_defconfig         |  1 +
 configs/trats2_defconfig                  |  1 +
 configs/trats_defconfig                   |  1 +
 configs/venice2_defconfig                 |  2 ++
 configs/warp7_bl33_defconfig              |  1 +
 configs/warp7_defconfig                   |  1 +
 configs/warp_defconfig                    |  1 +
 configs/xilinx_versal_virt_defconfig      |  1 +
 configs/xilinx_zynq_virt_defconfig        |  1 +
 configs/xilinx_zynqmp_virt_defconfig      |  1 +
 drivers/dfu/Kconfig                       | 20 ++++++++++++++++++++
 include/configs/am65x_evm.h               |  8 --------
 include/configs/colibri-imx6ull.h         |  1 -
 include/configs/colibri_vf.h              |  1 -
 include/configs/corvus.h                  |  1 -
 include/configs/dh_imx6.h                 |  1 -
 include/configs/exynos4-common.h          |  1 -
 include/configs/odroid_xu3.h              |  1 -
 include/configs/pico-imx6.h               |  1 -
 include/configs/pico-imx6ul.h             |  1 -
 include/configs/rpi.h                     |  3 ---
 include/configs/s5p_goni.h                |  1 -
 include/configs/siemens-am33x-common.h    |  1 -
 include/configs/smartweb.h                |  1 -
 include/configs/socfpga_common.h          |  1 -
 include/configs/taurus.h                  |  1 -
 include/configs/tegra-common-usb-gadget.h |  2 --
 include/configs/warp.h                    |  1 -
 include/configs/warp7.h                   |  1 -
 include/configs/xilinx_versal.h           |  1 -
 include/configs/xilinx_zynqmp.h           |  1 -
 include/configs/zynq-common.h             |  1 -
 include/dfu.h                             |  6 ------
 scripts/config_whitelist.txt              |  2 --
 81 files changed, 92 insertions(+), 39 deletions(-)

Comments

Matthias Brugger June 1, 2021, 3:58 p.m. UTC | #1
On 01/06/2021 13:21, Aswath Govindraju wrote:
> Currently the config options CONFIG_SYS_DFU_DATA_BUF_SIZE and
> CONFIG_SYS_DFU_MAX_FILE_SIZE are being set in include/configs/<board>.h
> files and also in <board_name>_defconfig files without a Kconfig option. It
> is easier for users to set these configs in defconfig files than in config
> header files as they are a part of the source code.
> 
> Add Kconfig symbols, and update the defconfigs by using tools/moveconfig.py
> script.
> 
> Suggested-by: Pratyush Yadav <p.yadav@ti.com>
> Signed-off-by: Aswath Govindraju <a-govindraju@ti.com>
> Acked-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>

For Raspberry Pi parts:
Acked-by: Matthias Brugger <mbrugger@suse.com>

> ---
> 
> Changes since v2:
> - Rebased the patch on top of current HEAD
> - Picked up Oleksandr Suvorov's Acked-by
> 
> Link to v2 patch,
> https://patchwork.ozlabs.org/project/uboot/patch/20210226071849.29070-1-a-govindraju@ti.com/
> 
> Changes since v1:
> - Removed CONFIG_SYS_DFU_MAX_FILE_SIZE in defconfig files, where it was
>   not defined previously. The list of files in which this change is made
>   are listed below,
>   configs/colibri-imx6ull_defconfig
>   configs/colibri_vf_defconfig
>   configs/corvus_defconfig
>   configs/dh_imx6_defconfig
>   configs/draco_defconfig
>   configs/etamin_defconfig 
>   configs/odroid-xu3_defconfig
>   configs/odroid_defconfig
>   configs/origen_defconfig
>   configs/pico-dwarf-imx6ul_defconfig
>   configs/pico-hobbit-imx6ul_defconfig
>   configs/pico-imx6_defconfig
>   configs/pico-imx6ul_defconfig
>   configs/pico-pi-imx6ul_defconfig
>   configs/pxm2_defconfig
>   configs/rastaban_defconfig 
>   configs/rut_defconfig
>   configs/s5p_goni_defconfig
>   configs/s5pc210_universal_defconfig
>   configs/smartweb_defconfig  
>   configs/socfpga_arria5_defconfig
>   configs/socfpga_cyclone5_defconfig
>   configs/socfpga_dbm_soc1_defconfig
>   configs/socfpga_de0_nano_soc_defconfig
>   configs/socfpga_de10_nano_defconfig 
>   configs/socfpga_mcvevk_defconfig
>   configs/socfpga_sockit_defconfig
>   configs/socfpga_socrates_defconfig
>   configs/socfpga_vining_fpga_defconfig
>   configs/taurus_defconfig
>   configs/thuban_defconfig
>   configs/topic_miami_defconfig
>   configs/topic_miamilite_defconfig
>   configs/topic_miamiplus_defconfig 
>   configs/trats2_defconfig 
>   configs/trats_defconfig
>   configs/warp7_bl33_defconfig
>   configs/warp7_defconfig
>   configs/warp_defconfig
>   configs/xilinx_versal_virt_defconfig
>   configs/xilinx_zynq_virt_defconfig
>   configs/xilinx_zynqmp_virt_defconfig
> 
> Link to v1,
> https://patchwork.ozlabs.org/project/uboot/patch/20210223061427.20742-1-a-govindraju@ti.com/ 
> 
>  configs/am65x_evm_a53_defconfig           |  2 ++
>  configs/am65x_evm_r5_usbdfu_defconfig     |  2 ++
>  configs/am65x_hs_evm_a53_defconfig        |  2 ++
>  configs/beaver_defconfig                  |  2 ++
>  configs/cei-tk1-som_defconfig             |  2 ++
>  configs/colibri-imx6ull_defconfig         |  1 +
>  configs/colibri_vf_defconfig              |  1 +
>  configs/corvus_defconfig                  |  1 +
>  configs/dalmore_defconfig                 |  2 ++
>  configs/dh_imx6_defconfig                 |  1 +
>  configs/draco_defconfig                   |  1 +
>  configs/etamin_defconfig                  |  1 +
>  configs/jetson-tk1_defconfig              |  2 ++
>  configs/nyan-big_defconfig                |  2 ++
>  configs/odroid-xu3_defconfig              |  1 +
>  configs/odroid_defconfig                  |  1 +
>  configs/origen_defconfig                  |  1 +
>  configs/p2371-0000_defconfig              |  2 ++
>  configs/p2371-2180_defconfig              |  2 ++
>  configs/p2571_defconfig                   |  2 ++
>  configs/p3450-0000_defconfig              |  2 ++
>  configs/pico-dwarf-imx6ul_defconfig       |  1 +
>  configs/pico-hobbit-imx6ul_defconfig      |  1 +
>  configs/pico-imx6_defconfig               |  1 +
>  configs/pico-imx6ul_defconfig             |  1 +
>  configs/pico-pi-imx6ul_defconfig          |  1 +
>  configs/pxm2_defconfig                    |  1 +
>  configs/rastaban_defconfig                |  1 +
>  configs/rpi_4_32b_defconfig               |  2 ++
>  configs/rpi_4_defconfig                   |  2 ++
>  configs/rut_defconfig                     |  1 +
>  configs/s5p_goni_defconfig                |  1 +
>  configs/s5pc210_universal_defconfig       |  1 +
>  configs/smartweb_defconfig                |  1 +
>  configs/socfpga_arria5_defconfig          |  1 +
>  configs/socfpga_cyclone5_defconfig        |  1 +
>  configs/socfpga_dbm_soc1_defconfig        |  1 +
>  configs/socfpga_de0_nano_soc_defconfig    |  1 +
>  configs/socfpga_de10_nano_defconfig       |  1 +
>  configs/socfpga_mcvevk_defconfig          |  1 +
>  configs/socfpga_sockit_defconfig          |  1 +
>  configs/socfpga_socrates_defconfig        |  1 +
>  configs/socfpga_vining_fpga_defconfig     |  1 +
>  configs/taurus_defconfig                  |  1 +
>  configs/thuban_defconfig                  |  1 +
>  configs/topic_miami_defconfig             |  1 +
>  configs/topic_miamilite_defconfig         |  1 +
>  configs/topic_miamiplus_defconfig         |  1 +
>  configs/trats2_defconfig                  |  1 +
>  configs/trats_defconfig                   |  1 +
>  configs/venice2_defconfig                 |  2 ++
>  configs/warp7_bl33_defconfig              |  1 +
>  configs/warp7_defconfig                   |  1 +
>  configs/warp_defconfig                    |  1 +
>  configs/xilinx_versal_virt_defconfig      |  1 +
>  configs/xilinx_zynq_virt_defconfig        |  1 +
>  configs/xilinx_zynqmp_virt_defconfig      |  1 +
>  drivers/dfu/Kconfig                       | 20 ++++++++++++++++++++
>  include/configs/am65x_evm.h               |  8 --------
>  include/configs/colibri-imx6ull.h         |  1 -
>  include/configs/colibri_vf.h              |  1 -
>  include/configs/corvus.h                  |  1 -
>  include/configs/dh_imx6.h                 |  1 -
>  include/configs/exynos4-common.h          |  1 -
>  include/configs/odroid_xu3.h              |  1 -
>  include/configs/pico-imx6.h               |  1 -
>  include/configs/pico-imx6ul.h             |  1 -
>  include/configs/rpi.h                     |  3 ---
>  include/configs/s5p_goni.h                |  1 -
>  include/configs/siemens-am33x-common.h    |  1 -
>  include/configs/smartweb.h                |  1 -
>  include/configs/socfpga_common.h          |  1 -
>  include/configs/taurus.h                  |  1 -
>  include/configs/tegra-common-usb-gadget.h |  2 --
>  include/configs/warp.h                    |  1 -
>  include/configs/warp7.h                   |  1 -
>  include/configs/xilinx_versal.h           |  1 -
>  include/configs/xilinx_zynqmp.h           |  1 -
>  include/configs/zynq-common.h             |  1 -
>  include/dfu.h                             |  6 ------
>  scripts/config_whitelist.txt              |  2 --
>  81 files changed, 92 insertions(+), 39 deletions(-)
> 
> diff --git a/configs/am65x_evm_a53_defconfig b/configs/am65x_evm_a53_defconfig
> index 01e027f607f9..7f2b825378f1 100644
> --- a/configs/am65x_evm_a53_defconfig
> +++ b/configs/am65x_evm_a53_defconfig
> @@ -90,6 +90,8 @@ CONFIG_CLK_TI_SCI=y
>  CONFIG_DFU_MMC=y
>  CONFIG_DFU_RAM=y
>  CONFIG_DFU_SF=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x20000
> +CONFIG_SYS_DFU_MAX_FILE_SIZE=0x800000
>  CONFIG_DMA_CHANNELS=y
>  CONFIG_TI_K3_NAVSS_UDMA=y
>  CONFIG_TI_SCI_PROTOCOL=y
> diff --git a/configs/am65x_evm_r5_usbdfu_defconfig b/configs/am65x_evm_r5_usbdfu_defconfig
> index 161634222517..b45a6d242955 100644
> --- a/configs/am65x_evm_r5_usbdfu_defconfig
> +++ b/configs/am65x_evm_r5_usbdfu_defconfig
> @@ -65,6 +65,8 @@ CONFIG_BLK=y
>  CONFIG_CLK=y
>  CONFIG_SPL_CLK=y
>  CONFIG_CLK_TI_SCI=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x5000
> +CONFIG_SYS_DFU_MAX_FILE_SIZE=0x800000
>  CONFIG_TI_SCI_PROTOCOL=y
>  CONFIG_DA8XX_GPIO=y
>  CONFIG_DM_I2C=y
> diff --git a/configs/am65x_hs_evm_a53_defconfig b/configs/am65x_hs_evm_a53_defconfig
> index ec0c7df0f7e5..33526f0cf73b 100644
> --- a/configs/am65x_hs_evm_a53_defconfig
> +++ b/configs/am65x_hs_evm_a53_defconfig
> @@ -85,6 +85,8 @@ CONFIG_CLK_TI_SCI=y
>  CONFIG_DFU_MMC=y
>  CONFIG_DFU_RAM=y
>  CONFIG_DFU_SF=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x20000
> +CONFIG_SYS_DFU_MAX_FILE_SIZE=0x800000
>  CONFIG_DMA_CHANNELS=y
>  CONFIG_TI_K3_NAVSS_UDMA=y
>  CONFIG_TI_SCI_PROTOCOL=y
> diff --git a/configs/beaver_defconfig b/configs/beaver_defconfig
> index 4c892443b970..cf18feef407b 100644
> --- a/configs/beaver_defconfig
> +++ b/configs/beaver_defconfig
> @@ -34,6 +34,8 @@ CONFIG_SPL_DM=y
>  CONFIG_DFU_MMC=y
>  CONFIG_DFU_RAM=y
>  CONFIG_DFU_SF=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
> +CONFIG_SYS_DFU_MAX_FILE_SIZE=0x2000000
>  CONFIG_SYS_I2C_TEGRA=y
>  CONFIG_SF_DEFAULT_MODE=0
>  CONFIG_SF_DEFAULT_SPEED=24000000
> diff --git a/configs/cei-tk1-som_defconfig b/configs/cei-tk1-som_defconfig
> index 987e3ac8e95f..c1ff9d7f1428 100644
> --- a/configs/cei-tk1-som_defconfig
> +++ b/configs/cei-tk1-som_defconfig
> @@ -34,6 +34,8 @@ CONFIG_SPL_DM=y
>  CONFIG_DFU_MMC=y
>  CONFIG_DFU_RAM=y
>  CONFIG_DFU_SF=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
> +CONFIG_SYS_DFU_MAX_FILE_SIZE=0x2000000
>  CONFIG_SYS_I2C_TEGRA=y
>  CONFIG_SF_DEFAULT_MODE=0
>  CONFIG_SF_DEFAULT_SPEED=24000000
> diff --git a/configs/colibri-imx6ull_defconfig b/configs/colibri-imx6ull_defconfig
> index 6d207daa8220..1a08ec06549e 100644
> --- a/configs/colibri-imx6ull_defconfig
> +++ b/configs/colibri-imx6ull_defconfig
> @@ -62,6 +62,7 @@ CONFIG_BOUNCE_BUFFER=y
>  CONFIG_BOOTCOUNT_LIMIT=y
>  CONFIG_BOOTCOUNT_ENV=y
>  CONFIG_DFU_NAND=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
>  CONFIG_DM_I2C=y
>  CONFIG_SYS_I2C_MXC=y
>  CONFIG_FSL_USDHC=y
> diff --git a/configs/colibri_vf_defconfig b/configs/colibri_vf_defconfig
> index 31df3500d95c..13399ca839aa 100644
> --- a/configs/colibri_vf_defconfig
> +++ b/configs/colibri_vf_defconfig
> @@ -62,6 +62,7 @@ CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
>  CONFIG_VERSION_VARIABLE=y
>  CONFIG_DM=y
>  CONFIG_DFU_NAND=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
>  CONFIG_VYBRID_GPIO=y
>  # CONFIG_MMC_HW_PARTITIONING is not set
>  CONFIG_FSL_ESDHC_IMX=y
> diff --git a/configs/corvus_defconfig b/configs/corvus_defconfig
> index 491f5630822e..8206c4cdc98f 100644
> --- a/configs/corvus_defconfig
> +++ b/configs/corvus_defconfig
> @@ -51,6 +51,7 @@ CONFIG_BLK=y
>  CONFIG_CLK=y
>  CONFIG_CLK_AT91=y
>  CONFIG_DFU_NAND=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
>  CONFIG_AT91_GPIO=y
>  # CONFIG_MMC is not set
>  CONFIG_MTD=y
> diff --git a/configs/dalmore_defconfig b/configs/dalmore_defconfig
> index f2c1e849787e..fc152121225d 100644
> --- a/configs/dalmore_defconfig
> +++ b/configs/dalmore_defconfig
> @@ -33,6 +33,8 @@ CONFIG_SPL_DM=y
>  CONFIG_DFU_MMC=y
>  CONFIG_DFU_RAM=y
>  CONFIG_DFU_SF=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
> +CONFIG_SYS_DFU_MAX_FILE_SIZE=0x2000000
>  CONFIG_SYS_I2C_TEGRA=y
>  CONFIG_SF_DEFAULT_MODE=0
>  CONFIG_SF_DEFAULT_SPEED=24000000
> diff --git a/configs/dh_imx6_defconfig b/configs/dh_imx6_defconfig
> index db7d683eb783..934798e094e7 100644
> --- a/configs/dh_imx6_defconfig
> +++ b/configs/dh_imx6_defconfig
> @@ -64,6 +64,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_BOUNCE_BUFFER=y
>  CONFIG_DWC_AHSATA=y
>  CONFIG_BOOTCOUNT_LIMIT=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
>  CONFIG_DM_I2C=y
>  CONFIG_SYS_I2C_MXC=y
>  CONFIG_MISC=y
> diff --git a/configs/draco_defconfig b/configs/draco_defconfig
> index d48f8082755b..e3ccdea5f5e4 100644
> --- a/configs/draco_defconfig
> +++ b/configs/draco_defconfig
> @@ -76,6 +76,7 @@ CONFIG_BOOTCOUNT_LIMIT=y
>  CONFIG_BOOTCOUNT_ENV=y
>  CONFIG_DFU_NAND=y
>  # CONFIG_SPL_DM_MMC is not set
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
>  CONFIG_MMC_OMAP_HS=y
>  CONFIG_MTD=y
>  CONFIG_MTD_RAW_NAND=y
> diff --git a/configs/etamin_defconfig b/configs/etamin_defconfig
> index 3256fd3493ec..10534d36b115 100644
> --- a/configs/etamin_defconfig
> +++ b/configs/etamin_defconfig
> @@ -77,6 +77,7 @@ CONFIG_BOOTCOUNT_LIMIT=y
>  CONFIG_BOOTCOUNT_ENV=y
>  CONFIG_DFU_NAND=y
>  # CONFIG_SPL_DM_MMC is not set
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
>  CONFIG_MMC_OMAP_HS=y
>  CONFIG_MTD=y
>  CONFIG_MTD_RAW_NAND=y
> diff --git a/configs/jetson-tk1_defconfig b/configs/jetson-tk1_defconfig
> index 74d315d14359..0e7216621646 100644
> --- a/configs/jetson-tk1_defconfig
> +++ b/configs/jetson-tk1_defconfig
> @@ -34,6 +34,8 @@ CONFIG_SPL_DM=y
>  CONFIG_DFU_MMC=y
>  CONFIG_DFU_RAM=y
>  CONFIG_DFU_SF=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
> +CONFIG_SYS_DFU_MAX_FILE_SIZE=0x2000000
>  CONFIG_SYS_I2C_TEGRA=y
>  CONFIG_SF_DEFAULT_MODE=0
>  CONFIG_SF_DEFAULT_SPEED=24000000
> diff --git a/configs/nyan-big_defconfig b/configs/nyan-big_defconfig
> index 3a47c5a0d01f..349f918727b7 100644
> --- a/configs/nyan-big_defconfig
> +++ b/configs/nyan-big_defconfig
> @@ -51,6 +51,8 @@ CONFIG_SPL_DM=y
>  CONFIG_DFU_MMC=y
>  CONFIG_DFU_RAM=y
>  CONFIG_DFU_SF=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
> +CONFIG_SYS_DFU_MAX_FILE_SIZE=0x2000000
>  CONFIG_SYS_I2C_TEGRA=y
>  CONFIG_CROS_EC_KEYB=y
>  CONFIG_CROS_EC=y
> diff --git a/configs/odroid-xu3_defconfig b/configs/odroid-xu3_defconfig
> index 755a2ca9add9..bc71b45c0fb7 100644
> --- a/configs/odroid-xu3_defconfig
> +++ b/configs/odroid-xu3_defconfig
> @@ -41,6 +41,7 @@ CONFIG_ADC=y
>  CONFIG_ADC_EXYNOS=y
>  CONFIG_DFU_MMC=y
>  CONFIG_SET_DFU_ALT_INFO=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x2000000
>  CONFIG_SUPPORT_EMMC_BOOT=y
>  CONFIG_MMC_DW=y
>  CONFIG_MTD=y
> diff --git a/configs/odroid_defconfig b/configs/odroid_defconfig
> index 9f2b0b205d56..36719d91f66f 100644
> --- a/configs/odroid_defconfig
> +++ b/configs/odroid_defconfig
> @@ -42,6 +42,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
>  CONFIG_DFU_MMC=y
>  CONFIG_SET_DFU_ALT_INFO=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x2000000
>  CONFIG_SYS_I2C_S3C24X0=y
>  CONFIG_MMC_DW=y
>  CONFIG_MMC_SDHCI=y
> diff --git a/configs/origen_defconfig b/configs/origen_defconfig
> index 4c4dc1a0db64..650276e379e3 100644
> --- a/configs/origen_defconfig
> +++ b/configs/origen_defconfig
> @@ -31,6 +31,7 @@ CONFIG_OF_CONTROL=y
>  CONFIG_ENV_OVERWRITE=y
>  CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x2000000
>  CONFIG_MMC_DW=y
>  CONFIG_MMC_SDHCI=y
>  CONFIG_MMC_SDHCI_SDMA=y
> diff --git a/configs/p2371-0000_defconfig b/configs/p2371-0000_defconfig
> index da3be084be25..97232bb80946 100644
> --- a/configs/p2371-0000_defconfig
> +++ b/configs/p2371-0000_defconfig
> @@ -28,6 +28,8 @@ CONFIG_SYS_MMC_ENV_PART=2
>  CONFIG_DFU_MMC=y
>  CONFIG_DFU_RAM=y
>  CONFIG_DFU_SF=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
> +CONFIG_SYS_DFU_MAX_FILE_SIZE=0x2000000
>  CONFIG_SYS_I2C_TEGRA=y
>  CONFIG_SF_DEFAULT_MODE=0
>  CONFIG_SF_DEFAULT_SPEED=24000000
> diff --git a/configs/p2371-2180_defconfig b/configs/p2371-2180_defconfig
> index c7f4404bbacb..af490891e2bc 100644
> --- a/configs/p2371-2180_defconfig
> +++ b/configs/p2371-2180_defconfig
> @@ -32,6 +32,8 @@ CONFIG_SYS_MMC_ENV_PART=2
>  CONFIG_DFU_MMC=y
>  CONFIG_DFU_RAM=y
>  CONFIG_DFU_SF=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
> +CONFIG_SYS_DFU_MAX_FILE_SIZE=0x2000000
>  CONFIG_SYS_I2C_TEGRA=y
>  CONFIG_SF_DEFAULT_MODE=0
>  CONFIG_SF_DEFAULT_SPEED=24000000
> diff --git a/configs/p2571_defconfig b/configs/p2571_defconfig
> index 973034096743..68bfb8f28cdd 100644
> --- a/configs/p2571_defconfig
> +++ b/configs/p2571_defconfig
> @@ -29,6 +29,8 @@ CONFIG_SYS_MMC_ENV_PART=2
>  CONFIG_DFU_MMC=y
>  CONFIG_DFU_RAM=y
>  CONFIG_DFU_SF=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
> +CONFIG_SYS_DFU_MAX_FILE_SIZE=0x2000000
>  CONFIG_SYS_I2C_TEGRA=y
>  CONFIG_SF_DEFAULT_MODE=0
>  CONFIG_SF_DEFAULT_SPEED=24000000
> diff --git a/configs/p3450-0000_defconfig b/configs/p3450-0000_defconfig
> index 6e6a8133b4d4..12c3f9bb28e7 100644
> --- a/configs/p3450-0000_defconfig
> +++ b/configs/p3450-0000_defconfig
> @@ -33,6 +33,8 @@ CONFIG_ENV_IS_IN_SPI_FLASH=y
>  CONFIG_DFU_MMC=y
>  CONFIG_DFU_RAM=y
>  CONFIG_DFU_SF=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
> +CONFIG_SYS_DFU_MAX_FILE_SIZE=0x2000000
>  CONFIG_SYS_I2C_TEGRA=y
>  CONFIG_SF_DEFAULT_MODE=0
>  CONFIG_SF_DEFAULT_SPEED=24000000
> diff --git a/configs/pico-dwarf-imx6ul_defconfig b/configs/pico-dwarf-imx6ul_defconfig
> index 9695eb26576a..8d17a24d6272 100644
> --- a/configs/pico-dwarf-imx6ul_defconfig
> +++ b/configs/pico-dwarf-imx6ul_defconfig
> @@ -43,6 +43,7 @@ CONFIG_ENV_IS_IN_MMC=y
>  CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_BOUNCE_BUFFER=y
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
>  CONFIG_USB_FUNCTION_FASTBOOT=y
>  CONFIG_FASTBOOT_BUF_SIZE=0x10000000
>  CONFIG_FASTBOOT_FLASH=y
> diff --git a/configs/pico-hobbit-imx6ul_defconfig b/configs/pico-hobbit-imx6ul_defconfig
> index 5c1ca0b8d7f4..6f74c6e27749 100644
> --- a/configs/pico-hobbit-imx6ul_defconfig
> +++ b/configs/pico-hobbit-imx6ul_defconfig
> @@ -44,6 +44,7 @@ CONFIG_ENV_IS_IN_MMC=y
>  CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_BOUNCE_BUFFER=y
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
>  CONFIG_USB_FUNCTION_FASTBOOT=y
>  CONFIG_FASTBOOT_BUF_SIZE=0x10000000
>  CONFIG_FASTBOOT_FLASH=y
> diff --git a/configs/pico-imx6_defconfig b/configs/pico-imx6_defconfig
> index 0f27c5475538..f0109814339f 100644
> --- a/configs/pico-imx6_defconfig
> +++ b/configs/pico-imx6_defconfig
> @@ -58,6 +58,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
>  CONFIG_BOUNCE_BUFFER=y
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
>  CONFIG_USB_FUNCTION_FASTBOOT=y
>  CONFIG_FASTBOOT_BUF_ADDR=0x12000000
>  CONFIG_FASTBOOT_BUF_SIZE=0x10000000
> diff --git a/configs/pico-imx6ul_defconfig b/configs/pico-imx6ul_defconfig
> index 159fb6b6cd7d..a54b22f5a538 100644
> --- a/configs/pico-imx6ul_defconfig
> +++ b/configs/pico-imx6ul_defconfig
> @@ -47,6 +47,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_NET_RANDOM_ETHADDR=y
>  CONFIG_BOUNCE_BUFFER=y
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
>  CONFIG_USB_FUNCTION_FASTBOOT=y
>  CONFIG_FASTBOOT_BUF_SIZE=0x10000000
>  CONFIG_FASTBOOT_FLASH=y
> diff --git a/configs/pico-pi-imx6ul_defconfig b/configs/pico-pi-imx6ul_defconfig
> index 51b71a77e5e5..bb1a9d654246 100644
> --- a/configs/pico-pi-imx6ul_defconfig
> +++ b/configs/pico-pi-imx6ul_defconfig
> @@ -44,6 +44,7 @@ CONFIG_ENV_IS_IN_MMC=y
>  CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_BOUNCE_BUFFER=y
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
>  CONFIG_USB_FUNCTION_FASTBOOT=y
>  CONFIG_FASTBOOT_BUF_SIZE=0x10000000
>  CONFIG_FASTBOOT_FLASH=y
> diff --git a/configs/pxm2_defconfig b/configs/pxm2_defconfig
> index 90ef4c8d99ac..1d14ea918327 100644
> --- a/configs/pxm2_defconfig
> +++ b/configs/pxm2_defconfig
> @@ -77,6 +77,7 @@ CONFIG_BOOTCOUNT_LIMIT=y
>  CONFIG_BOOTCOUNT_ENV=y
>  CONFIG_DFU_NAND=y
>  # CONFIG_SPL_DM_MMC is not set
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
>  CONFIG_MMC_OMAP_HS=y
>  CONFIG_MTD=y
>  CONFIG_MTD_RAW_NAND=y
> diff --git a/configs/rastaban_defconfig b/configs/rastaban_defconfig
> index 63c62a5c0745..29ade173f4a8 100644
> --- a/configs/rastaban_defconfig
> +++ b/configs/rastaban_defconfig
> @@ -76,6 +76,7 @@ CONFIG_BOOTCOUNT_LIMIT=y
>  CONFIG_BOOTCOUNT_ENV=y
>  CONFIG_DFU_NAND=y
>  # CONFIG_SPL_DM_MMC is not set
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
>  CONFIG_MMC_OMAP_HS=y
>  CONFIG_MTD=y
>  CONFIG_MTD_RAW_NAND=y
> diff --git a/configs/rpi_4_32b_defconfig b/configs/rpi_4_32b_defconfig
> index 47ea466454fc..64d969ffe57c 100644
> --- a/configs/rpi_4_32b_defconfig
> +++ b/configs/rpi_4_32b_defconfig
> @@ -24,6 +24,8 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
>  CONFIG_DM_DMA=y
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
> +CONFIG_SYS_DFU_MAX_FILE_SIZE=0x200000
>  CONFIG_MMC_SDHCI=y
>  CONFIG_MMC_SDHCI_SDMA=y
>  CONFIG_MMC_SDHCI_BCM2835=y
> diff --git a/configs/rpi_4_defconfig b/configs/rpi_4_defconfig
> index 9cd1477107fa..025ac7bc0b28 100644
> --- a/configs/rpi_4_defconfig
> +++ b/configs/rpi_4_defconfig
> @@ -24,6 +24,8 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
>  CONFIG_DM_DMA=y
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
> +CONFIG_SYS_DFU_MAX_FILE_SIZE=0x200000
>  CONFIG_MMC_SDHCI=y
>  CONFIG_MMC_SDHCI_SDMA=y
>  CONFIG_MMC_SDHCI_BCM2835=y
> diff --git a/configs/rut_defconfig b/configs/rut_defconfig
> index 6fc06f1ed974..ab99f17e31d5 100644
> --- a/configs/rut_defconfig
> +++ b/configs/rut_defconfig
> @@ -78,6 +78,7 @@ CONFIG_BOOTCOUNT_LIMIT=y
>  CONFIG_BOOTCOUNT_ENV=y
>  CONFIG_DFU_NAND=y
>  # CONFIG_SPL_DM_MMC is not set
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
>  CONFIG_MMC_OMAP_HS=y
>  CONFIG_MTD=y
>  CONFIG_MTD_RAW_NAND=y
> diff --git a/configs/s5p_goni_defconfig b/configs/s5p_goni_defconfig
> index 28d8be6b01f6..72f9ce16a950 100644
> --- a/configs/s5p_goni_defconfig
> +++ b/configs/s5p_goni_defconfig
> @@ -36,6 +36,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
>  # CONFIG_NET is not set
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x2000000
>  CONFIG_DM_I2C_GPIO=y
>  CONFIG_MMC_SDHCI=y
>  CONFIG_MMC_SDHCI_S5P=y
> diff --git a/configs/s5pc210_universal_defconfig b/configs/s5pc210_universal_defconfig
> index 759034a8a5c6..734a99f8efa5 100644
> --- a/configs/s5pc210_universal_defconfig
> +++ b/configs/s5pc210_universal_defconfig
> @@ -33,6 +33,7 @@ CONFIG_ENV_OVERWRITE=y
>  CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x2000000
>  CONFIG_SYS_I2C_S3C24X0=y
>  CONFIG_MMC_DW=y
>  CONFIG_MMC_SDHCI=y
> diff --git a/configs/smartweb_defconfig b/configs/smartweb_defconfig
> index 1f600d02780a..dc7b27742f87 100644
> --- a/configs/smartweb_defconfig
> +++ b/configs/smartweb_defconfig
> @@ -53,6 +53,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_CLK=y
>  CONFIG_CLK_AT91=y
>  CONFIG_DFU_NAND=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
>  CONFIG_AT91_GPIO=y
>  # CONFIG_MMC is not set
>  CONFIG_MTD=y
> diff --git a/configs/socfpga_arria5_defconfig b/configs/socfpga_arria5_defconfig
> index d4f9bade3d01..e6e6cb24e155 100644
> --- a/configs/socfpga_arria5_defconfig
> +++ b/configs/socfpga_arria5_defconfig
> @@ -39,6 +39,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_VERSION_VARIABLE=y
>  CONFIG_SPL_DM_SEQ_ALIAS=y
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
>  CONFIG_DWAPB_GPIO=y
>  CONFIG_DM_I2C=y
>  CONFIG_SYS_I2C_DW=y
> diff --git a/configs/socfpga_cyclone5_defconfig b/configs/socfpga_cyclone5_defconfig
> index ae7fd501917a..ff7aa1df2a4a 100644
> --- a/configs/socfpga_cyclone5_defconfig
> +++ b/configs/socfpga_cyclone5_defconfig
> @@ -39,6 +39,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_VERSION_VARIABLE=y
>  CONFIG_SPL_DM_SEQ_ALIAS=y
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
>  CONFIG_DWAPB_GPIO=y
>  CONFIG_DM_I2C=y
>  CONFIG_SYS_I2C_DW=y
> diff --git a/configs/socfpga_dbm_soc1_defconfig b/configs/socfpga_dbm_soc1_defconfig
> index 033c40736ed8..70a891b003a4 100644
> --- a/configs/socfpga_dbm_soc1_defconfig
> +++ b/configs/socfpga_dbm_soc1_defconfig
> @@ -44,6 +44,7 @@ CONFIG_ENV_IS_IN_MMC=y
>  CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_VERSION_VARIABLE=y
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
>  CONFIG_DWAPB_GPIO=y
>  CONFIG_DM_I2C=y
>  CONFIG_SYS_I2C_DW=y
> diff --git a/configs/socfpga_de0_nano_soc_defconfig b/configs/socfpga_de0_nano_soc_defconfig
> index 53efc9f5bdad..35ad9a2ea726 100644
> --- a/configs/socfpga_de0_nano_soc_defconfig
> +++ b/configs/socfpga_de0_nano_soc_defconfig
> @@ -39,6 +39,7 @@ CONFIG_ENV_IS_IN_MMC=y
>  CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_VERSION_VARIABLE=y
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
>  CONFIG_DWAPB_GPIO=y
>  CONFIG_DM_I2C=y
>  CONFIG_SYS_I2C_DW=y
> diff --git a/configs/socfpga_de10_nano_defconfig b/configs/socfpga_de10_nano_defconfig
> index d94b9584dea8..92d9336f3580 100644
> --- a/configs/socfpga_de10_nano_defconfig
> +++ b/configs/socfpga_de10_nano_defconfig
> @@ -36,6 +36,7 @@ CONFIG_ENV_IS_IN_MMC=y
>  CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_VERSION_VARIABLE=y
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
>  CONFIG_DWAPB_GPIO=y
>  CONFIG_DM_I2C=y
>  CONFIG_SYS_I2C_DW=y
> diff --git a/configs/socfpga_mcvevk_defconfig b/configs/socfpga_mcvevk_defconfig
> index b24b417a6bc3..2e7a9a21e675 100644
> --- a/configs/socfpga_mcvevk_defconfig
> +++ b/configs/socfpga_mcvevk_defconfig
> @@ -37,6 +37,7 @@ CONFIG_ENV_IS_IN_MMC=y
>  CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_VERSION_VARIABLE=y
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
>  CONFIG_DWAPB_GPIO=y
>  CONFIG_DM_I2C=y
>  CONFIG_SYS_I2C_DW=y
> diff --git a/configs/socfpga_sockit_defconfig b/configs/socfpga_sockit_defconfig
> index 4ea9b41a7e21..32f203143324 100644
> --- a/configs/socfpga_sockit_defconfig
> +++ b/configs/socfpga_sockit_defconfig
> @@ -39,6 +39,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_VERSION_VARIABLE=y
>  CONFIG_SPL_DM_SEQ_ALIAS=y
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
>  CONFIG_DWAPB_GPIO=y
>  CONFIG_DM_I2C=y
>  CONFIG_SYS_I2C_DW=y
> diff --git a/configs/socfpga_socrates_defconfig b/configs/socfpga_socrates_defconfig
> index 16c9b927a9bd..756388ee5704 100644
> --- a/configs/socfpga_socrates_defconfig
> +++ b/configs/socfpga_socrates_defconfig
> @@ -40,6 +40,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_VERSION_VARIABLE=y
>  CONFIG_SPL_DM_SEQ_ALIAS=y
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
>  CONFIG_DWAPB_GPIO=y
>  CONFIG_DM_I2C=y
>  CONFIG_SYS_I2C_DW=y
> diff --git a/configs/socfpga_vining_fpga_defconfig b/configs/socfpga_vining_fpga_defconfig
> index 3984b9bc7849..174494c16e57 100644
> --- a/configs/socfpga_vining_fpga_defconfig
> +++ b/configs/socfpga_vining_fpga_defconfig
> @@ -53,6 +53,7 @@ CONFIG_SPL_DM_SEQ_ALIAS=y
>  CONFIG_DFU_MMC=y
>  CONFIG_DFU_RAM=y
>  CONFIG_DFU_SF=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
>  CONFIG_DWAPB_GPIO=y
>  CONFIG_DM_I2C=y
>  CONFIG_LED_STATUS=y
> diff --git a/configs/taurus_defconfig b/configs/taurus_defconfig
> index a79cdf3fa7ce..dbd642862413 100644
> --- a/configs/taurus_defconfig
> +++ b/configs/taurus_defconfig
> @@ -71,6 +71,7 @@ CONFIG_BLK=y
>  CONFIG_CLK=y
>  CONFIG_CLK_AT91=y
>  CONFIG_DFU_NAND=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
>  CONFIG_AT91_GPIO=y
>  # CONFIG_MMC is not set
>  CONFIG_MTD=y
> diff --git a/configs/thuban_defconfig b/configs/thuban_defconfig
> index d1cc9a69bec8..247538a5d9fb 100644
> --- a/configs/thuban_defconfig
> +++ b/configs/thuban_defconfig
> @@ -76,6 +76,7 @@ CONFIG_BOOTCOUNT_LIMIT=y
>  CONFIG_BOOTCOUNT_ENV=y
>  CONFIG_DFU_NAND=y
>  # CONFIG_SPL_DM_MMC is not set
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
>  CONFIG_MMC_OMAP_HS=y
>  CONFIG_MTD=y
>  CONFIG_MTD_RAW_NAND=y
> diff --git a/configs/topic_miami_defconfig b/configs/topic_miami_defconfig
> index ec66bb09584a..3681919f8503 100644
> --- a/configs/topic_miami_defconfig
> +++ b/configs/topic_miami_defconfig
> @@ -38,6 +38,7 @@ CONFIG_ENV_OVERWRITE=y
>  CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_SPL_DM_SEQ_ALIAS=y
>  CONFIG_DFU_RAM=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x600000
>  CONFIG_FPGA_XILINX=y
>  CONFIG_FPGA_ZYNQPL=y
>  CONFIG_DM_I2C=y
> diff --git a/configs/topic_miamilite_defconfig b/configs/topic_miamilite_defconfig
> index e4145948859e..301a357ec70f 100644
> --- a/configs/topic_miamilite_defconfig
> +++ b/configs/topic_miamilite_defconfig
> @@ -38,6 +38,7 @@ CONFIG_ENV_OVERWRITE=y
>  CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_SPL_DM_SEQ_ALIAS=y
>  CONFIG_DFU_RAM=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x600000
>  CONFIG_FPGA_XILINX=y
>  CONFIG_FPGA_ZYNQPL=y
>  CONFIG_DM_I2C=y
> diff --git a/configs/topic_miamiplus_defconfig b/configs/topic_miamiplus_defconfig
> index 0041ee153669..27cd9132e86b 100644
> --- a/configs/topic_miamiplus_defconfig
> +++ b/configs/topic_miamiplus_defconfig
> @@ -37,6 +37,7 @@ CONFIG_ENV_OVERWRITE=y
>  CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_SPL_DM_SEQ_ALIAS=y
>  CONFIG_DFU_RAM=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x600000
>  CONFIG_FPGA_XILINX=y
>  CONFIG_FPGA_ZYNQPL=y
>  CONFIG_DM_I2C=y
> diff --git a/configs/trats2_defconfig b/configs/trats2_defconfig
> index 8439ddc26775..a3955e1ffc5a 100644
> --- a/configs/trats2_defconfig
> +++ b/configs/trats2_defconfig
> @@ -34,6 +34,7 @@ CONFIG_ENV_OVERWRITE=y
>  CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x2000000
>  CONFIG_DM_I2C_GPIO=y
>  CONFIG_SYS_I2C_S3C24X0=y
>  CONFIG_MMC_DW=y
> diff --git a/configs/trats_defconfig b/configs/trats_defconfig
> index 931c69ba6f17..64cd5dcdb3b2 100644
> --- a/configs/trats_defconfig
> +++ b/configs/trats_defconfig
> @@ -33,6 +33,7 @@ CONFIG_ENV_OVERWRITE=y
>  CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x2000000
>  CONFIG_DM_I2C_GPIO=y
>  CONFIG_SYS_I2C_S3C24X0=y
>  CONFIG_MMC_DW=y
> diff --git a/configs/venice2_defconfig b/configs/venice2_defconfig
> index ca18677dd4c7..9c14cef2b999 100644
> --- a/configs/venice2_defconfig
> +++ b/configs/venice2_defconfig
> @@ -32,6 +32,8 @@ CONFIG_SPL_DM=y
>  CONFIG_DFU_MMC=y
>  CONFIG_DFU_RAM=y
>  CONFIG_DFU_SF=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
> +CONFIG_SYS_DFU_MAX_FILE_SIZE=0x2000000
>  CONFIG_SYS_I2C_TEGRA=y
>  CONFIG_SF_DEFAULT_MODE=0
>  CONFIG_SF_DEFAULT_SPEED=24000000
> diff --git a/configs/warp7_bl33_defconfig b/configs/warp7_bl33_defconfig
> index c5c5d99c6ca6..5452a49061c5 100644
> --- a/configs/warp7_bl33_defconfig
> +++ b/configs/warp7_bl33_defconfig
> @@ -35,6 +35,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_NET_RANDOM_ETHADDR=y
>  CONFIG_BOUNCE_BUFFER=y
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
>  CONFIG_DM_I2C=y
>  CONFIG_SUPPORT_EMMC_BOOT=y
>  CONFIG_FSL_USDHC=y
> diff --git a/configs/warp7_defconfig b/configs/warp7_defconfig
> index 910419938cd2..43471e754a9f 100644
> --- a/configs/warp7_defconfig
> +++ b/configs/warp7_defconfig
> @@ -41,6 +41,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_NET_RANDOM_ETHADDR=y
>  CONFIG_BOUNCE_BUFFER=y
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
>  CONFIG_DM_I2C=y
>  CONFIG_SUPPORT_EMMC_BOOT=y
>  CONFIG_FSL_USDHC=y
> diff --git a/configs/warp_defconfig b/configs/warp_defconfig
> index 34acc9e6c844..04f756aacf8c 100644
> --- a/configs/warp_defconfig
> +++ b/configs/warp_defconfig
> @@ -33,6 +33,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  # CONFIG_NET is not set
>  CONFIG_BOUNCE_BUFFER=y
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
>  CONFIG_SUPPORT_EMMC_BOOT=y
>  CONFIG_FSL_USDHC=y
>  CONFIG_MXC_UART=y
> diff --git a/configs/xilinx_versal_virt_defconfig b/configs/xilinx_versal_virt_defconfig
> index f4e9a80728d7..121c3ae72051 100644
> --- a/configs/xilinx_versal_virt_defconfig
> +++ b/configs/xilinx_versal_virt_defconfig
> @@ -54,6 +54,7 @@ CONFIG_TFTP_BLOCKSIZE=4096
>  CONFIG_CLK_VERSAL=y
>  CONFIG_DFU_TIMEOUT=y
>  CONFIG_DFU_RAM=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1800000
>  CONFIG_FPGA_XILINX=y
>  CONFIG_FPGA_VERSALPL=y
>  CONFIG_DM_I2C=y
> diff --git a/configs/xilinx_zynq_virt_defconfig b/configs/xilinx_zynq_virt_defconfig
> index 7e56395a521f..e53ef2443ec1 100644
> --- a/configs/xilinx_zynq_virt_defconfig
> +++ b/configs/xilinx_zynq_virt_defconfig
> @@ -68,6 +68,7 @@ CONFIG_SPL_DM_SEQ_ALIAS=y
>  CONFIG_DFU_TIMEOUT=y
>  CONFIG_DFU_MMC=y
>  CONFIG_DFU_RAM=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x600000
>  CONFIG_FPGA_XILINX=y
>  CONFIG_FPGA_ZYNQPL=y
>  CONFIG_DM_I2C=y
> diff --git a/configs/xilinx_zynqmp_virt_defconfig b/configs/xilinx_zynqmp_virt_defconfig
> index e939b04ef6a5..b0cc9d9ba88a 100644
> --- a/configs/xilinx_zynqmp_virt_defconfig
> +++ b/configs/xilinx_zynqmp_virt_defconfig
> @@ -90,6 +90,7 @@ CONFIG_DFU_NAND=y
>  CONFIG_DFU_RAM=y
>  CONFIG_DFU_SF=y
>  CONFIG_DFU_MTD=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1800000
>  CONFIG_USB_FUNCTION_FASTBOOT=y
>  CONFIG_FASTBOOT_FLASH=y
>  CONFIG_FASTBOOT_FLASH_MMC_DEV=0
> diff --git a/drivers/dfu/Kconfig b/drivers/dfu/Kconfig
> index 121dc54f5463..b50547476cbd 100644
> --- a/drivers/dfu/Kconfig
> +++ b/drivers/dfu/Kconfig
> @@ -92,5 +92,25 @@ config SET_DFU_ALT_INFO
>  	help
>  	  This option allows to call the function set_dfu_alt_info to
>  	  dynamically build dfu_alt_info in board.
> +
> +config SYS_DFU_DATA_BUF_SIZE
> +	hex "Size of buffer to be allocated for transfer to raw storage device"
> +	default 0x800000
> +	help
> +	  DFU transfer uses a buffer before writing data to the
> +	  raw storage device. This value can be used for setting the
> +	  size of this buffer. The size of the buffer is also configurable
> +	  through the "dfu_bufsiz" environment variable. If both are
> +	  given the size of the buffer is set to "dfu_bufsize".
> +
> +config SYS_DFU_MAX_FILE_SIZE
> +	hex "Size of the buffer to be allocated for transferring files"
> +	default SYS_DFU_DATA_BUF_SIZE
> +	help
> +	  When updating files rather than the raw storage device,
> +	  we use a static buffer to copy the file into and then write
> +	  the buffer once we've been given the whole file.  Define
> +	  this to the maximum filesize (in bytes) for the buffer.
> +	  If undefined it defaults to the CONFIG_SYS_DFU_DATA_BUF_SIZE.
>  endif
>  endmenu
> diff --git a/include/configs/am65x_evm.h b/include/configs/am65x_evm.h
> index 76d73086fb89..8c50fe9d11ff 100644
> --- a/include/configs/am65x_evm.h
> +++ b/include/configs/am65x_evm.h
> @@ -22,7 +22,6 @@
>  #ifdef CONFIG_TARGET_AM654_A53_EVM
>  #define CONFIG_SYS_INIT_SP_ADDR         (CONFIG_SPL_TEXT_BASE +	\
>  					 CONFIG_SYS_K3_NON_SECURE_MSRAM_SIZE)
> -#define CONFIG_SYS_DFU_DATA_BUF_SIZE	0x20000
>  #else
>  /*
>   * Maximum size in memory allocated to the SPL BSS. Keep it as tight as
> @@ -45,7 +44,6 @@
>  /* Configure R5 SPL post-relocation malloc pool in DDR */
>  #define CONFIG_SYS_SPL_MALLOC_START	0x84000000
>  #define CONFIG_SYS_SPL_MALLOC_SIZE	SZ_16M
> -#define CONFIG_SYS_DFU_DATA_BUF_SIZE	0x5000
>  #endif
>  
>  #ifdef CONFIG_SYS_K3_SPL_ATF
> @@ -56,12 +54,6 @@
>  #define CONFIG_SKIP_LOWLEVEL_INIT
>  #endif
>  
> -/*
> - * If the maximum size is not declared then it is defined as
> - * CONFIG_SYS_DFU_DATA_BUF_SIZE.
> - */
> -#define CONFIG_SYS_DFU_MAX_FILE_SIZE	(1024 * 1024 * 8)   /* 8 MiB */
> -
>  #define CONFIG_SPL_MAX_SIZE		CONFIG_SYS_K3_MAX_DOWNLODABLE_IMAGE_SIZE
>  
>  #define CONFIG_SYS_BOOTM_LEN		SZ_64M
> diff --git a/include/configs/colibri-imx6ull.h b/include/configs/colibri-imx6ull.h
> index 22ee2ba03e46..f84931653fbc 100644
> --- a/include/configs/colibri-imx6ull.h
> +++ b/include/configs/colibri-imx6ull.h
> @@ -143,7 +143,6 @@
>  #define CONFIG_USBD_HS
>  
>  /* USB Device Firmware Update support */
> -#define CONFIG_SYS_DFU_DATA_BUF_SIZE	SZ_16M
>  #define DFU_DEFAULT_POLL_TIMEOUT	300
>  
>  #if defined(CONFIG_VIDEO) || defined(CONFIG_DM_VIDEO)
> diff --git a/include/configs/colibri_vf.h b/include/configs/colibri_vf.h
> index cae7c14bfb90..5bd440f1db33 100644
> --- a/include/configs/colibri_vf.h
> +++ b/include/configs/colibri_vf.h
> @@ -143,6 +143,5 @@
>  #define CONFIG_EHCI_HCD_INIT_AFTER_RESET
>  
>  /* USB DFU */
> -#define CONFIG_SYS_DFU_DATA_BUF_SIZE (SZ_1M)
>  
>  #endif /* __CONFIG_H */
> diff --git a/include/configs/corvus.h b/include/configs/corvus.h
> index 55f77e4400a2..bd4d6e8e39f4 100644
> --- a/include/configs/corvus.h
> +++ b/include/configs/corvus.h
> @@ -81,7 +81,6 @@
>  #define CONFIG_AT91_WANTS_COMMON_PHY
>  
>  /* DFU class support */
> -#define CONFIG_SYS_DFU_DATA_BUF_SIZE	(SZ_1M)
>  #define DFU_MANIFEST_POLL_TIMEOUT	25000
>  
>  #define CONFIG_SYS_LOAD_ADDR	ATMEL_BASE_CS6
> diff --git a/include/configs/dh_imx6.h b/include/configs/dh_imx6.h
> index 4a469af5e60b..d9be1c38c44a 100644
> --- a/include/configs/dh_imx6.h
> +++ b/include/configs/dh_imx6.h
> @@ -66,7 +66,6 @@
>  
>  /* USB Gadget (DFU, UMS) */
>  #if defined(CONFIG_CMD_DFU) || defined(CONFIG_CMD_USB_MASS_STORAGE)
> -#define CONFIG_SYS_DFU_DATA_BUF_SIZE	(16 * 1024 * 1024)
>  #define DFU_DEFAULT_POLL_TIMEOUT	300
>  
>  /* USB IDs */
> diff --git a/include/configs/exynos4-common.h b/include/configs/exynos4-common.h
> index 005f65d4ed6a..5e2aca371e7e 100644
> --- a/include/configs/exynos4-common.h
> +++ b/include/configs/exynos4-common.h
> @@ -19,7 +19,6 @@
>  /* SD/MMC configuration */
>  #define CONFIG_MMC_DEFAULT_DEV	0
>  
> -#define CONFIG_SYS_DFU_DATA_BUF_SIZE SZ_32M
>  #define DFU_DEFAULT_POLL_TIMEOUT 300
>  
>  /* USB Samsung's IDs */
> diff --git a/include/configs/odroid_xu3.h b/include/configs/odroid_xu3.h
> index 0c86196152fc..fc70dc6a7323 100644
> --- a/include/configs/odroid_xu3.h
> +++ b/include/configs/odroid_xu3.h
> @@ -27,7 +27,6 @@
>  #define CONFIG_USB_EHCI_EXYNOS
>  
>  /* DFU */
> -#define CONFIG_SYS_DFU_DATA_BUF_SIZE	SZ_32M
>  #define DFU_DEFAULT_POLL_TIMEOUT	300
>  #define DFU_MANIFEST_POLL_TIMEOUT	25000
>  
> diff --git a/include/configs/pico-imx6.h b/include/configs/pico-imx6.h
> index 19c8aeb71b6e..6199f0d72e76 100644
> --- a/include/configs/pico-imx6.h
> +++ b/include/configs/pico-imx6.h
> @@ -38,7 +38,6 @@
>  #define CONFIG_MXC_USB_PORTSC		(PORT_PTS_UTMI | PORT_PTS_PTW)
>  #define CONFIG_MXC_USB_FLAGS		0
>  
> -#define CONFIG_SYS_DFU_DATA_BUF_SIZE SZ_16M
>  #define DFU_DEFAULT_POLL_TIMEOUT 300
>  
>  #define CONFIG_DFU_ENV_SETTINGS \
> diff --git a/include/configs/pico-imx6ul.h b/include/configs/pico-imx6ul.h
> index 747ef09f37d9..04a2531f7447 100644
> --- a/include/configs/pico-imx6ul.h
> +++ b/include/configs/pico-imx6ul.h
> @@ -49,7 +49,6 @@
>  
>  #define CONFIG_USBD_HS
>  
> -#define CONFIG_SYS_DFU_DATA_BUF_SIZE SZ_16M
>  #define DFU_DEFAULT_POLL_TIMEOUT 300
>  
>  #define CONFIG_DFU_ENV_SETTINGS \
> diff --git a/include/configs/rpi.h b/include/configs/rpi.h
> index 834f1cd23640..46ada884b487 100644
> --- a/include/configs/rpi.h
> +++ b/include/configs/rpi.h
> @@ -74,9 +74,6 @@
>  
>  /* DFU over USB/UDC */
>  #ifdef CONFIG_CMD_DFU
> -#define CONFIG_SYS_DFU_DATA_BUF_SIZE	SZ_1M
> -#define CONFIG_SYS_DFU_MAX_FILE_SIZE	SZ_2M
> -
>  #ifdef CONFIG_ARM64
>  #define KERNEL_FILENAME		"Image"
>  #else
> diff --git a/include/configs/s5p_goni.h b/include/configs/s5p_goni.h
> index 9688bdc4c035..6af6009e6126 100644
> --- a/include/configs/s5p_goni.h
> +++ b/include/configs/s5p_goni.h
> @@ -41,7 +41,6 @@
>  #define CONFIG_PWM			1
>  
>  /* USB Composite download gadget - g_dnl */
> -#define CONFIG_SYS_DFU_DATA_BUF_SIZE SZ_32M
>  #define DFU_DEFAULT_POLL_TIMEOUT 300
>  
>  /* USB Samsung's IDs */
> diff --git a/include/configs/siemens-am33x-common.h b/include/configs/siemens-am33x-common.h
> index e18af7493c7f..f96dd774b178 100644
> --- a/include/configs/siemens-am33x-common.h
> +++ b/include/configs/siemens-am33x-common.h
> @@ -143,7 +143,6 @@
>  #define CONFIG_USBD_HS
>  
>  /* USB Device Firmware Update support */
> -#define CONFIG_SYS_DFU_DATA_BUF_SIZE	(1 << 20)
>  #define DFU_MANIFEST_POLL_TIMEOUT	25000
>  
>  #endif /* CONFIG_SPL_BUILD */
> diff --git a/include/configs/smartweb.h b/include/configs/smartweb.h
> index 6e715dc0c1be..5e8637e49484 100644
> --- a/include/configs/smartweb.h
> +++ b/include/configs/smartweb.h
> @@ -122,7 +122,6 @@
>  #define CONFIG_USB_GADGET_AT91
>  
>  /* DFU class support */
> -#define CONFIG_SYS_DFU_DATA_BUF_SIZE	SZ_1M
>  #define DFU_MANIFEST_POLL_TIMEOUT	25000
>  #endif
>  
> diff --git a/include/configs/socfpga_common.h b/include/configs/socfpga_common.h
> index 62b327cd6e52..c5e4292f1964 100644
> --- a/include/configs/socfpga_common.h
> +++ b/include/configs/socfpga_common.h
> @@ -148,7 +148,6 @@ unsigned int cm_get_qspi_controller_clk_hz(void);
>   * USB Gadget (DFU, UMS)
>   */
>  #if defined(CONFIG_CMD_DFU) || defined(CONFIG_CMD_USB_MASS_STORAGE)
> -#define CONFIG_SYS_DFU_DATA_BUF_SIZE	(16 * 1024 * 1024)
>  #define DFU_DEFAULT_POLL_TIMEOUT	300
>  
>  /* USB IDs */
> diff --git a/include/configs/taurus.h b/include/configs/taurus.h
> index 39eae8e2ba04..6e869462f1e6 100644
> --- a/include/configs/taurus.h
> +++ b/include/configs/taurus.h
> @@ -92,7 +92,6 @@
>  #define CONFIG_USB_GADGET_AT91
>  
>  /* DFU class support */
> -#define CONFIG_SYS_DFU_DATA_BUF_SIZE	(SZ_1M)
>  #define DFU_MANIFEST_POLL_TIMEOUT	25000
>  #endif
>  
> diff --git a/include/configs/tegra-common-usb-gadget.h b/include/configs/tegra-common-usb-gadget.h
> index e6b61c4e8fd3..201f4bc093c9 100644
> --- a/include/configs/tegra-common-usb-gadget.h
> +++ b/include/configs/tegra-common-usb-gadget.h
> @@ -13,8 +13,6 @@
>  #define CONFIG_CI_UDC_HAS_HOSTPC
>  #endif
>  /* DFU protocol */
> -#define CONFIG_SYS_DFU_DATA_BUF_SIZE SZ_1M
> -#define CONFIG_SYS_DFU_MAX_FILE_SIZE SZ_32M
>  #endif
>  
>  #endif /* _TEGRA_COMMON_USB_GADGET_H_ */
> diff --git a/include/configs/warp.h b/include/configs/warp.h
> index 0f97804eb29c..bda8ff9a34f3 100644
> --- a/include/configs/warp.h
> +++ b/include/configs/warp.h
> @@ -50,7 +50,6 @@
>  
>  #define CONFIG_USBD_HS
>  
> -#define CONFIG_SYS_DFU_DATA_BUF_SIZE SZ_16M
>  #define DFU_DEFAULT_POLL_TIMEOUT 300
>  
>  /* I2C Configs */
> diff --git a/include/configs/warp7.h b/include/configs/warp7.h
> index 8eb106027440..a5d52e3977fd 100644
> --- a/include/configs/warp7.h
> +++ b/include/configs/warp7.h
> @@ -149,7 +149,6 @@
>  #define CONFIG_USBD_HS
>  
>  /* USB Device Firmware Update support */
> -#define CONFIG_SYS_DFU_DATA_BUF_SIZE	SZ_16M
>  #define DFU_DEFAULT_POLL_TIMEOUT	300
>  
>  #define CONFIG_USBNET_DEV_ADDR		"de:ad:be:af:00:01"
> diff --git a/include/configs/xilinx_versal.h b/include/configs/xilinx_versal.h
> index 380f93a2f68e..ebe81968d130 100644
> --- a/include/configs/xilinx_versal.h
> +++ b/include/configs/xilinx_versal.h
> @@ -47,7 +47,6 @@
>  #define CONFIG_SYS_MAXARGS		64
>  
>  #if defined(CONFIG_CMD_DFU)
> -#define CONFIG_SYS_DFU_DATA_BUF_SIZE	0x1800000
>  #define DFU_DEFAULT_POLL_TIMEOUT	300
>  #define CONFIG_THOR_RESET_OFF
>  #endif
> diff --git a/include/configs/xilinx_zynqmp.h b/include/configs/xilinx_zynqmp.h
> index 986af2be7819..cadaf1a96312 100644
> --- a/include/configs/xilinx_zynqmp.h
> +++ b/include/configs/xilinx_zynqmp.h
> @@ -52,7 +52,6 @@
>  #define CONFIG_SYS_LOAD_ADDR		0x8000000
>  
>  #if defined(CONFIG_ZYNQMP_USB)
> -#define CONFIG_SYS_DFU_DATA_BUF_SIZE	0x1800000
>  #define DFU_DEFAULT_POLL_TIMEOUT	300
>  #define CONFIG_THOR_RESET_OFF
>  
> diff --git a/include/configs/zynq-common.h b/include/configs/zynq-common.h
> index 39035f8bebca..7859b77603f1 100644
> --- a/include/configs/zynq-common.h
> +++ b/include/configs/zynq-common.h
> @@ -58,7 +58,6 @@
>  #ifdef CONFIG_USB_EHCI_ZYNQ
>  # define CONFIG_EHCI_IS_TDI
>  
> -# define CONFIG_SYS_DFU_DATA_BUF_SIZE	0x600000
>  # define DFU_DEFAULT_POLL_TIMEOUT	300
>  # define CONFIG_THOR_RESET_OFF
>  #endif
> diff --git a/include/dfu.h b/include/dfu.h
> index d18b70172829..afada3959b72 100644
> --- a/include/dfu.h
> +++ b/include/dfu.h
> @@ -100,12 +100,6 @@ struct virt_internal_data {
>  };
>  
>  #define DFU_NAME_SIZE			32
> -#ifndef CONFIG_SYS_DFU_DATA_BUF_SIZE
> -#define CONFIG_SYS_DFU_DATA_BUF_SIZE		(1024*1024*8)	/* 8 MiB */
> -#endif
> -#ifndef CONFIG_SYS_DFU_MAX_FILE_SIZE
> -#define CONFIG_SYS_DFU_MAX_FILE_SIZE CONFIG_SYS_DFU_DATA_BUF_SIZE
> -#endif
>  #ifndef DFU_DEFAULT_POLL_TIMEOUT
>  #define DFU_DEFAULT_POLL_TIMEOUT 0
>  #endif
> diff --git a/scripts/config_whitelist.txt b/scripts/config_whitelist.txt
> index 8f92b82719a2..0f5ac8ff5229 100644
> --- a/scripts/config_whitelist.txt
> +++ b/scripts/config_whitelist.txt
> @@ -1988,8 +1988,6 @@ CONFIG_SYS_DEBUG_SERVER_FW_IN_NOR
>  CONFIG_SYS_DEFAULT_LPDDR2_TIMINGS
>  CONFIG_SYS_DEFAULT_VIDEO_MODE
>  CONFIG_SYS_DEF_EEPROM_ADDR
> -CONFIG_SYS_DFU_DATA_BUF_SIZE
> -CONFIG_SYS_DFU_MAX_FILE_SIZE
>  CONFIG_SYS_DIAG_ADDR
>  CONFIG_SYS_DIALOG_PMIC_I2C_ADDR
>  CONFIG_SYS_DIMM_SLOTS_PER_CTLR
>
Lukasz Majewski June 2, 2021, 8:37 a.m. UTC | #2
On Tue, 1 Jun 2021 16:51:47 +0530
Aswath Govindraju <a-govindraju@ti.com> wrote:

> Currently the config options CONFIG_SYS_DFU_DATA_BUF_SIZE and
> CONFIG_SYS_DFU_MAX_FILE_SIZE are being set in
> include/configs/<board>.h files and also in <board_name>_defconfig
> files without a Kconfig option. It is easier for users to set these
> configs in defconfig files than in config header files as they are a
> part of the source code.
> 
> Add Kconfig symbols, and update the defconfigs by using
> tools/moveconfig.py script.

Acked-by: Lukasz Majewski <lukma@denx.de>

> 
> Suggested-by: Pratyush Yadav <p.yadav@ti.com>
> Signed-off-by: Aswath Govindraju <a-govindraju@ti.com>
> Acked-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
> ---
> 
> Changes since v2:
> - Rebased the patch on top of current HEAD
> - Picked up Oleksandr Suvorov's Acked-by
> 
> Link to v2 patch,
> https://patchwork.ozlabs.org/project/uboot/patch/20210226071849.29070-1-a-govindraju@ti.com/
> 
> Changes since v1:
> - Removed CONFIG_SYS_DFU_MAX_FILE_SIZE in defconfig files, where it
> was not defined previously. The list of files in which this change is
> made are listed below,
>   configs/colibri-imx6ull_defconfig
>   configs/colibri_vf_defconfig
>   configs/corvus_defconfig
>   configs/dh_imx6_defconfig
>   configs/draco_defconfig
>   configs/etamin_defconfig 
>   configs/odroid-xu3_defconfig
>   configs/odroid_defconfig
>   configs/origen_defconfig
>   configs/pico-dwarf-imx6ul_defconfig
>   configs/pico-hobbit-imx6ul_defconfig
>   configs/pico-imx6_defconfig
>   configs/pico-imx6ul_defconfig
>   configs/pico-pi-imx6ul_defconfig
>   configs/pxm2_defconfig
>   configs/rastaban_defconfig 
>   configs/rut_defconfig
>   configs/s5p_goni_defconfig
>   configs/s5pc210_universal_defconfig
>   configs/smartweb_defconfig  
>   configs/socfpga_arria5_defconfig
>   configs/socfpga_cyclone5_defconfig
>   configs/socfpga_dbm_soc1_defconfig
>   configs/socfpga_de0_nano_soc_defconfig
>   configs/socfpga_de10_nano_defconfig 
>   configs/socfpga_mcvevk_defconfig
>   configs/socfpga_sockit_defconfig
>   configs/socfpga_socrates_defconfig
>   configs/socfpga_vining_fpga_defconfig
>   configs/taurus_defconfig
>   configs/thuban_defconfig
>   configs/topic_miami_defconfig
>   configs/topic_miamilite_defconfig
>   configs/topic_miamiplus_defconfig 
>   configs/trats2_defconfig 
>   configs/trats_defconfig
>   configs/warp7_bl33_defconfig
>   configs/warp7_defconfig
>   configs/warp_defconfig
>   configs/xilinx_versal_virt_defconfig
>   configs/xilinx_zynq_virt_defconfig
>   configs/xilinx_zynqmp_virt_defconfig
> 
> Link to v1,
> https://patchwork.ozlabs.org/project/uboot/patch/20210223061427.20742-1-a-govindraju@ti.com/ 
> 
>  configs/am65x_evm_a53_defconfig           |  2 ++
>  configs/am65x_evm_r5_usbdfu_defconfig     |  2 ++
>  configs/am65x_hs_evm_a53_defconfig        |  2 ++
>  configs/beaver_defconfig                  |  2 ++
>  configs/cei-tk1-som_defconfig             |  2 ++
>  configs/colibri-imx6ull_defconfig         |  1 +
>  configs/colibri_vf_defconfig              |  1 +
>  configs/corvus_defconfig                  |  1 +
>  configs/dalmore_defconfig                 |  2 ++
>  configs/dh_imx6_defconfig                 |  1 +
>  configs/draco_defconfig                   |  1 +
>  configs/etamin_defconfig                  |  1 +
>  configs/jetson-tk1_defconfig              |  2 ++
>  configs/nyan-big_defconfig                |  2 ++
>  configs/odroid-xu3_defconfig              |  1 +
>  configs/odroid_defconfig                  |  1 +
>  configs/origen_defconfig                  |  1 +
>  configs/p2371-0000_defconfig              |  2 ++
>  configs/p2371-2180_defconfig              |  2 ++
>  configs/p2571_defconfig                   |  2 ++
>  configs/p3450-0000_defconfig              |  2 ++
>  configs/pico-dwarf-imx6ul_defconfig       |  1 +
>  configs/pico-hobbit-imx6ul_defconfig      |  1 +
>  configs/pico-imx6_defconfig               |  1 +
>  configs/pico-imx6ul_defconfig             |  1 +
>  configs/pico-pi-imx6ul_defconfig          |  1 +
>  configs/pxm2_defconfig                    |  1 +
>  configs/rastaban_defconfig                |  1 +
>  configs/rpi_4_32b_defconfig               |  2 ++
>  configs/rpi_4_defconfig                   |  2 ++
>  configs/rut_defconfig                     |  1 +
>  configs/s5p_goni_defconfig                |  1 +
>  configs/s5pc210_universal_defconfig       |  1 +
>  configs/smartweb_defconfig                |  1 +
>  configs/socfpga_arria5_defconfig          |  1 +
>  configs/socfpga_cyclone5_defconfig        |  1 +
>  configs/socfpga_dbm_soc1_defconfig        |  1 +
>  configs/socfpga_de0_nano_soc_defconfig    |  1 +
>  configs/socfpga_de10_nano_defconfig       |  1 +
>  configs/socfpga_mcvevk_defconfig          |  1 +
>  configs/socfpga_sockit_defconfig          |  1 +
>  configs/socfpga_socrates_defconfig        |  1 +
>  configs/socfpga_vining_fpga_defconfig     |  1 +
>  configs/taurus_defconfig                  |  1 +
>  configs/thuban_defconfig                  |  1 +
>  configs/topic_miami_defconfig             |  1 +
>  configs/topic_miamilite_defconfig         |  1 +
>  configs/topic_miamiplus_defconfig         |  1 +
>  configs/trats2_defconfig                  |  1 +
>  configs/trats_defconfig                   |  1 +
>  configs/venice2_defconfig                 |  2 ++
>  configs/warp7_bl33_defconfig              |  1 +
>  configs/warp7_defconfig                   |  1 +
>  configs/warp_defconfig                    |  1 +
>  configs/xilinx_versal_virt_defconfig      |  1 +
>  configs/xilinx_zynq_virt_defconfig        |  1 +
>  configs/xilinx_zynqmp_virt_defconfig      |  1 +
>  drivers/dfu/Kconfig                       | 20 ++++++++++++++++++++
>  include/configs/am65x_evm.h               |  8 --------
>  include/configs/colibri-imx6ull.h         |  1 -
>  include/configs/colibri_vf.h              |  1 -
>  include/configs/corvus.h                  |  1 -
>  include/configs/dh_imx6.h                 |  1 -
>  include/configs/exynos4-common.h          |  1 -
>  include/configs/odroid_xu3.h              |  1 -
>  include/configs/pico-imx6.h               |  1 -
>  include/configs/pico-imx6ul.h             |  1 -
>  include/configs/rpi.h                     |  3 ---
>  include/configs/s5p_goni.h                |  1 -
>  include/configs/siemens-am33x-common.h    |  1 -
>  include/configs/smartweb.h                |  1 -
>  include/configs/socfpga_common.h          |  1 -
>  include/configs/taurus.h                  |  1 -
>  include/configs/tegra-common-usb-gadget.h |  2 --
>  include/configs/warp.h                    |  1 -
>  include/configs/warp7.h                   |  1 -
>  include/configs/xilinx_versal.h           |  1 -
>  include/configs/xilinx_zynqmp.h           |  1 -
>  include/configs/zynq-common.h             |  1 -
>  include/dfu.h                             |  6 ------
>  scripts/config_whitelist.txt              |  2 --
>  81 files changed, 92 insertions(+), 39 deletions(-)
> 
> diff --git a/configs/am65x_evm_a53_defconfig
> b/configs/am65x_evm_a53_defconfig index 01e027f607f9..7f2b825378f1
> 100644 --- a/configs/am65x_evm_a53_defconfig
> +++ b/configs/am65x_evm_a53_defconfig
> @@ -90,6 +90,8 @@ CONFIG_CLK_TI_SCI=y
>  CONFIG_DFU_MMC=y
>  CONFIG_DFU_RAM=y
>  CONFIG_DFU_SF=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x20000
> +CONFIG_SYS_DFU_MAX_FILE_SIZE=0x800000
>  CONFIG_DMA_CHANNELS=y
>  CONFIG_TI_K3_NAVSS_UDMA=y
>  CONFIG_TI_SCI_PROTOCOL=y
> diff --git a/configs/am65x_evm_r5_usbdfu_defconfig
> b/configs/am65x_evm_r5_usbdfu_defconfig index
> 161634222517..b45a6d242955 100644 ---
> a/configs/am65x_evm_r5_usbdfu_defconfig +++
> b/configs/am65x_evm_r5_usbdfu_defconfig @@ -65,6 +65,8 @@ CONFIG_BLK=y
>  CONFIG_CLK=y
>  CONFIG_SPL_CLK=y
>  CONFIG_CLK_TI_SCI=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x5000
> +CONFIG_SYS_DFU_MAX_FILE_SIZE=0x800000
>  CONFIG_TI_SCI_PROTOCOL=y
>  CONFIG_DA8XX_GPIO=y
>  CONFIG_DM_I2C=y
> diff --git a/configs/am65x_hs_evm_a53_defconfig
> b/configs/am65x_hs_evm_a53_defconfig index ec0c7df0f7e5..33526f0cf73b
> 100644 --- a/configs/am65x_hs_evm_a53_defconfig
> +++ b/configs/am65x_hs_evm_a53_defconfig
> @@ -85,6 +85,8 @@ CONFIG_CLK_TI_SCI=y
>  CONFIG_DFU_MMC=y
>  CONFIG_DFU_RAM=y
>  CONFIG_DFU_SF=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x20000
> +CONFIG_SYS_DFU_MAX_FILE_SIZE=0x800000
>  CONFIG_DMA_CHANNELS=y
>  CONFIG_TI_K3_NAVSS_UDMA=y
>  CONFIG_TI_SCI_PROTOCOL=y
> diff --git a/configs/beaver_defconfig b/configs/beaver_defconfig
> index 4c892443b970..cf18feef407b 100644
> --- a/configs/beaver_defconfig
> +++ b/configs/beaver_defconfig
> @@ -34,6 +34,8 @@ CONFIG_SPL_DM=y
>  CONFIG_DFU_MMC=y
>  CONFIG_DFU_RAM=y
>  CONFIG_DFU_SF=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
> +CONFIG_SYS_DFU_MAX_FILE_SIZE=0x2000000
>  CONFIG_SYS_I2C_TEGRA=y
>  CONFIG_SF_DEFAULT_MODE=0
>  CONFIG_SF_DEFAULT_SPEED=24000000
> diff --git a/configs/cei-tk1-som_defconfig
> b/configs/cei-tk1-som_defconfig index 987e3ac8e95f..c1ff9d7f1428
> 100644 --- a/configs/cei-tk1-som_defconfig
> +++ b/configs/cei-tk1-som_defconfig
> @@ -34,6 +34,8 @@ CONFIG_SPL_DM=y
>  CONFIG_DFU_MMC=y
>  CONFIG_DFU_RAM=y
>  CONFIG_DFU_SF=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
> +CONFIG_SYS_DFU_MAX_FILE_SIZE=0x2000000
>  CONFIG_SYS_I2C_TEGRA=y
>  CONFIG_SF_DEFAULT_MODE=0
>  CONFIG_SF_DEFAULT_SPEED=24000000
> diff --git a/configs/colibri-imx6ull_defconfig
> b/configs/colibri-imx6ull_defconfig index 6d207daa8220..1a08ec06549e
> 100644 --- a/configs/colibri-imx6ull_defconfig
> +++ b/configs/colibri-imx6ull_defconfig
> @@ -62,6 +62,7 @@ CONFIG_BOUNCE_BUFFER=y
>  CONFIG_BOOTCOUNT_LIMIT=y
>  CONFIG_BOOTCOUNT_ENV=y
>  CONFIG_DFU_NAND=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
>  CONFIG_DM_I2C=y
>  CONFIG_SYS_I2C_MXC=y
>  CONFIG_FSL_USDHC=y
> diff --git a/configs/colibri_vf_defconfig
> b/configs/colibri_vf_defconfig index 31df3500d95c..13399ca839aa 100644
> --- a/configs/colibri_vf_defconfig
> +++ b/configs/colibri_vf_defconfig
> @@ -62,6 +62,7 @@ CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
>  CONFIG_VERSION_VARIABLE=y
>  CONFIG_DM=y
>  CONFIG_DFU_NAND=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
>  CONFIG_VYBRID_GPIO=y
>  # CONFIG_MMC_HW_PARTITIONING is not set
>  CONFIG_FSL_ESDHC_IMX=y
> diff --git a/configs/corvus_defconfig b/configs/corvus_defconfig
> index 491f5630822e..8206c4cdc98f 100644
> --- a/configs/corvus_defconfig
> +++ b/configs/corvus_defconfig
> @@ -51,6 +51,7 @@ CONFIG_BLK=y
>  CONFIG_CLK=y
>  CONFIG_CLK_AT91=y
>  CONFIG_DFU_NAND=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
>  CONFIG_AT91_GPIO=y
>  # CONFIG_MMC is not set
>  CONFIG_MTD=y
> diff --git a/configs/dalmore_defconfig b/configs/dalmore_defconfig
> index f2c1e849787e..fc152121225d 100644
> --- a/configs/dalmore_defconfig
> +++ b/configs/dalmore_defconfig
> @@ -33,6 +33,8 @@ CONFIG_SPL_DM=y
>  CONFIG_DFU_MMC=y
>  CONFIG_DFU_RAM=y
>  CONFIG_DFU_SF=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
> +CONFIG_SYS_DFU_MAX_FILE_SIZE=0x2000000
>  CONFIG_SYS_I2C_TEGRA=y
>  CONFIG_SF_DEFAULT_MODE=0
>  CONFIG_SF_DEFAULT_SPEED=24000000
> diff --git a/configs/dh_imx6_defconfig b/configs/dh_imx6_defconfig
> index db7d683eb783..934798e094e7 100644
> --- a/configs/dh_imx6_defconfig
> +++ b/configs/dh_imx6_defconfig
> @@ -64,6 +64,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_BOUNCE_BUFFER=y
>  CONFIG_DWC_AHSATA=y
>  CONFIG_BOOTCOUNT_LIMIT=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
>  CONFIG_DM_I2C=y
>  CONFIG_SYS_I2C_MXC=y
>  CONFIG_MISC=y
> diff --git a/configs/draco_defconfig b/configs/draco_defconfig
> index d48f8082755b..e3ccdea5f5e4 100644
> --- a/configs/draco_defconfig
> +++ b/configs/draco_defconfig
> @@ -76,6 +76,7 @@ CONFIG_BOOTCOUNT_LIMIT=y
>  CONFIG_BOOTCOUNT_ENV=y
>  CONFIG_DFU_NAND=y
>  # CONFIG_SPL_DM_MMC is not set
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
>  CONFIG_MMC_OMAP_HS=y
>  CONFIG_MTD=y
>  CONFIG_MTD_RAW_NAND=y
> diff --git a/configs/etamin_defconfig b/configs/etamin_defconfig
> index 3256fd3493ec..10534d36b115 100644
> --- a/configs/etamin_defconfig
> +++ b/configs/etamin_defconfig
> @@ -77,6 +77,7 @@ CONFIG_BOOTCOUNT_LIMIT=y
>  CONFIG_BOOTCOUNT_ENV=y
>  CONFIG_DFU_NAND=y
>  # CONFIG_SPL_DM_MMC is not set
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
>  CONFIG_MMC_OMAP_HS=y
>  CONFIG_MTD=y
>  CONFIG_MTD_RAW_NAND=y
> diff --git a/configs/jetson-tk1_defconfig
> b/configs/jetson-tk1_defconfig index 74d315d14359..0e7216621646 100644
> --- a/configs/jetson-tk1_defconfig
> +++ b/configs/jetson-tk1_defconfig
> @@ -34,6 +34,8 @@ CONFIG_SPL_DM=y
>  CONFIG_DFU_MMC=y
>  CONFIG_DFU_RAM=y
>  CONFIG_DFU_SF=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
> +CONFIG_SYS_DFU_MAX_FILE_SIZE=0x2000000
>  CONFIG_SYS_I2C_TEGRA=y
>  CONFIG_SF_DEFAULT_MODE=0
>  CONFIG_SF_DEFAULT_SPEED=24000000
> diff --git a/configs/nyan-big_defconfig b/configs/nyan-big_defconfig
> index 3a47c5a0d01f..349f918727b7 100644
> --- a/configs/nyan-big_defconfig
> +++ b/configs/nyan-big_defconfig
> @@ -51,6 +51,8 @@ CONFIG_SPL_DM=y
>  CONFIG_DFU_MMC=y
>  CONFIG_DFU_RAM=y
>  CONFIG_DFU_SF=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
> +CONFIG_SYS_DFU_MAX_FILE_SIZE=0x2000000
>  CONFIG_SYS_I2C_TEGRA=y
>  CONFIG_CROS_EC_KEYB=y
>  CONFIG_CROS_EC=y
> diff --git a/configs/odroid-xu3_defconfig
> b/configs/odroid-xu3_defconfig index 755a2ca9add9..bc71b45c0fb7 100644
> --- a/configs/odroid-xu3_defconfig
> +++ b/configs/odroid-xu3_defconfig
> @@ -41,6 +41,7 @@ CONFIG_ADC=y
>  CONFIG_ADC_EXYNOS=y
>  CONFIG_DFU_MMC=y
>  CONFIG_SET_DFU_ALT_INFO=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x2000000
>  CONFIG_SUPPORT_EMMC_BOOT=y
>  CONFIG_MMC_DW=y
>  CONFIG_MTD=y
> diff --git a/configs/odroid_defconfig b/configs/odroid_defconfig
> index 9f2b0b205d56..36719d91f66f 100644
> --- a/configs/odroid_defconfig
> +++ b/configs/odroid_defconfig
> @@ -42,6 +42,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
>  CONFIG_DFU_MMC=y
>  CONFIG_SET_DFU_ALT_INFO=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x2000000
>  CONFIG_SYS_I2C_S3C24X0=y
>  CONFIG_MMC_DW=y
>  CONFIG_MMC_SDHCI=y
> diff --git a/configs/origen_defconfig b/configs/origen_defconfig
> index 4c4dc1a0db64..650276e379e3 100644
> --- a/configs/origen_defconfig
> +++ b/configs/origen_defconfig
> @@ -31,6 +31,7 @@ CONFIG_OF_CONTROL=y
>  CONFIG_ENV_OVERWRITE=y
>  CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x2000000
>  CONFIG_MMC_DW=y
>  CONFIG_MMC_SDHCI=y
>  CONFIG_MMC_SDHCI_SDMA=y
> diff --git a/configs/p2371-0000_defconfig
> b/configs/p2371-0000_defconfig index da3be084be25..97232bb80946 100644
> --- a/configs/p2371-0000_defconfig
> +++ b/configs/p2371-0000_defconfig
> @@ -28,6 +28,8 @@ CONFIG_SYS_MMC_ENV_PART=2
>  CONFIG_DFU_MMC=y
>  CONFIG_DFU_RAM=y
>  CONFIG_DFU_SF=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
> +CONFIG_SYS_DFU_MAX_FILE_SIZE=0x2000000
>  CONFIG_SYS_I2C_TEGRA=y
>  CONFIG_SF_DEFAULT_MODE=0
>  CONFIG_SF_DEFAULT_SPEED=24000000
> diff --git a/configs/p2371-2180_defconfig
> b/configs/p2371-2180_defconfig index c7f4404bbacb..af490891e2bc 100644
> --- a/configs/p2371-2180_defconfig
> +++ b/configs/p2371-2180_defconfig
> @@ -32,6 +32,8 @@ CONFIG_SYS_MMC_ENV_PART=2
>  CONFIG_DFU_MMC=y
>  CONFIG_DFU_RAM=y
>  CONFIG_DFU_SF=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
> +CONFIG_SYS_DFU_MAX_FILE_SIZE=0x2000000
>  CONFIG_SYS_I2C_TEGRA=y
>  CONFIG_SF_DEFAULT_MODE=0
>  CONFIG_SF_DEFAULT_SPEED=24000000
> diff --git a/configs/p2571_defconfig b/configs/p2571_defconfig
> index 973034096743..68bfb8f28cdd 100644
> --- a/configs/p2571_defconfig
> +++ b/configs/p2571_defconfig
> @@ -29,6 +29,8 @@ CONFIG_SYS_MMC_ENV_PART=2
>  CONFIG_DFU_MMC=y
>  CONFIG_DFU_RAM=y
>  CONFIG_DFU_SF=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
> +CONFIG_SYS_DFU_MAX_FILE_SIZE=0x2000000
>  CONFIG_SYS_I2C_TEGRA=y
>  CONFIG_SF_DEFAULT_MODE=0
>  CONFIG_SF_DEFAULT_SPEED=24000000
> diff --git a/configs/p3450-0000_defconfig
> b/configs/p3450-0000_defconfig index 6e6a8133b4d4..12c3f9bb28e7 100644
> --- a/configs/p3450-0000_defconfig
> +++ b/configs/p3450-0000_defconfig
> @@ -33,6 +33,8 @@ CONFIG_ENV_IS_IN_SPI_FLASH=y
>  CONFIG_DFU_MMC=y
>  CONFIG_DFU_RAM=y
>  CONFIG_DFU_SF=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
> +CONFIG_SYS_DFU_MAX_FILE_SIZE=0x2000000
>  CONFIG_SYS_I2C_TEGRA=y
>  CONFIG_SF_DEFAULT_MODE=0
>  CONFIG_SF_DEFAULT_SPEED=24000000
> diff --git a/configs/pico-dwarf-imx6ul_defconfig
> b/configs/pico-dwarf-imx6ul_defconfig index
> 9695eb26576a..8d17a24d6272 100644 ---
> a/configs/pico-dwarf-imx6ul_defconfig +++
> b/configs/pico-dwarf-imx6ul_defconfig @@ -43,6 +43,7 @@
> CONFIG_ENV_IS_IN_MMC=y CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_BOUNCE_BUFFER=y
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
>  CONFIG_USB_FUNCTION_FASTBOOT=y
>  CONFIG_FASTBOOT_BUF_SIZE=0x10000000
>  CONFIG_FASTBOOT_FLASH=y
> diff --git a/configs/pico-hobbit-imx6ul_defconfig
> b/configs/pico-hobbit-imx6ul_defconfig index
> 5c1ca0b8d7f4..6f74c6e27749 100644 ---
> a/configs/pico-hobbit-imx6ul_defconfig +++
> b/configs/pico-hobbit-imx6ul_defconfig @@ -44,6 +44,7 @@
> CONFIG_ENV_IS_IN_MMC=y CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_BOUNCE_BUFFER=y
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
>  CONFIG_USB_FUNCTION_FASTBOOT=y
>  CONFIG_FASTBOOT_BUF_SIZE=0x10000000
>  CONFIG_FASTBOOT_FLASH=y
> diff --git a/configs/pico-imx6_defconfig b/configs/pico-imx6_defconfig
> index 0f27c5475538..f0109814339f 100644
> --- a/configs/pico-imx6_defconfig
> +++ b/configs/pico-imx6_defconfig
> @@ -58,6 +58,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
>  CONFIG_BOUNCE_BUFFER=y
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
>  CONFIG_USB_FUNCTION_FASTBOOT=y
>  CONFIG_FASTBOOT_BUF_ADDR=0x12000000
>  CONFIG_FASTBOOT_BUF_SIZE=0x10000000
> diff --git a/configs/pico-imx6ul_defconfig
> b/configs/pico-imx6ul_defconfig index 159fb6b6cd7d..a54b22f5a538
> 100644 --- a/configs/pico-imx6ul_defconfig
> +++ b/configs/pico-imx6ul_defconfig
> @@ -47,6 +47,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_NET_RANDOM_ETHADDR=y
>  CONFIG_BOUNCE_BUFFER=y
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
>  CONFIG_USB_FUNCTION_FASTBOOT=y
>  CONFIG_FASTBOOT_BUF_SIZE=0x10000000
>  CONFIG_FASTBOOT_FLASH=y
> diff --git a/configs/pico-pi-imx6ul_defconfig
> b/configs/pico-pi-imx6ul_defconfig index 51b71a77e5e5..bb1a9d654246
> 100644 --- a/configs/pico-pi-imx6ul_defconfig
> +++ b/configs/pico-pi-imx6ul_defconfig
> @@ -44,6 +44,7 @@ CONFIG_ENV_IS_IN_MMC=y
>  CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_BOUNCE_BUFFER=y
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
>  CONFIG_USB_FUNCTION_FASTBOOT=y
>  CONFIG_FASTBOOT_BUF_SIZE=0x10000000
>  CONFIG_FASTBOOT_FLASH=y
> diff --git a/configs/pxm2_defconfig b/configs/pxm2_defconfig
> index 90ef4c8d99ac..1d14ea918327 100644
> --- a/configs/pxm2_defconfig
> +++ b/configs/pxm2_defconfig
> @@ -77,6 +77,7 @@ CONFIG_BOOTCOUNT_LIMIT=y
>  CONFIG_BOOTCOUNT_ENV=y
>  CONFIG_DFU_NAND=y
>  # CONFIG_SPL_DM_MMC is not set
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
>  CONFIG_MMC_OMAP_HS=y
>  CONFIG_MTD=y
>  CONFIG_MTD_RAW_NAND=y
> diff --git a/configs/rastaban_defconfig b/configs/rastaban_defconfig
> index 63c62a5c0745..29ade173f4a8 100644
> --- a/configs/rastaban_defconfig
> +++ b/configs/rastaban_defconfig
> @@ -76,6 +76,7 @@ CONFIG_BOOTCOUNT_LIMIT=y
>  CONFIG_BOOTCOUNT_ENV=y
>  CONFIG_DFU_NAND=y
>  # CONFIG_SPL_DM_MMC is not set
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
>  CONFIG_MMC_OMAP_HS=y
>  CONFIG_MTD=y
>  CONFIG_MTD_RAW_NAND=y
> diff --git a/configs/rpi_4_32b_defconfig b/configs/rpi_4_32b_defconfig
> index 47ea466454fc..64d969ffe57c 100644
> --- a/configs/rpi_4_32b_defconfig
> +++ b/configs/rpi_4_32b_defconfig
> @@ -24,6 +24,8 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
>  CONFIG_DM_DMA=y
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
> +CONFIG_SYS_DFU_MAX_FILE_SIZE=0x200000
>  CONFIG_MMC_SDHCI=y
>  CONFIG_MMC_SDHCI_SDMA=y
>  CONFIG_MMC_SDHCI_BCM2835=y
> diff --git a/configs/rpi_4_defconfig b/configs/rpi_4_defconfig
> index 9cd1477107fa..025ac7bc0b28 100644
> --- a/configs/rpi_4_defconfig
> +++ b/configs/rpi_4_defconfig
> @@ -24,6 +24,8 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
>  CONFIG_DM_DMA=y
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
> +CONFIG_SYS_DFU_MAX_FILE_SIZE=0x200000
>  CONFIG_MMC_SDHCI=y
>  CONFIG_MMC_SDHCI_SDMA=y
>  CONFIG_MMC_SDHCI_BCM2835=y
> diff --git a/configs/rut_defconfig b/configs/rut_defconfig
> index 6fc06f1ed974..ab99f17e31d5 100644
> --- a/configs/rut_defconfig
> +++ b/configs/rut_defconfig
> @@ -78,6 +78,7 @@ CONFIG_BOOTCOUNT_LIMIT=y
>  CONFIG_BOOTCOUNT_ENV=y
>  CONFIG_DFU_NAND=y
>  # CONFIG_SPL_DM_MMC is not set
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
>  CONFIG_MMC_OMAP_HS=y
>  CONFIG_MTD=y
>  CONFIG_MTD_RAW_NAND=y
> diff --git a/configs/s5p_goni_defconfig b/configs/s5p_goni_defconfig
> index 28d8be6b01f6..72f9ce16a950 100644
> --- a/configs/s5p_goni_defconfig
> +++ b/configs/s5p_goni_defconfig
> @@ -36,6 +36,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
>  # CONFIG_NET is not set
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x2000000
>  CONFIG_DM_I2C_GPIO=y
>  CONFIG_MMC_SDHCI=y
>  CONFIG_MMC_SDHCI_S5P=y
> diff --git a/configs/s5pc210_universal_defconfig
> b/configs/s5pc210_universal_defconfig index
> 759034a8a5c6..734a99f8efa5 100644 ---
> a/configs/s5pc210_universal_defconfig +++
> b/configs/s5pc210_universal_defconfig @@ -33,6 +33,7 @@
> CONFIG_ENV_OVERWRITE=y CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x2000000
>  CONFIG_SYS_I2C_S3C24X0=y
>  CONFIG_MMC_DW=y
>  CONFIG_MMC_SDHCI=y
> diff --git a/configs/smartweb_defconfig b/configs/smartweb_defconfig
> index 1f600d02780a..dc7b27742f87 100644
> --- a/configs/smartweb_defconfig
> +++ b/configs/smartweb_defconfig
> @@ -53,6 +53,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_CLK=y
>  CONFIG_CLK_AT91=y
>  CONFIG_DFU_NAND=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
>  CONFIG_AT91_GPIO=y
>  # CONFIG_MMC is not set
>  CONFIG_MTD=y
> diff --git a/configs/socfpga_arria5_defconfig
> b/configs/socfpga_arria5_defconfig index d4f9bade3d01..e6e6cb24e155
> 100644 --- a/configs/socfpga_arria5_defconfig
> +++ b/configs/socfpga_arria5_defconfig
> @@ -39,6 +39,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_VERSION_VARIABLE=y
>  CONFIG_SPL_DM_SEQ_ALIAS=y
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
>  CONFIG_DWAPB_GPIO=y
>  CONFIG_DM_I2C=y
>  CONFIG_SYS_I2C_DW=y
> diff --git a/configs/socfpga_cyclone5_defconfig
> b/configs/socfpga_cyclone5_defconfig index ae7fd501917a..ff7aa1df2a4a
> 100644 --- a/configs/socfpga_cyclone5_defconfig
> +++ b/configs/socfpga_cyclone5_defconfig
> @@ -39,6 +39,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_VERSION_VARIABLE=y
>  CONFIG_SPL_DM_SEQ_ALIAS=y
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
>  CONFIG_DWAPB_GPIO=y
>  CONFIG_DM_I2C=y
>  CONFIG_SYS_I2C_DW=y
> diff --git a/configs/socfpga_dbm_soc1_defconfig
> b/configs/socfpga_dbm_soc1_defconfig index 033c40736ed8..70a891b003a4
> 100644 --- a/configs/socfpga_dbm_soc1_defconfig
> +++ b/configs/socfpga_dbm_soc1_defconfig
> @@ -44,6 +44,7 @@ CONFIG_ENV_IS_IN_MMC=y
>  CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_VERSION_VARIABLE=y
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
>  CONFIG_DWAPB_GPIO=y
>  CONFIG_DM_I2C=y
>  CONFIG_SYS_I2C_DW=y
> diff --git a/configs/socfpga_de0_nano_soc_defconfig
> b/configs/socfpga_de0_nano_soc_defconfig index
> 53efc9f5bdad..35ad9a2ea726 100644 ---
> a/configs/socfpga_de0_nano_soc_defconfig +++
> b/configs/socfpga_de0_nano_soc_defconfig @@ -39,6 +39,7 @@
> CONFIG_ENV_IS_IN_MMC=y CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_VERSION_VARIABLE=y
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
>  CONFIG_DWAPB_GPIO=y
>  CONFIG_DM_I2C=y
>  CONFIG_SYS_I2C_DW=y
> diff --git a/configs/socfpga_de10_nano_defconfig
> b/configs/socfpga_de10_nano_defconfig index
> d94b9584dea8..92d9336f3580 100644 ---
> a/configs/socfpga_de10_nano_defconfig +++
> b/configs/socfpga_de10_nano_defconfig @@ -36,6 +36,7 @@
> CONFIG_ENV_IS_IN_MMC=y CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_VERSION_VARIABLE=y
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
>  CONFIG_DWAPB_GPIO=y
>  CONFIG_DM_I2C=y
>  CONFIG_SYS_I2C_DW=y
> diff --git a/configs/socfpga_mcvevk_defconfig
> b/configs/socfpga_mcvevk_defconfig index b24b417a6bc3..2e7a9a21e675
> 100644 --- a/configs/socfpga_mcvevk_defconfig
> +++ b/configs/socfpga_mcvevk_defconfig
> @@ -37,6 +37,7 @@ CONFIG_ENV_IS_IN_MMC=y
>  CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_VERSION_VARIABLE=y
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
>  CONFIG_DWAPB_GPIO=y
>  CONFIG_DM_I2C=y
>  CONFIG_SYS_I2C_DW=y
> diff --git a/configs/socfpga_sockit_defconfig
> b/configs/socfpga_sockit_defconfig index 4ea9b41a7e21..32f203143324
> 100644 --- a/configs/socfpga_sockit_defconfig
> +++ b/configs/socfpga_sockit_defconfig
> @@ -39,6 +39,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_VERSION_VARIABLE=y
>  CONFIG_SPL_DM_SEQ_ALIAS=y
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
>  CONFIG_DWAPB_GPIO=y
>  CONFIG_DM_I2C=y
>  CONFIG_SYS_I2C_DW=y
> diff --git a/configs/socfpga_socrates_defconfig
> b/configs/socfpga_socrates_defconfig index 16c9b927a9bd..756388ee5704
> 100644 --- a/configs/socfpga_socrates_defconfig
> +++ b/configs/socfpga_socrates_defconfig
> @@ -40,6 +40,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_VERSION_VARIABLE=y
>  CONFIG_SPL_DM_SEQ_ALIAS=y
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
>  CONFIG_DWAPB_GPIO=y
>  CONFIG_DM_I2C=y
>  CONFIG_SYS_I2C_DW=y
> diff --git a/configs/socfpga_vining_fpga_defconfig
> b/configs/socfpga_vining_fpga_defconfig index
> 3984b9bc7849..174494c16e57 100644 ---
> a/configs/socfpga_vining_fpga_defconfig +++
> b/configs/socfpga_vining_fpga_defconfig @@ -53,6 +53,7 @@
> CONFIG_SPL_DM_SEQ_ALIAS=y CONFIG_DFU_MMC=y
>  CONFIG_DFU_RAM=y
>  CONFIG_DFU_SF=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
>  CONFIG_DWAPB_GPIO=y
>  CONFIG_DM_I2C=y
>  CONFIG_LED_STATUS=y
> diff --git a/configs/taurus_defconfig b/configs/taurus_defconfig
> index a79cdf3fa7ce..dbd642862413 100644
> --- a/configs/taurus_defconfig
> +++ b/configs/taurus_defconfig
> @@ -71,6 +71,7 @@ CONFIG_BLK=y
>  CONFIG_CLK=y
>  CONFIG_CLK_AT91=y
>  CONFIG_DFU_NAND=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
>  CONFIG_AT91_GPIO=y
>  # CONFIG_MMC is not set
>  CONFIG_MTD=y
> diff --git a/configs/thuban_defconfig b/configs/thuban_defconfig
> index d1cc9a69bec8..247538a5d9fb 100644
> --- a/configs/thuban_defconfig
> +++ b/configs/thuban_defconfig
> @@ -76,6 +76,7 @@ CONFIG_BOOTCOUNT_LIMIT=y
>  CONFIG_BOOTCOUNT_ENV=y
>  CONFIG_DFU_NAND=y
>  # CONFIG_SPL_DM_MMC is not set
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
>  CONFIG_MMC_OMAP_HS=y
>  CONFIG_MTD=y
>  CONFIG_MTD_RAW_NAND=y
> diff --git a/configs/topic_miami_defconfig
> b/configs/topic_miami_defconfig index ec66bb09584a..3681919f8503
> 100644 --- a/configs/topic_miami_defconfig
> +++ b/configs/topic_miami_defconfig
> @@ -38,6 +38,7 @@ CONFIG_ENV_OVERWRITE=y
>  CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_SPL_DM_SEQ_ALIAS=y
>  CONFIG_DFU_RAM=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x600000
>  CONFIG_FPGA_XILINX=y
>  CONFIG_FPGA_ZYNQPL=y
>  CONFIG_DM_I2C=y
> diff --git a/configs/topic_miamilite_defconfig
> b/configs/topic_miamilite_defconfig index e4145948859e..301a357ec70f
> 100644 --- a/configs/topic_miamilite_defconfig
> +++ b/configs/topic_miamilite_defconfig
> @@ -38,6 +38,7 @@ CONFIG_ENV_OVERWRITE=y
>  CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_SPL_DM_SEQ_ALIAS=y
>  CONFIG_DFU_RAM=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x600000
>  CONFIG_FPGA_XILINX=y
>  CONFIG_FPGA_ZYNQPL=y
>  CONFIG_DM_I2C=y
> diff --git a/configs/topic_miamiplus_defconfig
> b/configs/topic_miamiplus_defconfig index 0041ee153669..27cd9132e86b
> 100644 --- a/configs/topic_miamiplus_defconfig
> +++ b/configs/topic_miamiplus_defconfig
> @@ -37,6 +37,7 @@ CONFIG_ENV_OVERWRITE=y
>  CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_SPL_DM_SEQ_ALIAS=y
>  CONFIG_DFU_RAM=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x600000
>  CONFIG_FPGA_XILINX=y
>  CONFIG_FPGA_ZYNQPL=y
>  CONFIG_DM_I2C=y
> diff --git a/configs/trats2_defconfig b/configs/trats2_defconfig
> index 8439ddc26775..a3955e1ffc5a 100644
> --- a/configs/trats2_defconfig
> +++ b/configs/trats2_defconfig
> @@ -34,6 +34,7 @@ CONFIG_ENV_OVERWRITE=y
>  CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x2000000
>  CONFIG_DM_I2C_GPIO=y
>  CONFIG_SYS_I2C_S3C24X0=y
>  CONFIG_MMC_DW=y
> diff --git a/configs/trats_defconfig b/configs/trats_defconfig
> index 931c69ba6f17..64cd5dcdb3b2 100644
> --- a/configs/trats_defconfig
> +++ b/configs/trats_defconfig
> @@ -33,6 +33,7 @@ CONFIG_ENV_OVERWRITE=y
>  CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x2000000
>  CONFIG_DM_I2C_GPIO=y
>  CONFIG_SYS_I2C_S3C24X0=y
>  CONFIG_MMC_DW=y
> diff --git a/configs/venice2_defconfig b/configs/venice2_defconfig
> index ca18677dd4c7..9c14cef2b999 100644
> --- a/configs/venice2_defconfig
> +++ b/configs/venice2_defconfig
> @@ -32,6 +32,8 @@ CONFIG_SPL_DM=y
>  CONFIG_DFU_MMC=y
>  CONFIG_DFU_RAM=y
>  CONFIG_DFU_SF=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
> +CONFIG_SYS_DFU_MAX_FILE_SIZE=0x2000000
>  CONFIG_SYS_I2C_TEGRA=y
>  CONFIG_SF_DEFAULT_MODE=0
>  CONFIG_SF_DEFAULT_SPEED=24000000
> diff --git a/configs/warp7_bl33_defconfig
> b/configs/warp7_bl33_defconfig index c5c5d99c6ca6..5452a49061c5 100644
> --- a/configs/warp7_bl33_defconfig
> +++ b/configs/warp7_bl33_defconfig
> @@ -35,6 +35,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_NET_RANDOM_ETHADDR=y
>  CONFIG_BOUNCE_BUFFER=y
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
>  CONFIG_DM_I2C=y
>  CONFIG_SUPPORT_EMMC_BOOT=y
>  CONFIG_FSL_USDHC=y
> diff --git a/configs/warp7_defconfig b/configs/warp7_defconfig
> index 910419938cd2..43471e754a9f 100644
> --- a/configs/warp7_defconfig
> +++ b/configs/warp7_defconfig
> @@ -41,6 +41,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_NET_RANDOM_ETHADDR=y
>  CONFIG_BOUNCE_BUFFER=y
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
>  CONFIG_DM_I2C=y
>  CONFIG_SUPPORT_EMMC_BOOT=y
>  CONFIG_FSL_USDHC=y
> diff --git a/configs/warp_defconfig b/configs/warp_defconfig
> index 34acc9e6c844..04f756aacf8c 100644
> --- a/configs/warp_defconfig
> +++ b/configs/warp_defconfig
> @@ -33,6 +33,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  # CONFIG_NET is not set
>  CONFIG_BOUNCE_BUFFER=y
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
>  CONFIG_SUPPORT_EMMC_BOOT=y
>  CONFIG_FSL_USDHC=y
>  CONFIG_MXC_UART=y
> diff --git a/configs/xilinx_versal_virt_defconfig
> b/configs/xilinx_versal_virt_defconfig index
> f4e9a80728d7..121c3ae72051 100644 ---
> a/configs/xilinx_versal_virt_defconfig +++
> b/configs/xilinx_versal_virt_defconfig @@ -54,6 +54,7 @@
> CONFIG_TFTP_BLOCKSIZE=4096 CONFIG_CLK_VERSAL=y
>  CONFIG_DFU_TIMEOUT=y
>  CONFIG_DFU_RAM=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1800000
>  CONFIG_FPGA_XILINX=y
>  CONFIG_FPGA_VERSALPL=y
>  CONFIG_DM_I2C=y
> diff --git a/configs/xilinx_zynq_virt_defconfig
> b/configs/xilinx_zynq_virt_defconfig index 7e56395a521f..e53ef2443ec1
> 100644 --- a/configs/xilinx_zynq_virt_defconfig
> +++ b/configs/xilinx_zynq_virt_defconfig
> @@ -68,6 +68,7 @@ CONFIG_SPL_DM_SEQ_ALIAS=y
>  CONFIG_DFU_TIMEOUT=y
>  CONFIG_DFU_MMC=y
>  CONFIG_DFU_RAM=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x600000
>  CONFIG_FPGA_XILINX=y
>  CONFIG_FPGA_ZYNQPL=y
>  CONFIG_DM_I2C=y
> diff --git a/configs/xilinx_zynqmp_virt_defconfig
> b/configs/xilinx_zynqmp_virt_defconfig index
> e939b04ef6a5..b0cc9d9ba88a 100644 ---
> a/configs/xilinx_zynqmp_virt_defconfig +++
> b/configs/xilinx_zynqmp_virt_defconfig @@ -90,6 +90,7 @@
> CONFIG_DFU_NAND=y CONFIG_DFU_RAM=y
>  CONFIG_DFU_SF=y
>  CONFIG_DFU_MTD=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1800000
>  CONFIG_USB_FUNCTION_FASTBOOT=y
>  CONFIG_FASTBOOT_FLASH=y
>  CONFIG_FASTBOOT_FLASH_MMC_DEV=0
> diff --git a/drivers/dfu/Kconfig b/drivers/dfu/Kconfig
> index 121dc54f5463..b50547476cbd 100644
> --- a/drivers/dfu/Kconfig
> +++ b/drivers/dfu/Kconfig
> @@ -92,5 +92,25 @@ config SET_DFU_ALT_INFO
>  	help
>  	  This option allows to call the function set_dfu_alt_info to
>  	  dynamically build dfu_alt_info in board.
> +
> +config SYS_DFU_DATA_BUF_SIZE
> +	hex "Size of buffer to be allocated for transfer to raw
> storage device"
> +	default 0x800000
> +	help
> +	  DFU transfer uses a buffer before writing data to the
> +	  raw storage device. This value can be used for setting the
> +	  size of this buffer. The size of the buffer is also
> configurable
> +	  through the "dfu_bufsiz" environment variable. If both are
> +	  given the size of the buffer is set to "dfu_bufsize".
> +
> +config SYS_DFU_MAX_FILE_SIZE
> +	hex "Size of the buffer to be allocated for transferring
> files"
> +	default SYS_DFU_DATA_BUF_SIZE
> +	help
> +	  When updating files rather than the raw storage device,
> +	  we use a static buffer to copy the file into and then write
> +	  the buffer once we've been given the whole file.  Define
> +	  this to the maximum filesize (in bytes) for the buffer.
> +	  If undefined it defaults to the
> CONFIG_SYS_DFU_DATA_BUF_SIZE. endif
>  endmenu
> diff --git a/include/configs/am65x_evm.h b/include/configs/am65x_evm.h
> index 76d73086fb89..8c50fe9d11ff 100644
> --- a/include/configs/am65x_evm.h
> +++ b/include/configs/am65x_evm.h
> @@ -22,7 +22,6 @@
>  #ifdef CONFIG_TARGET_AM654_A53_EVM
>  #define CONFIG_SYS_INIT_SP_ADDR         (CONFIG_SPL_TEXT_BASE
> +	\ CONFIG_SYS_K3_NON_SECURE_MSRAM_SIZE)
> -#define CONFIG_SYS_DFU_DATA_BUF_SIZE	0x20000
>  #else
>  /*
>   * Maximum size in memory allocated to the SPL BSS. Keep it as tight
> as @@ -45,7 +44,6 @@
>  /* Configure R5 SPL post-relocation malloc pool in DDR */
>  #define CONFIG_SYS_SPL_MALLOC_START	0x84000000
>  #define CONFIG_SYS_SPL_MALLOC_SIZE	SZ_16M
> -#define CONFIG_SYS_DFU_DATA_BUF_SIZE	0x5000
>  #endif
>  
>  #ifdef CONFIG_SYS_K3_SPL_ATF
> @@ -56,12 +54,6 @@
>  #define CONFIG_SKIP_LOWLEVEL_INIT
>  #endif
>  
> -/*
> - * If the maximum size is not declared then it is defined as
> - * CONFIG_SYS_DFU_DATA_BUF_SIZE.
> - */
> -#define CONFIG_SYS_DFU_MAX_FILE_SIZE	(1024 * 1024 * 8)   /* 8
> MiB */ -
>  #define CONFIG_SPL_MAX_SIZE
> CONFIG_SYS_K3_MAX_DOWNLODABLE_IMAGE_SIZE 
>  #define CONFIG_SYS_BOOTM_LEN		SZ_64M
> diff --git a/include/configs/colibri-imx6ull.h
> b/include/configs/colibri-imx6ull.h index 22ee2ba03e46..f84931653fbc
> 100644 --- a/include/configs/colibri-imx6ull.h
> +++ b/include/configs/colibri-imx6ull.h
> @@ -143,7 +143,6 @@
>  #define CONFIG_USBD_HS
>  
>  /* USB Device Firmware Update support */
> -#define CONFIG_SYS_DFU_DATA_BUF_SIZE	SZ_16M
>  #define DFU_DEFAULT_POLL_TIMEOUT	300
>  
>  #if defined(CONFIG_VIDEO) || defined(CONFIG_DM_VIDEO)
> diff --git a/include/configs/colibri_vf.h
> b/include/configs/colibri_vf.h index cae7c14bfb90..5bd440f1db33 100644
> --- a/include/configs/colibri_vf.h
> +++ b/include/configs/colibri_vf.h
> @@ -143,6 +143,5 @@
>  #define CONFIG_EHCI_HCD_INIT_AFTER_RESET
>  
>  /* USB DFU */
> -#define CONFIG_SYS_DFU_DATA_BUF_SIZE (SZ_1M)
>  
>  #endif /* __CONFIG_H */
> diff --git a/include/configs/corvus.h b/include/configs/corvus.h
> index 55f77e4400a2..bd4d6e8e39f4 100644
> --- a/include/configs/corvus.h
> +++ b/include/configs/corvus.h
> @@ -81,7 +81,6 @@
>  #define CONFIG_AT91_WANTS_COMMON_PHY
>  
>  /* DFU class support */
> -#define CONFIG_SYS_DFU_DATA_BUF_SIZE	(SZ_1M)
>  #define DFU_MANIFEST_POLL_TIMEOUT	25000
>  
>  #define CONFIG_SYS_LOAD_ADDR	ATMEL_BASE_CS6
> diff --git a/include/configs/dh_imx6.h b/include/configs/dh_imx6.h
> index 4a469af5e60b..d9be1c38c44a 100644
> --- a/include/configs/dh_imx6.h
> +++ b/include/configs/dh_imx6.h
> @@ -66,7 +66,6 @@
>  
>  /* USB Gadget (DFU, UMS) */
>  #if defined(CONFIG_CMD_DFU) || defined(CONFIG_CMD_USB_MASS_STORAGE)
> -#define CONFIG_SYS_DFU_DATA_BUF_SIZE	(16 * 1024 * 1024)
>  #define DFU_DEFAULT_POLL_TIMEOUT	300
>  
>  /* USB IDs */
> diff --git a/include/configs/exynos4-common.h
> b/include/configs/exynos4-common.h index 005f65d4ed6a..5e2aca371e7e
> 100644 --- a/include/configs/exynos4-common.h
> +++ b/include/configs/exynos4-common.h
> @@ -19,7 +19,6 @@
>  /* SD/MMC configuration */
>  #define CONFIG_MMC_DEFAULT_DEV	0
>  
> -#define CONFIG_SYS_DFU_DATA_BUF_SIZE SZ_32M
>  #define DFU_DEFAULT_POLL_TIMEOUT 300
>  
>  /* USB Samsung's IDs */
> diff --git a/include/configs/odroid_xu3.h
> b/include/configs/odroid_xu3.h index 0c86196152fc..fc70dc6a7323 100644
> --- a/include/configs/odroid_xu3.h
> +++ b/include/configs/odroid_xu3.h
> @@ -27,7 +27,6 @@
>  #define CONFIG_USB_EHCI_EXYNOS
>  
>  /* DFU */
> -#define CONFIG_SYS_DFU_DATA_BUF_SIZE	SZ_32M
>  #define DFU_DEFAULT_POLL_TIMEOUT	300
>  #define DFU_MANIFEST_POLL_TIMEOUT	25000
>  
> diff --git a/include/configs/pico-imx6.h b/include/configs/pico-imx6.h
> index 19c8aeb71b6e..6199f0d72e76 100644
> --- a/include/configs/pico-imx6.h
> +++ b/include/configs/pico-imx6.h
> @@ -38,7 +38,6 @@
>  #define CONFIG_MXC_USB_PORTSC		(PORT_PTS_UTMI |
> PORT_PTS_PTW) #define CONFIG_MXC_USB_FLAGS		0
>  
> -#define CONFIG_SYS_DFU_DATA_BUF_SIZE SZ_16M
>  #define DFU_DEFAULT_POLL_TIMEOUT 300
>  
>  #define CONFIG_DFU_ENV_SETTINGS \
> diff --git a/include/configs/pico-imx6ul.h
> b/include/configs/pico-imx6ul.h index 747ef09f37d9..04a2531f7447
> 100644 --- a/include/configs/pico-imx6ul.h
> +++ b/include/configs/pico-imx6ul.h
> @@ -49,7 +49,6 @@
>  
>  #define CONFIG_USBD_HS
>  
> -#define CONFIG_SYS_DFU_DATA_BUF_SIZE SZ_16M
>  #define DFU_DEFAULT_POLL_TIMEOUT 300
>  
>  #define CONFIG_DFU_ENV_SETTINGS \
> diff --git a/include/configs/rpi.h b/include/configs/rpi.h
> index 834f1cd23640..46ada884b487 100644
> --- a/include/configs/rpi.h
> +++ b/include/configs/rpi.h
> @@ -74,9 +74,6 @@
>  
>  /* DFU over USB/UDC */
>  #ifdef CONFIG_CMD_DFU
> -#define CONFIG_SYS_DFU_DATA_BUF_SIZE	SZ_1M
> -#define CONFIG_SYS_DFU_MAX_FILE_SIZE	SZ_2M
> -
>  #ifdef CONFIG_ARM64
>  #define KERNEL_FILENAME		"Image"
>  #else
> diff --git a/include/configs/s5p_goni.h b/include/configs/s5p_goni.h
> index 9688bdc4c035..6af6009e6126 100644
> --- a/include/configs/s5p_goni.h
> +++ b/include/configs/s5p_goni.h
> @@ -41,7 +41,6 @@
>  #define CONFIG_PWM			1
>  
>  /* USB Composite download gadget - g_dnl */
> -#define CONFIG_SYS_DFU_DATA_BUF_SIZE SZ_32M
>  #define DFU_DEFAULT_POLL_TIMEOUT 300
>  
>  /* USB Samsung's IDs */
> diff --git a/include/configs/siemens-am33x-common.h
> b/include/configs/siemens-am33x-common.h index
> e18af7493c7f..f96dd774b178 100644 ---
> a/include/configs/siemens-am33x-common.h +++
> b/include/configs/siemens-am33x-common.h @@ -143,7 +143,6 @@
>  #define CONFIG_USBD_HS
>  
>  /* USB Device Firmware Update support */
> -#define CONFIG_SYS_DFU_DATA_BUF_SIZE	(1 << 20)
>  #define DFU_MANIFEST_POLL_TIMEOUT	25000
>  
>  #endif /* CONFIG_SPL_BUILD */
> diff --git a/include/configs/smartweb.h b/include/configs/smartweb.h
> index 6e715dc0c1be..5e8637e49484 100644
> --- a/include/configs/smartweb.h
> +++ b/include/configs/smartweb.h
> @@ -122,7 +122,6 @@
>  #define CONFIG_USB_GADGET_AT91
>  
>  /* DFU class support */
> -#define CONFIG_SYS_DFU_DATA_BUF_SIZE	SZ_1M
>  #define DFU_MANIFEST_POLL_TIMEOUT	25000
>  #endif
>  
> diff --git a/include/configs/socfpga_common.h
> b/include/configs/socfpga_common.h index 62b327cd6e52..c5e4292f1964
> 100644 --- a/include/configs/socfpga_common.h
> +++ b/include/configs/socfpga_common.h
> @@ -148,7 +148,6 @@ unsigned int cm_get_qspi_controller_clk_hz(void);
>   * USB Gadget (DFU, UMS)
>   */
>  #if defined(CONFIG_CMD_DFU) || defined(CONFIG_CMD_USB_MASS_STORAGE)
> -#define CONFIG_SYS_DFU_DATA_BUF_SIZE	(16 * 1024 * 1024)
>  #define DFU_DEFAULT_POLL_TIMEOUT	300
>  
>  /* USB IDs */
> diff --git a/include/configs/taurus.h b/include/configs/taurus.h
> index 39eae8e2ba04..6e869462f1e6 100644
> --- a/include/configs/taurus.h
> +++ b/include/configs/taurus.h
> @@ -92,7 +92,6 @@
>  #define CONFIG_USB_GADGET_AT91
>  
>  /* DFU class support */
> -#define CONFIG_SYS_DFU_DATA_BUF_SIZE	(SZ_1M)
>  #define DFU_MANIFEST_POLL_TIMEOUT	25000
>  #endif
>  
> diff --git a/include/configs/tegra-common-usb-gadget.h
> b/include/configs/tegra-common-usb-gadget.h index
> e6b61c4e8fd3..201f4bc093c9 100644 ---
> a/include/configs/tegra-common-usb-gadget.h +++
> b/include/configs/tegra-common-usb-gadget.h @@ -13,8 +13,6 @@
>  #define CONFIG_CI_UDC_HAS_HOSTPC
>  #endif
>  /* DFU protocol */
> -#define CONFIG_SYS_DFU_DATA_BUF_SIZE SZ_1M
> -#define CONFIG_SYS_DFU_MAX_FILE_SIZE SZ_32M
>  #endif
>  
>  #endif /* _TEGRA_COMMON_USB_GADGET_H_ */
> diff --git a/include/configs/warp.h b/include/configs/warp.h
> index 0f97804eb29c..bda8ff9a34f3 100644
> --- a/include/configs/warp.h
> +++ b/include/configs/warp.h
> @@ -50,7 +50,6 @@
>  
>  #define CONFIG_USBD_HS
>  
> -#define CONFIG_SYS_DFU_DATA_BUF_SIZE SZ_16M
>  #define DFU_DEFAULT_POLL_TIMEOUT 300
>  
>  /* I2C Configs */
> diff --git a/include/configs/warp7.h b/include/configs/warp7.h
> index 8eb106027440..a5d52e3977fd 100644
> --- a/include/configs/warp7.h
> +++ b/include/configs/warp7.h
> @@ -149,7 +149,6 @@
>  #define CONFIG_USBD_HS
>  
>  /* USB Device Firmware Update support */
> -#define CONFIG_SYS_DFU_DATA_BUF_SIZE	SZ_16M
>  #define DFU_DEFAULT_POLL_TIMEOUT	300
>  
>  #define CONFIG_USBNET_DEV_ADDR		"de:ad:be:af:00:01"
> diff --git a/include/configs/xilinx_versal.h
> b/include/configs/xilinx_versal.h index 380f93a2f68e..ebe81968d130
> 100644 --- a/include/configs/xilinx_versal.h
> +++ b/include/configs/xilinx_versal.h
> @@ -47,7 +47,6 @@
>  #define CONFIG_SYS_MAXARGS		64
>  
>  #if defined(CONFIG_CMD_DFU)
> -#define CONFIG_SYS_DFU_DATA_BUF_SIZE	0x1800000
>  #define DFU_DEFAULT_POLL_TIMEOUT	300
>  #define CONFIG_THOR_RESET_OFF
>  #endif
> diff --git a/include/configs/xilinx_zynqmp.h
> b/include/configs/xilinx_zynqmp.h index 986af2be7819..cadaf1a96312
> 100644 --- a/include/configs/xilinx_zynqmp.h
> +++ b/include/configs/xilinx_zynqmp.h
> @@ -52,7 +52,6 @@
>  #define CONFIG_SYS_LOAD_ADDR		0x8000000
>  
>  #if defined(CONFIG_ZYNQMP_USB)
> -#define CONFIG_SYS_DFU_DATA_BUF_SIZE	0x1800000
>  #define DFU_DEFAULT_POLL_TIMEOUT	300
>  #define CONFIG_THOR_RESET_OFF
>  
> diff --git a/include/configs/zynq-common.h
> b/include/configs/zynq-common.h index 39035f8bebca..7859b77603f1
> 100644 --- a/include/configs/zynq-common.h
> +++ b/include/configs/zynq-common.h
> @@ -58,7 +58,6 @@
>  #ifdef CONFIG_USB_EHCI_ZYNQ
>  # define CONFIG_EHCI_IS_TDI
>  
> -# define CONFIG_SYS_DFU_DATA_BUF_SIZE	0x600000
>  # define DFU_DEFAULT_POLL_TIMEOUT	300
>  # define CONFIG_THOR_RESET_OFF
>  #endif
> diff --git a/include/dfu.h b/include/dfu.h
> index d18b70172829..afada3959b72 100644
> --- a/include/dfu.h
> +++ b/include/dfu.h
> @@ -100,12 +100,6 @@ struct virt_internal_data {
>  };
>  
>  #define DFU_NAME_SIZE			32
> -#ifndef CONFIG_SYS_DFU_DATA_BUF_SIZE
> -#define CONFIG_SYS_DFU_DATA_BUF_SIZE
> (1024*1024*8)	/* 8 MiB */ -#endif
> -#ifndef CONFIG_SYS_DFU_MAX_FILE_SIZE
> -#define CONFIG_SYS_DFU_MAX_FILE_SIZE CONFIG_SYS_DFU_DATA_BUF_SIZE
> -#endif
>  #ifndef DFU_DEFAULT_POLL_TIMEOUT
>  #define DFU_DEFAULT_POLL_TIMEOUT 0
>  #endif
> diff --git a/scripts/config_whitelist.txt
> b/scripts/config_whitelist.txt index 8f92b82719a2..0f5ac8ff5229 100644
> --- a/scripts/config_whitelist.txt
> +++ b/scripts/config_whitelist.txt
> @@ -1988,8 +1988,6 @@ CONFIG_SYS_DEBUG_SERVER_FW_IN_NOR
>  CONFIG_SYS_DEFAULT_LPDDR2_TIMINGS
>  CONFIG_SYS_DEFAULT_VIDEO_MODE
>  CONFIG_SYS_DEF_EEPROM_ADDR
> -CONFIG_SYS_DFU_DATA_BUF_SIZE
> -CONFIG_SYS_DFU_MAX_FILE_SIZE
>  CONFIG_SYS_DIAG_ADDR
>  CONFIG_SYS_DIALOG_PMIC_I2C_ADDR
>  CONFIG_SYS_DIMM_SLOTS_PER_CTLR



Best regards,

Lukasz Majewski

--

DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma@denx.de
Aswath Govindraju June 8, 2021, 8:04 a.m. UTC | #3
+ Tom Rini

I saw that this patch is delegated to Tom Rini in patchwork page but I
did not add him in the cc-list. So, I added him now.

Hi Tom,

On 01/06/21 4:51 pm, Aswath Govindraju wrote:
> Currently the config options CONFIG_SYS_DFU_DATA_BUF_SIZE and
> CONFIG_SYS_DFU_MAX_FILE_SIZE are being set in include/configs/<board>.h
> files and also in <board_name>_defconfig files without a Kconfig option. It
> is easier for users to set these configs in defconfig files than in config
> header files as they are a part of the source code.
> 
> Add Kconfig symbols, and update the defconfigs by using tools/moveconfig.py
> script.
> 

May I know if this patch is good to be picked?

Thanks,
Aswath

> Suggested-by: Pratyush Yadav <p.yadav@ti.com>
> Signed-off-by: Aswath Govindraju <a-govindraju@ti.com>
> Acked-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
> ---
> 
> Changes since v2:
> - Rebased the patch on top of current HEAD
> - Picked up Oleksandr Suvorov's Acked-by
> 
> Link to v2 patch,
> https://patchwork.ozlabs.org/project/uboot/patch/20210226071849.29070-1-a-govindraju@ti.com/
> 
> Changes since v1:
> - Removed CONFIG_SYS_DFU_MAX_FILE_SIZE in defconfig files, where it was
>   not defined previously. The list of files in which this change is made
>   are listed below,
>   configs/colibri-imx6ull_defconfig
>   configs/colibri_vf_defconfig
>   configs/corvus_defconfig
>   configs/dh_imx6_defconfig
>   configs/draco_defconfig
>   configs/etamin_defconfig 
>   configs/odroid-xu3_defconfig
>   configs/odroid_defconfig
>   configs/origen_defconfig
>   configs/pico-dwarf-imx6ul_defconfig
>   configs/pico-hobbit-imx6ul_defconfig
>   configs/pico-imx6_defconfig
>   configs/pico-imx6ul_defconfig
>   configs/pico-pi-imx6ul_defconfig
>   configs/pxm2_defconfig
>   configs/rastaban_defconfig 
>   configs/rut_defconfig
>   configs/s5p_goni_defconfig
>   configs/s5pc210_universal_defconfig
>   configs/smartweb_defconfig  
>   configs/socfpga_arria5_defconfig
>   configs/socfpga_cyclone5_defconfig
>   configs/socfpga_dbm_soc1_defconfig
>   configs/socfpga_de0_nano_soc_defconfig
>   configs/socfpga_de10_nano_defconfig 
>   configs/socfpga_mcvevk_defconfig
>   configs/socfpga_sockit_defconfig
>   configs/socfpga_socrates_defconfig
>   configs/socfpga_vining_fpga_defconfig
>   configs/taurus_defconfig
>   configs/thuban_defconfig
>   configs/topic_miami_defconfig
>   configs/topic_miamilite_defconfig
>   configs/topic_miamiplus_defconfig 
>   configs/trats2_defconfig 
>   configs/trats_defconfig
>   configs/warp7_bl33_defconfig
>   configs/warp7_defconfig
>   configs/warp_defconfig
>   configs/xilinx_versal_virt_defconfig
>   configs/xilinx_zynq_virt_defconfig
>   configs/xilinx_zynqmp_virt_defconfig
> 
> Link to v1,
> https://patchwork.ozlabs.org/project/uboot/patch/20210223061427.20742-1-a-govindraju@ti.com/ 
> 
>  configs/am65x_evm_a53_defconfig           |  2 ++
>  configs/am65x_evm_r5_usbdfu_defconfig     |  2 ++
>  configs/am65x_hs_evm_a53_defconfig        |  2 ++
>  configs/beaver_defconfig                  |  2 ++
>  configs/cei-tk1-som_defconfig             |  2 ++
>  configs/colibri-imx6ull_defconfig         |  1 +
>  configs/colibri_vf_defconfig              |  1 +
>  configs/corvus_defconfig                  |  1 +
>  configs/dalmore_defconfig                 |  2 ++
>  configs/dh_imx6_defconfig                 |  1 +
>  configs/draco_defconfig                   |  1 +
>  configs/etamin_defconfig                  |  1 +
>  configs/jetson-tk1_defconfig              |  2 ++
>  configs/nyan-big_defconfig                |  2 ++
>  configs/odroid-xu3_defconfig              |  1 +
>  configs/odroid_defconfig                  |  1 +
>  configs/origen_defconfig                  |  1 +
>  configs/p2371-0000_defconfig              |  2 ++
>  configs/p2371-2180_defconfig              |  2 ++
>  configs/p2571_defconfig                   |  2 ++
>  configs/p3450-0000_defconfig              |  2 ++
>  configs/pico-dwarf-imx6ul_defconfig       |  1 +
>  configs/pico-hobbit-imx6ul_defconfig      |  1 +
>  configs/pico-imx6_defconfig               |  1 +
>  configs/pico-imx6ul_defconfig             |  1 +
>  configs/pico-pi-imx6ul_defconfig          |  1 +
>  configs/pxm2_defconfig                    |  1 +
>  configs/rastaban_defconfig                |  1 +
>  configs/rpi_4_32b_defconfig               |  2 ++
>  configs/rpi_4_defconfig                   |  2 ++
>  configs/rut_defconfig                     |  1 +
>  configs/s5p_goni_defconfig                |  1 +
>  configs/s5pc210_universal_defconfig       |  1 +
>  configs/smartweb_defconfig                |  1 +
>  configs/socfpga_arria5_defconfig          |  1 +
>  configs/socfpga_cyclone5_defconfig        |  1 +
>  configs/socfpga_dbm_soc1_defconfig        |  1 +
>  configs/socfpga_de0_nano_soc_defconfig    |  1 +
>  configs/socfpga_de10_nano_defconfig       |  1 +
>  configs/socfpga_mcvevk_defconfig          |  1 +
>  configs/socfpga_sockit_defconfig          |  1 +
>  configs/socfpga_socrates_defconfig        |  1 +
>  configs/socfpga_vining_fpga_defconfig     |  1 +
>  configs/taurus_defconfig                  |  1 +
>  configs/thuban_defconfig                  |  1 +
>  configs/topic_miami_defconfig             |  1 +
>  configs/topic_miamilite_defconfig         |  1 +
>  configs/topic_miamiplus_defconfig         |  1 +
>  configs/trats2_defconfig                  |  1 +
>  configs/trats_defconfig                   |  1 +
>  configs/venice2_defconfig                 |  2 ++
>  configs/warp7_bl33_defconfig              |  1 +
>  configs/warp7_defconfig                   |  1 +
>  configs/warp_defconfig                    |  1 +
>  configs/xilinx_versal_virt_defconfig      |  1 +
>  configs/xilinx_zynq_virt_defconfig        |  1 +
>  configs/xilinx_zynqmp_virt_defconfig      |  1 +
>  drivers/dfu/Kconfig                       | 20 ++++++++++++++++++++
>  include/configs/am65x_evm.h               |  8 --------
>  include/configs/colibri-imx6ull.h         |  1 -
>  include/configs/colibri_vf.h              |  1 -
>  include/configs/corvus.h                  |  1 -
>  include/configs/dh_imx6.h                 |  1 -
>  include/configs/exynos4-common.h          |  1 -
>  include/configs/odroid_xu3.h              |  1 -
>  include/configs/pico-imx6.h               |  1 -
>  include/configs/pico-imx6ul.h             |  1 -
>  include/configs/rpi.h                     |  3 ---
>  include/configs/s5p_goni.h                |  1 -
>  include/configs/siemens-am33x-common.h    |  1 -
>  include/configs/smartweb.h                |  1 -
>  include/configs/socfpga_common.h          |  1 -
>  include/configs/taurus.h                  |  1 -
>  include/configs/tegra-common-usb-gadget.h |  2 --
>  include/configs/warp.h                    |  1 -
>  include/configs/warp7.h                   |  1 -
>  include/configs/xilinx_versal.h           |  1 -
>  include/configs/xilinx_zynqmp.h           |  1 -
>  include/configs/zynq-common.h             |  1 -
>  include/dfu.h                             |  6 ------
>  scripts/config_whitelist.txt              |  2 --
>  81 files changed, 92 insertions(+), 39 deletions(-)
> 
> diff --git a/configs/am65x_evm_a53_defconfig b/configs/am65x_evm_a53_defconfig
> index 01e027f607f9..7f2b825378f1 100644
> --- a/configs/am65x_evm_a53_defconfig
> +++ b/configs/am65x_evm_a53_defconfig
> @@ -90,6 +90,8 @@ CONFIG_CLK_TI_SCI=y
>  CONFIG_DFU_MMC=y
>  CONFIG_DFU_RAM=y
>  CONFIG_DFU_SF=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x20000
> +CONFIG_SYS_DFU_MAX_FILE_SIZE=0x800000
>  CONFIG_DMA_CHANNELS=y
>  CONFIG_TI_K3_NAVSS_UDMA=y
>  CONFIG_TI_SCI_PROTOCOL=y
> diff --git a/configs/am65x_evm_r5_usbdfu_defconfig b/configs/am65x_evm_r5_usbdfu_defconfig
> index 161634222517..b45a6d242955 100644
> --- a/configs/am65x_evm_r5_usbdfu_defconfig
> +++ b/configs/am65x_evm_r5_usbdfu_defconfig
> @@ -65,6 +65,8 @@ CONFIG_BLK=y
>  CONFIG_CLK=y
>  CONFIG_SPL_CLK=y
>  CONFIG_CLK_TI_SCI=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x5000
> +CONFIG_SYS_DFU_MAX_FILE_SIZE=0x800000
>  CONFIG_TI_SCI_PROTOCOL=y
>  CONFIG_DA8XX_GPIO=y
>  CONFIG_DM_I2C=y
> diff --git a/configs/am65x_hs_evm_a53_defconfig b/configs/am65x_hs_evm_a53_defconfig
> index ec0c7df0f7e5..33526f0cf73b 100644
> --- a/configs/am65x_hs_evm_a53_defconfig
> +++ b/configs/am65x_hs_evm_a53_defconfig
> @@ -85,6 +85,8 @@ CONFIG_CLK_TI_SCI=y
>  CONFIG_DFU_MMC=y
>  CONFIG_DFU_RAM=y
>  CONFIG_DFU_SF=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x20000
> +CONFIG_SYS_DFU_MAX_FILE_SIZE=0x800000
>  CONFIG_DMA_CHANNELS=y
>  CONFIG_TI_K3_NAVSS_UDMA=y
>  CONFIG_TI_SCI_PROTOCOL=y
> diff --git a/configs/beaver_defconfig b/configs/beaver_defconfig
> index 4c892443b970..cf18feef407b 100644
> --- a/configs/beaver_defconfig
> +++ b/configs/beaver_defconfig
> @@ -34,6 +34,8 @@ CONFIG_SPL_DM=y
>  CONFIG_DFU_MMC=y
>  CONFIG_DFU_RAM=y
>  CONFIG_DFU_SF=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
> +CONFIG_SYS_DFU_MAX_FILE_SIZE=0x2000000
>  CONFIG_SYS_I2C_TEGRA=y
>  CONFIG_SF_DEFAULT_MODE=0
>  CONFIG_SF_DEFAULT_SPEED=24000000
> diff --git a/configs/cei-tk1-som_defconfig b/configs/cei-tk1-som_defconfig
> index 987e3ac8e95f..c1ff9d7f1428 100644
> --- a/configs/cei-tk1-som_defconfig
> +++ b/configs/cei-tk1-som_defconfig
> @@ -34,6 +34,8 @@ CONFIG_SPL_DM=y
>  CONFIG_DFU_MMC=y
>  CONFIG_DFU_RAM=y
>  CONFIG_DFU_SF=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
> +CONFIG_SYS_DFU_MAX_FILE_SIZE=0x2000000
>  CONFIG_SYS_I2C_TEGRA=y
>  CONFIG_SF_DEFAULT_MODE=0
>  CONFIG_SF_DEFAULT_SPEED=24000000
> diff --git a/configs/colibri-imx6ull_defconfig b/configs/colibri-imx6ull_defconfig
> index 6d207daa8220..1a08ec06549e 100644
> --- a/configs/colibri-imx6ull_defconfig
> +++ b/configs/colibri-imx6ull_defconfig
> @@ -62,6 +62,7 @@ CONFIG_BOUNCE_BUFFER=y
>  CONFIG_BOOTCOUNT_LIMIT=y
>  CONFIG_BOOTCOUNT_ENV=y
>  CONFIG_DFU_NAND=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
>  CONFIG_DM_I2C=y
>  CONFIG_SYS_I2C_MXC=y
>  CONFIG_FSL_USDHC=y
> diff --git a/configs/colibri_vf_defconfig b/configs/colibri_vf_defconfig
> index 31df3500d95c..13399ca839aa 100644
> --- a/configs/colibri_vf_defconfig
> +++ b/configs/colibri_vf_defconfig
> @@ -62,6 +62,7 @@ CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
>  CONFIG_VERSION_VARIABLE=y
>  CONFIG_DM=y
>  CONFIG_DFU_NAND=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
>  CONFIG_VYBRID_GPIO=y
>  # CONFIG_MMC_HW_PARTITIONING is not set
>  CONFIG_FSL_ESDHC_IMX=y
> diff --git a/configs/corvus_defconfig b/configs/corvus_defconfig
> index 491f5630822e..8206c4cdc98f 100644
> --- a/configs/corvus_defconfig
> +++ b/configs/corvus_defconfig
> @@ -51,6 +51,7 @@ CONFIG_BLK=y
>  CONFIG_CLK=y
>  CONFIG_CLK_AT91=y
>  CONFIG_DFU_NAND=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
>  CONFIG_AT91_GPIO=y
>  # CONFIG_MMC is not set
>  CONFIG_MTD=y
> diff --git a/configs/dalmore_defconfig b/configs/dalmore_defconfig
> index f2c1e849787e..fc152121225d 100644
> --- a/configs/dalmore_defconfig
> +++ b/configs/dalmore_defconfig
> @@ -33,6 +33,8 @@ CONFIG_SPL_DM=y
>  CONFIG_DFU_MMC=y
>  CONFIG_DFU_RAM=y
>  CONFIG_DFU_SF=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
> +CONFIG_SYS_DFU_MAX_FILE_SIZE=0x2000000
>  CONFIG_SYS_I2C_TEGRA=y
>  CONFIG_SF_DEFAULT_MODE=0
>  CONFIG_SF_DEFAULT_SPEED=24000000
> diff --git a/configs/dh_imx6_defconfig b/configs/dh_imx6_defconfig
> index db7d683eb783..934798e094e7 100644
> --- a/configs/dh_imx6_defconfig
> +++ b/configs/dh_imx6_defconfig
> @@ -64,6 +64,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_BOUNCE_BUFFER=y
>  CONFIG_DWC_AHSATA=y
>  CONFIG_BOOTCOUNT_LIMIT=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
>  CONFIG_DM_I2C=y
>  CONFIG_SYS_I2C_MXC=y
>  CONFIG_MISC=y
> diff --git a/configs/draco_defconfig b/configs/draco_defconfig
> index d48f8082755b..e3ccdea5f5e4 100644
> --- a/configs/draco_defconfig
> +++ b/configs/draco_defconfig
> @@ -76,6 +76,7 @@ CONFIG_BOOTCOUNT_LIMIT=y
>  CONFIG_BOOTCOUNT_ENV=y
>  CONFIG_DFU_NAND=y
>  # CONFIG_SPL_DM_MMC is not set
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
>  CONFIG_MMC_OMAP_HS=y
>  CONFIG_MTD=y
>  CONFIG_MTD_RAW_NAND=y
> diff --git a/configs/etamin_defconfig b/configs/etamin_defconfig
> index 3256fd3493ec..10534d36b115 100644
> --- a/configs/etamin_defconfig
> +++ b/configs/etamin_defconfig
> @@ -77,6 +77,7 @@ CONFIG_BOOTCOUNT_LIMIT=y
>  CONFIG_BOOTCOUNT_ENV=y
>  CONFIG_DFU_NAND=y
>  # CONFIG_SPL_DM_MMC is not set
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
>  CONFIG_MMC_OMAP_HS=y
>  CONFIG_MTD=y
>  CONFIG_MTD_RAW_NAND=y
> diff --git a/configs/jetson-tk1_defconfig b/configs/jetson-tk1_defconfig
> index 74d315d14359..0e7216621646 100644
> --- a/configs/jetson-tk1_defconfig
> +++ b/configs/jetson-tk1_defconfig
> @@ -34,6 +34,8 @@ CONFIG_SPL_DM=y
>  CONFIG_DFU_MMC=y
>  CONFIG_DFU_RAM=y
>  CONFIG_DFU_SF=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
> +CONFIG_SYS_DFU_MAX_FILE_SIZE=0x2000000
>  CONFIG_SYS_I2C_TEGRA=y
>  CONFIG_SF_DEFAULT_MODE=0
>  CONFIG_SF_DEFAULT_SPEED=24000000
> diff --git a/configs/nyan-big_defconfig b/configs/nyan-big_defconfig
> index 3a47c5a0d01f..349f918727b7 100644
> --- a/configs/nyan-big_defconfig
> +++ b/configs/nyan-big_defconfig
> @@ -51,6 +51,8 @@ CONFIG_SPL_DM=y
>  CONFIG_DFU_MMC=y
>  CONFIG_DFU_RAM=y
>  CONFIG_DFU_SF=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
> +CONFIG_SYS_DFU_MAX_FILE_SIZE=0x2000000
>  CONFIG_SYS_I2C_TEGRA=y
>  CONFIG_CROS_EC_KEYB=y
>  CONFIG_CROS_EC=y
> diff --git a/configs/odroid-xu3_defconfig b/configs/odroid-xu3_defconfig
> index 755a2ca9add9..bc71b45c0fb7 100644
> --- a/configs/odroid-xu3_defconfig
> +++ b/configs/odroid-xu3_defconfig
> @@ -41,6 +41,7 @@ CONFIG_ADC=y
>  CONFIG_ADC_EXYNOS=y
>  CONFIG_DFU_MMC=y
>  CONFIG_SET_DFU_ALT_INFO=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x2000000
>  CONFIG_SUPPORT_EMMC_BOOT=y
>  CONFIG_MMC_DW=y
>  CONFIG_MTD=y
> diff --git a/configs/odroid_defconfig b/configs/odroid_defconfig
> index 9f2b0b205d56..36719d91f66f 100644
> --- a/configs/odroid_defconfig
> +++ b/configs/odroid_defconfig
> @@ -42,6 +42,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
>  CONFIG_DFU_MMC=y
>  CONFIG_SET_DFU_ALT_INFO=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x2000000
>  CONFIG_SYS_I2C_S3C24X0=y
>  CONFIG_MMC_DW=y
>  CONFIG_MMC_SDHCI=y
> diff --git a/configs/origen_defconfig b/configs/origen_defconfig
> index 4c4dc1a0db64..650276e379e3 100644
> --- a/configs/origen_defconfig
> +++ b/configs/origen_defconfig
> @@ -31,6 +31,7 @@ CONFIG_OF_CONTROL=y
>  CONFIG_ENV_OVERWRITE=y
>  CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x2000000
>  CONFIG_MMC_DW=y
>  CONFIG_MMC_SDHCI=y
>  CONFIG_MMC_SDHCI_SDMA=y
> diff --git a/configs/p2371-0000_defconfig b/configs/p2371-0000_defconfig
> index da3be084be25..97232bb80946 100644
> --- a/configs/p2371-0000_defconfig
> +++ b/configs/p2371-0000_defconfig
> @@ -28,6 +28,8 @@ CONFIG_SYS_MMC_ENV_PART=2
>  CONFIG_DFU_MMC=y
>  CONFIG_DFU_RAM=y
>  CONFIG_DFU_SF=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
> +CONFIG_SYS_DFU_MAX_FILE_SIZE=0x2000000
>  CONFIG_SYS_I2C_TEGRA=y
>  CONFIG_SF_DEFAULT_MODE=0
>  CONFIG_SF_DEFAULT_SPEED=24000000
> diff --git a/configs/p2371-2180_defconfig b/configs/p2371-2180_defconfig
> index c7f4404bbacb..af490891e2bc 100644
> --- a/configs/p2371-2180_defconfig
> +++ b/configs/p2371-2180_defconfig
> @@ -32,6 +32,8 @@ CONFIG_SYS_MMC_ENV_PART=2
>  CONFIG_DFU_MMC=y
>  CONFIG_DFU_RAM=y
>  CONFIG_DFU_SF=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
> +CONFIG_SYS_DFU_MAX_FILE_SIZE=0x2000000
>  CONFIG_SYS_I2C_TEGRA=y
>  CONFIG_SF_DEFAULT_MODE=0
>  CONFIG_SF_DEFAULT_SPEED=24000000
> diff --git a/configs/p2571_defconfig b/configs/p2571_defconfig
> index 973034096743..68bfb8f28cdd 100644
> --- a/configs/p2571_defconfig
> +++ b/configs/p2571_defconfig
> @@ -29,6 +29,8 @@ CONFIG_SYS_MMC_ENV_PART=2
>  CONFIG_DFU_MMC=y
>  CONFIG_DFU_RAM=y
>  CONFIG_DFU_SF=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
> +CONFIG_SYS_DFU_MAX_FILE_SIZE=0x2000000
>  CONFIG_SYS_I2C_TEGRA=y
>  CONFIG_SF_DEFAULT_MODE=0
>  CONFIG_SF_DEFAULT_SPEED=24000000
> diff --git a/configs/p3450-0000_defconfig b/configs/p3450-0000_defconfig
> index 6e6a8133b4d4..12c3f9bb28e7 100644
> --- a/configs/p3450-0000_defconfig
> +++ b/configs/p3450-0000_defconfig
> @@ -33,6 +33,8 @@ CONFIG_ENV_IS_IN_SPI_FLASH=y
>  CONFIG_DFU_MMC=y
>  CONFIG_DFU_RAM=y
>  CONFIG_DFU_SF=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
> +CONFIG_SYS_DFU_MAX_FILE_SIZE=0x2000000
>  CONFIG_SYS_I2C_TEGRA=y
>  CONFIG_SF_DEFAULT_MODE=0
>  CONFIG_SF_DEFAULT_SPEED=24000000
> diff --git a/configs/pico-dwarf-imx6ul_defconfig b/configs/pico-dwarf-imx6ul_defconfig
> index 9695eb26576a..8d17a24d6272 100644
> --- a/configs/pico-dwarf-imx6ul_defconfig
> +++ b/configs/pico-dwarf-imx6ul_defconfig
> @@ -43,6 +43,7 @@ CONFIG_ENV_IS_IN_MMC=y
>  CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_BOUNCE_BUFFER=y
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
>  CONFIG_USB_FUNCTION_FASTBOOT=y
>  CONFIG_FASTBOOT_BUF_SIZE=0x10000000
>  CONFIG_FASTBOOT_FLASH=y
> diff --git a/configs/pico-hobbit-imx6ul_defconfig b/configs/pico-hobbit-imx6ul_defconfig
> index 5c1ca0b8d7f4..6f74c6e27749 100644
> --- a/configs/pico-hobbit-imx6ul_defconfig
> +++ b/configs/pico-hobbit-imx6ul_defconfig
> @@ -44,6 +44,7 @@ CONFIG_ENV_IS_IN_MMC=y
>  CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_BOUNCE_BUFFER=y
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
>  CONFIG_USB_FUNCTION_FASTBOOT=y
>  CONFIG_FASTBOOT_BUF_SIZE=0x10000000
>  CONFIG_FASTBOOT_FLASH=y
> diff --git a/configs/pico-imx6_defconfig b/configs/pico-imx6_defconfig
> index 0f27c5475538..f0109814339f 100644
> --- a/configs/pico-imx6_defconfig
> +++ b/configs/pico-imx6_defconfig
> @@ -58,6 +58,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
>  CONFIG_BOUNCE_BUFFER=y
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
>  CONFIG_USB_FUNCTION_FASTBOOT=y
>  CONFIG_FASTBOOT_BUF_ADDR=0x12000000
>  CONFIG_FASTBOOT_BUF_SIZE=0x10000000
> diff --git a/configs/pico-imx6ul_defconfig b/configs/pico-imx6ul_defconfig
> index 159fb6b6cd7d..a54b22f5a538 100644
> --- a/configs/pico-imx6ul_defconfig
> +++ b/configs/pico-imx6ul_defconfig
> @@ -47,6 +47,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_NET_RANDOM_ETHADDR=y
>  CONFIG_BOUNCE_BUFFER=y
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
>  CONFIG_USB_FUNCTION_FASTBOOT=y
>  CONFIG_FASTBOOT_BUF_SIZE=0x10000000
>  CONFIG_FASTBOOT_FLASH=y
> diff --git a/configs/pico-pi-imx6ul_defconfig b/configs/pico-pi-imx6ul_defconfig
> index 51b71a77e5e5..bb1a9d654246 100644
> --- a/configs/pico-pi-imx6ul_defconfig
> +++ b/configs/pico-pi-imx6ul_defconfig
> @@ -44,6 +44,7 @@ CONFIG_ENV_IS_IN_MMC=y
>  CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_BOUNCE_BUFFER=y
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
>  CONFIG_USB_FUNCTION_FASTBOOT=y
>  CONFIG_FASTBOOT_BUF_SIZE=0x10000000
>  CONFIG_FASTBOOT_FLASH=y
> diff --git a/configs/pxm2_defconfig b/configs/pxm2_defconfig
> index 90ef4c8d99ac..1d14ea918327 100644
> --- a/configs/pxm2_defconfig
> +++ b/configs/pxm2_defconfig
> @@ -77,6 +77,7 @@ CONFIG_BOOTCOUNT_LIMIT=y
>  CONFIG_BOOTCOUNT_ENV=y
>  CONFIG_DFU_NAND=y
>  # CONFIG_SPL_DM_MMC is not set
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
>  CONFIG_MMC_OMAP_HS=y
>  CONFIG_MTD=y
>  CONFIG_MTD_RAW_NAND=y
> diff --git a/configs/rastaban_defconfig b/configs/rastaban_defconfig
> index 63c62a5c0745..29ade173f4a8 100644
> --- a/configs/rastaban_defconfig
> +++ b/configs/rastaban_defconfig
> @@ -76,6 +76,7 @@ CONFIG_BOOTCOUNT_LIMIT=y
>  CONFIG_BOOTCOUNT_ENV=y
>  CONFIG_DFU_NAND=y
>  # CONFIG_SPL_DM_MMC is not set
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
>  CONFIG_MMC_OMAP_HS=y
>  CONFIG_MTD=y
>  CONFIG_MTD_RAW_NAND=y
> diff --git a/configs/rpi_4_32b_defconfig b/configs/rpi_4_32b_defconfig
> index 47ea466454fc..64d969ffe57c 100644
> --- a/configs/rpi_4_32b_defconfig
> +++ b/configs/rpi_4_32b_defconfig
> @@ -24,6 +24,8 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
>  CONFIG_DM_DMA=y
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
> +CONFIG_SYS_DFU_MAX_FILE_SIZE=0x200000
>  CONFIG_MMC_SDHCI=y
>  CONFIG_MMC_SDHCI_SDMA=y
>  CONFIG_MMC_SDHCI_BCM2835=y
> diff --git a/configs/rpi_4_defconfig b/configs/rpi_4_defconfig
> index 9cd1477107fa..025ac7bc0b28 100644
> --- a/configs/rpi_4_defconfig
> +++ b/configs/rpi_4_defconfig
> @@ -24,6 +24,8 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
>  CONFIG_DM_DMA=y
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
> +CONFIG_SYS_DFU_MAX_FILE_SIZE=0x200000
>  CONFIG_MMC_SDHCI=y
>  CONFIG_MMC_SDHCI_SDMA=y
>  CONFIG_MMC_SDHCI_BCM2835=y
> diff --git a/configs/rut_defconfig b/configs/rut_defconfig
> index 6fc06f1ed974..ab99f17e31d5 100644
> --- a/configs/rut_defconfig
> +++ b/configs/rut_defconfig
> @@ -78,6 +78,7 @@ CONFIG_BOOTCOUNT_LIMIT=y
>  CONFIG_BOOTCOUNT_ENV=y
>  CONFIG_DFU_NAND=y
>  # CONFIG_SPL_DM_MMC is not set
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
>  CONFIG_MMC_OMAP_HS=y
>  CONFIG_MTD=y
>  CONFIG_MTD_RAW_NAND=y
> diff --git a/configs/s5p_goni_defconfig b/configs/s5p_goni_defconfig
> index 28d8be6b01f6..72f9ce16a950 100644
> --- a/configs/s5p_goni_defconfig
> +++ b/configs/s5p_goni_defconfig
> @@ -36,6 +36,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
>  # CONFIG_NET is not set
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x2000000
>  CONFIG_DM_I2C_GPIO=y
>  CONFIG_MMC_SDHCI=y
>  CONFIG_MMC_SDHCI_S5P=y
> diff --git a/configs/s5pc210_universal_defconfig b/configs/s5pc210_universal_defconfig
> index 759034a8a5c6..734a99f8efa5 100644
> --- a/configs/s5pc210_universal_defconfig
> +++ b/configs/s5pc210_universal_defconfig
> @@ -33,6 +33,7 @@ CONFIG_ENV_OVERWRITE=y
>  CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x2000000
>  CONFIG_SYS_I2C_S3C24X0=y
>  CONFIG_MMC_DW=y
>  CONFIG_MMC_SDHCI=y
> diff --git a/configs/smartweb_defconfig b/configs/smartweb_defconfig
> index 1f600d02780a..dc7b27742f87 100644
> --- a/configs/smartweb_defconfig
> +++ b/configs/smartweb_defconfig
> @@ -53,6 +53,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_CLK=y
>  CONFIG_CLK_AT91=y
>  CONFIG_DFU_NAND=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
>  CONFIG_AT91_GPIO=y
>  # CONFIG_MMC is not set
>  CONFIG_MTD=y
> diff --git a/configs/socfpga_arria5_defconfig b/configs/socfpga_arria5_defconfig
> index d4f9bade3d01..e6e6cb24e155 100644
> --- a/configs/socfpga_arria5_defconfig
> +++ b/configs/socfpga_arria5_defconfig
> @@ -39,6 +39,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_VERSION_VARIABLE=y
>  CONFIG_SPL_DM_SEQ_ALIAS=y
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
>  CONFIG_DWAPB_GPIO=y
>  CONFIG_DM_I2C=y
>  CONFIG_SYS_I2C_DW=y
> diff --git a/configs/socfpga_cyclone5_defconfig b/configs/socfpga_cyclone5_defconfig
> index ae7fd501917a..ff7aa1df2a4a 100644
> --- a/configs/socfpga_cyclone5_defconfig
> +++ b/configs/socfpga_cyclone5_defconfig
> @@ -39,6 +39,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_VERSION_VARIABLE=y
>  CONFIG_SPL_DM_SEQ_ALIAS=y
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
>  CONFIG_DWAPB_GPIO=y
>  CONFIG_DM_I2C=y
>  CONFIG_SYS_I2C_DW=y
> diff --git a/configs/socfpga_dbm_soc1_defconfig b/configs/socfpga_dbm_soc1_defconfig
> index 033c40736ed8..70a891b003a4 100644
> --- a/configs/socfpga_dbm_soc1_defconfig
> +++ b/configs/socfpga_dbm_soc1_defconfig
> @@ -44,6 +44,7 @@ CONFIG_ENV_IS_IN_MMC=y
>  CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_VERSION_VARIABLE=y
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
>  CONFIG_DWAPB_GPIO=y
>  CONFIG_DM_I2C=y
>  CONFIG_SYS_I2C_DW=y
> diff --git a/configs/socfpga_de0_nano_soc_defconfig b/configs/socfpga_de0_nano_soc_defconfig
> index 53efc9f5bdad..35ad9a2ea726 100644
> --- a/configs/socfpga_de0_nano_soc_defconfig
> +++ b/configs/socfpga_de0_nano_soc_defconfig
> @@ -39,6 +39,7 @@ CONFIG_ENV_IS_IN_MMC=y
>  CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_VERSION_VARIABLE=y
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
>  CONFIG_DWAPB_GPIO=y
>  CONFIG_DM_I2C=y
>  CONFIG_SYS_I2C_DW=y
> diff --git a/configs/socfpga_de10_nano_defconfig b/configs/socfpga_de10_nano_defconfig
> index d94b9584dea8..92d9336f3580 100644
> --- a/configs/socfpga_de10_nano_defconfig
> +++ b/configs/socfpga_de10_nano_defconfig
> @@ -36,6 +36,7 @@ CONFIG_ENV_IS_IN_MMC=y
>  CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_VERSION_VARIABLE=y
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
>  CONFIG_DWAPB_GPIO=y
>  CONFIG_DM_I2C=y
>  CONFIG_SYS_I2C_DW=y
> diff --git a/configs/socfpga_mcvevk_defconfig b/configs/socfpga_mcvevk_defconfig
> index b24b417a6bc3..2e7a9a21e675 100644
> --- a/configs/socfpga_mcvevk_defconfig
> +++ b/configs/socfpga_mcvevk_defconfig
> @@ -37,6 +37,7 @@ CONFIG_ENV_IS_IN_MMC=y
>  CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_VERSION_VARIABLE=y
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
>  CONFIG_DWAPB_GPIO=y
>  CONFIG_DM_I2C=y
>  CONFIG_SYS_I2C_DW=y
> diff --git a/configs/socfpga_sockit_defconfig b/configs/socfpga_sockit_defconfig
> index 4ea9b41a7e21..32f203143324 100644
> --- a/configs/socfpga_sockit_defconfig
> +++ b/configs/socfpga_sockit_defconfig
> @@ -39,6 +39,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_VERSION_VARIABLE=y
>  CONFIG_SPL_DM_SEQ_ALIAS=y
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
>  CONFIG_DWAPB_GPIO=y
>  CONFIG_DM_I2C=y
>  CONFIG_SYS_I2C_DW=y
> diff --git a/configs/socfpga_socrates_defconfig b/configs/socfpga_socrates_defconfig
> index 16c9b927a9bd..756388ee5704 100644
> --- a/configs/socfpga_socrates_defconfig
> +++ b/configs/socfpga_socrates_defconfig
> @@ -40,6 +40,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_VERSION_VARIABLE=y
>  CONFIG_SPL_DM_SEQ_ALIAS=y
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
>  CONFIG_DWAPB_GPIO=y
>  CONFIG_DM_I2C=y
>  CONFIG_SYS_I2C_DW=y
> diff --git a/configs/socfpga_vining_fpga_defconfig b/configs/socfpga_vining_fpga_defconfig
> index 3984b9bc7849..174494c16e57 100644
> --- a/configs/socfpga_vining_fpga_defconfig
> +++ b/configs/socfpga_vining_fpga_defconfig
> @@ -53,6 +53,7 @@ CONFIG_SPL_DM_SEQ_ALIAS=y
>  CONFIG_DFU_MMC=y
>  CONFIG_DFU_RAM=y
>  CONFIG_DFU_SF=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
>  CONFIG_DWAPB_GPIO=y
>  CONFIG_DM_I2C=y
>  CONFIG_LED_STATUS=y
> diff --git a/configs/taurus_defconfig b/configs/taurus_defconfig
> index a79cdf3fa7ce..dbd642862413 100644
> --- a/configs/taurus_defconfig
> +++ b/configs/taurus_defconfig
> @@ -71,6 +71,7 @@ CONFIG_BLK=y
>  CONFIG_CLK=y
>  CONFIG_CLK_AT91=y
>  CONFIG_DFU_NAND=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
>  CONFIG_AT91_GPIO=y
>  # CONFIG_MMC is not set
>  CONFIG_MTD=y
> diff --git a/configs/thuban_defconfig b/configs/thuban_defconfig
> index d1cc9a69bec8..247538a5d9fb 100644
> --- a/configs/thuban_defconfig
> +++ b/configs/thuban_defconfig
> @@ -76,6 +76,7 @@ CONFIG_BOOTCOUNT_LIMIT=y
>  CONFIG_BOOTCOUNT_ENV=y
>  CONFIG_DFU_NAND=y
>  # CONFIG_SPL_DM_MMC is not set
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
>  CONFIG_MMC_OMAP_HS=y
>  CONFIG_MTD=y
>  CONFIG_MTD_RAW_NAND=y
> diff --git a/configs/topic_miami_defconfig b/configs/topic_miami_defconfig
> index ec66bb09584a..3681919f8503 100644
> --- a/configs/topic_miami_defconfig
> +++ b/configs/topic_miami_defconfig
> @@ -38,6 +38,7 @@ CONFIG_ENV_OVERWRITE=y
>  CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_SPL_DM_SEQ_ALIAS=y
>  CONFIG_DFU_RAM=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x600000
>  CONFIG_FPGA_XILINX=y
>  CONFIG_FPGA_ZYNQPL=y
>  CONFIG_DM_I2C=y
> diff --git a/configs/topic_miamilite_defconfig b/configs/topic_miamilite_defconfig
> index e4145948859e..301a357ec70f 100644
> --- a/configs/topic_miamilite_defconfig
> +++ b/configs/topic_miamilite_defconfig
> @@ -38,6 +38,7 @@ CONFIG_ENV_OVERWRITE=y
>  CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_SPL_DM_SEQ_ALIAS=y
>  CONFIG_DFU_RAM=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x600000
>  CONFIG_FPGA_XILINX=y
>  CONFIG_FPGA_ZYNQPL=y
>  CONFIG_DM_I2C=y
> diff --git a/configs/topic_miamiplus_defconfig b/configs/topic_miamiplus_defconfig
> index 0041ee153669..27cd9132e86b 100644
> --- a/configs/topic_miamiplus_defconfig
> +++ b/configs/topic_miamiplus_defconfig
> @@ -37,6 +37,7 @@ CONFIG_ENV_OVERWRITE=y
>  CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_SPL_DM_SEQ_ALIAS=y
>  CONFIG_DFU_RAM=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x600000
>  CONFIG_FPGA_XILINX=y
>  CONFIG_FPGA_ZYNQPL=y
>  CONFIG_DM_I2C=y
> diff --git a/configs/trats2_defconfig b/configs/trats2_defconfig
> index 8439ddc26775..a3955e1ffc5a 100644
> --- a/configs/trats2_defconfig
> +++ b/configs/trats2_defconfig
> @@ -34,6 +34,7 @@ CONFIG_ENV_OVERWRITE=y
>  CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x2000000
>  CONFIG_DM_I2C_GPIO=y
>  CONFIG_SYS_I2C_S3C24X0=y
>  CONFIG_MMC_DW=y
> diff --git a/configs/trats_defconfig b/configs/trats_defconfig
> index 931c69ba6f17..64cd5dcdb3b2 100644
> --- a/configs/trats_defconfig
> +++ b/configs/trats_defconfig
> @@ -33,6 +33,7 @@ CONFIG_ENV_OVERWRITE=y
>  CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x2000000
>  CONFIG_DM_I2C_GPIO=y
>  CONFIG_SYS_I2C_S3C24X0=y
>  CONFIG_MMC_DW=y
> diff --git a/configs/venice2_defconfig b/configs/venice2_defconfig
> index ca18677dd4c7..9c14cef2b999 100644
> --- a/configs/venice2_defconfig
> +++ b/configs/venice2_defconfig
> @@ -32,6 +32,8 @@ CONFIG_SPL_DM=y
>  CONFIG_DFU_MMC=y
>  CONFIG_DFU_RAM=y
>  CONFIG_DFU_SF=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
> +CONFIG_SYS_DFU_MAX_FILE_SIZE=0x2000000
>  CONFIG_SYS_I2C_TEGRA=y
>  CONFIG_SF_DEFAULT_MODE=0
>  CONFIG_SF_DEFAULT_SPEED=24000000
> diff --git a/configs/warp7_bl33_defconfig b/configs/warp7_bl33_defconfig
> index c5c5d99c6ca6..5452a49061c5 100644
> --- a/configs/warp7_bl33_defconfig
> +++ b/configs/warp7_bl33_defconfig
> @@ -35,6 +35,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_NET_RANDOM_ETHADDR=y
>  CONFIG_BOUNCE_BUFFER=y
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
>  CONFIG_DM_I2C=y
>  CONFIG_SUPPORT_EMMC_BOOT=y
>  CONFIG_FSL_USDHC=y
> diff --git a/configs/warp7_defconfig b/configs/warp7_defconfig
> index 910419938cd2..43471e754a9f 100644
> --- a/configs/warp7_defconfig
> +++ b/configs/warp7_defconfig
> @@ -41,6 +41,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_NET_RANDOM_ETHADDR=y
>  CONFIG_BOUNCE_BUFFER=y
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
>  CONFIG_DM_I2C=y
>  CONFIG_SUPPORT_EMMC_BOOT=y
>  CONFIG_FSL_USDHC=y
> diff --git a/configs/warp_defconfig b/configs/warp_defconfig
> index 34acc9e6c844..04f756aacf8c 100644
> --- a/configs/warp_defconfig
> +++ b/configs/warp_defconfig
> @@ -33,6 +33,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  # CONFIG_NET is not set
>  CONFIG_BOUNCE_BUFFER=y
>  CONFIG_DFU_MMC=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
>  CONFIG_SUPPORT_EMMC_BOOT=y
>  CONFIG_FSL_USDHC=y
>  CONFIG_MXC_UART=y
> diff --git a/configs/xilinx_versal_virt_defconfig b/configs/xilinx_versal_virt_defconfig
> index f4e9a80728d7..121c3ae72051 100644
> --- a/configs/xilinx_versal_virt_defconfig
> +++ b/configs/xilinx_versal_virt_defconfig
> @@ -54,6 +54,7 @@ CONFIG_TFTP_BLOCKSIZE=4096
>  CONFIG_CLK_VERSAL=y
>  CONFIG_DFU_TIMEOUT=y
>  CONFIG_DFU_RAM=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1800000
>  CONFIG_FPGA_XILINX=y
>  CONFIG_FPGA_VERSALPL=y
>  CONFIG_DM_I2C=y
> diff --git a/configs/xilinx_zynq_virt_defconfig b/configs/xilinx_zynq_virt_defconfig
> index 7e56395a521f..e53ef2443ec1 100644
> --- a/configs/xilinx_zynq_virt_defconfig
> +++ b/configs/xilinx_zynq_virt_defconfig
> @@ -68,6 +68,7 @@ CONFIG_SPL_DM_SEQ_ALIAS=y
>  CONFIG_DFU_TIMEOUT=y
>  CONFIG_DFU_MMC=y
>  CONFIG_DFU_RAM=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x600000
>  CONFIG_FPGA_XILINX=y
>  CONFIG_FPGA_ZYNQPL=y
>  CONFIG_DM_I2C=y
> diff --git a/configs/xilinx_zynqmp_virt_defconfig b/configs/xilinx_zynqmp_virt_defconfig
> index e939b04ef6a5..b0cc9d9ba88a 100644
> --- a/configs/xilinx_zynqmp_virt_defconfig
> +++ b/configs/xilinx_zynqmp_virt_defconfig
> @@ -90,6 +90,7 @@ CONFIG_DFU_NAND=y
>  CONFIG_DFU_RAM=y
>  CONFIG_DFU_SF=y
>  CONFIG_DFU_MTD=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1800000
>  CONFIG_USB_FUNCTION_FASTBOOT=y
>  CONFIG_FASTBOOT_FLASH=y
>  CONFIG_FASTBOOT_FLASH_MMC_DEV=0
> diff --git a/drivers/dfu/Kconfig b/drivers/dfu/Kconfig
> index 121dc54f5463..b50547476cbd 100644
> --- a/drivers/dfu/Kconfig
> +++ b/drivers/dfu/Kconfig
> @@ -92,5 +92,25 @@ config SET_DFU_ALT_INFO
>  	help
>  	  This option allows to call the function set_dfu_alt_info to
>  	  dynamically build dfu_alt_info in board.
> +
> +config SYS_DFU_DATA_BUF_SIZE
> +	hex "Size of buffer to be allocated for transfer to raw storage device"
> +	default 0x800000
> +	help
> +	  DFU transfer uses a buffer before writing data to the
> +	  raw storage device. This value can be used for setting the
> +	  size of this buffer. The size of the buffer is also configurable
> +	  through the "dfu_bufsiz" environment variable. If both are
> +	  given the size of the buffer is set to "dfu_bufsize".
> +
> +config SYS_DFU_MAX_FILE_SIZE
> +	hex "Size of the buffer to be allocated for transferring files"
> +	default SYS_DFU_DATA_BUF_SIZE
> +	help
> +	  When updating files rather than the raw storage device,
> +	  we use a static buffer to copy the file into and then write
> +	  the buffer once we've been given the whole file.  Define
> +	  this to the maximum filesize (in bytes) for the buffer.
> +	  If undefined it defaults to the CONFIG_SYS_DFU_DATA_BUF_SIZE.
>  endif
>  endmenu
> diff --git a/include/configs/am65x_evm.h b/include/configs/am65x_evm.h
> index 76d73086fb89..8c50fe9d11ff 100644
> --- a/include/configs/am65x_evm.h
> +++ b/include/configs/am65x_evm.h
> @@ -22,7 +22,6 @@
>  #ifdef CONFIG_TARGET_AM654_A53_EVM
>  #define CONFIG_SYS_INIT_SP_ADDR         (CONFIG_SPL_TEXT_BASE +	\
>  					 CONFIG_SYS_K3_NON_SECURE_MSRAM_SIZE)
> -#define CONFIG_SYS_DFU_DATA_BUF_SIZE	0x20000
>  #else
>  /*
>   * Maximum size in memory allocated to the SPL BSS. Keep it as tight as
> @@ -45,7 +44,6 @@
>  /* Configure R5 SPL post-relocation malloc pool in DDR */
>  #define CONFIG_SYS_SPL_MALLOC_START	0x84000000
>  #define CONFIG_SYS_SPL_MALLOC_SIZE	SZ_16M
> -#define CONFIG_SYS_DFU_DATA_BUF_SIZE	0x5000
>  #endif
>  
>  #ifdef CONFIG_SYS_K3_SPL_ATF
> @@ -56,12 +54,6 @@
>  #define CONFIG_SKIP_LOWLEVEL_INIT
>  #endif
>  
> -/*
> - * If the maximum size is not declared then it is defined as
> - * CONFIG_SYS_DFU_DATA_BUF_SIZE.
> - */
> -#define CONFIG_SYS_DFU_MAX_FILE_SIZE	(1024 * 1024 * 8)   /* 8 MiB */
> -
>  #define CONFIG_SPL_MAX_SIZE		CONFIG_SYS_K3_MAX_DOWNLODABLE_IMAGE_SIZE
>  
>  #define CONFIG_SYS_BOOTM_LEN		SZ_64M
> diff --git a/include/configs/colibri-imx6ull.h b/include/configs/colibri-imx6ull.h
> index 22ee2ba03e46..f84931653fbc 100644
> --- a/include/configs/colibri-imx6ull.h
> +++ b/include/configs/colibri-imx6ull.h
> @@ -143,7 +143,6 @@
>  #define CONFIG_USBD_HS
>  
>  /* USB Device Firmware Update support */
> -#define CONFIG_SYS_DFU_DATA_BUF_SIZE	SZ_16M
>  #define DFU_DEFAULT_POLL_TIMEOUT	300
>  
>  #if defined(CONFIG_VIDEO) || defined(CONFIG_DM_VIDEO)
> diff --git a/include/configs/colibri_vf.h b/include/configs/colibri_vf.h
> index cae7c14bfb90..5bd440f1db33 100644
> --- a/include/configs/colibri_vf.h
> +++ b/include/configs/colibri_vf.h
> @@ -143,6 +143,5 @@
>  #define CONFIG_EHCI_HCD_INIT_AFTER_RESET
>  
>  /* USB DFU */
> -#define CONFIG_SYS_DFU_DATA_BUF_SIZE (SZ_1M)
>  
>  #endif /* __CONFIG_H */
> diff --git a/include/configs/corvus.h b/include/configs/corvus.h
> index 55f77e4400a2..bd4d6e8e39f4 100644
> --- a/include/configs/corvus.h
> +++ b/include/configs/corvus.h
> @@ -81,7 +81,6 @@
>  #define CONFIG_AT91_WANTS_COMMON_PHY
>  
>  /* DFU class support */
> -#define CONFIG_SYS_DFU_DATA_BUF_SIZE	(SZ_1M)
>  #define DFU_MANIFEST_POLL_TIMEOUT	25000
>  
>  #define CONFIG_SYS_LOAD_ADDR	ATMEL_BASE_CS6
> diff --git a/include/configs/dh_imx6.h b/include/configs/dh_imx6.h
> index 4a469af5e60b..d9be1c38c44a 100644
> --- a/include/configs/dh_imx6.h
> +++ b/include/configs/dh_imx6.h
> @@ -66,7 +66,6 @@
>  
>  /* USB Gadget (DFU, UMS) */
>  #if defined(CONFIG_CMD_DFU) || defined(CONFIG_CMD_USB_MASS_STORAGE)
> -#define CONFIG_SYS_DFU_DATA_BUF_SIZE	(16 * 1024 * 1024)
>  #define DFU_DEFAULT_POLL_TIMEOUT	300
>  
>  /* USB IDs */
> diff --git a/include/configs/exynos4-common.h b/include/configs/exynos4-common.h
> index 005f65d4ed6a..5e2aca371e7e 100644
> --- a/include/configs/exynos4-common.h
> +++ b/include/configs/exynos4-common.h
> @@ -19,7 +19,6 @@
>  /* SD/MMC configuration */
>  #define CONFIG_MMC_DEFAULT_DEV	0
>  
> -#define CONFIG_SYS_DFU_DATA_BUF_SIZE SZ_32M
>  #define DFU_DEFAULT_POLL_TIMEOUT 300
>  
>  /* USB Samsung's IDs */
> diff --git a/include/configs/odroid_xu3.h b/include/configs/odroid_xu3.h
> index 0c86196152fc..fc70dc6a7323 100644
> --- a/include/configs/odroid_xu3.h
> +++ b/include/configs/odroid_xu3.h
> @@ -27,7 +27,6 @@
>  #define CONFIG_USB_EHCI_EXYNOS
>  
>  /* DFU */
> -#define CONFIG_SYS_DFU_DATA_BUF_SIZE	SZ_32M
>  #define DFU_DEFAULT_POLL_TIMEOUT	300
>  #define DFU_MANIFEST_POLL_TIMEOUT	25000
>  
> diff --git a/include/configs/pico-imx6.h b/include/configs/pico-imx6.h
> index 19c8aeb71b6e..6199f0d72e76 100644
> --- a/include/configs/pico-imx6.h
> +++ b/include/configs/pico-imx6.h
> @@ -38,7 +38,6 @@
>  #define CONFIG_MXC_USB_PORTSC		(PORT_PTS_UTMI | PORT_PTS_PTW)
>  #define CONFIG_MXC_USB_FLAGS		0
>  
> -#define CONFIG_SYS_DFU_DATA_BUF_SIZE SZ_16M
>  #define DFU_DEFAULT_POLL_TIMEOUT 300
>  
>  #define CONFIG_DFU_ENV_SETTINGS \
> diff --git a/include/configs/pico-imx6ul.h b/include/configs/pico-imx6ul.h
> index 747ef09f37d9..04a2531f7447 100644
> --- a/include/configs/pico-imx6ul.h
> +++ b/include/configs/pico-imx6ul.h
> @@ -49,7 +49,6 @@
>  
>  #define CONFIG_USBD_HS
>  
> -#define CONFIG_SYS_DFU_DATA_BUF_SIZE SZ_16M
>  #define DFU_DEFAULT_POLL_TIMEOUT 300
>  
>  #define CONFIG_DFU_ENV_SETTINGS \
> diff --git a/include/configs/rpi.h b/include/configs/rpi.h
> index 834f1cd23640..46ada884b487 100644
> --- a/include/configs/rpi.h
> +++ b/include/configs/rpi.h
> @@ -74,9 +74,6 @@
>  
>  /* DFU over USB/UDC */
>  #ifdef CONFIG_CMD_DFU
> -#define CONFIG_SYS_DFU_DATA_BUF_SIZE	SZ_1M
> -#define CONFIG_SYS_DFU_MAX_FILE_SIZE	SZ_2M
> -
>  #ifdef CONFIG_ARM64
>  #define KERNEL_FILENAME		"Image"
>  #else
> diff --git a/include/configs/s5p_goni.h b/include/configs/s5p_goni.h
> index 9688bdc4c035..6af6009e6126 100644
> --- a/include/configs/s5p_goni.h
> +++ b/include/configs/s5p_goni.h
> @@ -41,7 +41,6 @@
>  #define CONFIG_PWM			1
>  
>  /* USB Composite download gadget - g_dnl */
> -#define CONFIG_SYS_DFU_DATA_BUF_SIZE SZ_32M
>  #define DFU_DEFAULT_POLL_TIMEOUT 300
>  
>  /* USB Samsung's IDs */
> diff --git a/include/configs/siemens-am33x-common.h b/include/configs/siemens-am33x-common.h
> index e18af7493c7f..f96dd774b178 100644
> --- a/include/configs/siemens-am33x-common.h
> +++ b/include/configs/siemens-am33x-common.h
> @@ -143,7 +143,6 @@
>  #define CONFIG_USBD_HS
>  
>  /* USB Device Firmware Update support */
> -#define CONFIG_SYS_DFU_DATA_BUF_SIZE	(1 << 20)
>  #define DFU_MANIFEST_POLL_TIMEOUT	25000
>  
>  #endif /* CONFIG_SPL_BUILD */
> diff --git a/include/configs/smartweb.h b/include/configs/smartweb.h
> index 6e715dc0c1be..5e8637e49484 100644
> --- a/include/configs/smartweb.h
> +++ b/include/configs/smartweb.h
> @@ -122,7 +122,6 @@
>  #define CONFIG_USB_GADGET_AT91
>  
>  /* DFU class support */
> -#define CONFIG_SYS_DFU_DATA_BUF_SIZE	SZ_1M
>  #define DFU_MANIFEST_POLL_TIMEOUT	25000
>  #endif
>  
> diff --git a/include/configs/socfpga_common.h b/include/configs/socfpga_common.h
> index 62b327cd6e52..c5e4292f1964 100644
> --- a/include/configs/socfpga_common.h
> +++ b/include/configs/socfpga_common.h
> @@ -148,7 +148,6 @@ unsigned int cm_get_qspi_controller_clk_hz(void);
>   * USB Gadget (DFU, UMS)
>   */
>  #if defined(CONFIG_CMD_DFU) || defined(CONFIG_CMD_USB_MASS_STORAGE)
> -#define CONFIG_SYS_DFU_DATA_BUF_SIZE	(16 * 1024 * 1024)
>  #define DFU_DEFAULT_POLL_TIMEOUT	300
>  
>  /* USB IDs */
> diff --git a/include/configs/taurus.h b/include/configs/taurus.h
> index 39eae8e2ba04..6e869462f1e6 100644
> --- a/include/configs/taurus.h
> +++ b/include/configs/taurus.h
> @@ -92,7 +92,6 @@
>  #define CONFIG_USB_GADGET_AT91
>  
>  /* DFU class support */
> -#define CONFIG_SYS_DFU_DATA_BUF_SIZE	(SZ_1M)
>  #define DFU_MANIFEST_POLL_TIMEOUT	25000
>  #endif
>  
> diff --git a/include/configs/tegra-common-usb-gadget.h b/include/configs/tegra-common-usb-gadget.h
> index e6b61c4e8fd3..201f4bc093c9 100644
> --- a/include/configs/tegra-common-usb-gadget.h
> +++ b/include/configs/tegra-common-usb-gadget.h
> @@ -13,8 +13,6 @@
>  #define CONFIG_CI_UDC_HAS_HOSTPC
>  #endif
>  /* DFU protocol */
> -#define CONFIG_SYS_DFU_DATA_BUF_SIZE SZ_1M
> -#define CONFIG_SYS_DFU_MAX_FILE_SIZE SZ_32M
>  #endif
>  
>  #endif /* _TEGRA_COMMON_USB_GADGET_H_ */
> diff --git a/include/configs/warp.h b/include/configs/warp.h
> index 0f97804eb29c..bda8ff9a34f3 100644
> --- a/include/configs/warp.h
> +++ b/include/configs/warp.h
> @@ -50,7 +50,6 @@
>  
>  #define CONFIG_USBD_HS
>  
> -#define CONFIG_SYS_DFU_DATA_BUF_SIZE SZ_16M
>  #define DFU_DEFAULT_POLL_TIMEOUT 300
>  
>  /* I2C Configs */
> diff --git a/include/configs/warp7.h b/include/configs/warp7.h
> index 8eb106027440..a5d52e3977fd 100644
> --- a/include/configs/warp7.h
> +++ b/include/configs/warp7.h
> @@ -149,7 +149,6 @@
>  #define CONFIG_USBD_HS
>  
>  /* USB Device Firmware Update support */
> -#define CONFIG_SYS_DFU_DATA_BUF_SIZE	SZ_16M
>  #define DFU_DEFAULT_POLL_TIMEOUT	300
>  
>  #define CONFIG_USBNET_DEV_ADDR		"de:ad:be:af:00:01"
> diff --git a/include/configs/xilinx_versal.h b/include/configs/xilinx_versal.h
> index 380f93a2f68e..ebe81968d130 100644
> --- a/include/configs/xilinx_versal.h
> +++ b/include/configs/xilinx_versal.h
> @@ -47,7 +47,6 @@
>  #define CONFIG_SYS_MAXARGS		64
>  
>  #if defined(CONFIG_CMD_DFU)
> -#define CONFIG_SYS_DFU_DATA_BUF_SIZE	0x1800000
>  #define DFU_DEFAULT_POLL_TIMEOUT	300
>  #define CONFIG_THOR_RESET_OFF
>  #endif
> diff --git a/include/configs/xilinx_zynqmp.h b/include/configs/xilinx_zynqmp.h
> index 986af2be7819..cadaf1a96312 100644
> --- a/include/configs/xilinx_zynqmp.h
> +++ b/include/configs/xilinx_zynqmp.h
> @@ -52,7 +52,6 @@
>  #define CONFIG_SYS_LOAD_ADDR		0x8000000
>  
>  #if defined(CONFIG_ZYNQMP_USB)
> -#define CONFIG_SYS_DFU_DATA_BUF_SIZE	0x1800000
>  #define DFU_DEFAULT_POLL_TIMEOUT	300
>  #define CONFIG_THOR_RESET_OFF
>  
> diff --git a/include/configs/zynq-common.h b/include/configs/zynq-common.h
> index 39035f8bebca..7859b77603f1 100644
> --- a/include/configs/zynq-common.h
> +++ b/include/configs/zynq-common.h
> @@ -58,7 +58,6 @@
>  #ifdef CONFIG_USB_EHCI_ZYNQ
>  # define CONFIG_EHCI_IS_TDI
>  
> -# define CONFIG_SYS_DFU_DATA_BUF_SIZE	0x600000
>  # define DFU_DEFAULT_POLL_TIMEOUT	300
>  # define CONFIG_THOR_RESET_OFF
>  #endif
> diff --git a/include/dfu.h b/include/dfu.h
> index d18b70172829..afada3959b72 100644
> --- a/include/dfu.h
> +++ b/include/dfu.h
> @@ -100,12 +100,6 @@ struct virt_internal_data {
>  };
>  
>  #define DFU_NAME_SIZE			32
> -#ifndef CONFIG_SYS_DFU_DATA_BUF_SIZE
> -#define CONFIG_SYS_DFU_DATA_BUF_SIZE		(1024*1024*8)	/* 8 MiB */
> -#endif
> -#ifndef CONFIG_SYS_DFU_MAX_FILE_SIZE
> -#define CONFIG_SYS_DFU_MAX_FILE_SIZE CONFIG_SYS_DFU_DATA_BUF_SIZE
> -#endif
>  #ifndef DFU_DEFAULT_POLL_TIMEOUT
>  #define DFU_DEFAULT_POLL_TIMEOUT 0
>  #endif
> diff --git a/scripts/config_whitelist.txt b/scripts/config_whitelist.txt
> index 8f92b82719a2..0f5ac8ff5229 100644
> --- a/scripts/config_whitelist.txt
> +++ b/scripts/config_whitelist.txt
> @@ -1988,8 +1988,6 @@ CONFIG_SYS_DEBUG_SERVER_FW_IN_NOR
>  CONFIG_SYS_DEFAULT_LPDDR2_TIMINGS
>  CONFIG_SYS_DEFAULT_VIDEO_MODE
>  CONFIG_SYS_DEF_EEPROM_ADDR
> -CONFIG_SYS_DFU_DATA_BUF_SIZE
> -CONFIG_SYS_DFU_MAX_FILE_SIZE
>  CONFIG_SYS_DIAG_ADDR
>  CONFIG_SYS_DIALOG_PMIC_I2C_ADDR
>  CONFIG_SYS_DIMM_SLOTS_PER_CTLR
>
Tom Rini June 8, 2021, 12:07 p.m. UTC | #4
On Tue, Jun 08, 2021 at 01:34:33PM +0530, Aswath Govindraju wrote:
> + Tom Rini
> 
> I saw that this patch is delegated to Tom Rini in patchwork page but I
> did not add him in the cc-list. So, I added him now.
> 
> Hi Tom,
> 
> On 01/06/21 4:51 pm, Aswath Govindraju wrote:
> > Currently the config options CONFIG_SYS_DFU_DATA_BUF_SIZE and
> > CONFIG_SYS_DFU_MAX_FILE_SIZE are being set in include/configs/<board>.h
> > files and also in <board_name>_defconfig files without a Kconfig option. It
> > is easier for users to set these configs in defconfig files than in config
> > header files as they are a part of the source code.
> > 
> > Add Kconfig symbols, and update the defconfigs by using tools/moveconfig.py
> > script.
> > 
> 
> May I know if this patch is good to be picked?

Yes but some of the recent "this cleanup caused a hard to spot
regression" have left me of the opinion that Kconfig migrations need to
go in to -next or early -rc rather than late -rc, so, soon now.  Thanks
for your patience.
Tom Rini June 9, 2021, 12:19 p.m. UTC | #5
On Tue, Jun 01, 2021 at 04:51:47PM +0530, Aswath Govindraju wrote:

> Currently the config options CONFIG_SYS_DFU_DATA_BUF_SIZE and
> CONFIG_SYS_DFU_MAX_FILE_SIZE are being set in include/configs/<board>.h
> files and also in <board_name>_defconfig files without a Kconfig option. It
> is easier for users to set these configs in defconfig files than in config
> header files as they are a part of the source code.
> 
> Add Kconfig symbols, and update the defconfigs by using tools/moveconfig.py
> script.
> 
> Suggested-by: Pratyush Yadav <p.yadav@ti.com>
> Signed-off-by: Aswath Govindraju <a-govindraju@ti.com>
> Acked-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
> Acked-by: Matthias Brugger <mbrugger@suse.com>
> Acked-by: Lukasz Majewski <lukma@denx.de>

Applied to u-boot/next, thanks!
diff mbox series

Patch

diff --git a/configs/am65x_evm_a53_defconfig b/configs/am65x_evm_a53_defconfig
index 01e027f607f9..7f2b825378f1 100644
--- a/configs/am65x_evm_a53_defconfig
+++ b/configs/am65x_evm_a53_defconfig
@@ -90,6 +90,8 @@  CONFIG_CLK_TI_SCI=y
 CONFIG_DFU_MMC=y
 CONFIG_DFU_RAM=y
 CONFIG_DFU_SF=y
+CONFIG_SYS_DFU_DATA_BUF_SIZE=0x20000
+CONFIG_SYS_DFU_MAX_FILE_SIZE=0x800000
 CONFIG_DMA_CHANNELS=y
 CONFIG_TI_K3_NAVSS_UDMA=y
 CONFIG_TI_SCI_PROTOCOL=y
diff --git a/configs/am65x_evm_r5_usbdfu_defconfig b/configs/am65x_evm_r5_usbdfu_defconfig
index 161634222517..b45a6d242955 100644
--- a/configs/am65x_evm_r5_usbdfu_defconfig
+++ b/configs/am65x_evm_r5_usbdfu_defconfig
@@ -65,6 +65,8 @@  CONFIG_BLK=y
 CONFIG_CLK=y
 CONFIG_SPL_CLK=y
 CONFIG_CLK_TI_SCI=y
+CONFIG_SYS_DFU_DATA_BUF_SIZE=0x5000
+CONFIG_SYS_DFU_MAX_FILE_SIZE=0x800000
 CONFIG_TI_SCI_PROTOCOL=y
 CONFIG_DA8XX_GPIO=y
 CONFIG_DM_I2C=y
diff --git a/configs/am65x_hs_evm_a53_defconfig b/configs/am65x_hs_evm_a53_defconfig
index ec0c7df0f7e5..33526f0cf73b 100644
--- a/configs/am65x_hs_evm_a53_defconfig
+++ b/configs/am65x_hs_evm_a53_defconfig
@@ -85,6 +85,8 @@  CONFIG_CLK_TI_SCI=y
 CONFIG_DFU_MMC=y
 CONFIG_DFU_RAM=y
 CONFIG_DFU_SF=y
+CONFIG_SYS_DFU_DATA_BUF_SIZE=0x20000
+CONFIG_SYS_DFU_MAX_FILE_SIZE=0x800000
 CONFIG_DMA_CHANNELS=y
 CONFIG_TI_K3_NAVSS_UDMA=y
 CONFIG_TI_SCI_PROTOCOL=y
diff --git a/configs/beaver_defconfig b/configs/beaver_defconfig
index 4c892443b970..cf18feef407b 100644
--- a/configs/beaver_defconfig
+++ b/configs/beaver_defconfig
@@ -34,6 +34,8 @@  CONFIG_SPL_DM=y
 CONFIG_DFU_MMC=y
 CONFIG_DFU_RAM=y
 CONFIG_DFU_SF=y
+CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
+CONFIG_SYS_DFU_MAX_FILE_SIZE=0x2000000
 CONFIG_SYS_I2C_TEGRA=y
 CONFIG_SF_DEFAULT_MODE=0
 CONFIG_SF_DEFAULT_SPEED=24000000
diff --git a/configs/cei-tk1-som_defconfig b/configs/cei-tk1-som_defconfig
index 987e3ac8e95f..c1ff9d7f1428 100644
--- a/configs/cei-tk1-som_defconfig
+++ b/configs/cei-tk1-som_defconfig
@@ -34,6 +34,8 @@  CONFIG_SPL_DM=y
 CONFIG_DFU_MMC=y
 CONFIG_DFU_RAM=y
 CONFIG_DFU_SF=y
+CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
+CONFIG_SYS_DFU_MAX_FILE_SIZE=0x2000000
 CONFIG_SYS_I2C_TEGRA=y
 CONFIG_SF_DEFAULT_MODE=0
 CONFIG_SF_DEFAULT_SPEED=24000000
diff --git a/configs/colibri-imx6ull_defconfig b/configs/colibri-imx6ull_defconfig
index 6d207daa8220..1a08ec06549e 100644
--- a/configs/colibri-imx6ull_defconfig
+++ b/configs/colibri-imx6ull_defconfig
@@ -62,6 +62,7 @@  CONFIG_BOUNCE_BUFFER=y
 CONFIG_BOOTCOUNT_LIMIT=y
 CONFIG_BOOTCOUNT_ENV=y
 CONFIG_DFU_NAND=y
+CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
 CONFIG_DM_I2C=y
 CONFIG_SYS_I2C_MXC=y
 CONFIG_FSL_USDHC=y
diff --git a/configs/colibri_vf_defconfig b/configs/colibri_vf_defconfig
index 31df3500d95c..13399ca839aa 100644
--- a/configs/colibri_vf_defconfig
+++ b/configs/colibri_vf_defconfig
@@ -62,6 +62,7 @@  CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
 CONFIG_VERSION_VARIABLE=y
 CONFIG_DM=y
 CONFIG_DFU_NAND=y
+CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
 CONFIG_VYBRID_GPIO=y
 # CONFIG_MMC_HW_PARTITIONING is not set
 CONFIG_FSL_ESDHC_IMX=y
diff --git a/configs/corvus_defconfig b/configs/corvus_defconfig
index 491f5630822e..8206c4cdc98f 100644
--- a/configs/corvus_defconfig
+++ b/configs/corvus_defconfig
@@ -51,6 +51,7 @@  CONFIG_BLK=y
 CONFIG_CLK=y
 CONFIG_CLK_AT91=y
 CONFIG_DFU_NAND=y
+CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
 CONFIG_AT91_GPIO=y
 # CONFIG_MMC is not set
 CONFIG_MTD=y
diff --git a/configs/dalmore_defconfig b/configs/dalmore_defconfig
index f2c1e849787e..fc152121225d 100644
--- a/configs/dalmore_defconfig
+++ b/configs/dalmore_defconfig
@@ -33,6 +33,8 @@  CONFIG_SPL_DM=y
 CONFIG_DFU_MMC=y
 CONFIG_DFU_RAM=y
 CONFIG_DFU_SF=y
+CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
+CONFIG_SYS_DFU_MAX_FILE_SIZE=0x2000000
 CONFIG_SYS_I2C_TEGRA=y
 CONFIG_SF_DEFAULT_MODE=0
 CONFIG_SF_DEFAULT_SPEED=24000000
diff --git a/configs/dh_imx6_defconfig b/configs/dh_imx6_defconfig
index db7d683eb783..934798e094e7 100644
--- a/configs/dh_imx6_defconfig
+++ b/configs/dh_imx6_defconfig
@@ -64,6 +64,7 @@  CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_BOUNCE_BUFFER=y
 CONFIG_DWC_AHSATA=y
 CONFIG_BOOTCOUNT_LIMIT=y
+CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
 CONFIG_DM_I2C=y
 CONFIG_SYS_I2C_MXC=y
 CONFIG_MISC=y
diff --git a/configs/draco_defconfig b/configs/draco_defconfig
index d48f8082755b..e3ccdea5f5e4 100644
--- a/configs/draco_defconfig
+++ b/configs/draco_defconfig
@@ -76,6 +76,7 @@  CONFIG_BOOTCOUNT_LIMIT=y
 CONFIG_BOOTCOUNT_ENV=y
 CONFIG_DFU_NAND=y
 # CONFIG_SPL_DM_MMC is not set
+CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
 CONFIG_MMC_OMAP_HS=y
 CONFIG_MTD=y
 CONFIG_MTD_RAW_NAND=y
diff --git a/configs/etamin_defconfig b/configs/etamin_defconfig
index 3256fd3493ec..10534d36b115 100644
--- a/configs/etamin_defconfig
+++ b/configs/etamin_defconfig
@@ -77,6 +77,7 @@  CONFIG_BOOTCOUNT_LIMIT=y
 CONFIG_BOOTCOUNT_ENV=y
 CONFIG_DFU_NAND=y
 # CONFIG_SPL_DM_MMC is not set
+CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
 CONFIG_MMC_OMAP_HS=y
 CONFIG_MTD=y
 CONFIG_MTD_RAW_NAND=y
diff --git a/configs/jetson-tk1_defconfig b/configs/jetson-tk1_defconfig
index 74d315d14359..0e7216621646 100644
--- a/configs/jetson-tk1_defconfig
+++ b/configs/jetson-tk1_defconfig
@@ -34,6 +34,8 @@  CONFIG_SPL_DM=y
 CONFIG_DFU_MMC=y
 CONFIG_DFU_RAM=y
 CONFIG_DFU_SF=y
+CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
+CONFIG_SYS_DFU_MAX_FILE_SIZE=0x2000000
 CONFIG_SYS_I2C_TEGRA=y
 CONFIG_SF_DEFAULT_MODE=0
 CONFIG_SF_DEFAULT_SPEED=24000000
diff --git a/configs/nyan-big_defconfig b/configs/nyan-big_defconfig
index 3a47c5a0d01f..349f918727b7 100644
--- a/configs/nyan-big_defconfig
+++ b/configs/nyan-big_defconfig
@@ -51,6 +51,8 @@  CONFIG_SPL_DM=y
 CONFIG_DFU_MMC=y
 CONFIG_DFU_RAM=y
 CONFIG_DFU_SF=y
+CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
+CONFIG_SYS_DFU_MAX_FILE_SIZE=0x2000000
 CONFIG_SYS_I2C_TEGRA=y
 CONFIG_CROS_EC_KEYB=y
 CONFIG_CROS_EC=y
diff --git a/configs/odroid-xu3_defconfig b/configs/odroid-xu3_defconfig
index 755a2ca9add9..bc71b45c0fb7 100644
--- a/configs/odroid-xu3_defconfig
+++ b/configs/odroid-xu3_defconfig
@@ -41,6 +41,7 @@  CONFIG_ADC=y
 CONFIG_ADC_EXYNOS=y
 CONFIG_DFU_MMC=y
 CONFIG_SET_DFU_ALT_INFO=y
+CONFIG_SYS_DFU_DATA_BUF_SIZE=0x2000000
 CONFIG_SUPPORT_EMMC_BOOT=y
 CONFIG_MMC_DW=y
 CONFIG_MTD=y
diff --git a/configs/odroid_defconfig b/configs/odroid_defconfig
index 9f2b0b205d56..36719d91f66f 100644
--- a/configs/odroid_defconfig
+++ b/configs/odroid_defconfig
@@ -42,6 +42,7 @@  CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
 CONFIG_DFU_MMC=y
 CONFIG_SET_DFU_ALT_INFO=y
+CONFIG_SYS_DFU_DATA_BUF_SIZE=0x2000000
 CONFIG_SYS_I2C_S3C24X0=y
 CONFIG_MMC_DW=y
 CONFIG_MMC_SDHCI=y
diff --git a/configs/origen_defconfig b/configs/origen_defconfig
index 4c4dc1a0db64..650276e379e3 100644
--- a/configs/origen_defconfig
+++ b/configs/origen_defconfig
@@ -31,6 +31,7 @@  CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_DFU_MMC=y
+CONFIG_SYS_DFU_DATA_BUF_SIZE=0x2000000
 CONFIG_MMC_DW=y
 CONFIG_MMC_SDHCI=y
 CONFIG_MMC_SDHCI_SDMA=y
diff --git a/configs/p2371-0000_defconfig b/configs/p2371-0000_defconfig
index da3be084be25..97232bb80946 100644
--- a/configs/p2371-0000_defconfig
+++ b/configs/p2371-0000_defconfig
@@ -28,6 +28,8 @@  CONFIG_SYS_MMC_ENV_PART=2
 CONFIG_DFU_MMC=y
 CONFIG_DFU_RAM=y
 CONFIG_DFU_SF=y
+CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
+CONFIG_SYS_DFU_MAX_FILE_SIZE=0x2000000
 CONFIG_SYS_I2C_TEGRA=y
 CONFIG_SF_DEFAULT_MODE=0
 CONFIG_SF_DEFAULT_SPEED=24000000
diff --git a/configs/p2371-2180_defconfig b/configs/p2371-2180_defconfig
index c7f4404bbacb..af490891e2bc 100644
--- a/configs/p2371-2180_defconfig
+++ b/configs/p2371-2180_defconfig
@@ -32,6 +32,8 @@  CONFIG_SYS_MMC_ENV_PART=2
 CONFIG_DFU_MMC=y
 CONFIG_DFU_RAM=y
 CONFIG_DFU_SF=y
+CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
+CONFIG_SYS_DFU_MAX_FILE_SIZE=0x2000000
 CONFIG_SYS_I2C_TEGRA=y
 CONFIG_SF_DEFAULT_MODE=0
 CONFIG_SF_DEFAULT_SPEED=24000000
diff --git a/configs/p2571_defconfig b/configs/p2571_defconfig
index 973034096743..68bfb8f28cdd 100644
--- a/configs/p2571_defconfig
+++ b/configs/p2571_defconfig
@@ -29,6 +29,8 @@  CONFIG_SYS_MMC_ENV_PART=2
 CONFIG_DFU_MMC=y
 CONFIG_DFU_RAM=y
 CONFIG_DFU_SF=y
+CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
+CONFIG_SYS_DFU_MAX_FILE_SIZE=0x2000000
 CONFIG_SYS_I2C_TEGRA=y
 CONFIG_SF_DEFAULT_MODE=0
 CONFIG_SF_DEFAULT_SPEED=24000000
diff --git a/configs/p3450-0000_defconfig b/configs/p3450-0000_defconfig
index 6e6a8133b4d4..12c3f9bb28e7 100644
--- a/configs/p3450-0000_defconfig
+++ b/configs/p3450-0000_defconfig
@@ -33,6 +33,8 @@  CONFIG_ENV_IS_IN_SPI_FLASH=y
 CONFIG_DFU_MMC=y
 CONFIG_DFU_RAM=y
 CONFIG_DFU_SF=y
+CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
+CONFIG_SYS_DFU_MAX_FILE_SIZE=0x2000000
 CONFIG_SYS_I2C_TEGRA=y
 CONFIG_SF_DEFAULT_MODE=0
 CONFIG_SF_DEFAULT_SPEED=24000000
diff --git a/configs/pico-dwarf-imx6ul_defconfig b/configs/pico-dwarf-imx6ul_defconfig
index 9695eb26576a..8d17a24d6272 100644
--- a/configs/pico-dwarf-imx6ul_defconfig
+++ b/configs/pico-dwarf-imx6ul_defconfig
@@ -43,6 +43,7 @@  CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_BOUNCE_BUFFER=y
 CONFIG_DFU_MMC=y
+CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
 CONFIG_USB_FUNCTION_FASTBOOT=y
 CONFIG_FASTBOOT_BUF_SIZE=0x10000000
 CONFIG_FASTBOOT_FLASH=y
diff --git a/configs/pico-hobbit-imx6ul_defconfig b/configs/pico-hobbit-imx6ul_defconfig
index 5c1ca0b8d7f4..6f74c6e27749 100644
--- a/configs/pico-hobbit-imx6ul_defconfig
+++ b/configs/pico-hobbit-imx6ul_defconfig
@@ -44,6 +44,7 @@  CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_BOUNCE_BUFFER=y
 CONFIG_DFU_MMC=y
+CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
 CONFIG_USB_FUNCTION_FASTBOOT=y
 CONFIG_FASTBOOT_BUF_SIZE=0x10000000
 CONFIG_FASTBOOT_FLASH=y
diff --git a/configs/pico-imx6_defconfig b/configs/pico-imx6_defconfig
index 0f27c5475538..f0109814339f 100644
--- a/configs/pico-imx6_defconfig
+++ b/configs/pico-imx6_defconfig
@@ -58,6 +58,7 @@  CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
 CONFIG_BOUNCE_BUFFER=y
 CONFIG_DFU_MMC=y
+CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
 CONFIG_USB_FUNCTION_FASTBOOT=y
 CONFIG_FASTBOOT_BUF_ADDR=0x12000000
 CONFIG_FASTBOOT_BUF_SIZE=0x10000000
diff --git a/configs/pico-imx6ul_defconfig b/configs/pico-imx6ul_defconfig
index 159fb6b6cd7d..a54b22f5a538 100644
--- a/configs/pico-imx6ul_defconfig
+++ b/configs/pico-imx6ul_defconfig
@@ -47,6 +47,7 @@  CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_BOUNCE_BUFFER=y
 CONFIG_DFU_MMC=y
+CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
 CONFIG_USB_FUNCTION_FASTBOOT=y
 CONFIG_FASTBOOT_BUF_SIZE=0x10000000
 CONFIG_FASTBOOT_FLASH=y
diff --git a/configs/pico-pi-imx6ul_defconfig b/configs/pico-pi-imx6ul_defconfig
index 51b71a77e5e5..bb1a9d654246 100644
--- a/configs/pico-pi-imx6ul_defconfig
+++ b/configs/pico-pi-imx6ul_defconfig
@@ -44,6 +44,7 @@  CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_BOUNCE_BUFFER=y
 CONFIG_DFU_MMC=y
+CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
 CONFIG_USB_FUNCTION_FASTBOOT=y
 CONFIG_FASTBOOT_BUF_SIZE=0x10000000
 CONFIG_FASTBOOT_FLASH=y
diff --git a/configs/pxm2_defconfig b/configs/pxm2_defconfig
index 90ef4c8d99ac..1d14ea918327 100644
--- a/configs/pxm2_defconfig
+++ b/configs/pxm2_defconfig
@@ -77,6 +77,7 @@  CONFIG_BOOTCOUNT_LIMIT=y
 CONFIG_BOOTCOUNT_ENV=y
 CONFIG_DFU_NAND=y
 # CONFIG_SPL_DM_MMC is not set
+CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
 CONFIG_MMC_OMAP_HS=y
 CONFIG_MTD=y
 CONFIG_MTD_RAW_NAND=y
diff --git a/configs/rastaban_defconfig b/configs/rastaban_defconfig
index 63c62a5c0745..29ade173f4a8 100644
--- a/configs/rastaban_defconfig
+++ b/configs/rastaban_defconfig
@@ -76,6 +76,7 @@  CONFIG_BOOTCOUNT_LIMIT=y
 CONFIG_BOOTCOUNT_ENV=y
 CONFIG_DFU_NAND=y
 # CONFIG_SPL_DM_MMC is not set
+CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
 CONFIG_MMC_OMAP_HS=y
 CONFIG_MTD=y
 CONFIG_MTD_RAW_NAND=y
diff --git a/configs/rpi_4_32b_defconfig b/configs/rpi_4_32b_defconfig
index 47ea466454fc..64d969ffe57c 100644
--- a/configs/rpi_4_32b_defconfig
+++ b/configs/rpi_4_32b_defconfig
@@ -24,6 +24,8 @@  CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
 CONFIG_DM_DMA=y
 CONFIG_DFU_MMC=y
+CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
+CONFIG_SYS_DFU_MAX_FILE_SIZE=0x200000
 CONFIG_MMC_SDHCI=y
 CONFIG_MMC_SDHCI_SDMA=y
 CONFIG_MMC_SDHCI_BCM2835=y
diff --git a/configs/rpi_4_defconfig b/configs/rpi_4_defconfig
index 9cd1477107fa..025ac7bc0b28 100644
--- a/configs/rpi_4_defconfig
+++ b/configs/rpi_4_defconfig
@@ -24,6 +24,8 @@  CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
 CONFIG_DM_DMA=y
 CONFIG_DFU_MMC=y
+CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
+CONFIG_SYS_DFU_MAX_FILE_SIZE=0x200000
 CONFIG_MMC_SDHCI=y
 CONFIG_MMC_SDHCI_SDMA=y
 CONFIG_MMC_SDHCI_BCM2835=y
diff --git a/configs/rut_defconfig b/configs/rut_defconfig
index 6fc06f1ed974..ab99f17e31d5 100644
--- a/configs/rut_defconfig
+++ b/configs/rut_defconfig
@@ -78,6 +78,7 @@  CONFIG_BOOTCOUNT_LIMIT=y
 CONFIG_BOOTCOUNT_ENV=y
 CONFIG_DFU_NAND=y
 # CONFIG_SPL_DM_MMC is not set
+CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
 CONFIG_MMC_OMAP_HS=y
 CONFIG_MTD=y
 CONFIG_MTD_RAW_NAND=y
diff --git a/configs/s5p_goni_defconfig b/configs/s5p_goni_defconfig
index 28d8be6b01f6..72f9ce16a950 100644
--- a/configs/s5p_goni_defconfig
+++ b/configs/s5p_goni_defconfig
@@ -36,6 +36,7 @@  CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
 # CONFIG_NET is not set
 CONFIG_DFU_MMC=y
+CONFIG_SYS_DFU_DATA_BUF_SIZE=0x2000000
 CONFIG_DM_I2C_GPIO=y
 CONFIG_MMC_SDHCI=y
 CONFIG_MMC_SDHCI_S5P=y
diff --git a/configs/s5pc210_universal_defconfig b/configs/s5pc210_universal_defconfig
index 759034a8a5c6..734a99f8efa5 100644
--- a/configs/s5pc210_universal_defconfig
+++ b/configs/s5pc210_universal_defconfig
@@ -33,6 +33,7 @@  CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
 CONFIG_DFU_MMC=y
+CONFIG_SYS_DFU_DATA_BUF_SIZE=0x2000000
 CONFIG_SYS_I2C_S3C24X0=y
 CONFIG_MMC_DW=y
 CONFIG_MMC_SDHCI=y
diff --git a/configs/smartweb_defconfig b/configs/smartweb_defconfig
index 1f600d02780a..dc7b27742f87 100644
--- a/configs/smartweb_defconfig
+++ b/configs/smartweb_defconfig
@@ -53,6 +53,7 @@  CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_CLK=y
 CONFIG_CLK_AT91=y
 CONFIG_DFU_NAND=y
+CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
 CONFIG_AT91_GPIO=y
 # CONFIG_MMC is not set
 CONFIG_MTD=y
diff --git a/configs/socfpga_arria5_defconfig b/configs/socfpga_arria5_defconfig
index d4f9bade3d01..e6e6cb24e155 100644
--- a/configs/socfpga_arria5_defconfig
+++ b/configs/socfpga_arria5_defconfig
@@ -39,6 +39,7 @@  CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_VERSION_VARIABLE=y
 CONFIG_SPL_DM_SEQ_ALIAS=y
 CONFIG_DFU_MMC=y
+CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
 CONFIG_DWAPB_GPIO=y
 CONFIG_DM_I2C=y
 CONFIG_SYS_I2C_DW=y
diff --git a/configs/socfpga_cyclone5_defconfig b/configs/socfpga_cyclone5_defconfig
index ae7fd501917a..ff7aa1df2a4a 100644
--- a/configs/socfpga_cyclone5_defconfig
+++ b/configs/socfpga_cyclone5_defconfig
@@ -39,6 +39,7 @@  CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_VERSION_VARIABLE=y
 CONFIG_SPL_DM_SEQ_ALIAS=y
 CONFIG_DFU_MMC=y
+CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
 CONFIG_DWAPB_GPIO=y
 CONFIG_DM_I2C=y
 CONFIG_SYS_I2C_DW=y
diff --git a/configs/socfpga_dbm_soc1_defconfig b/configs/socfpga_dbm_soc1_defconfig
index 033c40736ed8..70a891b003a4 100644
--- a/configs/socfpga_dbm_soc1_defconfig
+++ b/configs/socfpga_dbm_soc1_defconfig
@@ -44,6 +44,7 @@  CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_VERSION_VARIABLE=y
 CONFIG_DFU_MMC=y
+CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
 CONFIG_DWAPB_GPIO=y
 CONFIG_DM_I2C=y
 CONFIG_SYS_I2C_DW=y
diff --git a/configs/socfpga_de0_nano_soc_defconfig b/configs/socfpga_de0_nano_soc_defconfig
index 53efc9f5bdad..35ad9a2ea726 100644
--- a/configs/socfpga_de0_nano_soc_defconfig
+++ b/configs/socfpga_de0_nano_soc_defconfig
@@ -39,6 +39,7 @@  CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_VERSION_VARIABLE=y
 CONFIG_DFU_MMC=y
+CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
 CONFIG_DWAPB_GPIO=y
 CONFIG_DM_I2C=y
 CONFIG_SYS_I2C_DW=y
diff --git a/configs/socfpga_de10_nano_defconfig b/configs/socfpga_de10_nano_defconfig
index d94b9584dea8..92d9336f3580 100644
--- a/configs/socfpga_de10_nano_defconfig
+++ b/configs/socfpga_de10_nano_defconfig
@@ -36,6 +36,7 @@  CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_VERSION_VARIABLE=y
 CONFIG_DFU_MMC=y
+CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
 CONFIG_DWAPB_GPIO=y
 CONFIG_DM_I2C=y
 CONFIG_SYS_I2C_DW=y
diff --git a/configs/socfpga_mcvevk_defconfig b/configs/socfpga_mcvevk_defconfig
index b24b417a6bc3..2e7a9a21e675 100644
--- a/configs/socfpga_mcvevk_defconfig
+++ b/configs/socfpga_mcvevk_defconfig
@@ -37,6 +37,7 @@  CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_VERSION_VARIABLE=y
 CONFIG_DFU_MMC=y
+CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
 CONFIG_DWAPB_GPIO=y
 CONFIG_DM_I2C=y
 CONFIG_SYS_I2C_DW=y
diff --git a/configs/socfpga_sockit_defconfig b/configs/socfpga_sockit_defconfig
index 4ea9b41a7e21..32f203143324 100644
--- a/configs/socfpga_sockit_defconfig
+++ b/configs/socfpga_sockit_defconfig
@@ -39,6 +39,7 @@  CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_VERSION_VARIABLE=y
 CONFIG_SPL_DM_SEQ_ALIAS=y
 CONFIG_DFU_MMC=y
+CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
 CONFIG_DWAPB_GPIO=y
 CONFIG_DM_I2C=y
 CONFIG_SYS_I2C_DW=y
diff --git a/configs/socfpga_socrates_defconfig b/configs/socfpga_socrates_defconfig
index 16c9b927a9bd..756388ee5704 100644
--- a/configs/socfpga_socrates_defconfig
+++ b/configs/socfpga_socrates_defconfig
@@ -40,6 +40,7 @@  CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_VERSION_VARIABLE=y
 CONFIG_SPL_DM_SEQ_ALIAS=y
 CONFIG_DFU_MMC=y
+CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
 CONFIG_DWAPB_GPIO=y
 CONFIG_DM_I2C=y
 CONFIG_SYS_I2C_DW=y
diff --git a/configs/socfpga_vining_fpga_defconfig b/configs/socfpga_vining_fpga_defconfig
index 3984b9bc7849..174494c16e57 100644
--- a/configs/socfpga_vining_fpga_defconfig
+++ b/configs/socfpga_vining_fpga_defconfig
@@ -53,6 +53,7 @@  CONFIG_SPL_DM_SEQ_ALIAS=y
 CONFIG_DFU_MMC=y
 CONFIG_DFU_RAM=y
 CONFIG_DFU_SF=y
+CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
 CONFIG_DWAPB_GPIO=y
 CONFIG_DM_I2C=y
 CONFIG_LED_STATUS=y
diff --git a/configs/taurus_defconfig b/configs/taurus_defconfig
index a79cdf3fa7ce..dbd642862413 100644
--- a/configs/taurus_defconfig
+++ b/configs/taurus_defconfig
@@ -71,6 +71,7 @@  CONFIG_BLK=y
 CONFIG_CLK=y
 CONFIG_CLK_AT91=y
 CONFIG_DFU_NAND=y
+CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
 CONFIG_AT91_GPIO=y
 # CONFIG_MMC is not set
 CONFIG_MTD=y
diff --git a/configs/thuban_defconfig b/configs/thuban_defconfig
index d1cc9a69bec8..247538a5d9fb 100644
--- a/configs/thuban_defconfig
+++ b/configs/thuban_defconfig
@@ -76,6 +76,7 @@  CONFIG_BOOTCOUNT_LIMIT=y
 CONFIG_BOOTCOUNT_ENV=y
 CONFIG_DFU_NAND=y
 # CONFIG_SPL_DM_MMC is not set
+CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
 CONFIG_MMC_OMAP_HS=y
 CONFIG_MTD=y
 CONFIG_MTD_RAW_NAND=y
diff --git a/configs/topic_miami_defconfig b/configs/topic_miami_defconfig
index ec66bb09584a..3681919f8503 100644
--- a/configs/topic_miami_defconfig
+++ b/configs/topic_miami_defconfig
@@ -38,6 +38,7 @@  CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_SPL_DM_SEQ_ALIAS=y
 CONFIG_DFU_RAM=y
+CONFIG_SYS_DFU_DATA_BUF_SIZE=0x600000
 CONFIG_FPGA_XILINX=y
 CONFIG_FPGA_ZYNQPL=y
 CONFIG_DM_I2C=y
diff --git a/configs/topic_miamilite_defconfig b/configs/topic_miamilite_defconfig
index e4145948859e..301a357ec70f 100644
--- a/configs/topic_miamilite_defconfig
+++ b/configs/topic_miamilite_defconfig
@@ -38,6 +38,7 @@  CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_SPL_DM_SEQ_ALIAS=y
 CONFIG_DFU_RAM=y
+CONFIG_SYS_DFU_DATA_BUF_SIZE=0x600000
 CONFIG_FPGA_XILINX=y
 CONFIG_FPGA_ZYNQPL=y
 CONFIG_DM_I2C=y
diff --git a/configs/topic_miamiplus_defconfig b/configs/topic_miamiplus_defconfig
index 0041ee153669..27cd9132e86b 100644
--- a/configs/topic_miamiplus_defconfig
+++ b/configs/topic_miamiplus_defconfig
@@ -37,6 +37,7 @@  CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_SPL_DM_SEQ_ALIAS=y
 CONFIG_DFU_RAM=y
+CONFIG_SYS_DFU_DATA_BUF_SIZE=0x600000
 CONFIG_FPGA_XILINX=y
 CONFIG_FPGA_ZYNQPL=y
 CONFIG_DM_I2C=y
diff --git a/configs/trats2_defconfig b/configs/trats2_defconfig
index 8439ddc26775..a3955e1ffc5a 100644
--- a/configs/trats2_defconfig
+++ b/configs/trats2_defconfig
@@ -34,6 +34,7 @@  CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
 CONFIG_DFU_MMC=y
+CONFIG_SYS_DFU_DATA_BUF_SIZE=0x2000000
 CONFIG_DM_I2C_GPIO=y
 CONFIG_SYS_I2C_S3C24X0=y
 CONFIG_MMC_DW=y
diff --git a/configs/trats_defconfig b/configs/trats_defconfig
index 931c69ba6f17..64cd5dcdb3b2 100644
--- a/configs/trats_defconfig
+++ b/configs/trats_defconfig
@@ -33,6 +33,7 @@  CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
 CONFIG_DFU_MMC=y
+CONFIG_SYS_DFU_DATA_BUF_SIZE=0x2000000
 CONFIG_DM_I2C_GPIO=y
 CONFIG_SYS_I2C_S3C24X0=y
 CONFIG_MMC_DW=y
diff --git a/configs/venice2_defconfig b/configs/venice2_defconfig
index ca18677dd4c7..9c14cef2b999 100644
--- a/configs/venice2_defconfig
+++ b/configs/venice2_defconfig
@@ -32,6 +32,8 @@  CONFIG_SPL_DM=y
 CONFIG_DFU_MMC=y
 CONFIG_DFU_RAM=y
 CONFIG_DFU_SF=y
+CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
+CONFIG_SYS_DFU_MAX_FILE_SIZE=0x2000000
 CONFIG_SYS_I2C_TEGRA=y
 CONFIG_SF_DEFAULT_MODE=0
 CONFIG_SF_DEFAULT_SPEED=24000000
diff --git a/configs/warp7_bl33_defconfig b/configs/warp7_bl33_defconfig
index c5c5d99c6ca6..5452a49061c5 100644
--- a/configs/warp7_bl33_defconfig
+++ b/configs/warp7_bl33_defconfig
@@ -35,6 +35,7 @@  CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_BOUNCE_BUFFER=y
 CONFIG_DFU_MMC=y
+CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
 CONFIG_DM_I2C=y
 CONFIG_SUPPORT_EMMC_BOOT=y
 CONFIG_FSL_USDHC=y
diff --git a/configs/warp7_defconfig b/configs/warp7_defconfig
index 910419938cd2..43471e754a9f 100644
--- a/configs/warp7_defconfig
+++ b/configs/warp7_defconfig
@@ -41,6 +41,7 @@  CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_BOUNCE_BUFFER=y
 CONFIG_DFU_MMC=y
+CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
 CONFIG_DM_I2C=y
 CONFIG_SUPPORT_EMMC_BOOT=y
 CONFIG_FSL_USDHC=y
diff --git a/configs/warp_defconfig b/configs/warp_defconfig
index 34acc9e6c844..04f756aacf8c 100644
--- a/configs/warp_defconfig
+++ b/configs/warp_defconfig
@@ -33,6 +33,7 @@  CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 # CONFIG_NET is not set
 CONFIG_BOUNCE_BUFFER=y
 CONFIG_DFU_MMC=y
+CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1000000
 CONFIG_SUPPORT_EMMC_BOOT=y
 CONFIG_FSL_USDHC=y
 CONFIG_MXC_UART=y
diff --git a/configs/xilinx_versal_virt_defconfig b/configs/xilinx_versal_virt_defconfig
index f4e9a80728d7..121c3ae72051 100644
--- a/configs/xilinx_versal_virt_defconfig
+++ b/configs/xilinx_versal_virt_defconfig
@@ -54,6 +54,7 @@  CONFIG_TFTP_BLOCKSIZE=4096
 CONFIG_CLK_VERSAL=y
 CONFIG_DFU_TIMEOUT=y
 CONFIG_DFU_RAM=y
+CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1800000
 CONFIG_FPGA_XILINX=y
 CONFIG_FPGA_VERSALPL=y
 CONFIG_DM_I2C=y
diff --git a/configs/xilinx_zynq_virt_defconfig b/configs/xilinx_zynq_virt_defconfig
index 7e56395a521f..e53ef2443ec1 100644
--- a/configs/xilinx_zynq_virt_defconfig
+++ b/configs/xilinx_zynq_virt_defconfig
@@ -68,6 +68,7 @@  CONFIG_SPL_DM_SEQ_ALIAS=y
 CONFIG_DFU_TIMEOUT=y
 CONFIG_DFU_MMC=y
 CONFIG_DFU_RAM=y
+CONFIG_SYS_DFU_DATA_BUF_SIZE=0x600000
 CONFIG_FPGA_XILINX=y
 CONFIG_FPGA_ZYNQPL=y
 CONFIG_DM_I2C=y
diff --git a/configs/xilinx_zynqmp_virt_defconfig b/configs/xilinx_zynqmp_virt_defconfig
index e939b04ef6a5..b0cc9d9ba88a 100644
--- a/configs/xilinx_zynqmp_virt_defconfig
+++ b/configs/xilinx_zynqmp_virt_defconfig
@@ -90,6 +90,7 @@  CONFIG_DFU_NAND=y
 CONFIG_DFU_RAM=y
 CONFIG_DFU_SF=y
 CONFIG_DFU_MTD=y
+CONFIG_SYS_DFU_DATA_BUF_SIZE=0x1800000
 CONFIG_USB_FUNCTION_FASTBOOT=y
 CONFIG_FASTBOOT_FLASH=y
 CONFIG_FASTBOOT_FLASH_MMC_DEV=0
diff --git a/drivers/dfu/Kconfig b/drivers/dfu/Kconfig
index 121dc54f5463..b50547476cbd 100644
--- a/drivers/dfu/Kconfig
+++ b/drivers/dfu/Kconfig
@@ -92,5 +92,25 @@  config SET_DFU_ALT_INFO
 	help
 	  This option allows to call the function set_dfu_alt_info to
 	  dynamically build dfu_alt_info in board.
+
+config SYS_DFU_DATA_BUF_SIZE
+	hex "Size of buffer to be allocated for transfer to raw storage device"
+	default 0x800000
+	help
+	  DFU transfer uses a buffer before writing data to the
+	  raw storage device. This value can be used for setting the
+	  size of this buffer. The size of the buffer is also configurable
+	  through the "dfu_bufsiz" environment variable. If both are
+	  given the size of the buffer is set to "dfu_bufsize".
+
+config SYS_DFU_MAX_FILE_SIZE
+	hex "Size of the buffer to be allocated for transferring files"
+	default SYS_DFU_DATA_BUF_SIZE
+	help
+	  When updating files rather than the raw storage device,
+	  we use a static buffer to copy the file into and then write
+	  the buffer once we've been given the whole file.  Define
+	  this to the maximum filesize (in bytes) for the buffer.
+	  If undefined it defaults to the CONFIG_SYS_DFU_DATA_BUF_SIZE.
 endif
 endmenu
diff --git a/include/configs/am65x_evm.h b/include/configs/am65x_evm.h
index 76d73086fb89..8c50fe9d11ff 100644
--- a/include/configs/am65x_evm.h
+++ b/include/configs/am65x_evm.h
@@ -22,7 +22,6 @@ 
 #ifdef CONFIG_TARGET_AM654_A53_EVM
 #define CONFIG_SYS_INIT_SP_ADDR         (CONFIG_SPL_TEXT_BASE +	\
 					 CONFIG_SYS_K3_NON_SECURE_MSRAM_SIZE)
-#define CONFIG_SYS_DFU_DATA_BUF_SIZE	0x20000
 #else
 /*
  * Maximum size in memory allocated to the SPL BSS. Keep it as tight as
@@ -45,7 +44,6 @@ 
 /* Configure R5 SPL post-relocation malloc pool in DDR */
 #define CONFIG_SYS_SPL_MALLOC_START	0x84000000
 #define CONFIG_SYS_SPL_MALLOC_SIZE	SZ_16M
-#define CONFIG_SYS_DFU_DATA_BUF_SIZE	0x5000
 #endif
 
 #ifdef CONFIG_SYS_K3_SPL_ATF
@@ -56,12 +54,6 @@ 
 #define CONFIG_SKIP_LOWLEVEL_INIT
 #endif
 
-/*
- * If the maximum size is not declared then it is defined as
- * CONFIG_SYS_DFU_DATA_BUF_SIZE.
- */
-#define CONFIG_SYS_DFU_MAX_FILE_SIZE	(1024 * 1024 * 8)   /* 8 MiB */
-
 #define CONFIG_SPL_MAX_SIZE		CONFIG_SYS_K3_MAX_DOWNLODABLE_IMAGE_SIZE
 
 #define CONFIG_SYS_BOOTM_LEN		SZ_64M
diff --git a/include/configs/colibri-imx6ull.h b/include/configs/colibri-imx6ull.h
index 22ee2ba03e46..f84931653fbc 100644
--- a/include/configs/colibri-imx6ull.h
+++ b/include/configs/colibri-imx6ull.h
@@ -143,7 +143,6 @@ 
 #define CONFIG_USBD_HS
 
 /* USB Device Firmware Update support */
-#define CONFIG_SYS_DFU_DATA_BUF_SIZE	SZ_16M
 #define DFU_DEFAULT_POLL_TIMEOUT	300
 
 #if defined(CONFIG_VIDEO) || defined(CONFIG_DM_VIDEO)
diff --git a/include/configs/colibri_vf.h b/include/configs/colibri_vf.h
index cae7c14bfb90..5bd440f1db33 100644
--- a/include/configs/colibri_vf.h
+++ b/include/configs/colibri_vf.h
@@ -143,6 +143,5 @@ 
 #define CONFIG_EHCI_HCD_INIT_AFTER_RESET
 
 /* USB DFU */
-#define CONFIG_SYS_DFU_DATA_BUF_SIZE (SZ_1M)
 
 #endif /* __CONFIG_H */
diff --git a/include/configs/corvus.h b/include/configs/corvus.h
index 55f77e4400a2..bd4d6e8e39f4 100644
--- a/include/configs/corvus.h
+++ b/include/configs/corvus.h
@@ -81,7 +81,6 @@ 
 #define CONFIG_AT91_WANTS_COMMON_PHY
 
 /* DFU class support */
-#define CONFIG_SYS_DFU_DATA_BUF_SIZE	(SZ_1M)
 #define DFU_MANIFEST_POLL_TIMEOUT	25000
 
 #define CONFIG_SYS_LOAD_ADDR	ATMEL_BASE_CS6
diff --git a/include/configs/dh_imx6.h b/include/configs/dh_imx6.h
index 4a469af5e60b..d9be1c38c44a 100644
--- a/include/configs/dh_imx6.h
+++ b/include/configs/dh_imx6.h
@@ -66,7 +66,6 @@ 
 
 /* USB Gadget (DFU, UMS) */
 #if defined(CONFIG_CMD_DFU) || defined(CONFIG_CMD_USB_MASS_STORAGE)
-#define CONFIG_SYS_DFU_DATA_BUF_SIZE	(16 * 1024 * 1024)
 #define DFU_DEFAULT_POLL_TIMEOUT	300
 
 /* USB IDs */
diff --git a/include/configs/exynos4-common.h b/include/configs/exynos4-common.h
index 005f65d4ed6a..5e2aca371e7e 100644
--- a/include/configs/exynos4-common.h
+++ b/include/configs/exynos4-common.h
@@ -19,7 +19,6 @@ 
 /* SD/MMC configuration */
 #define CONFIG_MMC_DEFAULT_DEV	0
 
-#define CONFIG_SYS_DFU_DATA_BUF_SIZE SZ_32M
 #define DFU_DEFAULT_POLL_TIMEOUT 300
 
 /* USB Samsung's IDs */
diff --git a/include/configs/odroid_xu3.h b/include/configs/odroid_xu3.h
index 0c86196152fc..fc70dc6a7323 100644
--- a/include/configs/odroid_xu3.h
+++ b/include/configs/odroid_xu3.h
@@ -27,7 +27,6 @@ 
 #define CONFIG_USB_EHCI_EXYNOS
 
 /* DFU */
-#define CONFIG_SYS_DFU_DATA_BUF_SIZE	SZ_32M
 #define DFU_DEFAULT_POLL_TIMEOUT	300
 #define DFU_MANIFEST_POLL_TIMEOUT	25000
 
diff --git a/include/configs/pico-imx6.h b/include/configs/pico-imx6.h
index 19c8aeb71b6e..6199f0d72e76 100644
--- a/include/configs/pico-imx6.h
+++ b/include/configs/pico-imx6.h
@@ -38,7 +38,6 @@ 
 #define CONFIG_MXC_USB_PORTSC		(PORT_PTS_UTMI | PORT_PTS_PTW)
 #define CONFIG_MXC_USB_FLAGS		0
 
-#define CONFIG_SYS_DFU_DATA_BUF_SIZE SZ_16M
 #define DFU_DEFAULT_POLL_TIMEOUT 300
 
 #define CONFIG_DFU_ENV_SETTINGS \
diff --git a/include/configs/pico-imx6ul.h b/include/configs/pico-imx6ul.h
index 747ef09f37d9..04a2531f7447 100644
--- a/include/configs/pico-imx6ul.h
+++ b/include/configs/pico-imx6ul.h
@@ -49,7 +49,6 @@ 
 
 #define CONFIG_USBD_HS
 
-#define CONFIG_SYS_DFU_DATA_BUF_SIZE SZ_16M
 #define DFU_DEFAULT_POLL_TIMEOUT 300
 
 #define CONFIG_DFU_ENV_SETTINGS \
diff --git a/include/configs/rpi.h b/include/configs/rpi.h
index 834f1cd23640..46ada884b487 100644
--- a/include/configs/rpi.h
+++ b/include/configs/rpi.h
@@ -74,9 +74,6 @@ 
 
 /* DFU over USB/UDC */
 #ifdef CONFIG_CMD_DFU
-#define CONFIG_SYS_DFU_DATA_BUF_SIZE	SZ_1M
-#define CONFIG_SYS_DFU_MAX_FILE_SIZE	SZ_2M
-
 #ifdef CONFIG_ARM64
 #define KERNEL_FILENAME		"Image"
 #else
diff --git a/include/configs/s5p_goni.h b/include/configs/s5p_goni.h
index 9688bdc4c035..6af6009e6126 100644
--- a/include/configs/s5p_goni.h
+++ b/include/configs/s5p_goni.h
@@ -41,7 +41,6 @@ 
 #define CONFIG_PWM			1
 
 /* USB Composite download gadget - g_dnl */
-#define CONFIG_SYS_DFU_DATA_BUF_SIZE SZ_32M
 #define DFU_DEFAULT_POLL_TIMEOUT 300
 
 /* USB Samsung's IDs */
diff --git a/include/configs/siemens-am33x-common.h b/include/configs/siemens-am33x-common.h
index e18af7493c7f..f96dd774b178 100644
--- a/include/configs/siemens-am33x-common.h
+++ b/include/configs/siemens-am33x-common.h
@@ -143,7 +143,6 @@ 
 #define CONFIG_USBD_HS
 
 /* USB Device Firmware Update support */
-#define CONFIG_SYS_DFU_DATA_BUF_SIZE	(1 << 20)
 #define DFU_MANIFEST_POLL_TIMEOUT	25000
 
 #endif /* CONFIG_SPL_BUILD */
diff --git a/include/configs/smartweb.h b/include/configs/smartweb.h
index 6e715dc0c1be..5e8637e49484 100644
--- a/include/configs/smartweb.h
+++ b/include/configs/smartweb.h
@@ -122,7 +122,6 @@ 
 #define CONFIG_USB_GADGET_AT91
 
 /* DFU class support */
-#define CONFIG_SYS_DFU_DATA_BUF_SIZE	SZ_1M
 #define DFU_MANIFEST_POLL_TIMEOUT	25000
 #endif
 
diff --git a/include/configs/socfpga_common.h b/include/configs/socfpga_common.h
index 62b327cd6e52..c5e4292f1964 100644
--- a/include/configs/socfpga_common.h
+++ b/include/configs/socfpga_common.h
@@ -148,7 +148,6 @@  unsigned int cm_get_qspi_controller_clk_hz(void);
  * USB Gadget (DFU, UMS)
  */
 #if defined(CONFIG_CMD_DFU) || defined(CONFIG_CMD_USB_MASS_STORAGE)
-#define CONFIG_SYS_DFU_DATA_BUF_SIZE	(16 * 1024 * 1024)
 #define DFU_DEFAULT_POLL_TIMEOUT	300
 
 /* USB IDs */
diff --git a/include/configs/taurus.h b/include/configs/taurus.h
index 39eae8e2ba04..6e869462f1e6 100644
--- a/include/configs/taurus.h
+++ b/include/configs/taurus.h
@@ -92,7 +92,6 @@ 
 #define CONFIG_USB_GADGET_AT91
 
 /* DFU class support */
-#define CONFIG_SYS_DFU_DATA_BUF_SIZE	(SZ_1M)
 #define DFU_MANIFEST_POLL_TIMEOUT	25000
 #endif
 
diff --git a/include/configs/tegra-common-usb-gadget.h b/include/configs/tegra-common-usb-gadget.h
index e6b61c4e8fd3..201f4bc093c9 100644
--- a/include/configs/tegra-common-usb-gadget.h
+++ b/include/configs/tegra-common-usb-gadget.h
@@ -13,8 +13,6 @@ 
 #define CONFIG_CI_UDC_HAS_HOSTPC
 #endif
 /* DFU protocol */
-#define CONFIG_SYS_DFU_DATA_BUF_SIZE SZ_1M
-#define CONFIG_SYS_DFU_MAX_FILE_SIZE SZ_32M
 #endif
 
 #endif /* _TEGRA_COMMON_USB_GADGET_H_ */
diff --git a/include/configs/warp.h b/include/configs/warp.h
index 0f97804eb29c..bda8ff9a34f3 100644
--- a/include/configs/warp.h
+++ b/include/configs/warp.h
@@ -50,7 +50,6 @@ 
 
 #define CONFIG_USBD_HS
 
-#define CONFIG_SYS_DFU_DATA_BUF_SIZE SZ_16M
 #define DFU_DEFAULT_POLL_TIMEOUT 300
 
 /* I2C Configs */
diff --git a/include/configs/warp7.h b/include/configs/warp7.h
index 8eb106027440..a5d52e3977fd 100644
--- a/include/configs/warp7.h
+++ b/include/configs/warp7.h
@@ -149,7 +149,6 @@ 
 #define CONFIG_USBD_HS
 
 /* USB Device Firmware Update support */
-#define CONFIG_SYS_DFU_DATA_BUF_SIZE	SZ_16M
 #define DFU_DEFAULT_POLL_TIMEOUT	300
 
 #define CONFIG_USBNET_DEV_ADDR		"de:ad:be:af:00:01"
diff --git a/include/configs/xilinx_versal.h b/include/configs/xilinx_versal.h
index 380f93a2f68e..ebe81968d130 100644
--- a/include/configs/xilinx_versal.h
+++ b/include/configs/xilinx_versal.h
@@ -47,7 +47,6 @@ 
 #define CONFIG_SYS_MAXARGS		64
 
 #if defined(CONFIG_CMD_DFU)
-#define CONFIG_SYS_DFU_DATA_BUF_SIZE	0x1800000
 #define DFU_DEFAULT_POLL_TIMEOUT	300
 #define CONFIG_THOR_RESET_OFF
 #endif
diff --git a/include/configs/xilinx_zynqmp.h b/include/configs/xilinx_zynqmp.h
index 986af2be7819..cadaf1a96312 100644
--- a/include/configs/xilinx_zynqmp.h
+++ b/include/configs/xilinx_zynqmp.h
@@ -52,7 +52,6 @@ 
 #define CONFIG_SYS_LOAD_ADDR		0x8000000
 
 #if defined(CONFIG_ZYNQMP_USB)
-#define CONFIG_SYS_DFU_DATA_BUF_SIZE	0x1800000
 #define DFU_DEFAULT_POLL_TIMEOUT	300
 #define CONFIG_THOR_RESET_OFF
 
diff --git a/include/configs/zynq-common.h b/include/configs/zynq-common.h
index 39035f8bebca..7859b77603f1 100644
--- a/include/configs/zynq-common.h
+++ b/include/configs/zynq-common.h
@@ -58,7 +58,6 @@ 
 #ifdef CONFIG_USB_EHCI_ZYNQ
 # define CONFIG_EHCI_IS_TDI
 
-# define CONFIG_SYS_DFU_DATA_BUF_SIZE	0x600000
 # define DFU_DEFAULT_POLL_TIMEOUT	300
 # define CONFIG_THOR_RESET_OFF
 #endif
diff --git a/include/dfu.h b/include/dfu.h
index d18b70172829..afada3959b72 100644
--- a/include/dfu.h
+++ b/include/dfu.h
@@ -100,12 +100,6 @@  struct virt_internal_data {
 };
 
 #define DFU_NAME_SIZE			32
-#ifndef CONFIG_SYS_DFU_DATA_BUF_SIZE
-#define CONFIG_SYS_DFU_DATA_BUF_SIZE		(1024*1024*8)	/* 8 MiB */
-#endif
-#ifndef CONFIG_SYS_DFU_MAX_FILE_SIZE
-#define CONFIG_SYS_DFU_MAX_FILE_SIZE CONFIG_SYS_DFU_DATA_BUF_SIZE
-#endif
 #ifndef DFU_DEFAULT_POLL_TIMEOUT
 #define DFU_DEFAULT_POLL_TIMEOUT 0
 #endif
diff --git a/scripts/config_whitelist.txt b/scripts/config_whitelist.txt
index 8f92b82719a2..0f5ac8ff5229 100644
--- a/scripts/config_whitelist.txt
+++ b/scripts/config_whitelist.txt
@@ -1988,8 +1988,6 @@  CONFIG_SYS_DEBUG_SERVER_FW_IN_NOR
 CONFIG_SYS_DEFAULT_LPDDR2_TIMINGS
 CONFIG_SYS_DEFAULT_VIDEO_MODE
 CONFIG_SYS_DEF_EEPROM_ADDR
-CONFIG_SYS_DFU_DATA_BUF_SIZE
-CONFIG_SYS_DFU_MAX_FILE_SIZE
 CONFIG_SYS_DIAG_ADDR
 CONFIG_SYS_DIALOG_PMIC_I2C_ADDR
 CONFIG_SYS_DIMM_SLOTS_PER_CTLR