1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/sound/wlf,arizona.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Cirrus Logic/Wolfson Microelectronics Arizona class audio SoCs
8
9maintainers:
10  - patches@opensource.cirrus.com
11
12description: |
13  These devices are audio SoCs with extensive digital capabilities and a range
14  of analogue I/O.
15
16  This document lists sound specific bindings, see the primary binding
17  document ../mfd/arizona.yaml
18
19properties:
20  '#sound-dai-cells':
21    description:
22      The first cell indicating the audio interface.
23    const: 1
24
25  wlf,inmode:
26    description:
27      A list of INn_MODE register values, where n is the number of input
28      signals. Valid values are 0 (Differential), 1 (Single-ended) and
29      2 (Digital Microphone). If absent, INn_MODE registers set to 0 by
30      default.  If present, values must be specified less than or equal
31      to the number of input signals. If values less than the number of
32      input signals, elements that have not been specified are set to 0 by
33      default. Entries are <IN1, IN2, IN3, IN4> (wm5102, wm5110, wm8280,
34      wm8997) and <IN1A, IN2A, IN1B, IN2B> (wm8998, wm1814)
35    $ref: /schemas/types.yaml#/definitions/uint32-array
36    minItems: 1
37    maxItems: 4
38    items:
39      minimum: 0
40      maximum: 2
41      default: 0
42
43  wlf,out-mono:
44    description:
45      A list of boolean values indicating whether each output is mono
46      or stereo. Position within the list indicates the output affected
47      (eg. First entry in the list corresponds to output 1). A non-zero
48      value indicates a mono output. If present, the number of values
49      should be less than or equal to the number of outputs, if less values
50      are supplied the additional outputs will be treated as stereo.
51    $ref: /schemas/types.yaml#/definitions/uint32-array
52    minItems: 1
53    maxItems: 6
54    items:
55      minimum: 0
56      maximum: 1
57      default: 0
58
59  wlf,dmic-ref:
60    description:
61      DMIC reference voltage source for each input, can be selected from
62      either MICVDD or one of the MICBIAS's, defines (ARIZONA_DMIC_xxxx)
63      are provided in dt-bindings/mfd/arizona.h. If present, the number
64      of values should be less than or equal to the number of inputs,
65      unspecified inputs will use the chip default.
66    $ref: /schemas/types.yaml#/definitions/uint32-array
67    minItems: 1
68    maxItems: 4
69    items:
70      minimum: 0
71      maximum: 3
72      default: 0
73
74  wlf,max-channels-clocked:
75    description:
76      The maximum number of channels to be clocked on each AIF, useful for
77      I2S systems with multiple data lines being mastered.  Specify one
78      cell for each AIF to be configured, specify zero for AIFs that should
79      be handled normally.  If present, number of cells must be less than
80      or equal to the number of AIFs. If less than the number of AIFs, for
81      cells that have not been specified the corresponding AIFs will be
82      treated as default setting.
83    $ref: /schemas/types.yaml#/definitions/uint32-array
84    minItems: 1
85    maxItems: 3
86    items:
87      default: 0
88
89  wlf,spk-fmt:
90    description:
91      PDM speaker data format, must contain 2 cells (OUT5 and OUT6).  See
92      the datasheet for values.  The second cell is ignored for codecs that
93      do not have OUT6 (wm5102, wm8997, wm8998, wm1814)
94    $ref: /schemas/types.yaml#/definitions/uint32-array
95    minItems: 2
96    maxItems: 2
97
98  wlf,spk-mute:
99    description:
100      PDM speaker mute setting, must contain 2 cells (OUT5 and OUT6).  See
101      the datasheet for values.  The second cell is ignored for codecs that
102      do not have OUT6 (wm5102, wm8997, wm8998, wm1814)
103    $ref: /schemas/types.yaml#/definitions/uint32-array
104    minItems: 2
105    maxItems: 2
106
107  wlf,out-volume-limit:
108    description:
109      The volume limit value that should be applied to each output
110      channel. See the datasheet for exact values. Channels are specified
111      in the order OUT1L, OUT1R, OUT2L, OUT2R, etc.
112    $ref: /schemas/types.yaml#/definitions/uint32-array
113    minItems: 1
114    maxItems: 12
115
116additionalProperties: true
117