xref: /linux/Documentation/devicetree/bindings/usb/fcs,fsa4480.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/fcs,fsa4480.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: ON Semiconductor Analog Audio Switch
8
9maintainers:
10  - Bjorn Andersson <bjorn.andersson@linaro.org>
11
12properties:
13  compatible:
14    oneOf:
15      - const: fcs,fsa4480
16      - items:
17          - enum:
18              - ocs,ocp96011
19          - const: fcs,fsa4480
20
21  reg:
22    maxItems: 1
23
24  interrupts:
25    maxItems: 1
26
27  vcc-supply:
28    description: power supply (2.7V-5.5V)
29
30  mode-switch: true
31  orientation-switch: true
32
33  port:
34    $ref: /schemas/graph.yaml#/$defs/port-base
35    description:
36      A port node to link the FSA4480 to a TypeC controller for the purpose of
37      handling altmode muxing and orientation switching.
38    unevaluatedProperties: false
39
40    properties:
41      endpoint:
42        $ref: /schemas/graph.yaml#/$defs/endpoint-base
43        unevaluatedProperties: false
44
45        properties:
46          data-lanes:
47            $ref: /schemas/types.yaml#/definitions/uint32-array
48            description:
49              Specifies how the AUX+/- lines are connected to SBU1/2.
50            oneOf:
51              - items:
52                  - const: 0
53                  - const: 1
54                description: |
55                  Default AUX/SBU layout (FSA4480)
56                  - AUX+ connected to SBU2
57                  - AUX- connected to SBU1
58                  Default AUX/SBU layout (OCP96011)
59                  - AUX+ connected to SBU1
60                  - AUX- connected to SBU2
61              - items:
62                  - const: 1
63                  - const: 0
64                description: |
65                  Swapped AUX/SBU layout (FSA4480)
66                  - AUX+ connected to SBU1
67                  - AUX- connected to SBU2
68                  Swapped AUX/SBU layout (OCP96011)
69                  - AUX+ connected to SBU2
70                  - AUX- connected to SBU1
71
72required:
73  - compatible
74  - reg
75  - port
76
77allOf:
78  - $ref: usb-switch.yaml#
79  - $ref: usb-switch-ports.yaml#
80
81additionalProperties: false
82
83examples:
84  - |
85    #include <dt-bindings/interrupt-controller/irq.h>
86    i2c13 {
87        #address-cells = <1>;
88        #size-cells = <0>;
89
90        typec-mux@42 {
91            compatible = "fcs,fsa4480";
92            reg = <0x42>;
93
94            interrupts-extended = <&tlmm 2 IRQ_TYPE_LEVEL_LOW>;
95
96            vcc-supply = <&vreg_bob>;
97
98            mode-switch;
99            orientation-switch;
100
101            port {
102                fsa4480_ept: endpoint {
103                    remote-endpoint = <&typec_controller>;
104                };
105            };
106        };
107    };
108...
109