[RFC PATCH 6/9] usb: xhci: Allow accessing 64-bit registers with DWORD accesses only

Bin Meng bmeng.cn at gmail.com
Wed Apr 22 08:00:29 CEST 2020


Hi Sylwester,

On Wed, Apr 22, 2020 at 12:51 AM Sylwester Nawrocki
<s.nawrocki at samsung.com> wrote:
>
> This patch adds a Kconfig option which allows accessing 64-bit xHCI
> IO registers only with 2 double word accesses rather than using
> a single quad word access. There might be HW configurations where
> single quad word access doesn't work, even though the CPU is 64-bit.
> That seems to be the case on rpi4 board with Broadcom BCM2711 SoC,
> where the VL805 USB xHCI hub is connected to the PCIe controller
> behind the SCB bridge.
>
> Signed-off-by: Sylwester Nawrocki <s.nawrocki at samsung.com>
> ---
> So far I couldn't come up with anything better to make the xHCI host
> controller working on the rpi4 board. For some reason dereferencing
> a 64-bit pointer to access 64-bit registers doesn't work there,
> might be a limitation of the PCIe bridge behind the SCB. In Linux
> always 2 double word accesses are used.

If Linux always uses 2 double word accesses, let's simply do the same
in U-Boot by removing the readq/writeq.

> ---
>  drivers/usb/host/Kconfig | 7 +++++++
>  include/usb/xhci.h       | 4 ++--
>  2 files changed, 9 insertions(+), 2 deletions(-)
>

Regards,
Bin


More information about the U-Boot mailing list