[PATCH] configs: am62x_evm_*: Set DFU buffer size to 256k

OSPI flash writing was broken on am62x SKs as the OSPI flash device has a 256k sector size but was set to 20k. This breaks OSPI flash writes because the current implementation of the SF DFU backend requires that the DFU data buffer size be the same as the sector erase size, and the USB DFU config fragment (for both A53 and R5) reduced the size of the DFU data buffer, presumably so that it can fit into SPL's much smaller heap.
Change the SYS_DFU_DATA_BUF_SIZE to the erase sector size, which still fits within the post-relocation heap size in SPL.
Fixes: dfc2dff5a844 ("configs: am62x_evm_*: Enable USB and DFU support")
Signed-off-by: Jonathan Humphreys j-humphreys@ti.com --- configs/am62x_a53_usbdfu.config | 2 +- configs/am62x_r5_usbdfu.config | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/configs/am62x_a53_usbdfu.config b/configs/am62x_a53_usbdfu.config index 0d3c6df1e73..812f99ee70b 100644 --- a/configs/am62x_a53_usbdfu.config +++ b/configs/am62x_a53_usbdfu.config @@ -10,7 +10,7 @@ CONFIG_SYSCON=y CONFIG_SPL_SYSCON=y CONFIG_DFU_MMC=y CONFIG_DFU_RAM=y -CONFIG_SYS_DFU_DATA_BUF_SIZE=0x5000 +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x40000 CONFIG_SYS_DFU_MAX_FILE_SIZE=0x800000 CONFIG_USB=y CONFIG_DM_USB_GADGET=y diff --git a/configs/am62x_r5_usbdfu.config b/configs/am62x_r5_usbdfu.config index 772bb2ab935..efaae504c1a 100644 --- a/configs/am62x_r5_usbdfu.config +++ b/configs/am62x_r5_usbdfu.config @@ -1,7 +1,7 @@ CONFIG_SPL_ENV_SUPPORT=y CONFIG_SYSCON=y CONFIG_SPL_SYSCON=y -CONFIG_SYS_DFU_DATA_BUF_SIZE=0x5000 +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x40000 CONFIG_MISC=y CONFIG_USB=y CONFIG_DM_USB_GADGET=y

On 20/12/2024 23:53, Jonathan Humphreys wrote:
OSPI flash writing was broken on am62x SKs as the OSPI flash device has a 256k sector size but was set to 20k. This breaks OSPI flash writes because the current implementation of the SF DFU backend requires that the DFU data buffer size be the same as the sector erase size, and the USB DFU config fragment (for both A53 and R5) reduced the size of the DFU data buffer, presumably so that it can fit into SPL's much smaller heap.
Change the SYS_DFU_DATA_BUF_SIZE to the erase sector size, which still fits within the post-relocation heap size in SPL.
Fixes: dfc2dff5a844 ("configs: am62x_evm_*: Enable USB and DFU support")
Signed-off-by: Jonathan Humphreys j-humphreys@ti.com
Reviewed-by: Roger Quadros rogerq@kernel.org

Hi John,
Thank you for the patch.
On ven., déc. 20, 2024 at 15:53, Jonathan Humphreys j-humphreys@ti.com wrote:
OSPI flash writing was broken on am62x SKs as the OSPI flash device has a 256k sector size but was set to 20k. This breaks OSPI flash writes because the current implementation of the SF DFU backend requires that the DFU data buffer size be the same as the sector erase size, and the USB DFU config fragment (for both A53 and R5) reduced the size of the DFU data buffer, presumably so that it can fit into SPL's much smaller heap.
Change the SYS_DFU_DATA_BUF_SIZE to the erase sector size, which still fits within the post-relocation heap size in SPL.
Fixes: dfc2dff5a844 ("configs: am62x_evm_*: Enable USB and DFU support")
Signed-off-by: Jonathan Humphreys j-humphreys@ti.com
Reviewed-by: Mattijs Korpershoek mkorpershoek@baylibre.com
configs/am62x_a53_usbdfu.config | 2 +- configs/am62x_r5_usbdfu.config | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/configs/am62x_a53_usbdfu.config b/configs/am62x_a53_usbdfu.config index 0d3c6df1e73..812f99ee70b 100644 --- a/configs/am62x_a53_usbdfu.config +++ b/configs/am62x_a53_usbdfu.config @@ -10,7 +10,7 @@ CONFIG_SYSCON=y CONFIG_SPL_SYSCON=y CONFIG_DFU_MMC=y CONFIG_DFU_RAM=y -CONFIG_SYS_DFU_DATA_BUF_SIZE=0x5000 +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x40000 CONFIG_SYS_DFU_MAX_FILE_SIZE=0x800000 CONFIG_USB=y CONFIG_DM_USB_GADGET=y diff --git a/configs/am62x_r5_usbdfu.config b/configs/am62x_r5_usbdfu.config index 772bb2ab935..efaae504c1a 100644 --- a/configs/am62x_r5_usbdfu.config +++ b/configs/am62x_r5_usbdfu.config @@ -1,7 +1,7 @@ CONFIG_SPL_ENV_SUPPORT=y CONFIG_SYSCON=y CONFIG_SPL_SYSCON=y -CONFIG_SYS_DFU_DATA_BUF_SIZE=0x5000 +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x40000 CONFIG_MISC=y CONFIG_USB=y CONFIG_DM_USB_GADGET=y -- 2.34.1

On Fri, 20 Dec 2024 15:53:34 -0600, Jonathan Humphreys wrote:
OSPI flash writing was broken on am62x SKs as the OSPI flash device has a 256k sector size but was set to 20k. This breaks OSPI flash writes because the current implementation of the SF DFU backend requires that the DFU data buffer size be the same as the sector erase size, and the USB DFU config fragment (for both A53 and R5) reduced the size of the DFU data buffer, presumably so that it can fit into SPL's much smaller heap.
[...]
Applied to u-boot/master, thanks!
participants (4)
-
Jonathan Humphreys
-
Mattijs Korpershoek
-
Roger Quadros
-
Tom Rini