drm/bridge: Fix assignment of the of_node of the parent to aux bridge
[drm/drm-misc.git] / Documentation / devicetree / bindings / usb / gpio-sbu-mux.yaml
blob8a5f837eff94b27bbd55bfe45f8d1156e3d183eb
1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/usb/gpio-sbu-mux.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: GPIO-based SBU mux
9 maintainers:
10   - Bjorn Andersson <andersson@kernel.org>
12 description:
13   In USB Type-C applications the SBU lines needs to be connected, disconnected
14   and swapped depending on the altmode and orientation. This binding describes
15   a family of hardware solutions which switches between these modes using GPIO
16   signals.
18 properties:
19   compatible:
20     items:
21       - enum:
22           - nxp,cbdtu02043
23           - onnn,fsusb43l10x
24           - pericom,pi3usb102
25           - ti,tmuxhs4212
26       - const: gpio-sbu-mux
28   enable-gpios:
29     description: Switch enable GPIO
31   select-gpios:
32     description: Orientation select
34   vcc-supply:
35     description: power supply
37   mode-switch: true
38   orientation-switch: true
40   port:
41     $ref: /schemas/graph.yaml#/properties/port
42     description:
43       A port node to link the SBU mux to a TypeC controller for the purpose of
44       handling altmode muxing and orientation switching.
46 required:
47   - compatible
48   - select-gpios
49   - orientation-switch
50   - port
52 allOf:
53   - $ref: usb-switch.yaml#
54   - if:
55       required:
56         - mode-switch
57     then:
58       required:
59         - enable-gpios
61 additionalProperties: false
63 examples:
64   - |
65     #include <dt-bindings/gpio/gpio.h>
67     tcpm {
68         connector {
69             compatible = "usb-c-connector";
71             ports {
72                 #address-cells = <1>;
73                 #size-cells = <0>;
75                 port@0 {
76                     reg = <0>;
77                     tcpm_hs_out: endpoint {
78                         remote-endpoint = <&usb_hs_phy_in>;
79                     };
80                 };
82                 port@1 {
83                     reg = <1>;
84                     tcpm_ss_out: endpoint {
85                         remote-endpoint = <&usb_ss_phy_in>;
86                     };
87                 };
89                 port@2 {
90                     reg = <2>;
91                     tcpm_sbu_out: endpoint {
92                         remote-endpoint = <&sbu_mux_in>;
93                     };
94                 };
95             };
96         };
97     };
99     sbu-mux {
100         compatible = "pericom,pi3usb102", "gpio-sbu-mux";
102         enable-gpios = <&tlmm 101 GPIO_ACTIVE_LOW>;
103         select-gpios = <&tlmm 164 GPIO_ACTIVE_HIGH>;
105         mode-switch;
106         orientation-switch;
108         port {
109             sbu_mux_in: endpoint {
110                 remote-endpoint = <&tcpm_sbu_out>;
111             };
112         };
113     };