Linux 6.7-rc7
[linux-modified.git] / Documentation / devicetree / bindings / sound / maxim,max98925.yaml
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,max98925.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Maxim Integrated MAX98925/MAX98926/MAX98927 speaker amplifier
8
9 maintainers:
10   - Ryan Lee <ryans.lee@maximintegrated.com>
11
12 properties:
13   compatible:
14     enum:
15       - maxim,max98925
16       - maxim,max98926
17       - maxim,max98927
18
19   reg:
20     maxItems: 1
21
22   reset-gpios:
23     maxItems: 1
24
25   '#sound-dai-cells':
26     const: 0
27
28   vmon-slot-no:
29     $ref: /schemas/types.yaml#/definitions/uint32
30     minimum: 0
31     maximum: 30
32     default: 0
33     description:
34       Slot number used to send voltage information or in inteleave mode this
35       will be used as interleave slot.
36
37   imon-slot-no:
38     $ref: /schemas/types.yaml#/definitions/uint32
39     minimum: 0
40     maximum: 30
41     default: 0
42     description:
43       Slot number used to send current information.
44
45   maxim,interleave-mode:
46     type: boolean
47     description:
48       When using two MAX9892X in a system it is possible to create ADC data
49       that will overflow the frame size. When enabled, the Digital Audio
50       Interleave mode provides a means to output VMON and IMON data from two
51       devices on a single DOUT line when running smaller frames sizes such as
52       32 BCLKS per LRCLK or 48 BCLKS per LRCLK.
53
54 required:
55   - compatible
56   - reg
57
58 allOf:
59   - $ref: dai-common.yaml#
60   - if:
61       properties:
62         compatible:
63           contains:
64             enum:
65               - maxim,max98927
66     then:
67       properties:
68         vmon-slot-no:
69           minimum: 0
70           maximum: 15
71
72         imon-slot-no:
73           minimum: 0
74           maximum: 15
75
76 additionalProperties: false
77
78 examples:
79   - |
80     i2c {
81         #address-cells = <1>;
82         #size-cells = <0>;
83
84         #include <dt-bindings/gpio/gpio.h>
85         audio-codec@3a {
86             compatible = "maxim,max98927";
87             reg = <0x3a>;
88             #sound-dai-cells = <0>;
89
90             pinctrl-0 = <&speaker_default>;
91             pinctrl-names = "default";
92
93             reset-gpios = <&tlmm 69 GPIO_ACTIVE_LOW>;
94
95             vmon-slot-no = <1>;
96             imon-slot-no = <0>;
97         };
98     };