18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
28c2ecf20Sopenharmony_ci%YAML 1.2
38c2ecf20Sopenharmony_ci---
48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/sound/cirrus,madera.yaml#
58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_cititle: Cirrus Logic Madera class audio CODECs
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_cimaintainers:
108c2ecf20Sopenharmony_ci  - patches@opensource.cirrus.com
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_cidescription: |
138c2ecf20Sopenharmony_ci  This describes audio configuration bindings for these codecs.
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_ci  See also the core bindings for the parent MFD driver:
168c2ecf20Sopenharmony_ci
178c2ecf20Sopenharmony_ci    Documentation/devicetree/bindings/mfd/cirrus,madera.yaml
188c2ecf20Sopenharmony_ci
198c2ecf20Sopenharmony_ci  and defines for values used in these bindings:
208c2ecf20Sopenharmony_ci
218c2ecf20Sopenharmony_ci    include/dt-bindings/sound/madera.h
228c2ecf20Sopenharmony_ci
238c2ecf20Sopenharmony_ci  The properties are all contained in the parent MFD node.
248c2ecf20Sopenharmony_ci
258c2ecf20Sopenharmony_ciproperties:
268c2ecf20Sopenharmony_ci  '#sound-dai-cells':
278c2ecf20Sopenharmony_ci    description:
288c2ecf20Sopenharmony_ci      The first cell indicating the audio interface.
298c2ecf20Sopenharmony_ci    const: 1
308c2ecf20Sopenharmony_ci
318c2ecf20Sopenharmony_ci  cirrus,inmode:
328c2ecf20Sopenharmony_ci    description:
338c2ecf20Sopenharmony_ci      A list of input mode settings for each input. A maximum
348c2ecf20Sopenharmony_ci      of 24 cells, with four cells per input in the order INnAL,
358c2ecf20Sopenharmony_ci      INnAR INnBL INnBR.  For non-muxed inputs the first two cells
368c2ecf20Sopenharmony_ci      for that input set the mode for the left and right channel
378c2ecf20Sopenharmony_ci      and the second two cells must be 0.  For muxed inputs the
388c2ecf20Sopenharmony_ci      first two cells for that input set the mode of the left and
398c2ecf20Sopenharmony_ci      right A inputs and the second two cells set the mode of the
408c2ecf20Sopenharmony_ci      left and right B inputs.  Valid mode values are one of the
418c2ecf20Sopenharmony_ci      MADERA_INMODE_xxx. If the array is shorter than the number
428c2ecf20Sopenharmony_ci      of inputs the unspecified inputs default to MADERA_INMODE_DIFF.
438c2ecf20Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32-array
448c2ecf20Sopenharmony_ci    minItems: 1
458c2ecf20Sopenharmony_ci    maxItems: 24
468c2ecf20Sopenharmony_ci    items:
478c2ecf20Sopenharmony_ci      minimum: 0
488c2ecf20Sopenharmony_ci      maximum: 1
498c2ecf20Sopenharmony_ci      default: 0
508c2ecf20Sopenharmony_ci
518c2ecf20Sopenharmony_ci  cirrus,out-mono:
528c2ecf20Sopenharmony_ci    description:
538c2ecf20Sopenharmony_ci      Mono bit for each output, maximum of six cells if the array
548c2ecf20Sopenharmony_ci      is shorter outputs will be set to stereo.
558c2ecf20Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32-array
568c2ecf20Sopenharmony_ci    minItems: 1
578c2ecf20Sopenharmony_ci    maxItems: 6
588c2ecf20Sopenharmony_ci    items:
598c2ecf20Sopenharmony_ci      minimum: 0
608c2ecf20Sopenharmony_ci      maximum: 1
618c2ecf20Sopenharmony_ci      default: 0
628c2ecf20Sopenharmony_ci
638c2ecf20Sopenharmony_ci  cirrus,dmic-ref:
648c2ecf20Sopenharmony_ci    description: |
658c2ecf20Sopenharmony_ci      Indicates how the MICBIAS pins have been externally connected
668c2ecf20Sopenharmony_ci      to DMICs on each input, one cell per input.
678c2ecf20Sopenharmony_ci
688c2ecf20Sopenharmony_ci        <IN1 IN2 IN3 ...>
698c2ecf20Sopenharmony_ci
708c2ecf20Sopenharmony_ci      A value of 0 indicates MICVDD and is the default,
718c2ecf20Sopenharmony_ci      other values depend on the codec: For CS47L35 one of the
728c2ecf20Sopenharmony_ci      CS47L35_DMIC_REF_xxx values For all other codecs one of
738c2ecf20Sopenharmony_ci      the MADERA_DMIC_REF_xxx values Also see the datasheet for a
748c2ecf20Sopenharmony_ci      description of the INn_DMIC_SUP field.
758c2ecf20Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32-array
768c2ecf20Sopenharmony_ci    minItems: 1
778c2ecf20Sopenharmony_ci    maxItems: 6
788c2ecf20Sopenharmony_ci    items:
798c2ecf20Sopenharmony_ci      minimum: 0
808c2ecf20Sopenharmony_ci      maximum: 3
818c2ecf20Sopenharmony_ci      default: 0
828c2ecf20Sopenharmony_ci
838c2ecf20Sopenharmony_ci  cirrus,max-channels-clocked:
848c2ecf20Sopenharmony_ci    description:
858c2ecf20Sopenharmony_ci      Maximum number of channels that I2S clocks will be generated
868c2ecf20Sopenharmony_ci      for. Useful when clock master for systems where the I2S bus
878c2ecf20Sopenharmony_ci      has multiple data lines.  One cell for each AIF, use a value
888c2ecf20Sopenharmony_ci      of zero for AIFs that should be handled normally.
898c2ecf20Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32-array
908c2ecf20Sopenharmony_ci    minItems: 1
918c2ecf20Sopenharmony_ci    maxItems: 4
928c2ecf20Sopenharmony_ci    items:
938c2ecf20Sopenharmony_ci      default: 0
948c2ecf20Sopenharmony_ci
958c2ecf20Sopenharmony_ci  cirrus,pdm-fmt:
968c2ecf20Sopenharmony_ci    description:
978c2ecf20Sopenharmony_ci      PDM speaker data format, must contain 2 cells (OUT5 and
988c2ecf20Sopenharmony_ci      OUT6). See the PDM_SPKn_FMT field in the datasheet for a
998c2ecf20Sopenharmony_ci      description of this value. The second cell is ignored for
1008c2ecf20Sopenharmony_ci      codecs that do not have OUT6.
1018c2ecf20Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32-array
1028c2ecf20Sopenharmony_ci    minItems: 2
1038c2ecf20Sopenharmony_ci    maxItems: 2
1048c2ecf20Sopenharmony_ci
1058c2ecf20Sopenharmony_ci  cirrus,pdm-mute:
1068c2ecf20Sopenharmony_ci    description: |
1078c2ecf20Sopenharmony_ci      PDM mute format, must contain 2 cells (OUT5 and OUT6). See the
1088c2ecf20Sopenharmony_ci      PDM_SPKn_CTRL_1 register in the datasheet for a description
1098c2ecf20Sopenharmony_ci      of this value.  The second cell is ignored for codecs that
1108c2ecf20Sopenharmony_ci      do not have OUT6.
1118c2ecf20Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32-array
1128c2ecf20Sopenharmony_ci    minItems: 2
1138c2ecf20Sopenharmony_ci    maxItems: 2
1148c2ecf20Sopenharmony_ci
1158c2ecf20Sopenharmony_ciadditionalProperties: true
116