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

Platform DesignWare HS OTG USB 2.0 controller
-----------------------------------------------------

Required properties:
- compatible : One of:
  - brcm,bcm2835-usb: The DWC2 USB controller instance in the BCM2835 SoC.
  - hisilicon,hi6220-usb: The DWC2 USB controller instance in the hi6220 SoC.
  - rockchip,rk3066-usb: The DWC2 USB controller instance in the rk3066 Soc;
  - "rockchip,px30-usb", "rockchip,rk3066-usb", "snps,dwc2": for px30 Soc;
  - "rockchip,rk3188-usb", "rockchip,rk3066-usb", "snps,dwc2": for rk3188 Soc;
  - "rockchip,rk3288-usb", "rockchip,rk3066-usb", "snps,dwc2": for rk3288 Soc;
  - "lantiq,arx100-usb": The DWC2 USB controller instance in Lantiq ARX SoCs;
  - "lantiq,xrx200-usb": The DWC2 USB controller instance in Lantiq XRX SoCs;
  - "amlogic,meson8-usb": The DWC2 USB controller instance in Amlogic Meson8 SoCs;
  - "amlogic,meson8b-usb": The DWC2 USB controller instance in Amlogic Meson8b SoCs;
  - "amlogic,meson-gxbb-usb": The DWC2 USB controller instance in Amlogic S905 SoCs;
  - "amlogic,meson-g12a-usb": The DWC2 USB controller instance in Amlogic G12A SoCs;
  - "amcc,dwc-otg": The DWC2 USB controller instance in AMCC Canyonlands 460EX SoCs;
  - snps,dwc2: A generic DWC2 USB controller with default parameters.
  - "st,stm32f4x9-fsotg": The DWC2 USB FS/HS controller instance in STM32F4x9 SoCs
  configured in FS mode;
  - "st,stm32f4x9-hsotg": The DWC2 USB HS controller instance in STM32F4x9 SoCs
  configured in HS mode;
  - "st,stm32f7-hsotg": The DWC2 USB HS controller instance in STM32F7 SoCs
    configured in HS mode;
- reg : Should contain 1 register range (address and length)
- interrupts : Should contain 1 interrupt
- clocks: clock provider specifier
- clock-names: shall be "otg"
Refer to clk/clock-bindings.txt for generic clock consumer properties

Optional properties:
- phys: phy provider specifier
- phy-names: shall be "usb2-phy"
- vbus-supply: reference to the VBUS regulator. Depending on the current mode
  this is enabled (in "host" mode") or disabled (in "peripheral" mode). The
  regulator is updated if the controller is configured in "otg" mode and the
  status changes between "host" and "peripheral".
Refer to phy/phy-bindings.txt for generic phy consumer properties
- dr_mode: shall be one of "host", "peripheral" and "otg"
  Refer to usb/generic.txt
- g-rx-fifo-size: size of rx fifo size in gadget mode.
- g-np-tx-fifo-size: size of non-periodic tx fifo size in gadget mode.
- g-tx-fifo-size: size of periodic tx fifo per endpoint (except ep0) in gadget mode.
- snps,need-phy-for-wake: If present indicates that the phy needs to be left
                          on for remote wakeup during suspend.
- snps,reset-phy-on-wake: If present indicates that we need to reset the PHY when
                          we detect a wakeup.  This is due to a hardware errata.

Deprecated properties:
- g-use-dma: gadget DMA mode is automatically detected

Example:

        usb@101c0000 {
                compatible = "ralink,rt3050-usb, snps,dwc2";
                reg = <0x101c0000 40000>;
                interrupts = <18>;
		clocks = <&usb_otg_ahb_clk>;
		clock-names = "otg";
		phys = <&usbphy>;
		phy-names = "usb2-phy";
		snps,need-phy-for-wake;
        };