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@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
36    allOf:
37      - $ref: ../connector/usb-connector.yaml
38
39    properties:
40      compatible:
41        const: usb-c-connector
42
43      power-role: true
44
45      typec-power-opmode: true
46
47    required:
48      - compatible
49
50required:
51  - compatible
52  - reg
53  - connector
54
55additionalProperties: false
56
57examples:
58  - |
59    #include <dt-bindings/interrupt-controller/irq.h>
60    i2c4 {
61        #address-cells = <1>;
62        #size-cells = <0>;
63
64        typec: stusb1600@28 {
65            compatible = "st,stusb1600";
66            reg = <0x28>;
67            vdd-supply = <&vbus_drd>;
68            vsys-supply = <&vdd_usb>;
69            interrupts = <11 IRQ_TYPE_EDGE_FALLING>;
70            interrupt-parent = <&gpioi>;
71
72            typec_con: connector {
73                compatible = "usb-c-connector";
74                label = "USB-C";
75                power-role = "dual";
76                data-role = "dual";
77                typec-power-opmode = "default";
78
79                port {
80                    typec_con_ep: endpoint {
81                        remote-endpoint = <&usbotg_hs_ep>;
82                    };
83                };
84            };
85        };
86    };
87...
88