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
80additionalProperties: false
81
82examples:
83  - |
84    #include <dt-bindings/interrupt-controller/irq.h>
85    i2c13 {
86        #address-cells = <1>;
87        #size-cells = <0>;
88
89        typec-mux@42 {
90          compatible = "fcs,fsa4480";
91          reg = <0x42>;
92
93          interrupts-extended = <&tlmm 2 IRQ_TYPE_LEVEL_LOW>;
94
95          vcc-supply = <&vreg_bob>;
96
97          mode-switch;
98          orientation-switch;
99
100          port {
101            fsa4480_ept: endpoint {
102              remote-endpoint = <&typec_controller>;
103            };
104          };
105        };
106    };
107...
108