On 4/6/25 04:03, Bernhard Beschow wrote:


Am 6. April 2025 01:31:49 UTC schrieb Guenter Roeck <li...@roeck-us.net>:
On 4/5/25 12:28, Bernhard Beschow wrote:


Am 5. April 2025 17:26:14 UTC schrieb Guenter Roeck <li...@roeck-us.net>:
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

Hi Guenter,

thanks for testing the new board, much appreciated.


In this context: Did you get the PCIe interface to work ?
It instantiates for me, but interrupts don't get through.
This is with the latest Linux kernel.

Yeah, it works with Buildroot as described in the handbook. When I append 
`-netdev user,id=net0 -device virtio-net-pci,netdev=net0` on the cli I can 
`wget http://www.google.com` successfully. When I omit it there is no network 
connectivity. This is with a 6.6.23 vendor kernel.


I had no luck with virtio-net-pci. virtio-pci works for me, but I can not get 
real PCI devices
(such as nvme or scsi adapters) to work.

However, even with your USB patches applied, PCIe and USB are non-functional on 
the latest aarch64 Arch Linux kernel (v6.14 [1]):

   [   21.102444] platform 32f10108.usb: deferred probe pending: platform: 
supplier 32f10000.blk-ctrl not ready
   [   21.102914] platform 32f00000.pcie-phy: deferred probe pending: platform: 
supplier 32f10000.blk-ctrl not ready

I suspect that some bits need to indicate stable PLLs or similar, but that 
needs further investigation.


Hmm, I had that too, but then I found that it works for me with the latest 
upstream
kernel. Try the patches at http://server.roeck-us.net/qemu/xhci/patches-pca/
to see if it helps. The PMIC (PCA9450) may have to be present.

You might also need to check the configuration. I just tried with 6.14 again, 
and
it works for me even without above patches. I played around with the 
configuration
to get to that point, but I don't remember what exactly what I did to make it 
work
(sorry).

Guenter


Reply via email to