usb: gadget: uvc: Add missing initialization of ssp config descriptor
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / usb / ti,tps6598x.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/ti,tps6598x.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Texas Instruments 6598x Type-C Port Switch and Power Delivery controller
8
9 maintainers:
10   - Bryan O'Donoghue <bryan.odonoghue@linaro.org>
11
12 description: |
13   Texas Instruments 6598x Type-C Port Switch and Power Delivery controller
14
15   A variant of this controller known as Apple CD321x or Apple ACE is also
16   present on hardware with Apple SoCs such as the M1.
17
18 properties:
19   compatible:
20     enum:
21       - ti,tps6598x
22       - apple,cd321x
23       - ti,tps25750
24
25   reg:
26     minItems: 1
27     items:
28       - description: main PD controller address
29       - description: |
30           I2C slave address field in PBMs input data
31           which is used as the device address when writing the
32           patch for TPS25750.
33           The patch address can be any value except 0x00, 0x20,
34           0x21, 0x22, and 0x23
35
36   reg-names:
37     items:
38       - const: main
39       - const: patch-address
40
41   wakeup-source: true
42
43   interrupts:
44     maxItems: 1
45
46   interrupt-names:
47     items:
48       - const: irq
49
50   firmware-name:
51     description: |
52       Should contain the name of the default patch binary
53       file located on the firmware search path which is
54       used to switch the controller into APP mode.
55       This is used when tps25750 doesn't have an EEPROM
56       connected to it.
57     maxItems: 1
58
59 required:
60   - compatible
61   - reg
62
63 allOf:
64   - if:
65       properties:
66         compatible:
67           contains:
68             const: ti,tps25750
69     then:
70       properties:
71         reg:
72           maxItems: 2
73
74         connector:
75           required:
76             - data-role
77
78       required:
79         - connector
80         - reg-names
81     else:
82       properties:
83         reg:
84           maxItems: 1
85
86 additionalProperties: true
87
88 examples:
89   - |
90     #include <dt-bindings/interrupt-controller/irq.h>
91     i2c {
92         #address-cells = <1>;
93         #size-cells = <0>;
94
95         tps6598x: tps6598x@38 {
96             compatible = "ti,tps6598x";
97             reg = <0x38>;
98             wakeup-source;
99
100             interrupt-parent = <&msmgpio>;
101             interrupts = <107 IRQ_TYPE_LEVEL_LOW>;
102             interrupt-names = "irq";
103
104             pinctrl-names = "default";
105             pinctrl-0 = <&typec_pins>;
106
107             typec_con: connector {
108                 compatible = "usb-c-connector";
109                 label = "USB-C";
110                 port {
111                     typec_ep: endpoint {
112                         remote-endpoint = <&otg_ep>;
113                     };
114                 };
115             };
116         };
117     };
118
119   - |
120     #include <dt-bindings/interrupt-controller/irq.h>
121     i2c {
122         #address-cells = <1>;
123         #size-cells = <0>;
124
125         typec@21 {
126             compatible = "ti,tps25750";
127             reg = <0x21>, <0x0f>;
128             reg-names = "main", "patch-address";
129
130             interrupt-parent = <&msmgpio>;
131             interrupts = <100 IRQ_TYPE_LEVEL_LOW>;
132             interrupt-names = "irq";
133             firmware-name = "tps25750.bin";
134
135             pinctrl-names = "default";
136             pinctrl-0 = <&typec_pins>;
137
138             typec_con0: connector {
139                 compatible = "usb-c-connector";
140                 label = "USB-C";
141                 data-role = "dual";
142                 port {
143                     typec_ep0: endpoint {
144                         remote-endpoint = <&otg_ep>;
145                     };
146                 };
147             };
148         };
149     };
150 ...