• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# SPDX-License-Identifier: GPL-2.0
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/usb/usb-drd.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Generic USB OTG Controller Device Tree Bindings
8
9maintainers:
10  - Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11
12properties:
13  otg-rev:
14    description:
15      Tells usb driver the release number of the OTG and EH supplement with
16      which the device and its descriptors are compliant, in binary-coded
17      decimal (i.e. 2.0 is 0200H). This property is used if any real OTG
18      features (HNP/SRP/ADP) is enabled. If ADP is required, otg-rev should be
19      0x0200 or above.
20    $ref: /schemas/types.yaml#/definitions/uint32
21
22  dr_mode:
23    description:
24      Tells Dual-Role USB controllers that we want to work on a particular
25      mode. In case this attribute isn't passed via DT, USB DRD controllers
26      should default to OTG.
27    $ref: /schemas/types.yaml#/definitions/string
28    enum: [host, peripheral, otg]
29
30  hnp-disable:
31    description:
32      Tells OTG controllers we want to disable OTG HNP. Normally HNP is the
33      basic function of real OTG except you want it to be a srp-capable only B
34      device.
35    type: boolean
36
37  srp-disable:
38    description:
39      Tells OTG controllers we want to disable OTG SRP. SRP is optional for OTG
40      device.
41    type: boolean
42
43  adp-disable:
44    description:
45      Tells OTG controllers we want to disable OTG ADP. ADP is optional for OTG
46      device.
47    type: boolean
48
49  usb-role-switch:
50    description:
51      Indicates that the device is capable of assigning the USB data role
52      (USB host or USB device) for a given USB connector, such as Type-C,
53      Type-B(micro). See connector/usb-connector.yaml.
54
55  role-switch-default-mode:
56    description:
57      Indicates if usb-role-switch is enabled, the device default operation
58      mode of controller while usb role is USB_ROLE_NONE.
59    $ref: /schemas/types.yaml#/definitions/string
60    enum: [host, peripheral]
61    default: peripheral
62
63additionalProperties: true
64
65examples:
66  - |
67    usb@4a030000 {
68        compatible = "snps,dwc3";
69        reg = <0x4a030000 0xcfff>;
70        interrupts = <0 92 4>;
71        usb-phy = <&usb2_phy>, <&usb3_phy>;
72        maximum-speed = "super-speed";
73        dr_mode = "otg";
74        phy_type = "utmi_wide";
75        otg-rev = <0x0200>;
76        adp-disable;
77    };
78