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 7title: Generic USB OTG Controller Device Tree Bindings 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 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 64additionalProperties: true 65 66examples: 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 }; 79