14a5dbd90STao Ren# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 24a5dbd90STao Ren# Copyright (c) 2020 Facebook Inc. 34a5dbd90STao Ren%YAML 1.2 44a5dbd90STao Ren--- 54a5dbd90STao Ren$id: http://devicetree.org/schemas/usb/aspeed,usb-vhub.yaml# 64a5dbd90STao Ren$schema: http://devicetree.org/meta-schemas/core.yaml# 74a5dbd90STao Ren 84a5dbd90STao Rentitle: ASPEED USB 2.0 Virtual Hub Controller 94a5dbd90STao Ren 104a5dbd90STao Renmaintainers: 114a5dbd90STao Ren - Benjamin Herrenschmidt <benh@kernel.crashing.org> 124a5dbd90STao Ren 134a5dbd90STao Rendescription: |+ 144a5dbd90STao Ren The ASPEED USB 2.0 Virtual Hub Controller implements 1 set of USB Hub 154a5dbd90STao Ren register and several sets of Device and Endpoint registers to support 164a5dbd90STao Ren the Virtual Hub's downstream USB devices. 174a5dbd90STao Ren 184a5dbd90STao Ren Supported number of devices and endpoints vary depending on hardware 194a5dbd90STao Ren revisions. AST2400 and AST2500 Virtual Hub supports 5 downstream devices 204a5dbd90STao Ren and 15 generic endpoints, while AST2600 Virtual Hub supports 7 downstream 214a5dbd90STao Ren devices and 21 generic endpoints. 224a5dbd90STao Ren 234a5dbd90STao Renproperties: 244a5dbd90STao Ren compatible: 254a5dbd90STao Ren enum: 264a5dbd90STao Ren - aspeed,ast2400-usb-vhub 274a5dbd90STao Ren - aspeed,ast2500-usb-vhub 284a5dbd90STao Ren - aspeed,ast2600-usb-vhub 294a5dbd90STao Ren 304a5dbd90STao Ren reg: 314a5dbd90STao Ren maxItems: 1 324a5dbd90STao Ren 334a5dbd90STao Ren clocks: 344a5dbd90STao Ren maxItems: 1 354a5dbd90STao Ren 364a5dbd90STao Ren interrupts: 374a5dbd90STao Ren maxItems: 1 384a5dbd90STao Ren 394a5dbd90STao Ren aspeed,vhub-downstream-ports: 404a5dbd90STao Ren description: Number of downstream ports supported by the Virtual Hub 413d21a460SRob Herring $ref: /schemas/types.yaml#/definitions/uint32 423d21a460SRob Herring default: 5 434a5dbd90STao Ren minimum: 1 444a5dbd90STao Ren maximum: 7 454a5dbd90STao Ren 464a5dbd90STao Ren aspeed,vhub-generic-endpoints: 474a5dbd90STao Ren description: Number of generic endpoints supported by the Virtual Hub 483d21a460SRob Herring $ref: /schemas/types.yaml#/definitions/uint32 493d21a460SRob Herring default: 15 504a5dbd90STao Ren minimum: 1 514a5dbd90STao Ren maximum: 21 524a5dbd90STao Ren 533428b96fSTao Ren vhub-vendor-id: 543428b96fSTao Ren description: vhub Vendor ID 55086e9074SRob Herring $ref: /schemas/types.yaml#/definitions/uint32 56086e9074SRob Herring maximum: 65535 573428b96fSTao Ren 583428b96fSTao Ren vhub-product-id: 593428b96fSTao Ren description: vhub Product ID 60086e9074SRob Herring $ref: /schemas/types.yaml#/definitions/uint32 61086e9074SRob Herring maximum: 65535 623428b96fSTao Ren 633428b96fSTao Ren vhub-device-revision: 643428b96fSTao Ren description: vhub Device Revision in binary-coded decimal 65086e9074SRob Herring $ref: /schemas/types.yaml#/definitions/uint32 66086e9074SRob Herring maximum: 65535 673428b96fSTao Ren 683428b96fSTao Ren vhub-strings: 693428b96fSTao Ren type: object 70*e372a6dbSRob Herring additionalProperties: false 713428b96fSTao Ren 723428b96fSTao Ren properties: 733428b96fSTao Ren '#address-cells': 743428b96fSTao Ren const: 1 753428b96fSTao Ren 763428b96fSTao Ren '#size-cells': 773428b96fSTao Ren const: 0 783428b96fSTao Ren 793428b96fSTao Ren patternProperties: 803428b96fSTao Ren '^string@[0-9a-f]+$': 813428b96fSTao Ren type: object 82*e372a6dbSRob Herring additionalProperties: false 833428b96fSTao Ren description: string descriptors of the specific language 843428b96fSTao Ren 853428b96fSTao Ren properties: 863428b96fSTao Ren reg: 873428b96fSTao Ren maxItems: 1 883428b96fSTao Ren description: 16-bit Language Identifier defined by USB-IF 893428b96fSTao Ren 903428b96fSTao Ren manufacturer: 913428b96fSTao Ren description: vhub manufacturer 92086e9074SRob Herring $ref: /schemas/types.yaml#/definitions/string 933428b96fSTao Ren 943428b96fSTao Ren product: 953428b96fSTao Ren description: vhub product name 96086e9074SRob Herring $ref: /schemas/types.yaml#/definitions/string 973428b96fSTao Ren 983428b96fSTao Ren serial-number: 993428b96fSTao Ren description: vhub device serial number 100086e9074SRob Herring $ref: /schemas/types.yaml#/definitions/string 1013428b96fSTao Ren 1024a5dbd90STao Renrequired: 1034a5dbd90STao Ren - compatible 1044a5dbd90STao Ren - reg 1054a5dbd90STao Ren - clocks 1064a5dbd90STao Ren - interrupts 1074a5dbd90STao Ren - aspeed,vhub-downstream-ports 1084a5dbd90STao Ren - aspeed,vhub-generic-endpoints 1094a5dbd90STao Ren 1104a5dbd90STao RenadditionalProperties: false 1114a5dbd90STao Ren 1124a5dbd90STao Renexamples: 1134a5dbd90STao Ren - | 1144a5dbd90STao Ren #include <dt-bindings/clock/aspeed-clock.h> 1154a5dbd90STao Ren vhub: usb-vhub@1e6a0000 { 1164a5dbd90STao Ren compatible = "aspeed,ast2500-usb-vhub"; 1174a5dbd90STao Ren reg = <0x1e6a0000 0x300>; 1184a5dbd90STao Ren interrupts = <5>; 1194a5dbd90STao Ren clocks = <&syscon ASPEED_CLK_GATE_USBPORT1CLK>; 1204a5dbd90STao Ren aspeed,vhub-downstream-ports = <5>; 1214a5dbd90STao Ren aspeed,vhub-generic-endpoints = <15>; 1224a5dbd90STao Ren pinctrl-names = "default"; 1234a5dbd90STao Ren pinctrl-0 = <&pinctrl_usb2ad_default>; 1243428b96fSTao Ren 1253428b96fSTao Ren vhub-vendor-id = <0x1d6b>; 1263428b96fSTao Ren vhub-product-id = <0x0107>; 1273428b96fSTao Ren vhub-device-revision = <0x0100>; 1283428b96fSTao Ren vhub-strings { 1293428b96fSTao Ren #address-cells = <1>; 1303428b96fSTao Ren #size-cells = <0>; 1313428b96fSTao Ren 132dd075b66SFabio Estevam string@409 { 133dd075b66SFabio Estevam reg = <0x409>; 1343428b96fSTao Ren manufacturer = "ASPEED"; 1353428b96fSTao Ren product = "USB Virtual Hub"; 1363428b96fSTao Ren serial-number = "0000"; 1373428b96fSTao Ren }; 1383428b96fSTao Ren }; 1394a5dbd90STao Ren }; 140