Data abort when starting DFU on SAMA5D2
Alexis Lothoré
alexis.lothore at bootlin.com
Thu Aug 3 09:54:40 CEST 2023
Hello Zixun, Eugen,
On 8/2/23 09:38, admin LI wrote:
> Hi Alexis,
>
> I've tried to USB gardet under u-boot without success (linux is ok).
>
> I've contacted Microchip support (No.01275010) and from them:
> "we confirmed with the internal team that USB is not fully functional with
> u-boot so for any query related to working of USB in u-boot we request you to
> create a NASCAR."
Thanks for the feedback and the status confirmation. I fell back with sam-ba for
the moment
Kind regards,
>
> Regards,
> Zixun
>
> On Wed, Aug 2, 2023 at 9:11 AM Eugen Hristev <eugen.hristev at collabora.com
> <mailto:eugen.hristev at collabora.com>> wrote:
>
> 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 <https://github.com/bootlin/snagboot>
>
--
Alexis Lothoré, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
More information about the U-Boot
mailing list