Merge tag 'trace-v5.15-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt...
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / usb / usb-drd.yaml
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
7 title: Generic USB OTG Controller Device Tree Bindings
8
9 maintainers:
10   - Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11
12 properties:
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     enum: [0x0100, 0x0120, 0x0130, 0x0200]
22
23   dr_mode:
24     description:
25       Tells Dual-Role USB controllers that we want to work on a particular
26       mode. In case this attribute isn't passed via DT, USB DRD controllers
27       should default to OTG.
28     $ref: /schemas/types.yaml#/definitions/string
29     enum: [host, peripheral, otg]
30
31   hnp-disable:
32     description:
33       Tells OTG controllers we want to disable OTG HNP. Normally HNP is the
34       basic function of real OTG except you want it to be a srp-capable only B
35       device.
36     type: boolean
37
38   srp-disable:
39     description:
40       Tells OTG controllers we want to disable OTG SRP. SRP is optional for OTG
41       device.
42     type: boolean
43
44   adp-disable:
45     description:
46       Tells OTG controllers we want to disable OTG ADP. ADP is optional for OTG
47       device.
48     type: boolean
49
50   usb-role-switch:
51     description:
52       Indicates that the device is capable of assigning the USB data role
53       (USB host or USB device) for a given USB connector, such as Type-C,
54       Type-B(micro). See connector/usb-connector.yaml.
55
56   role-switch-default-mode:
57     description:
58       Indicates if usb-role-switch is enabled, the device default operation
59       mode of controller while usb role is USB_ROLE_NONE.
60     $ref: /schemas/types.yaml#/definitions/string
61     enum: [host, peripheral]
62     default: peripheral
63
64 additionalProperties: true
65
66 examples:
67   - |
68     usb@4a030000 {
69         compatible = "snps,dwc3";
70         reg = <0x4a030000 0xcfff>;
71         interrupts = <0 92 4>;
72         usb-phy = <&usb2_phy>, <&usb3_phy>;
73         maximum-speed = "super-speed";
74         dr_mode = "otg";
75         phy_type = "utmi_wide";
76         otg-rev = <0x0200>;
77         adp-disable;
78     };