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