Data abort when starting DFU on SAMA5D2

Eugen Hristev eugen.hristev at collabora.com
Wed Aug 2 09:11:22 CEST 2023


Hi Alexis,

On 8/1/23 10:09, Alexis Lothoré wrote:
> Hi,
> I am currently using an ATSAMA5D27-WLSOM1-EK1. This boards embeds an
> ATSAMA5D27-WLSOM1, which in turns holds an ATSAMA5D27 and a 8MB QSPI flash. I
> have been wanting to program u-boot in the QSPI flash thanks to DFU, since the
> board is able to boot from QSPI and is supported in uboot. To do so, I have
> executed the following steps:
> - check out recent uboot version (2023.07.02, but issed described below is
> observed on master too)
> - load sama5d27_wlsom1_ek_qspiflash_defconfig
> - tune the configuration to enable DFU:
>    - CONFIG_CMD_DFU=y
>    - CONFIG_DFU_SF=y
>    - CONFIG_USB_GADGET_DOWNLOAD=y
> - build uboot, upload and run it onto external ram thanks to snagrecover ([1]).
>    - running "bdinfo" shows that board is properly defined/recognized
>    - "sf probe" properly detects the qspi flash chip
> - in u-boot console, configure dfu:
>    - setenv dfu_alt_info uboot raw 0 0x80000
> - start DFU:
>    - dfu 0 sf 2:0
> 
> Unfortunately, this step systematically and immediately leads to a data abort
> with the following log:
> 
> => dfu 0 sf 2:0
> data abort
> pc : [<2fda9ee0>]	   lr : [<2fd8dc08>]
> reloc pc : [<26f3fee0>]lr : [<26f23c08>]
> sp : 2f963fe8  ip : 2f9829cc	 fp : 00000000
> r10: 2fde1cd9  r9 : 2f969e80	 r8 : 2fdfc304
> r7 : 00000000  r6 : 00000000	 r5 : 2fdf3034  r4 : 2f982948
> r3 : 0a299cfc  r2 : ffffffec	 r1 : 00000000  r0 : 00000000
> Flags: nzCv  IRQs off  FIQs off  Mode SVC_32
> Code: e5843058 e5950004 e3a01000 e5903008 (e5933008)
> Resetting CPU ...
> 
> resetting ...
> System reset not supported on this platform
> ### ERROR ### Please RESET the board ###
> 
> A quick translation with addr2line shows that the data abort occurs in
> include/linux/usb/gagdet.h, in usb_ep_alloc_request, likely because of ep being
> NULL, which seems confirmed by adding some custom logs in both
> usb_ep_alloc_request and its caller (composite_bind). Before digging further,
> does anyone have successfully used DFU on SAMA5D2 boards (and if so, am I
> missing something in the configuration) ? Or does this data abort show that some
> support is still missing to make it work for SAMA5D2 ?

I believe this is related to the gadget more than DFU itself.
Zixun LI (in CC) has attempted gadget on this platform at some point.

Mihai (also in CC) has did some tests with USB on this platform as well.
Cristian has more knowledge of the USB implementation on sama5d2.

Eugen

> 
> Kind regards,
> Alexis
> 
> [1] https://github.com/bootlin/snagboot



More information about the U-Boot mailing list