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