xref: /linux/Documentation/devicetree/bindings/usb/parade,ps8830.yaml (revision c0c9379f235df33a12ceae94370ad80c5278324d)
1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/usb/parade,ps8830.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Parade PS883x USB and DisplayPort Retimer
8
9maintainers:
10  - Abel Vesa <abel.vesa@linaro.org>
11
12properties:
13  compatible:
14    oneOf:
15      - items:
16          - const: parade,ps8833
17          - const: parade,ps8830
18      - const: parade,ps8830
19
20  reg:
21    maxItems: 1
22
23  clocks:
24    items:
25      - description: XO Clock
26
27  reset-gpios:
28    maxItems: 1
29
30  vdd-supply:
31    description: power supply (1.07V)
32
33  vdd33-supply:
34    description: power supply (3.3V)
35
36  vdd33-cap-supply:
37    description: power supply (3.3V)
38
39  vddar-supply:
40    description: power supply (1.07V)
41
42  vddat-supply:
43    description: power supply (1.07V)
44
45  vddio-supply:
46    description: power supply (1.2V or 1.8V)
47
48  orientation-switch: true
49  retimer-switch: true
50
51  ports:
52    $ref: /schemas/graph.yaml#/properties/ports
53    properties:
54      port@0:
55        $ref: /schemas/graph.yaml#/properties/port
56        description: Super Speed (SS) Output endpoint to the Type-C connector
57
58      port@1:
59        $ref: /schemas/graph.yaml#/$defs/port-base
60        description: Super Speed (SS) Input endpoint from the Super-Speed PHY
61        unevaluatedProperties: false
62
63      port@2:
64        $ref: /schemas/graph.yaml#/properties/port
65        description:
66          Sideband Use (SBU) AUX lines endpoint to the Type-C connector for the purpose of
67          handling altmode muxing and orientation switching.
68
69required:
70  - compatible
71  - reg
72  - clocks
73  - reset-gpios
74  - vdd-supply
75  - vdd33-supply
76  - vdd33-cap-supply
77  - vddat-supply
78  - vddio-supply
79  - orientation-switch
80  - retimer-switch
81
82allOf:
83  - $ref: usb-switch.yaml#
84
85additionalProperties: false
86
87examples:
88  - |
89    #include <dt-bindings/gpio/gpio.h>
90
91    i2c {
92        #address-cells = <1>;
93        #size-cells = <0>;
94
95        typec-mux@8 {
96            compatible = "parade,ps8830";
97            reg = <0x8>;
98
99            clocks = <&clk_rtmr_xo>;
100
101            vdd-supply = <&vreg_rtmr_1p15>;
102            vdd33-supply = <&vreg_rtmr_3p3>;
103            vdd33-cap-supply = <&vreg_rtmr_3p3>;
104            vddar-supply = <&vreg_rtmr_1p15>;
105            vddat-supply = <&vreg_rtmr_1p15>;
106            vddio-supply = <&vreg_rtmr_1p8>;
107
108            reset-gpios = <&tlmm 10 GPIO_ACTIVE_LOW>;
109
110            retimer-switch;
111            orientation-switch;
112
113            ports {
114                #address-cells = <1>;
115                #size-cells = <0>;
116
117                port@0 {
118                    reg = <0>;
119
120                    endpoint {
121                        remote-endpoint = <&typec_con_ss>;
122                    };
123                };
124
125                port@1 {
126                    reg = <1>;
127
128                    endpoint {
129                        remote-endpoint = <&usb_phy_ss>;
130                    };
131                };
132
133                port@2 {
134                    reg = <2>;
135
136                    endpoint {
137                        remote-endpoint = <&typec_dp_aux>;
138                    };
139                };
140            };
141        };
142    };
143...
144