xref: /linux/Documentation/devicetree/bindings/sound/cirrus,cs42l84.yaml (revision 25768de50b1f2dbb6ea44bd5148a87fe2c9c3688)
1*f2a67da9SMartin Povišer# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*f2a67da9SMartin Povišer%YAML 1.2
3*f2a67da9SMartin Povišer---
4*f2a67da9SMartin Povišer$id: http://devicetree.org/schemas/sound/cirrus,cs42l84.yaml#
5*f2a67da9SMartin Povišer$schema: http://devicetree.org/meta-schemas/core.yaml#
6*f2a67da9SMartin Povišer
7*f2a67da9SMartin Povišertitle: Cirrus Logic CS42L84 audio CODEC
8*f2a67da9SMartin Povišer
9*f2a67da9SMartin Povišermaintainers:
10*f2a67da9SMartin Povišer  - Martin Povišer <povik+lin@cutebit.org>
11*f2a67da9SMartin Povišer
12*f2a67da9SMartin Povišerdescription: |
13*f2a67da9SMartin Povišer  The CS42L84 is a headphone jack codec made by Cirrus Logic and embedded
14*f2a67da9SMartin Povišer  in personal computers sold by Apple. It was first seen in 2021 Macbook
15*f2a67da9SMartin Povišer  Pro models. It has stereo DAC for playback, mono ADC for capture, and
16*f2a67da9SMartin Povišer  is somewhat similar to CS42L42 but with a different regmap.
17*f2a67da9SMartin Povišer
18*f2a67da9SMartin Povišerproperties:
19*f2a67da9SMartin Povišer  compatible:
20*f2a67da9SMartin Povišer    enum:
21*f2a67da9SMartin Povišer      - cirrus,cs42l84
22*f2a67da9SMartin Povišer
23*f2a67da9SMartin Povišer  reg:
24*f2a67da9SMartin Povišer    maxItems: 1
25*f2a67da9SMartin Povišer
26*f2a67da9SMartin Povišer  reset-gpios:
27*f2a67da9SMartin Povišer    maxItems: 1
28*f2a67da9SMartin Povišer
29*f2a67da9SMartin Povišer  interrupts:
30*f2a67da9SMartin Povišer    maxItems: 1
31*f2a67da9SMartin Povišer
32*f2a67da9SMartin Povišer  '#sound-dai-cells':
33*f2a67da9SMartin Povišer    const: 0
34*f2a67da9SMartin Povišer
35*f2a67da9SMartin Povišerrequired:
36*f2a67da9SMartin Povišer  - compatible
37*f2a67da9SMartin Povišer  - reg
38*f2a67da9SMartin Povišer
39*f2a67da9SMartin PovišeradditionalProperties: false
40*f2a67da9SMartin Povišer
41*f2a67da9SMartin Povišerexamples:
42*f2a67da9SMartin Povišer  - |
43*f2a67da9SMartin Povišer    #include <dt-bindings/gpio/gpio.h>
44*f2a67da9SMartin Povišer    #include <dt-bindings/interrupt-controller/irq.h>
45*f2a67da9SMartin Povišer    i2c {
46*f2a67da9SMartin Povišer      #address-cells = <1>;
47*f2a67da9SMartin Povišer      #size-cells = <0>;
48*f2a67da9SMartin Povišer
49*f2a67da9SMartin Povišer      jack_codec: codec@4b {
50*f2a67da9SMartin Povišer          compatible = "cirrus,cs42l84";
51*f2a67da9SMartin Povišer          reg = <0x4b>;
52*f2a67da9SMartin Povišer          reset-gpios = <&pinctrl_nub 4 GPIO_ACTIVE_LOW>;
53*f2a67da9SMartin Povišer          interrupts-extended = <&pinctrl_ap 180 IRQ_TYPE_LEVEL_LOW>;
54*f2a67da9SMartin Povišer          #sound-dai-cells = <0>;
55*f2a67da9SMartin Povišer      };
56*f2a67da9SMartin Povišer    };
57