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