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