blob: 8b25b9a01ced358f446270695b9686c94484a5df [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# 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
Tom Rini6bb92fc2024-05-20 09:54:58 -060030 mode-switch: true
31 orientation-switch: true
Tom Rini53633a82024-02-29 12:33:36 -050032
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
Tom Rini6bb92fc2024-05-20 09:54:58 -060077allOf:
78 - $ref: usb-switch.yaml#
79
Tom Rini53633a82024-02-29 12:33:36 -050080additionalProperties: 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...