R-Car/How-to-describe-device-tree-for-R-Car-Gen3-USB2-DRD-channel

From eLinux.org
< R-Car
Revision as of 00:48, 28 June 2021 by Shimoda (talk | contribs) (Created page with "== Overview == When we would like to use a USB2.0 DRD channel of R-Car Gen3 SoCs, the following device nodes require "dr_mode" properties in your device tree. Otherwise, sinc...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Overview

When we would like to use a USB2.0 DRD channel of R-Car Gen3 SoCs, the following device nodes require "dr_mode" properties in your device tree. Otherwise, since phy-rcar-gen3-usb2.c driver doesn't initialize specific registers, the USB2.0 channel doesn't work correctly.

  • ehci0
  • ohci0
  • hsusb
  • ehci3 (if r8a77951)
  • ohci3 (if r8a77951)
  • hsusb3 (if r8a77951)

A "dr_mode" property can have "otg", "host" or "peripheral".

Optional property "renesas,no-otg-pins"

We can set "renesas,no-otg-pins" to the following device nodes to avoid checking of ID pins for "host" or "peripheral" mode.

  • usb2_phy0
  • usb3_phy3 (if r8a77951)

Summary

dr_mode Initial mode Reference
"otg" Act as host or peripheral (depends on ID signal) salvator-common.dtsi, r8a77951-salvator-xs.dts
"host" Act as host r8a77995-draak.dts
"peripheral" Act as peripheral n/a