XHCI bringup on the Raspberry Pi 4

Bin Meng bmeng.cn at gmail.com
Wed Apr 22 07:55:27 CEST 2020


Hi Nicolas,

On Mon, Apr 13, 2020 at 11:45 PM Nicolas Saenz Julienne
<nsaenzjulienne at suse.de> wrote:
>
> 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 :).
>

The following patch should fix this issue you were seeing. Please try.
http://patchwork.ozlabs.org/project/uboot/patch/20200421165059.19394-2-s.nawrocki@samsung.com/

Regards,
Bin


More information about the U-Boot mailing list