xref: /freebsd/sys/contrib/device-tree/Bindings/usb/fcs,fsa4480.yaml (revision 6580f5c38dd5b01aeeaed16b370f1a12423437f0)
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:
31    description: Flag the port as possible handle of altmode switching
32    type: boolean
33
34  orientation-switch:
35    description: Flag the port as possible handler of orientation switching
36    type: boolean
37
38  port:
39    $ref: /schemas/graph.yaml#/$defs/port-base
40    description:
41      A port node to link the FSA4480 to a TypeC controller for the purpose of
42      handling altmode muxing and orientation switching.
43    unevaluatedProperties: false
44
45    properties:
46      endpoint:
47        $ref: /schemas/graph.yaml#/$defs/endpoint-base
48        unevaluatedProperties: false
49
50        properties:
51          data-lanes:
52            $ref: /schemas/types.yaml#/definitions/uint32-array
53            description:
54              Specifies how the AUX+/- lines are connected to SBU1/2.
55            oneOf:
56              - items:
57                  - const: 0
58                  - const: 1
59                description: |
60                  Default AUX/SBU layout (FSA4480)
61                  - AUX+ connected to SBU2
62                  - AUX- connected to SBU1
63                  Default AUX/SBU layout (OCP96011)
64                  - AUX+ connected to SBU1
65                  - AUX- connected to SBU2
66              - items:
67                  - const: 1
68                  - const: 0
69                description: |
70                  Swapped AUX/SBU layout (FSA4480)
71                  - AUX+ connected to SBU1
72                  - AUX- connected to SBU2
73                  Swapped AUX/SBU layout (OCP96011)
74                  - AUX+ connected to SBU2
75                  - AUX- connected to SBU1
76
77required:
78  - compatible
79  - reg
80  - port
81
82additionalProperties: false
83
84examples:
85  - |
86    #include <dt-bindings/interrupt-controller/irq.h>
87    i2c13 {
88        #address-cells = <1>;
89        #size-cells = <0>;
90
91        typec-mux@42 {
92          compatible = "fcs,fsa4480";
93          reg = <0x42>;
94
95          interrupts-extended = <&tlmm 2 IRQ_TYPE_LEVEL_LOW>;
96
97          vcc-supply = <&vreg_bob>;
98
99          mode-switch;
100          orientation-switch;
101
102          port {
103            fsa4480_ept: endpoint {
104              remote-endpoint = <&typec_controller>;
105            };
106          };
107        };
108    };
109...
110