Am 6. April 2025 15:30:42 UTC schrieb Guenter Roeck <li...@roeck-us.net>:
>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.
I now tested with the latest Buildroot recipe, changing to upstream kernel
version 6.14 and using the defconfig. The `wget` command still works for me
with virtio-net-pci. However, I can confirm that I need your xhci patches for
the usb storage device to be detected.
>
>> 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.
I have this issue with Arch Linux but not with Buildroot. Strange.
Best regards,
Bernhard
>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
>