1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/sound/maxim,max98090.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Maxim Integrated MAX98090/MAX98091 audio codecs
8
9maintainers:
10  - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
11
12description: |
13  Pins on the device (for linking into audio routes):
14  MIC1, MIC2, DMICL, DMICR, IN1, IN2, IN3, IN4, IN5, IN6, IN12, IN34, IN56,
15  HPL, HPR, SPKL, SPKR, RCVL, RCVR, MICBIAS
16
17allOf:
18  - $ref: dai-common.yaml#
19
20properties:
21  compatible:
22    enum:
23      - maxim,max98090
24      - maxim,max98091
25
26  reg:
27    maxItems: 1
28
29  clocks:
30    items:
31      - description: master clock
32
33  clock-names:
34    items:
35      - const: mclk
36
37  interrupts:
38    maxItems: 1
39
40  maxim,dmic-freq:
41    $ref: /schemas/types.yaml#/definitions/uint32
42    default: 2500000
43    description:
44      DMIC clock frequency
45
46  maxim,micbias:
47    $ref: /schemas/types.yaml#/definitions/uint32
48    enum: [ 0, 1, 2, 3 ]
49    default: 3
50    description: |
51      Micbias voltage applied to the analog mic, valid voltages value are:
52        0 - 2.2v
53        1 - 2.55v
54        2 - 2.4v
55        3 - 2.8v
56
57  '#sound-dai-cells':
58    const: 0
59
60required:
61  - compatible
62  - reg
63  - interrupts
64
65unevaluatedProperties: false
66
67examples:
68  - |
69    #include <dt-bindings/interrupt-controller/irq.h>
70
71    i2c {
72        #address-cells = <1>;
73        #size-cells = <0>;
74
75        audio-codec@10 {
76            compatible = "maxim,max98090";
77            reg = <0x10>;
78            interrupt-parent = <&gpx3>;
79            interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
80            clocks = <&i2s0 0>;
81            clock-names = "mclk";
82            #sound-dai-cells = <0>;
83        };
84    };
85