1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2# Copyright (c) 2020 Facebook Inc. 3%YAML 1.2 4--- 5$id: http://devicetree.org/schemas/usb/aspeed,usb-vhub.yaml# 6$schema: http://devicetree.org/meta-schemas/core.yaml# 7 8title: ASPEED USB 2.0 Virtual Hub Controller 9 10maintainers: 11 - Benjamin Herrenschmidt <benh@kernel.crashing.org> 12 13description: |+ 14 The ASPEED USB 2.0 Virtual Hub Controller implements 1 set of USB Hub 15 register and several sets of Device and Endpoint registers to support 16 the Virtual Hub's downstream USB devices. 17 18 Supported number of devices and endpoints vary depending on hardware 19 revisions. AST2400 and AST2500 Virtual Hub supports 5 downstream devices 20 and 15 generic endpoints, while AST2600 Virtual Hub supports 7 downstream 21 devices and 21 generic endpoints. 22 23properties: 24 compatible: 25 enum: 26 - aspeed,ast2400-usb-vhub 27 - aspeed,ast2500-usb-vhub 28 - aspeed,ast2600-usb-vhub 29 30 reg: 31 maxItems: 1 32 33 clocks: 34 maxItems: 1 35 36 interrupts: 37 maxItems: 1 38 39 aspeed,vhub-downstream-ports: 40 description: Number of downstream ports supported by the Virtual Hub 41 $ref: /schemas/types.yaml#/definitions/uint32 42 default: 5 43 minimum: 1 44 maximum: 7 45 46 aspeed,vhub-generic-endpoints: 47 description: Number of generic endpoints supported by the Virtual Hub 48 $ref: /schemas/types.yaml#/definitions/uint32 49 default: 15 50 minimum: 1 51 maximum: 21 52 53 vhub-vendor-id: 54 description: vhub Vendor ID 55 $ref: /schemas/types.yaml#/definitions/uint32 56 maximum: 65535 57 58 vhub-product-id: 59 description: vhub Product ID 60 $ref: /schemas/types.yaml#/definitions/uint32 61 maximum: 65535 62 63 vhub-device-revision: 64 description: vhub Device Revision in binary-coded decimal 65 $ref: /schemas/types.yaml#/definitions/uint32 66 maximum: 65535 67 68 vhub-strings: 69 type: object 70 additionalProperties: false 71 72 properties: 73 '#address-cells': 74 const: 1 75 76 '#size-cells': 77 const: 0 78 79 patternProperties: 80 '^string@[0-9a-f]+$': 81 type: object 82 additionalProperties: false 83 description: string descriptors of the specific language 84 85 properties: 86 reg: 87 maxItems: 1 88 description: 16-bit Language Identifier defined by USB-IF 89 90 manufacturer: 91 description: vhub manufacturer 92 $ref: /schemas/types.yaml#/definitions/string 93 94 product: 95 description: vhub product name 96 $ref: /schemas/types.yaml#/definitions/string 97 98 serial-number: 99 description: vhub device serial number 100 $ref: /schemas/types.yaml#/definitions/string 101 102required: 103 - compatible 104 - reg 105 - clocks 106 - interrupts 107 - aspeed,vhub-downstream-ports 108 - aspeed,vhub-generic-endpoints 109 110additionalProperties: false 111 112examples: 113 - | 114 #include <dt-bindings/clock/aspeed-clock.h> 115 vhub: usb-vhub@1e6a0000 { 116 compatible = "aspeed,ast2500-usb-vhub"; 117 reg = <0x1e6a0000 0x300>; 118 interrupts = <5>; 119 clocks = <&syscon ASPEED_CLK_GATE_USBPORT1CLK>; 120 aspeed,vhub-downstream-ports = <5>; 121 aspeed,vhub-generic-endpoints = <15>; 122 pinctrl-names = "default"; 123 pinctrl-0 = <&pinctrl_usb2ad_default>; 124 125 vhub-vendor-id = <0x1d6b>; 126 vhub-product-id = <0x0107>; 127 vhub-device-revision = <0x0100>; 128 vhub-strings { 129 #address-cells = <1>; 130 #size-cells = <0>; 131 132 string@409 { 133 reg = <0x409>; 134 manufacturer = "ASPEED"; 135 product = "USB Virtual Hub"; 136 serial-number = "0000"; 137 }; 138 }; 139 }; 140