Merge branch 'pcmcia-next' of git://git.kernel.org/pub/scm/linux/kernel/git/brodo...
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / usb / generic.txt
1 Generic USB Properties
2
3 Optional properties:
4  - maximum-speed: tells USB controllers we want to work up to a certain
5                         speed. Valid arguments are "super-speed-plus",
6                         "super-speed", "high-speed", "full-speed" and
7                         "low-speed". In case this isn't passed via DT, USB
8                         controllers should default to their maximum HW
9                         capability.
10  - dr_mode: tells Dual-Role USB controllers that we want to work on a
11                         particular mode. Valid arguments are "host",
12                         "peripheral" and "otg". In case this attribute isn't
13                         passed via DT, USB DRD controllers should default to
14                         OTG.
15  - phy_type: tells USB controllers that we want to configure the core to support
16                         a UTMI+ PHY with an 8- or 16-bit interface if UTMI+ is
17                         selected. Valid arguments are "utmi" and "utmi_wide".
18                         In case this isn't passed via DT, USB controllers should
19                         default to HW capability.
20  - otg-rev: tells usb driver the release number of the OTG and EH supplement
21                         with which the device and its descriptors are compliant,
22                         in binary-coded decimal (i.e. 2.0 is 0200H). This
23                         property is used if any real OTG features(HNP/SRP/ADP)
24                         is enabled, if ADP is required, otg-rev should be
25                         0x0200 or above.
26  - companion: phandle of a companion
27  - hnp-disable: tells OTG controllers we want to disable OTG HNP, normally HNP
28                         is the basic function of real OTG except you want it
29                         to be a srp-capable only B device.
30  - srp-disable: tells OTG controllers we want to disable OTG SRP, SRP is
31                         optional for OTG device.
32  - adp-disable: tells OTG controllers we want to disable OTG ADP, ADP is
33                         optional for OTG device.
34  - usb-role-switch: boolean, indicates that the device is capable of assigning
35                         the USB data role (USB host or USB device) for a given
36                         USB connector, such as Type-C, Type-B(micro).
37                         see connector/usb-connector.yaml.
38  - role-switch-default-mode: indicating if usb-role-switch is enabled, the
39                         device default operation mode of controller while usb
40                         role is USB_ROLE_NONE. Valid arguments are "host" and
41                         "peripheral". Defaults to "peripheral" if not
42                         specified.
43
44
45 This is an attribute to a USB controller such as:
46
47 dwc3@4a030000 {
48         compatible = "synopsys,dwc3";
49         reg = <0x4a030000 0xcfff>;
50         interrupts = <0 92 4>
51         usb-phy = <&usb2_phy>, <&usb3,phy>;
52         maximum-speed = "super-speed";
53         dr_mode = "otg";
54         phy_type = "utmi_wide";
55         otg-rev = <0x0200>;
56         adp-disable;
57 };