68 lines
2.7 KiB
Plaintext
68 lines
2.7 KiB
Plaintext
Cirrus Logic Madera class audio codecs
|
|
|
|
This describes audio configuration bindings for these codecs.
|
|
|
|
See also the core bindings for the parent MFD driver:
|
|
See Documentation/devicetree/bindings/mfd/madera.txt
|
|
|
|
and defines for values used in these bindings:
|
|
include/dt-bindings/sound/madera.h
|
|
|
|
These properties are all contained in the parent MFD node.
|
|
|
|
Optional properties:
|
|
- cirrus,dmic-ref : 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.
|
|
|
|
- cirrus,inmode : A list of input mode settings for each input. A maximum of
|
|
16 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.
|
|
|
|
- cirrus,out-mono : Mono bit for each output, maximum of six cells if the
|
|
array is shorter outputs will be set to stereo.
|
|
|
|
- cirrus,max-channels-clocked : 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.
|
|
|
|
- cirrus,pdm-fmt : 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.
|
|
|
|
- cirrus,pdm-mute : 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.
|
|
|
|
Example:
|
|
|
|
cs47l35@0 {
|
|
compatible = "cirrus,cs47l35";
|
|
|
|
cirrus,dmic-ref = <0 0 CS47L35_DMIC_REF_MICBIAS1B 0>;
|
|
cirrus,inmode = <
|
|
MADERA_INMODE_DMIC MADERA_INMODE_DMIC /* IN1A digital */
|
|
MADERA_INMODE_SE MADERA_INMODE_SE /* IN1B single-ended */
|
|
MADERA_INMODE_DIFF MADERA_INMODE_DIFF /* IN2 differential */
|
|
0 0 /* not used on this codec */
|
|
>;
|
|
cirrus,out-mono = <0 0 0 0 0 0>;
|
|
cirrus,max-channels-clocked = <2 0 0>;
|
|
};
|