1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/usb/vialab,vl817.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Via labs VL817 USB 3.1 hub controller
8
9maintainers:
10  - Anand Moon <linux.amoon@gmail.com>
11
12allOf:
13  - $ref: usb-device.yaml#
14
15properties:
16  compatible:
17    enum:
18      - usb2109,2817
19      - usb2109,817
20
21  reg: true
22
23  reset-gpios:
24    maxItems: 1
25    description:
26      GPIO controlling the RESET# pin.
27
28  vdd-supply:
29    description:
30      phandle to the regulator that provides power to the hub.
31
32  peer-hub:
33    $ref: /schemas/types.yaml#/definitions/phandle
34    description:
35      phandle to the peer hub on the controller.
36
37required:
38  - compatible
39  - reg
40  - vdd-supply
41  - peer-hub
42
43additionalProperties: false
44
45examples:
46  - |
47    #include <dt-bindings/gpio/gpio.h>
48
49    usb {
50        #address-cells = <1>;
51        #size-cells = <0>;
52
53        /* 2.0 hub on port 1 */
54        hub_2_0: hub@1 {
55            compatible = "usb2109,2817";
56            reg = <1>;
57            vdd-supply = <&vcc_5v>;
58            peer-hub = <&hub_3_0>;
59            reset-gpios = <&gpio 20 GPIO_ACTIVE_LOW>;
60        };
61
62        /* 3.1 hub on port 4 */
63        hub_3_0: hub@2 {
64            compatible = "usb2109,817";
65            reg = <2>;
66            vdd-supply = <&vcc_5v>;
67            peer-hub = <&hub_2_0>;
68            reset-gpios = <&gpio 20 GPIO_ACTIVE_LOW>;
69        };
70    };
71