| # SPDX-License-Identifier: GPL-2.0 | |
| %YAML 1.2 | |
| --- | |
| $id: http://devicetree.org/schemas/usb/usb-drd.yaml# | |
| $schema: http://devicetree.org/meta-schemas/core.yaml# | |
| title: Generic USB OTG Controller | |
| maintainers: | |
| - Greg Kroah-Hartman <gregkh@linuxfoundation.org> | |
| properties: | |
| otg-rev: | |
| description: | |
| Tells usb driver the release number of the OTG and EH supplement with | |
| which the device and its descriptors are compliant, in binary-coded | |
| decimal (i.e. 2.0 is 0200H). This property is used if any real OTG | |
| features (HNP/SRP/ADP) is enabled. If ADP is required, otg-rev should be | |
| 0x0200 or above. | |
| $ref: /schemas/types.yaml#/definitions/uint32 | |
| enum: [0x0100, 0x0120, 0x0130, 0x0200] | |
| dr_mode: | |
| description: | |
| Tells Dual-Role USB controllers that we want to work on a particular | |
| mode. In case this attribute isn't passed via DT, USB DRD controllers | |
| should default to OTG. | |
| $ref: /schemas/types.yaml#/definitions/string | |
| enum: [host, peripheral, otg] | |
| default: otg | |
| hnp-disable: | |
| description: | |
| Tells OTG controllers we want to disable OTG HNP. Normally HNP is the | |
| basic function of real OTG except you want it to be a srp-capable only B | |
| device. | |
| type: boolean | |
| srp-disable: | |
| description: | |
| Tells OTG controllers we want to disable OTG SRP. SRP is optional for OTG | |
| device. | |
| type: boolean | |
| adp-disable: | |
| description: | |
| Tells OTG controllers we want to disable OTG ADP. ADP is optional for OTG | |
| device. | |
| type: boolean | |
| usb-role-switch: | |
| description: | |
| Indicates that the device is capable of assigning the USB data role | |
| (USB host or USB device) for a given USB connector, such as Type-C, | |
| Type-B(micro). See connector/usb-connector.yaml. | |
| role-switch-default-mode: | |
| description: | |
| Indicates if usb-role-switch is enabled, the device default operation | |
| mode of controller while usb role is USB_ROLE_NONE. | |
| $ref: /schemas/types.yaml#/definitions/string | |
| enum: [host, peripheral] | |
| default: peripheral | |
| additionalProperties: true | |
| examples: | |
| - | | |
| usb@4a030000 { | |
| compatible = "snps,dwc3"; | |
| reg = <0x4a030000 0xcfff>; | |
| interrupts = <0 92 4>; | |
| usb-phy = <&usb2_phy>, <&usb3_phy>; | |
| maximum-speed = "super-speed"; | |
| dr_mode = "otg"; | |
| phy_type = "utmi_wide"; | |
| otg-rev = <0x0200>; | |
| adp-disable; | |
| }; |