116 lines
3.6 KiB
YAML
116 lines
3.6 KiB
YAML
|
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||
|
%YAML 1.2
|
||
|
---
|
||
|
$id: http://devicetree.org/schemas/sound/cirrus,madera.yaml#
|
||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||
|
|
||
|
title: Cirrus Logic Madera class audio CODECs
|
||
|
|
||
|
maintainers:
|
||
|
- patches@opensource.cirrus.com
|
||
|
|
||
|
description: |
|
||
|
This describes audio configuration bindings for these codecs.
|
||
|
|
||
|
See also the core bindings for the parent MFD driver:
|
||
|
|
||
|
Documentation/devicetree/bindings/mfd/cirrus,madera.yaml
|
||
|
|
||
|
and defines for values used in these bindings:
|
||
|
|
||
|
include/dt-bindings/sound/madera.h
|
||
|
|
||
|
The properties are all contained in the parent MFD node.
|
||
|
|
||
|
properties:
|
||
|
'#sound-dai-cells':
|
||
|
description:
|
||
|
The first cell indicating the audio interface.
|
||
|
const: 1
|
||
|
|
||
|
cirrus,inmode:
|
||
|
description:
|
||
|
A list of input mode settings for each input. A maximum
|
||
|
of 24 cells, with four cells per input in the order INnAL,
|
||
|
INnAR INnBL INnBR. For non-muxed inputs the first two cells
|
||
|
for that input set the mode for the left and right channel
|
||
|
and the second two cells must be 0. For muxed inputs the
|
||
|
first two cells for that input set the mode of the left and
|
||
|
right A inputs and the second two cells set the mode of the
|
||
|
left and right B inputs. Valid mode values are one of the
|
||
|
MADERA_INMODE_xxx. If the array is shorter than the number
|
||
|
of inputs the unspecified inputs default to MADERA_INMODE_DIFF.
|
||
|
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||
|
minItems: 1
|
||
|
maxItems: 24
|
||
|
items:
|
||
|
minimum: 0
|
||
|
maximum: 1
|
||
|
default: 0
|
||
|
|
||
|
cirrus,out-mono:
|
||
|
description:
|
||
|
Mono bit for each output, maximum of six cells if the array
|
||
|
is shorter outputs will be set to stereo.
|
||
|
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||
|
minItems: 1
|
||
|
maxItems: 6
|
||
|
items:
|
||
|
minimum: 0
|
||
|
maximum: 1
|
||
|
default: 0
|
||
|
|
||
|
cirrus,dmic-ref:
|
||
|
description: |
|
||
|
Indicates how the MICBIAS pins have been externally connected
|
||
|
to DMICs on each input, one cell per input.
|
||
|
|
||
|
<IN1 IN2 IN3 ...>
|
||
|
|
||
|
A value of 0 indicates MICVDD and is the default,
|
||
|
other values depend on the codec: For CS47L35 one of the
|
||
|
CS47L35_DMIC_REF_xxx values For all other codecs one of
|
||
|
the MADERA_DMIC_REF_xxx values Also see the datasheet for a
|
||
|
description of the INn_DMIC_SUP field.
|
||
|
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||
|
minItems: 1
|
||
|
maxItems: 6
|
||
|
items:
|
||
|
minimum: 0
|
||
|
maximum: 3
|
||
|
default: 0
|
||
|
|
||
|
cirrus,max-channels-clocked:
|
||
|
description:
|
||
|
Maximum number of channels that I2S clocks will be generated
|
||
|
for. Useful when clock master for systems where the I2S bus
|
||
|
has multiple data lines. One cell for each AIF, use a value
|
||
|
of zero for AIFs that should be handled normally.
|
||
|
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||
|
minItems: 1
|
||
|
maxItems: 4
|
||
|
items:
|
||
|
default: 0
|
||
|
|
||
|
cirrus,pdm-fmt:
|
||
|
description:
|
||
|
PDM speaker data format, must contain 2 cells (OUT5 and
|
||
|
OUT6). See the PDM_SPKn_FMT field in the datasheet for a
|
||
|
description of this value. The second cell is ignored for
|
||
|
codecs that do not have OUT6.
|
||
|
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||
|
minItems: 2
|
||
|
maxItems: 2
|
||
|
|
||
|
cirrus,pdm-mute:
|
||
|
description: |
|
||
|
PDM mute format, must contain 2 cells (OUT5 and OUT6). See the
|
||
|
PDM_SPKn_CTRL_1 register in the datasheet for a description
|
||
|
of this value. The second cell is ignored for codecs that
|
||
|
do not have OUT6.
|
||
|
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||
|
minItems: 2
|
||
|
maxItems: 2
|
||
|
|
||
|
additionalProperties: true
|