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." Regards, Zixun On Wed, Aug 2, 2023 at 9:11 AM Eugen Hristev <eugen.hris...@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 > >