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
hw/usb/hcd-dwc3.c | 1 +
hw/usb/hcd-xhci.c | 8 +++++++-
hw/usb/hcd-xhci.h | 1 +
3 files changed, 9 insertions(+), 1 deletion(-)