mbox series

[V4,0/3] ARM: dts: bcm2711: Add BCM2711 xHCI support

Message ID 20231205200531.8232-1-wahrenst@gmx.net
Headers show
Series ARM: dts: bcm2711: Add BCM2711 xHCI support | expand

Message

Stefan Wahren Dec. 5, 2023, 8:05 p.m. UTC
In contrast to the Raspberry Pi 4, the Compute Module 4 or the IO board
does not have a VL805 USB 3.0 host controller, which is connected via
PCIe. Instead, the Compute Module provides the built-in
xHCI of the BCM2711 SoC.

Changes in V4:
- use "brcm,xhci-brcm-v2" as fallback compatible as suggested by
  Conor & Florian

Changes in V3:
- introduce a new compatible for BCM2711 in order to make the
  power domain dependency SoC specific, which also results in
  a driver change

Changes in V2:
- adjust xHCI compatible as suggested by Justin & Florian
- keep xHCI disabled in order to let the bootloader decide which
  USB block should be enabled, which result in a drop of patch 3

Stefan Wahren (3):
  dt-bindings: usb: xhci: add support for BCM2711
  usb: xhci: xhci-plat: Add support for BCM2711
  ARM: dts: bcm2711: Add BCM2711 xHCI support

 .../devicetree/bindings/usb/generic-xhci.yaml | 25 ++++++++++++++++---
 arch/arm/boot/dts/broadcom/bcm2711-rpi.dtsi   |  5 ++++
 arch/arm/boot/dts/broadcom/bcm2711.dtsi       | 14 +++++++++++
 drivers/usb/host/xhci-plat.c                  |  3 +++
 4 files changed, 44 insertions(+), 3 deletions(-)

--
2.34.1

Comments

Florian Fainelli Dec. 5, 2023, 10:51 p.m. UTC | #1
On 12/5/23 12:05, Stefan Wahren wrote:
> The xHCI IP on the BCM2711 SoC is compatible to "brcm,xhci-brcm-v2",
> but also requires a power domain. So introduce a new compatible
> and the specific constraints. Since the key allOf can only occur
> once, merge the reference below.
> 
> Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
> Reviewed-by: Conor Dooley <conor.dooley@microchip.com>

Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
Florian Fainelli Dec. 5, 2023, 10:53 p.m. UTC | #2
On 12/5/23 12:05, Stefan Wahren wrote:
> The BCM2711 SoC also has a mostly generic xHCI. The USB port is
> currently only usable on the Compute Module 4 (e.g. via IO board).
> Because DWC2 and xHCI share the same PHY, we let the bootloader
> enable it on demand.
> 
> Signed-off-by: Stefan Wahren <wahrenst@gmx.net>

Tested-by: Florian Fainelli <florian.fainelli@broadcom.com>
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>