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  - reset-gpios
41  - vdd-supply
42  - peer-hub
43
44additionalProperties: false
45
46examples:
47  - |
48    #include <dt-bindings/gpio/gpio.h>
49
50    usb {
51        #address-cells = <1>;
52        #size-cells = <0>;
53
54        /* 2.0 hub on port 1 */
55        hub_2_0: hub@1 {
56            compatible = "usb2109,2817";
57            reg = <1>;
58            vdd-supply = <&vcc_5v>;
59            peer-hub = <&hub_3_0>;
60            reset-gpios = <&gpio 20 GPIO_ACTIVE_LOW>;
61        };
62
63        /* 3.1 hub on port 4 */
64        hub_3_0: hub@2 {
65            compatible = "usb2109,817";
66            reg = <2>;
67            vdd-supply = <&vcc_5v>;
68            peer-hub = <&hub_2_0>;
69            reset-gpios = <&gpio 20 GPIO_ACTIVE_LOW>;
70        };
71    };
72