Linux 6.9-rc1
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / usb / st,stusb160x.yaml
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
7 title: STMicroelectronics STUSB160x Type-C controller
8
9 maintainers:
10   - Amelie Delaunay <amelie.delaunay@foss.st.com>
11
12 properties:
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     unevaluatedProperties: false
37
38     properties:
39       compatible:
40         const: usb-c-connector
41
42       power-role: true
43
44       typec-power-opmode: true
45
46     required:
47       - compatible
48
49 required:
50   - compatible
51   - reg
52   - connector
53
54 additionalProperties: false
55
56 examples:
57   - |
58     #include <dt-bindings/interrupt-controller/irq.h>
59     i2c {
60         #address-cells = <1>;
61         #size-cells = <0>;
62
63         typec: stusb1600@28 {
64             compatible = "st,stusb1600";
65             reg = <0x28>;
66             vdd-supply = <&vbus_drd>;
67             vsys-supply = <&vdd_usb>;
68             interrupts = <11 IRQ_TYPE_EDGE_FALLING>;
69             interrupt-parent = <&gpioi>;
70
71             typec_con: connector {
72                 compatible = "usb-c-connector";
73                 label = "USB-C";
74                 power-role = "dual";
75                 data-role = "dual";
76                 typec-power-opmode = "default";
77
78                 ports {
79                     #address-cells = <1>;
80                     #size-cells = <0>;
81                     port@0 {
82                         reg = <0>;
83                         typec_con_ep: endpoint {
84                             remote-endpoint = <&usbotg_hs_ep>;
85                         };
86                     };
87                 };
88             };
89         };
90     };
91 ...