1575a29edSCharles Keepax# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2575a29edSCharles Keepax%YAML 1.2
3575a29edSCharles Keepax---
4575a29edSCharles Keepax$id: http://devicetree.org/schemas/sound/wlf,arizona.yaml#
5575a29edSCharles Keepax$schema: http://devicetree.org/meta-schemas/core.yaml#
6575a29edSCharles Keepax
7575a29edSCharles Keepaxtitle: Cirrus Logic/Wolfson Microelectronics Arizona class audio SoCs
8575a29edSCharles Keepax
9575a29edSCharles Keepaxmaintainers:
10575a29edSCharles Keepax  - patches@opensource.cirrus.com
11575a29edSCharles Keepax
12575a29edSCharles Keepaxdescription: |
13575a29edSCharles Keepax  These devices are audio SoCs with extensive digital capabilities and a range
14575a29edSCharles Keepax  of analogue I/O.
15575a29edSCharles Keepax
16575a29edSCharles Keepax  This document lists sound specific bindings, see the primary binding
17575a29edSCharles Keepax  document ../mfd/arizona.yaml
18575a29edSCharles Keepax
19*58ae9a2aSKrzysztof KozlowskiallOf:
20*58ae9a2aSKrzysztof Kozlowski  - $ref: dai-common.yaml#
21*58ae9a2aSKrzysztof Kozlowski
22575a29edSCharles Keepaxproperties:
23575a29edSCharles Keepax  '#sound-dai-cells':
24575a29edSCharles Keepax    description:
25575a29edSCharles Keepax      The first cell indicating the audio interface.
26575a29edSCharles Keepax    const: 1
27575a29edSCharles Keepax
28575a29edSCharles Keepax  wlf,inmode:
29575a29edSCharles Keepax    description:
30575a29edSCharles Keepax      A list of INn_MODE register values, where n is the number of input
31575a29edSCharles Keepax      signals. Valid values are 0 (Differential), 1 (Single-ended) and
32575a29edSCharles Keepax      2 (Digital Microphone). If absent, INn_MODE registers set to 0 by
33575a29edSCharles Keepax      default.  If present, values must be specified less than or equal
34575a29edSCharles Keepax      to the number of input signals. If values less than the number of
35575a29edSCharles Keepax      input signals, elements that have not been specified are set to 0 by
36575a29edSCharles Keepax      default. Entries are <IN1, IN2, IN3, IN4> (wm5102, wm5110, wm8280,
37575a29edSCharles Keepax      wm8997) and <IN1A, IN2A, IN1B, IN2B> (wm8998, wm1814)
38575a29edSCharles Keepax    $ref: /schemas/types.yaml#/definitions/uint32-array
39575a29edSCharles Keepax    minItems: 1
40575a29edSCharles Keepax    maxItems: 4
41575a29edSCharles Keepax    items:
42575a29edSCharles Keepax      minimum: 0
43575a29edSCharles Keepax      maximum: 2
44575a29edSCharles Keepax      default: 0
45575a29edSCharles Keepax
46575a29edSCharles Keepax  wlf,out-mono:
47575a29edSCharles Keepax    description:
48575a29edSCharles Keepax      A list of boolean values indicating whether each output is mono
49575a29edSCharles Keepax      or stereo. Position within the list indicates the output affected
50575a29edSCharles Keepax      (eg. First entry in the list corresponds to output 1). A non-zero
51575a29edSCharles Keepax      value indicates a mono output. If present, the number of values
52575a29edSCharles Keepax      should be less than or equal to the number of outputs, if less values
53575a29edSCharles Keepax      are supplied the additional outputs will be treated as stereo.
54575a29edSCharles Keepax    $ref: /schemas/types.yaml#/definitions/uint32-array
55575a29edSCharles Keepax    minItems: 1
56575a29edSCharles Keepax    maxItems: 6
57575a29edSCharles Keepax    items:
58575a29edSCharles Keepax      minimum: 0
59575a29edSCharles Keepax      maximum: 1
60575a29edSCharles Keepax      default: 0
61575a29edSCharles Keepax
62575a29edSCharles Keepax  wlf,dmic-ref:
63575a29edSCharles Keepax    description:
64575a29edSCharles Keepax      DMIC reference voltage source for each input, can be selected from
65575a29edSCharles Keepax      either MICVDD or one of the MICBIAS's, defines (ARIZONA_DMIC_xxxx)
66575a29edSCharles Keepax      are provided in dt-bindings/mfd/arizona.h. If present, the number
67575a29edSCharles Keepax      of values should be less than or equal to the number of inputs,
68575a29edSCharles Keepax      unspecified inputs will use the chip default.
69575a29edSCharles Keepax    $ref: /schemas/types.yaml#/definitions/uint32-array
70575a29edSCharles Keepax    minItems: 1
71575a29edSCharles Keepax    maxItems: 4
72575a29edSCharles Keepax    items:
73575a29edSCharles Keepax      minimum: 0
74575a29edSCharles Keepax      maximum: 3
75575a29edSCharles Keepax      default: 0
76575a29edSCharles Keepax
77575a29edSCharles Keepax  wlf,max-channels-clocked:
78575a29edSCharles Keepax    description:
79575a29edSCharles Keepax      The maximum number of channels to be clocked on each AIF, useful for
80575a29edSCharles Keepax      I2S systems with multiple data lines being mastered.  Specify one
81575a29edSCharles Keepax      cell for each AIF to be configured, specify zero for AIFs that should
82575a29edSCharles Keepax      be handled normally.  If present, number of cells must be less than
83575a29edSCharles Keepax      or equal to the number of AIFs. If less than the number of AIFs, for
84575a29edSCharles Keepax      cells that have not been specified the corresponding AIFs will be
85575a29edSCharles Keepax      treated as default setting.
86575a29edSCharles Keepax    $ref: /schemas/types.yaml#/definitions/uint32-array
87575a29edSCharles Keepax    minItems: 1
88575a29edSCharles Keepax    maxItems: 3
89575a29edSCharles Keepax    items:
90575a29edSCharles Keepax      default: 0
91575a29edSCharles Keepax
92575a29edSCharles Keepax  wlf,spk-fmt:
93575a29edSCharles Keepax    description:
94575a29edSCharles Keepax      PDM speaker data format, must contain 2 cells (OUT5 and OUT6).  See
95575a29edSCharles Keepax      the datasheet for values.  The second cell is ignored for codecs that
96575a29edSCharles Keepax      do not have OUT6 (wm5102, wm8997, wm8998, wm1814)
97575a29edSCharles Keepax    $ref: /schemas/types.yaml#/definitions/uint32-array
98575a29edSCharles Keepax    minItems: 2
99575a29edSCharles Keepax    maxItems: 2
100575a29edSCharles Keepax
101575a29edSCharles Keepax  wlf,spk-mute:
102575a29edSCharles Keepax    description:
103575a29edSCharles Keepax      PDM speaker mute setting, must contain 2 cells (OUT5 and OUT6).  See
104575a29edSCharles Keepax      the datasheet for values.  The second cell is ignored for codecs that
105575a29edSCharles Keepax      do not have OUT6 (wm5102, wm8997, wm8998, wm1814)
106575a29edSCharles Keepax    $ref: /schemas/types.yaml#/definitions/uint32-array
107575a29edSCharles Keepax    minItems: 2
108575a29edSCharles Keepax    maxItems: 2
109575a29edSCharles Keepax
110575a29edSCharles Keepax  wlf,out-volume-limit:
111575a29edSCharles Keepax    description:
112575a29edSCharles Keepax      The volume limit value that should be applied to each output
113575a29edSCharles Keepax      channel. See the datasheet for exact values. Channels are specified
114575a29edSCharles Keepax      in the order OUT1L, OUT1R, OUT2L, OUT2R, etc.
115575a29edSCharles Keepax    $ref: /schemas/types.yaml#/definitions/uint32-array
116575a29edSCharles Keepax    minItems: 1
117575a29edSCharles Keepax    maxItems: 12
1186a0e321eSRob Herring
1196a0e321eSRob HerringadditionalProperties: true
120