XHCI bringup on the Raspberry Pi 4

Nicolas Saenz Julienne nsaenzjulienne at suse.de
Mon Apr 13 17:45:47 CEST 2020


Hi Bin,
sorry for the late reply but I was off for easter.

On Fri, 2020-04-03 at 13:54 +0800, Bin Meng wrote:
> Hi Nicolas,
> This is probably caused by the required structure setup by U-Boot is
> viewed as buggy by the xHCI controller, hence there is no response to
> the first "enable slot" command.

Yes, that's my impression too. That said I can't seem to find the faulty
config.

Since I wasn't all that clear on my previous mail, this is a VIA805 chip,
directly soldered on the board and interfaced with trough RPi4's PCIe bus (the
PCIe bus isn't exposed, so it's the only user). The Linux version of this works
fine, and is already supported upstream.

> Could you please compare all the data structures, with the one set up
> by the Linux kernel?

I've attached some logs comparing u-boot's and Linux's view of the registers. I
dumped them before and after calling the 'enable slot' command. I left all the
debuging information just in case it's helpful and also attached some patches
to show my changes.

Note that I thoughfully compared them myself. The only odd thing I found was
"USBSTS: 0x10" (Port Detect Change is set), which isn't the case in Linux. I
tried to clear it at different places (before and after changing the individual
port status), without effect.

That's all. If the data I sent is a little bit too dense, please tell me and
I'll remove all the less important stuff :).

Regards,
Nicolas

-------------- next part --------------
A non-text attachment was scrubbed...
Name: linux.log
Type: text/x-log
Size: 33624 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20200413/4de8e04c/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: linux.patch
Type: text/x-patch
Size: 3435 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20200413/4de8e04c/attachment-0001.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: u-boot.log
Type: text/x-log
Size: 14260 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20200413/4de8e04c/attachment-0002.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: u-boot.patch
Type: text/x-patch
Size: 3895 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20200413/4de8e04c/attachment-0003.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: This is a digitally signed message part
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20200413/4de8e04c/attachment.sig>


More information about the U-Boot mailing list