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
19575a29edSCharles Keepaxproperties:
20575a29edSCharles Keepax  '#sound-dai-cells':
21575a29edSCharles Keepax    description:
22575a29edSCharles Keepax      The first cell indicating the audio interface.
23575a29edSCharles Keepax    const: 1
24575a29edSCharles Keepax
25575a29edSCharles Keepax  wlf,inmode:
26575a29edSCharles Keepax    description:
27575a29edSCharles Keepax      A list of INn_MODE register values, where n is the number of input
28575a29edSCharles Keepax      signals. Valid values are 0 (Differential), 1 (Single-ended) and
29575a29edSCharles Keepax      2 (Digital Microphone). If absent, INn_MODE registers set to 0 by
30575a29edSCharles Keepax      default.  If present, values must be specified less than or equal
31575a29edSCharles Keepax      to the number of input signals. If values less than the number of
32575a29edSCharles Keepax      input signals, elements that have not been specified are set to 0 by
33575a29edSCharles Keepax      default. Entries are <IN1, IN2, IN3, IN4> (wm5102, wm5110, wm8280,
34575a29edSCharles Keepax      wm8997) and <IN1A, IN2A, IN1B, IN2B> (wm8998, wm1814)
35575a29edSCharles Keepax    $ref: /schemas/types.yaml#/definitions/uint32-array
36575a29edSCharles Keepax    minItems: 1
37575a29edSCharles Keepax    maxItems: 4
38575a29edSCharles Keepax    items:
39575a29edSCharles Keepax      minimum: 0
40575a29edSCharles Keepax      maximum: 2
41575a29edSCharles Keepax      default: 0
42575a29edSCharles Keepax
43575a29edSCharles Keepax  wlf,out-mono:
44575a29edSCharles Keepax    description:
45575a29edSCharles Keepax      A list of boolean values indicating whether each output is mono
46575a29edSCharles Keepax      or stereo. Position within the list indicates the output affected
47575a29edSCharles Keepax      (eg. First entry in the list corresponds to output 1). A non-zero
48575a29edSCharles Keepax      value indicates a mono output. If present, the number of values
49575a29edSCharles Keepax      should be less than or equal to the number of outputs, if less values
50575a29edSCharles Keepax      are supplied the additional outputs will be treated as stereo.
51575a29edSCharles Keepax    $ref: /schemas/types.yaml#/definitions/uint32-array
52575a29edSCharles Keepax    minItems: 1
53575a29edSCharles Keepax    maxItems: 6
54575a29edSCharles Keepax    items:
55575a29edSCharles Keepax      minimum: 0
56575a29edSCharles Keepax      maximum: 1
57575a29edSCharles Keepax      default: 0
58575a29edSCharles Keepax
59575a29edSCharles Keepax  wlf,dmic-ref:
60575a29edSCharles Keepax    description:
61575a29edSCharles Keepax      DMIC reference voltage source for each input, can be selected from
62575a29edSCharles Keepax      either MICVDD or one of the MICBIAS's, defines (ARIZONA_DMIC_xxxx)
63575a29edSCharles Keepax      are provided in dt-bindings/mfd/arizona.h. If present, the number
64575a29edSCharles Keepax      of values should be less than or equal to the number of inputs,
65575a29edSCharles Keepax      unspecified inputs will use the chip default.
66575a29edSCharles Keepax    $ref: /schemas/types.yaml#/definitions/uint32-array
67575a29edSCharles Keepax    minItems: 1
68575a29edSCharles Keepax    maxItems: 4
69575a29edSCharles Keepax    items:
70575a29edSCharles Keepax      minimum: 0
71575a29edSCharles Keepax      maximum: 3
72575a29edSCharles Keepax      default: 0
73575a29edSCharles Keepax
74575a29edSCharles Keepax  wlf,max-channels-clocked:
75575a29edSCharles Keepax    description:
76575a29edSCharles Keepax      The maximum number of channels to be clocked on each AIF, useful for
77575a29edSCharles Keepax      I2S systems with multiple data lines being mastered.  Specify one
78575a29edSCharles Keepax      cell for each AIF to be configured, specify zero for AIFs that should
79575a29edSCharles Keepax      be handled normally.  If present, number of cells must be less than
80575a29edSCharles Keepax      or equal to the number of AIFs. If less than the number of AIFs, for
81575a29edSCharles Keepax      cells that have not been specified the corresponding AIFs will be
82575a29edSCharles Keepax      treated as default setting.
83575a29edSCharles Keepax    $ref: /schemas/types.yaml#/definitions/uint32-array
84575a29edSCharles Keepax    minItems: 1
85575a29edSCharles Keepax    maxItems: 3
86575a29edSCharles Keepax    items:
87575a29edSCharles Keepax      default: 0
88575a29edSCharles Keepax
89575a29edSCharles Keepax  wlf,spk-fmt:
90575a29edSCharles Keepax    description:
91575a29edSCharles Keepax      PDM speaker data format, must contain 2 cells (OUT5 and OUT6).  See
92575a29edSCharles Keepax      the datasheet for values.  The second cell is ignored for codecs that
93575a29edSCharles Keepax      do not have OUT6 (wm5102, wm8997, wm8998, wm1814)
94575a29edSCharles Keepax    $ref: /schemas/types.yaml#/definitions/uint32-array
95575a29edSCharles Keepax    minItems: 2
96575a29edSCharles Keepax    maxItems: 2
97575a29edSCharles Keepax
98575a29edSCharles Keepax  wlf,spk-mute:
99575a29edSCharles Keepax    description:
100575a29edSCharles Keepax      PDM speaker mute setting, must contain 2 cells (OUT5 and OUT6).  See
101575a29edSCharles Keepax      the datasheet for values.  The second cell is ignored for codecs that
102575a29edSCharles Keepax      do not have OUT6 (wm5102, wm8997, wm8998, wm1814)
103575a29edSCharles Keepax    $ref: /schemas/types.yaml#/definitions/uint32-array
104575a29edSCharles Keepax    minItems: 2
105575a29edSCharles Keepax    maxItems: 2
106575a29edSCharles Keepax
107575a29edSCharles Keepax  wlf,out-volume-limit:
108575a29edSCharles Keepax    description:
109575a29edSCharles Keepax      The volume limit value that should be applied to each output
110575a29edSCharles Keepax      channel. See the datasheet for exact values. Channels are specified
111575a29edSCharles Keepax      in the order OUT1L, OUT1R, OUT2L, OUT2R, etc.
112575a29edSCharles Keepax    $ref: /schemas/types.yaml#/definitions/uint32-array
113575a29edSCharles Keepax    minItems: 1
114575a29edSCharles Keepax    maxItems: 12
1156a0e321eSRob Herring
1166a0e321eSRob HerringadditionalProperties: true
117