blob: 114fb5dc0498a63ef13a8546db7d823fea77ac7c [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# 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
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 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 default: otg
31
32 hnp-disable:
33 description:
34 Tells OTG controllers we want to disable OTG HNP. Normally HNP is the
35 basic function of real OTG except you want it to be a srp-capable only B
36 device.
37 type: boolean
38
39 srp-disable:
40 description:
41 Tells OTG controllers we want to disable OTG SRP. SRP is optional for OTG
42 device.
43 type: boolean
44
45 adp-disable:
46 description:
47 Tells OTG controllers we want to disable OTG ADP. ADP is optional for OTG
48 device.
49 type: boolean
50
51 usb-role-switch:
52 description:
53 Indicates that the device is capable of assigning the USB data role
54 (USB host or USB device) for a given USB connector, such as Type-C,
55 Type-B(micro). See connector/usb-connector.yaml.
56
57 role-switch-default-mode:
58 description:
59 Indicates if usb-role-switch is enabled, the device default operation
60 mode of controller while usb role is USB_ROLE_NONE.
61 $ref: /schemas/types.yaml#/definitions/string
62 enum: [host, peripheral]
63 default: peripheral
64
65additionalProperties: true
66
67examples:
68 - |
69 usb@4a030000 {
70 compatible = "snps,dwc3";
71 reg = <0x4a030000 0xcfff>;
72 interrupts = <0 92 4>;
73 usb-phy = <&usb2_phy>, <&usb3_phy>;
74 maximum-speed = "super-speed";
75 dr_mode = "otg";
76 phy_type = "utmi_wide";
77 otg-rev = <0x0200>;
78 adp-disable;
79 };