Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
0002 # Copyright (c) 2020 Facebook Inc.
0003 %YAML 1.2
0004 ---
0005 $id: http://devicetree.org/schemas/usb/aspeed,usb-vhub.yaml#
0006 $schema: http://devicetree.org/meta-schemas/core.yaml#
0007 
0008 title: ASPEED USB 2.0 Virtual Hub Controller
0009 
0010 maintainers:
0011   - Benjamin Herrenschmidt <benh@kernel.crashing.org>
0012 
0013 description: |+
0014   The ASPEED USB 2.0 Virtual Hub Controller implements 1 set of USB Hub
0015   register and several sets of Device and Endpoint registers to support
0016   the Virtual Hub's downstream USB devices.
0017 
0018   Supported number of devices and endpoints vary depending on hardware
0019   revisions. AST2400 and AST2500 Virtual Hub supports 5 downstream devices
0020   and 15 generic endpoints, while AST2600 Virtual Hub supports 7 downstream
0021   devices and 21 generic endpoints.
0022 
0023 properties:
0024   compatible:
0025     enum:
0026       - aspeed,ast2400-usb-vhub
0027       - aspeed,ast2500-usb-vhub
0028       - aspeed,ast2600-usb-vhub
0029 
0030   reg:
0031     maxItems: 1
0032 
0033   clocks:
0034     maxItems: 1
0035 
0036   interrupts:
0037     maxItems: 1
0038 
0039   aspeed,vhub-downstream-ports:
0040     description: Number of downstream ports supported by the Virtual Hub
0041     $ref: /schemas/types.yaml#/definitions/uint32
0042     default: 5
0043     minimum: 1
0044     maximum: 7
0045 
0046   aspeed,vhub-generic-endpoints:
0047     description: Number of generic endpoints supported by the Virtual Hub
0048     $ref: /schemas/types.yaml#/definitions/uint32
0049     default: 15
0050     minimum: 1
0051     maximum: 21
0052 
0053   vhub-vendor-id:
0054     description: vhub Vendor ID
0055     $ref: /schemas/types.yaml#/definitions/uint32
0056     maximum: 65535
0057 
0058   vhub-product-id:
0059     description: vhub Product ID
0060     $ref: /schemas/types.yaml#/definitions/uint32
0061     maximum: 65535
0062 
0063   vhub-device-revision:
0064     description: vhub Device Revision in binary-coded decimal
0065     $ref: /schemas/types.yaml#/definitions/uint32
0066     maximum: 65535
0067 
0068   vhub-strings:
0069     type: object
0070 
0071     properties:
0072       '#address-cells':
0073         const: 1
0074 
0075       '#size-cells':
0076         const: 0
0077 
0078     patternProperties:
0079       '^string@[0-9a-f]+$':
0080         type: object
0081         description: string descriptors of the specific language
0082 
0083         properties:
0084           reg:
0085             maxItems: 1
0086             description: 16-bit Language Identifier defined by USB-IF
0087 
0088           manufacturer:
0089             description: vhub manufacturer
0090             $ref: /schemas/types.yaml#/definitions/string
0091 
0092           product:
0093             description: vhub product name
0094             $ref: /schemas/types.yaml#/definitions/string
0095 
0096           serial-number:
0097             description: vhub device serial number
0098             $ref: /schemas/types.yaml#/definitions/string
0099 
0100 required:
0101   - compatible
0102   - reg
0103   - clocks
0104   - interrupts
0105   - aspeed,vhub-downstream-ports
0106   - aspeed,vhub-generic-endpoints
0107 
0108 additionalProperties: false
0109 
0110 examples:
0111   - |
0112     #include <dt-bindings/clock/aspeed-clock.h>
0113     vhub: usb-vhub@1e6a0000 {
0114             compatible = "aspeed,ast2500-usb-vhub";
0115             reg = <0x1e6a0000 0x300>;
0116             interrupts = <5>;
0117             clocks = <&syscon ASPEED_CLK_GATE_USBPORT1CLK>;
0118             aspeed,vhub-downstream-ports = <5>;
0119             aspeed,vhub-generic-endpoints = <15>;
0120             pinctrl-names = "default";
0121             pinctrl-0 = <&pinctrl_usb2ad_default>;
0122 
0123             vhub-vendor-id = <0x1d6b>;
0124             vhub-product-id = <0x0107>;
0125             vhub-device-revision = <0x0100>;
0126             vhub-strings {
0127                 #address-cells = <1>;
0128                 #size-cells = <0>;
0129 
0130                 string@409 {
0131                         reg = <0x409>;
0132                         manufacturer = "ASPEED";
0133                         product = "USB Virtual Hub";
0134                         serial-number = "0000";
0135                 };
0136             };
0137     };