| 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, must contain six cells if |
| specified. A non-zero value indicates the corresponding output is mono. |
| |
| - 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>; |
| }; |
| |