xref: /linux/Documentation/devicetree/bindings/usb/parade,ps8830.yaml (revision 6190d0fa18995b8bcc6b9a26913bb8390bda8396)
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  - $ref: usb-switch-ports.yaml#
85
86additionalProperties: false
87
88examples:
89  - |
90    #include <dt-bindings/gpio/gpio.h>
91
92    i2c {
93        #address-cells = <1>;
94        #size-cells = <0>;
95
96        typec-mux@8 {
97            compatible = "parade,ps8830";
98            reg = <0x8>;
99
100            clocks = <&clk_rtmr_xo>;
101
102            vdd-supply = <&vreg_rtmr_1p15>;
103            vdd33-supply = <&vreg_rtmr_3p3>;
104            vdd33-cap-supply = <&vreg_rtmr_3p3>;
105            vddar-supply = <&vreg_rtmr_1p15>;
106            vddat-supply = <&vreg_rtmr_1p15>;
107            vddio-supply = <&vreg_rtmr_1p8>;
108
109            reset-gpios = <&tlmm 10 GPIO_ACTIVE_LOW>;
110
111            retimer-switch;
112            orientation-switch;
113
114            ports {
115                #address-cells = <1>;
116                #size-cells = <0>;
117
118                port@0 {
119                    reg = <0>;
120
121                    endpoint {
122                        remote-endpoint = <&typec_con_ss>;
123                    };
124                };
125
126                port@1 {
127                    reg = <1>;
128
129                    endpoint {
130                        remote-endpoint = <&usb_phy_ss>;
131                    };
132                };
133
134                port@2 {
135                    reg = <2>;
136
137                    endpoint {
138                        remote-endpoint = <&typec_dp_aux>;
139                    };
140                };
141            };
142        };
143    };
144...
145