xref: /freebsd/sys/contrib/device-tree/Bindings/usb/fcs,fsa4480.yaml (revision 01950c46b8155250f64374fb72fc11faa44bf099)
1d5b0e70fSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2d5b0e70fSEmmanuel Vadot%YAML 1.2
3d5b0e70fSEmmanuel Vadot---
4fac71e4eSEmmanuel Vadot$id: http://devicetree.org/schemas/usb/fcs,fsa4480.yaml#
5fac71e4eSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6d5b0e70fSEmmanuel Vadot
7d5b0e70fSEmmanuel Vadottitle: ON Semiconductor Analog Audio Switch
8d5b0e70fSEmmanuel Vadot
9d5b0e70fSEmmanuel Vadotmaintainers:
10d5b0e70fSEmmanuel Vadot  - Bjorn Andersson <bjorn.andersson@linaro.org>
11d5b0e70fSEmmanuel Vadot
12d5b0e70fSEmmanuel Vadotproperties:
13d5b0e70fSEmmanuel Vadot  compatible:
1484943d6fSEmmanuel Vadot    oneOf:
1584943d6fSEmmanuel Vadot      - const: fcs,fsa4480
1684943d6fSEmmanuel Vadot      - items:
1784943d6fSEmmanuel Vadot          - enum:
1884943d6fSEmmanuel Vadot              - ocs,ocp96011
1984943d6fSEmmanuel Vadot          - const: fcs,fsa4480
20d5b0e70fSEmmanuel Vadot
21d5b0e70fSEmmanuel Vadot  reg:
22d5b0e70fSEmmanuel Vadot    maxItems: 1
23d5b0e70fSEmmanuel Vadot
24d5b0e70fSEmmanuel Vadot  interrupts:
25d5b0e70fSEmmanuel Vadot    maxItems: 1
26d5b0e70fSEmmanuel Vadot
27d5b0e70fSEmmanuel Vadot  vcc-supply:
28d5b0e70fSEmmanuel Vadot    description: power supply (2.7V-5.5V)
29d5b0e70fSEmmanuel Vadot
30*01950c46SEmmanuel Vadot  mode-switch: true
31*01950c46SEmmanuel Vadot  orientation-switch: true
32d5b0e70fSEmmanuel Vadot
33d5b0e70fSEmmanuel Vadot  port:
3484943d6fSEmmanuel Vadot    $ref: /schemas/graph.yaml#/$defs/port-base
35d5b0e70fSEmmanuel Vadot    description:
36d5b0e70fSEmmanuel Vadot      A port node to link the FSA4480 to a TypeC controller for the purpose of
37d5b0e70fSEmmanuel Vadot      handling altmode muxing and orientation switching.
3884943d6fSEmmanuel Vadot    unevaluatedProperties: false
3984943d6fSEmmanuel Vadot
4084943d6fSEmmanuel Vadot    properties:
4184943d6fSEmmanuel Vadot      endpoint:
4284943d6fSEmmanuel Vadot        $ref: /schemas/graph.yaml#/$defs/endpoint-base
4384943d6fSEmmanuel Vadot        unevaluatedProperties: false
4484943d6fSEmmanuel Vadot
4584943d6fSEmmanuel Vadot        properties:
4684943d6fSEmmanuel Vadot          data-lanes:
4784943d6fSEmmanuel Vadot            $ref: /schemas/types.yaml#/definitions/uint32-array
4884943d6fSEmmanuel Vadot            description:
4984943d6fSEmmanuel Vadot              Specifies how the AUX+/- lines are connected to SBU1/2.
5084943d6fSEmmanuel Vadot            oneOf:
5184943d6fSEmmanuel Vadot              - items:
5284943d6fSEmmanuel Vadot                  - const: 0
5384943d6fSEmmanuel Vadot                  - const: 1
5484943d6fSEmmanuel Vadot                description: |
5584943d6fSEmmanuel Vadot                  Default AUX/SBU layout (FSA4480)
5684943d6fSEmmanuel Vadot                  - AUX+ connected to SBU2
5784943d6fSEmmanuel Vadot                  - AUX- connected to SBU1
5884943d6fSEmmanuel Vadot                  Default AUX/SBU layout (OCP96011)
5984943d6fSEmmanuel Vadot                  - AUX+ connected to SBU1
6084943d6fSEmmanuel Vadot                  - AUX- connected to SBU2
6184943d6fSEmmanuel Vadot              - items:
6284943d6fSEmmanuel Vadot                  - const: 1
6384943d6fSEmmanuel Vadot                  - const: 0
6484943d6fSEmmanuel Vadot                description: |
6584943d6fSEmmanuel Vadot                  Swapped AUX/SBU layout (FSA4480)
6684943d6fSEmmanuel Vadot                  - AUX+ connected to SBU1
6784943d6fSEmmanuel Vadot                  - AUX- connected to SBU2
6884943d6fSEmmanuel Vadot                  Swapped AUX/SBU layout (OCP96011)
6984943d6fSEmmanuel Vadot                  - AUX+ connected to SBU2
7084943d6fSEmmanuel Vadot                  - AUX- connected to SBU1
71d5b0e70fSEmmanuel Vadot
72d5b0e70fSEmmanuel Vadotrequired:
73d5b0e70fSEmmanuel Vadot  - compatible
74d5b0e70fSEmmanuel Vadot  - reg
75d5b0e70fSEmmanuel Vadot  - port
76d5b0e70fSEmmanuel Vadot
77*01950c46SEmmanuel VadotallOf:
78*01950c46SEmmanuel Vadot  - $ref: usb-switch.yaml#
79*01950c46SEmmanuel Vadot
80d5b0e70fSEmmanuel VadotadditionalProperties: false
81d5b0e70fSEmmanuel Vadot
82d5b0e70fSEmmanuel Vadotexamples:
83d5b0e70fSEmmanuel Vadot  - |
84d5b0e70fSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/irq.h>
85d5b0e70fSEmmanuel Vadot    i2c13 {
86d5b0e70fSEmmanuel Vadot        #address-cells = <1>;
87d5b0e70fSEmmanuel Vadot        #size-cells = <0>;
88d5b0e70fSEmmanuel Vadot
89cb7aa33aSEmmanuel Vadot        typec-mux@42 {
90d5b0e70fSEmmanuel Vadot          compatible = "fcs,fsa4480";
91d5b0e70fSEmmanuel Vadot          reg = <0x42>;
92d5b0e70fSEmmanuel Vadot
93d5b0e70fSEmmanuel Vadot          interrupts-extended = <&tlmm 2 IRQ_TYPE_LEVEL_LOW>;
94d5b0e70fSEmmanuel Vadot
95d5b0e70fSEmmanuel Vadot          vcc-supply = <&vreg_bob>;
96d5b0e70fSEmmanuel Vadot
97d5b0e70fSEmmanuel Vadot          mode-switch;
98d5b0e70fSEmmanuel Vadot          orientation-switch;
99d5b0e70fSEmmanuel Vadot
100d5b0e70fSEmmanuel Vadot          port {
101d5b0e70fSEmmanuel Vadot            fsa4480_ept: endpoint {
102d5b0e70fSEmmanuel Vadot              remote-endpoint = <&typec_controller>;
103d5b0e70fSEmmanuel Vadot            };
104d5b0e70fSEmmanuel Vadot          };
105d5b0e70fSEmmanuel Vadot        };
106d5b0e70fSEmmanuel Vadot    };
107d5b0e70fSEmmanuel Vadot...
108