1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2%YAML 1.2
3---
4$id: "http://devicetree.org/schemas/usb/st,stusb160x.yaml#"
5$schema: "http://devicetree.org/meta-schemas/core.yaml#"
6
7title: STMicroelectronics STUSB160x Type-C controller bindings
8
9maintainers:
10  - Amelie Delaunay <amelie.delaunay@foss.st.com>
11
12properties:
13  compatible:
14    enum:
15      - st,stusb1600
16
17  reg:
18    maxItems: 1
19
20  interrupts:
21    maxItems: 1
22
23  vdd-supply:
24    description: main power supply (4.1V-22V)
25
26  vsys-supply:
27    description: low power supply (3.0V-5.5V)
28
29  vconn-supply:
30    description: power supply (2.7V-5.5V) used to supply VConn on CC pin in
31      source or dual power role
32
33  connector:
34    type: object
35    $ref: /schemas/connector/usb-connector.yaml#
36
37    properties:
38      compatible:
39        const: usb-c-connector
40
41      power-role: true
42
43      typec-power-opmode: true
44
45    required:
46      - compatible
47
48required:
49  - compatible
50  - reg
51  - connector
52
53additionalProperties: false
54
55examples:
56  - |
57    #include <dt-bindings/interrupt-controller/irq.h>
58    i2c4 {
59        #address-cells = <1>;
60        #size-cells = <0>;
61
62        typec: stusb1600@28 {
63            compatible = "st,stusb1600";
64            reg = <0x28>;
65            vdd-supply = <&vbus_drd>;
66            vsys-supply = <&vdd_usb>;
67            interrupts = <11 IRQ_TYPE_EDGE_FALLING>;
68            interrupt-parent = <&gpioi>;
69
70            typec_con: connector {
71                compatible = "usb-c-connector";
72                label = "USB-C";
73                power-role = "dual";
74                data-role = "dual";
75                typec-power-opmode = "default";
76
77                port {
78                    typec_con_ep: endpoint {
79                        remote-endpoint = <&usbotg_hs_ep>;
80                    };
81                };
82            };
83        };
84    };
85...
86