Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

USB xHCI controllers

Required properties:
  - compatible: should be one or more of

    - "generic-xhci" for generic XHCI device
    - "marvell,armada3700-xhci" for Armada 37xx SoCs
    - "marvell,armada-375-xhci" for Armada 375 SoCs
    - "marvell,armada-380-xhci" for Armada 38x SoCs
    - "renesas,xhci-r8a7743" for r8a7743 SoC
    - "renesas,xhci-r8a7744" for r8a7744 SoC
    - "renesas,xhci-r8a774a1" for r8a774a1 SoC
    - "renesas,xhci-r8a774c0" for r8a774c0 SoC
    - "renesas,xhci-r8a7790" for r8a7790 SoC
    - "renesas,xhci-r8a7791" for r8a7791 SoC
    - "renesas,xhci-r8a7793" for r8a7793 SoC
    - "renesas,xhci-r8a7795" for r8a7795 SoC
    - "renesas,xhci-r8a7796" for r8a7796 SoC
    - "renesas,xhci-r8a77965" for r8a77965 SoC
    - "renesas,xhci-r8a77990" for r8a77990 SoC
    - "renesas,rcar-gen2-xhci" for a generic R-Car Gen2 or RZ/G1 compatible
      device
    - "renesas,rcar-gen3-xhci" for a generic R-Car Gen3 or RZ/G2 compatible
      device
    - "xhci-platform" (deprecated)

    When compatible with the generic version, nodes must list the
    SoC-specific version corresponding to the platform first
    followed by the generic version.

  - reg: should contain address and length of the standard XHCI
    register set for the device.
  - interrupts: one XHCI interrupt should be described here.

Optional properties:
  - clocks: reference to the clocks
  - clock-names: mandatory if there is a second clock, in this case
    the name must be "core" for the first clock and "reg" for the
    second one
  - usb2-lpm-disable: indicate if we don't want to enable USB2 HW LPM
  - usb3-lpm-capable: determines if platform is USB3 LPM capable
  - quirk-broken-port-ped: set if the controller has broken port disable mechanism
  - imod-interval-ns: default interrupt moderation interval is 5000ns
  - phys : see usb-hcd.yaml in the current directory

additionally the properties from usb-hcd.yaml (in the current directory) are
supported.


Example:
	usb@f0931000 {
		compatible = "generic-xhci";
		reg = <0xf0931000 0x8c8>;
		interrupts = <0x0 0x4e 0x0>;
	};