[PATCH v2 3/6] configs: xilinx_versal_virt: disable USB_DWC3

Heinrich Schuchardt heinrich.schuchardt at canonical.com
Tue Nov 26 09:05:47 CET 2024


On 11/26/24 08:56, Michal Simek wrote:
> 
> 
> On 11/25/24 21:09, Heinrich Schuchardt wrote:
>>
>>
>> Michal Simek <michal.simek at amd.com <mailto:michal.simek at amd.com>> 
>> schrieb am Mo., 25. Nov. 2024, 19:04:
>>
>>
>>
>>     On 11/25/24 11:35, Heinrich Schuchardt wrote:
>>      > On 25.11.24 11:02, Michal Simek wrote:
>>      >>
>>      >>
>>      >> On 11/25/24 10:21, Heinrich Schuchardt wrote:
>>      >>> On 11/25/24 09:32, Michal Simek wrote:
>>      >>>>
>>      >>>>
>>      >>>> On 11/23/24 22:45, Heinrich Schuchardt wrote:
>>      >>>>> The CI uses the following command to launch 
>> xilinx_versal_virt_defconfig:
>>      >>>>>
>>      >>>>>      qemu-system-aarch64 -M xlnx-versal-virt \
>>      >>>>>      -display none -m 4G -serial mon:stdio \
>>      >>>>>      -device loader,file=u-boot,cpu-num=0
>>      >>>>>
>>      >>>>> 'usb start' or invoking eth_bootdev_hunt leads to a crash 
>> when function
>>      >>>>> dwc3_core_init() tries to access a register at offset 
>> 0xc704 (DWC3_DCTL)
>>      >>>>> relative to the register start address 0xfe20c100.
>>      >>>>>
>>      >>>>> Disable CONFIG_USB_DWC3 until the driver problem is fixed.
>>      >>>>>
>>      >>>>> Signed-off-by: Heinrich Schuchardt 
>> <heinrich.schuchardt at canonical.com
>>     <mailto:heinrich.schuchardt at canonical.com>>
>>      >>>>> ---
>>      >>>>> v2:
>>      >>>>>     new patch
>>      >>>>> ---
>>      >>>>>   configs/xilinx_versal_virt_defconfig | 2 --
>>      >>>>>   1 file changed, 2 deletions(-)
>>      >>>>>
>>      >>>>> diff --git a/configs/xilinx_versal_virt_defconfig b/configs/
>>      >>>>> xilinx_versal_virt_defconfig
>>      >>>>> index c8f166c1221..06a240173ba 100644
>>      >>>>> --- a/configs/xilinx_versal_virt_defconfig
>>      >>>>> +++ b/configs/xilinx_versal_virt_defconfig
>>      >>>>> @@ -153,8 +153,6 @@ CONFIG_USB=y
>>      >>>>>   CONFIG_DM_USB_GADGET=y
>>      >>>>>   CONFIG_USB_XHCI_HCD=y
>>      >>>>>   CONFIG_USB_XHCI_DWC3=y
>>      >>>>> -CONFIG_USB_DWC3=y
>>      >>>>> -CONFIG_USB_DWC3_GENERIC=y
>>      >>>>>   CONFIG_USB_ULPI_VIEWPORT=y
>>      >>>>>   CONFIG_USB_ULPI=y
>>      >>>>>   CONFIG_USB_GADGET=y
>>      >>>>
>>      >>>> NACK. That's not the way to go. If one test is failing in CI 
>> disable that
>>      >>>> test not really support which is for HW too.
>>      >>>>
>>      >>>> Thanks,
>>      >>>> Michal
>>      >>>
>>      >>> Hello Michal,
>>      >>>
>>      >>> It is not that a single test fails. USB is completely 
>> unusable on the
>>     board.
>>      >>> 'usb start' leads to an immediate crash.
>>      >>
>>      >> I am not applying any patches on SOM with HEAD and usb is 
>> partially working.
>>      >
>>      > Don't you see a crash when executing 'usb start'?
>>      > What QEMU are you using?
>>      >
>>      >> I can agree that it is not super stable with upstream only 
>> patches but
>>     that's
>>      >> different story.
>>      >>
>>      >>>
>>      >>> The problem already existed in v2021.01.
>>      >>
>>      >> Any log?
>>      >
>>      > $ git reset --hard origin/master
>>      > $ make xilinx_versal_virt_defconfig
>>      > $ CROSS_COMPILE=aarch64-linux-gnu- make -j$(nproc)
>>      > $ qemu-system-riscv64 --version
>>      > QEMU emulator version 9.0.2 (Debian 1:9.0.2+ds-4ubuntu7)
>>      > $ qemu-system-aarch64 -M xlnx-versal-virt \
>>      >  > -display none -m 4G -serial mon:stdio \
>>      >  > -device loader,file=u-boot,cpu-num=0
>>      >
>>      >
>>      > U-Boot 2025.01-rc2-00172-g880fcc49eb40 (Nov 25 2024 - 11:18:35 
>> +0100)
>>      >
>>      > CPU:   UNKNOWN
>>      > Model: Xilinx Versal Virtual development board
>>      > DRAM:  2 GiB (effective 4 GiB)
>>      > EL Level:       EL3
>>      > Core:  32 devices, 13 uclasses, devicetree: board
>>      > Warning: Device tree includes old 'u-boot,dm-' tags: please fix 
>> by 2023.07!
>>      > MMC:   sdhci at f1040000: 0, sdhci at f1050000: 1
>>      > Loading Environment from nowhere... OK
>>      > In:    uart at ff000000
>>      > Out:   uart at ff000000
>>      > Err:   uart at ff000000
>>      > Bootmode: JTAG_MODE
>>      > Net:
>>      > ZYNQ GEM: ff0c0000, mdio bus ff0c0000, phyaddr 0, interface 
>> rgmii-id
>>      >
>>      > Warning: ethernet at ff0c0000 (eth0) using random MAC address -
>>     5e:f6:37:a3:68:24
>>      > eth0: ethernet at ff0c0000
>>      > ZYNQ GEM: ff0d0000, mdio bus ff0d0000, phyaddr 0, interface 
>> rgmii-id
>>      >
>>      > Warning: ethernet at ff0d0000 (eth1) using random MAC address -
>>     5e:8a:ec:a9:d7:e8
>>      > , eth1: ethernet at ff0d0000
>>      > MMC: no card present
>>      > MMC: no card present
>>      > Cannot persist EFI variables without system partition
>>      > Missing TPMv2 device for EFI_TCG_PROTOCOL
>>      > Missing RNG device for EFI_RNG_PROTOCOL
>>      > Hit any key to stop autoboot:  0
>>      > Versal> usb start
>>      > starting USB...
>>      > Bus dwc3 at fe200000: "Synchronous Abort" handler, esr 0x96000050
>>      > elr: 0000000008068fd8 lr : 0000000008069940 (reloc)
>>      > elr: 000000007ff17fd8 lr : 000000007ff18940
>>      > x0 : 00000000fe20c100 x1 : 0000000040000000
>>      > x2 : 0000000033310000 x3 : 000000000000003f
>>      > x4 : 000000007ffa74b0 x5 : 000000007c112880
>>      > x6 : 000000007ffa74c0 x7 : 000000007c300000
>>      > x8 : 0000000000000684 x9 : 000000007bda668c
>>      > x10: 0000000000000003 x11: 0000000000000188
>>      > x12: 0000000000000000 x13: 000000007bda6be0
>>      > x14: 0000000000000000 x15: 000000007bda6224
>>      > x16: 000000007fee9244 x17: 0000000000000000
>>      > x18: 000000007bea6be0 x19: 000000007c111b48
>>      > x20: 000000007c111240 x21: 0000000047822004
>>      > x22: 000000007ff998b2 x23: 000000007ff998e8
>>      > x24: 000000007ffd4514 x25: 0000000000000000
>>      > x26: 0000000000000000 x27: 000000007c111130
>>      > x28: 000000007c1110d0 x29: 000000007bda67b0
>>      >
>>      > Code: b9030660 f9416e60 d5033fbf 52a80001 (b9060401)
>>      > Resetting CPU ...
>>      >
>>      > resetting ...
>>      >
>>      > $ cat u-boot.map
>>      >   .text.dwc3_core_init
>>      >                  0x0000000008068f24      0x6a0 drivers/usb/ 
>> dwc3/core.o
>>      >   .text.dwc3_of_parse
>>      >                  0x00000000080695c4      0x310 drivers/usb/ 
>> dwc3/core.o
>>      >                  0x00000000080695c4                dwc3_of_parse
>>      >
>>      >>
>>      >>> Do you know of any QEMU/U-Boot combination where USB ever 
>> worked on the
>>     board?
>>      >>
>>      >> Why was this visible in CI in past and why this pops up now?
>>      >> What has changed? I don't think there was any change in QEMu 
>> regarding
>>     USB but
>>      >> I can double check.
>>      >
>>      > We never started USB in the CI.
>>      > With patch 6/6 of the series usb_bootdev_hunter() is invoked 
>> which starts
>>     USB.
>>
>>     Did you push this to gitlab CI? Which test/py is failing there?
>>
>>     M
>>
>>
>>
>>
>>
>>
>> This is the failed job.
>> https://source.denx.de/u-boot/custodians/u-boot-efi/-/jobs/955501 
>> <https:// source.denx.de/u-boot/custodians/u-boot-efi/-/jobs/955501>
>>
>> https://source.denx.de/u-boot/custodians/u-boot-efi/-/ 
>> commit/636a4f4793d4d5098afdd46b00205c7bb245570c <https:// 
>> source.denx.de/u-boot/ custodians/u-boot-efi/-/ 
>> commit/636a4f4793d4d5098afdd46b00205c7bb245570c>
>>
> 
> I can't see any issue when I apply this series on the top of rc3
> 
> https://source.denx.de/u-boot/custodians/u-boot-microblaze/-/ 
> pipelines/23565

Hello Michal,

The link 
https://source.denx.de/u-boot/custodians/u-boot-microblaze/-/pipelines/23565 
is not valid for me (404 Page not found).

Could you, please, indicate the branch and commit.

Best regards

Heinrich


More information about the U-Boot mailing list