1 # SPDX-License-Identifier: GPL-2.0 1 # SPDX-License-Identifier: GPL-2.0 2 %YAML 1.2 2 %YAML 1.2 3 --- 3 --- 4 $id: http://devicetree.org/schemas/usb/usb-drd 4 $id: http://devicetree.org/schemas/usb/usb-drd.yaml# 5 $schema: http://devicetree.org/meta-schemas/co 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 6 6 7 title: Generic USB OTG Controller 7 title: Generic USB OTG Controller 8 8 9 maintainers: 9 maintainers: 10 - Greg Kroah-Hartman <gregkh@linuxfoundation. 10 - Greg Kroah-Hartman <gregkh@linuxfoundation.org> 11 11 12 properties: 12 properties: 13 otg-rev: 13 otg-rev: 14 description: 14 description: 15 Tells usb driver the release number of t 15 Tells usb driver the release number of the OTG and EH supplement with 16 which the device and its descriptors are 16 which the device and its descriptors are compliant, in binary-coded 17 decimal (i.e. 2.0 is 0200H). This proper 17 decimal (i.e. 2.0 is 0200H). This property is used if any real OTG 18 features (HNP/SRP/ADP) is enabled. If AD 18 features (HNP/SRP/ADP) is enabled. If ADP is required, otg-rev should be 19 0x0200 or above. 19 0x0200 or above. 20 $ref: /schemas/types.yaml#/definitions/uin 20 $ref: /schemas/types.yaml#/definitions/uint32 21 enum: [0x0100, 0x0120, 0x0130, 0x0200] 21 enum: [0x0100, 0x0120, 0x0130, 0x0200] 22 22 23 dr_mode: 23 dr_mode: 24 description: 24 description: 25 Tells Dual-Role USB controllers that we 25 Tells Dual-Role USB controllers that we want to work on a particular 26 mode. In case this attribute isn't passe 26 mode. In case this attribute isn't passed via DT, USB DRD controllers 27 should default to OTG. 27 should default to OTG. 28 $ref: /schemas/types.yaml#/definitions/str 28 $ref: /schemas/types.yaml#/definitions/string 29 enum: [host, peripheral, otg] 29 enum: [host, peripheral, otg] 30 default: otg 30 default: otg 31 31 32 hnp-disable: 32 hnp-disable: 33 description: 33 description: 34 Tells OTG controllers we want to disable 34 Tells OTG controllers we want to disable OTG HNP. Normally HNP is the 35 basic function of real OTG except you wa 35 basic function of real OTG except you want it to be a srp-capable only B 36 device. 36 device. 37 type: boolean 37 type: boolean 38 38 39 srp-disable: 39 srp-disable: 40 description: 40 description: 41 Tells OTG controllers we want to disable 41 Tells OTG controllers we want to disable OTG SRP. SRP is optional for OTG 42 device. 42 device. 43 type: boolean 43 type: boolean 44 44 45 adp-disable: 45 adp-disable: 46 description: 46 description: 47 Tells OTG controllers we want to disable 47 Tells OTG controllers we want to disable OTG ADP. ADP is optional for OTG 48 device. 48 device. 49 type: boolean 49 type: boolean 50 50 51 usb-role-switch: 51 usb-role-switch: 52 description: 52 description: 53 Indicates that the device is capable of 53 Indicates that the device is capable of assigning the USB data role 54 (USB host or USB device) for a given USB 54 (USB host or USB device) for a given USB connector, such as Type-C, 55 Type-B(micro). See connector/usb-connect 55 Type-B(micro). See connector/usb-connector.yaml. 56 56 57 role-switch-default-mode: 57 role-switch-default-mode: 58 description: 58 description: 59 Indicates if usb-role-switch is enabled, 59 Indicates if usb-role-switch is enabled, the device default operation 60 mode of controller while usb role is USB 60 mode of controller while usb role is USB_ROLE_NONE. 61 $ref: /schemas/types.yaml#/definitions/str 61 $ref: /schemas/types.yaml#/definitions/string 62 enum: [host, peripheral] 62 enum: [host, peripheral] 63 default: peripheral 63 default: peripheral 64 64 65 additionalProperties: true 65 additionalProperties: true 66 66 67 examples: 67 examples: 68 - | 68 - | 69 usb@4a030000 { 69 usb@4a030000 { 70 compatible = "snps,dwc3"; 70 compatible = "snps,dwc3"; 71 reg = <0x4a030000 0xcfff>; 71 reg = <0x4a030000 0xcfff>; 72 interrupts = <0 92 4>; 72 interrupts = <0 92 4>; 73 usb-phy = <&usb2_phy>, <&usb3_phy>; 73 usb-phy = <&usb2_phy>, <&usb3_phy>; 74 maximum-speed = "super-speed"; 74 maximum-speed = "super-speed"; 75 dr_mode = "otg"; 75 dr_mode = "otg"; 76 phy_type = "utmi_wide"; 76 phy_type = "utmi_wide"; 77 otg-rev = <0x0200>; 77 otg-rev = <0x0200>; 78 adp-disable; 78 adp-disable; 79 }; 79 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.