140 lines
3.7 KiB
YAML
140 lines
3.7 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
|
# Copyright (c) 2020 Facebook Inc.
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/usb/aspeed,usb-vhub.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: ASPEED USB 2.0 Virtual Hub Controller
|
|
|
|
maintainers:
|
|
- Benjamin Herrenschmidt <benh@kernel.crashing.org>
|
|
|
|
description: |+
|
|
The ASPEED USB 2.0 Virtual Hub Controller implements 1 set of USB Hub
|
|
register and several sets of Device and Endpoint registers to support
|
|
the Virtual Hub's downstream USB devices.
|
|
|
|
Supported number of devices and endpoints vary depending on hardware
|
|
revisions. AST2400 and AST2500 Virtual Hub supports 5 downstream devices
|
|
and 15 generic endpoints, while AST2600 Virtual Hub supports 7 downstream
|
|
devices and 21 generic endpoints.
|
|
|
|
properties:
|
|
compatible:
|
|
enum:
|
|
- aspeed,ast2400-usb-vhub
|
|
- aspeed,ast2500-usb-vhub
|
|
- aspeed,ast2600-usb-vhub
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
clocks:
|
|
maxItems: 1
|
|
|
|
interrupts:
|
|
maxItems: 1
|
|
|
|
aspeed,vhub-downstream-ports:
|
|
description: Number of downstream ports supported by the Virtual Hub
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
default: 5
|
|
minimum: 1
|
|
maximum: 7
|
|
|
|
aspeed,vhub-generic-endpoints:
|
|
description: Number of generic endpoints supported by the Virtual Hub
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
default: 15
|
|
minimum: 1
|
|
maximum: 21
|
|
|
|
vhub-vendor-id:
|
|
description: vhub Vendor ID
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
maximum: 65535
|
|
|
|
vhub-product-id:
|
|
description: vhub Product ID
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
maximum: 65535
|
|
|
|
vhub-device-revision:
|
|
description: vhub Device Revision in binary-coded decimal
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
maximum: 65535
|
|
|
|
vhub-strings:
|
|
type: object
|
|
additionalProperties: false
|
|
|
|
properties:
|
|
'#address-cells':
|
|
const: 1
|
|
|
|
'#size-cells':
|
|
const: 0
|
|
|
|
patternProperties:
|
|
'^string@[0-9a-f]+$':
|
|
type: object
|
|
additionalProperties: false
|
|
description: string descriptors of the specific language
|
|
|
|
properties:
|
|
reg:
|
|
maxItems: 1
|
|
description: 16-bit Language Identifier defined by USB-IF
|
|
|
|
manufacturer:
|
|
description: vhub manufacturer
|
|
$ref: /schemas/types.yaml#/definitions/string
|
|
|
|
product:
|
|
description: vhub product name
|
|
$ref: /schemas/types.yaml#/definitions/string
|
|
|
|
serial-number:
|
|
description: vhub device serial number
|
|
$ref: /schemas/types.yaml#/definitions/string
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- clocks
|
|
- interrupts
|
|
- aspeed,vhub-downstream-ports
|
|
- aspeed,vhub-generic-endpoints
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
#include <dt-bindings/clock/aspeed-clock.h>
|
|
vhub: usb-vhub@1e6a0000 {
|
|
compatible = "aspeed,ast2500-usb-vhub";
|
|
reg = <0x1e6a0000 0x300>;
|
|
interrupts = <5>;
|
|
clocks = <&syscon ASPEED_CLK_GATE_USBPORT1CLK>;
|
|
aspeed,vhub-downstream-ports = <5>;
|
|
aspeed,vhub-generic-endpoints = <15>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_usb2ad_default>;
|
|
|
|
vhub-vendor-id = <0x1d6b>;
|
|
vhub-product-id = <0x0107>;
|
|
vhub-device-revision = <0x0100>;
|
|
vhub-strings {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
string@409 {
|
|
reg = <0x409>;
|
|
manufacturer = "ASPEED";
|
|
product = "USB Virtual Hub";
|
|
serial-number = "0000";
|
|
};
|
|
};
|
|
};
|