# 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; };