140 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)2# Copyright (c) 2020 Facebook Inc.3%YAML 1.24---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 Controller9 10maintainers:11 - Benjamin Herrenschmidt <benh@kernel.crashing.org>12 13description: |+14 The ASPEED USB 2.0 Virtual Hub Controller implements 1 set of USB Hub15 register and several sets of Device and Endpoint registers to support16 the Virtual Hub's downstream USB devices.17 18 Supported number of devices and endpoints vary depending on hardware19 revisions. AST2400 and AST2500 Virtual Hub supports 5 downstream devices20 and 15 generic endpoints, while AST2600 Virtual Hub supports 7 downstream21 devices and 21 generic endpoints.22 23properties:24 compatible:25 enum:26 - aspeed,ast2400-usb-vhub27 - aspeed,ast2500-usb-vhub28 - aspeed,ast2600-usb-vhub29 30 reg:31 maxItems: 132 33 clocks:34 maxItems: 135 36 interrupts:37 maxItems: 138 39 aspeed,vhub-downstream-ports:40 description: Number of downstream ports supported by the Virtual Hub41 $ref: /schemas/types.yaml#/definitions/uint3242 default: 543 minimum: 144 maximum: 745 46 aspeed,vhub-generic-endpoints:47 description: Number of generic endpoints supported by the Virtual Hub48 $ref: /schemas/types.yaml#/definitions/uint3249 default: 1550 minimum: 151 maximum: 2152 53 vhub-vendor-id:54 description: vhub Vendor ID55 $ref: /schemas/types.yaml#/definitions/uint3256 maximum: 6553557 58 vhub-product-id:59 description: vhub Product ID60 $ref: /schemas/types.yaml#/definitions/uint3261 maximum: 6553562 63 vhub-device-revision:64 description: vhub Device Revision in binary-coded decimal65 $ref: /schemas/types.yaml#/definitions/uint3266 maximum: 6553567 68 vhub-strings:69 type: object70 additionalProperties: false71 72 properties:73 '#address-cells':74 const: 175 76 '#size-cells':77 const: 078 79 patternProperties:80 '^string@[0-9a-f]+$':81 type: object82 additionalProperties: false83 description: string descriptors of the specific language84 85 properties:86 reg:87 maxItems: 188 description: 16-bit Language Identifier defined by USB-IF89 90 manufacturer:91 description: vhub manufacturer92 $ref: /schemas/types.yaml#/definitions/string93 94 product:95 description: vhub product name96 $ref: /schemas/types.yaml#/definitions/string97 98 serial-number:99 description: vhub device serial number100 $ref: /schemas/types.yaml#/definitions/string101 102required:103 - compatible104 - reg105 - clocks106 - interrupts107 - aspeed,vhub-downstream-ports108 - aspeed,vhub-generic-endpoints109 110additionalProperties: false111 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