On 4/5/25 07:25, Philippe Mathieu-Daudé wrote:
Hi Guenter,
On 5/4/25 16:00, Guenter Roeck wrote:
This series is needed to support the USB interface on imx8mp-evk when
booting the Linux kernel.
According to the XHCI specification, ERSTBA should be written in Low-High
order. The Linux kernel writes the high word first. This results in an
initialization failure.
The following information is found in the Linux kernel commit log.
[Synopsys]- The host controller was design to support ERST setting
during the RUN state. But since there is a limitation in controller
in supporting separate ERSTBA_HI and ERSTBA_LO programming,
It is supported when the ERSTBA is programmed in 64bit,
or in 32 bit mode ERSTBA_HI before ERSTBA_LO
[Synopsys]- The internal initialization of event ring fetches
the "Event Ring Segment Table Entry" based on the indication of
ERSTBA_LO written.
Add property to support writing the high word first. Enable it
for dwc3.
----------------------------------------------------------------
Guenter Roeck (2):
hw: usb: xhci: Add property to support writing ERSTBA in high-low order
hw/usb/hcd-dwc3: Set erstba-hi-lo property
What about using .impl.min_access_size = 8 instead?
Could you try this patch, or provide me with a reproducer?
You should find everything you need to reproduce the problem at
http://server.roeck-us.net/qemu/xhci/
Please let me know if you need anything else.
Thanks,
Guenter