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