1Cirrus Logic Madera class audio codecs 2 3This describes audio configuration bindings for these codecs. 4 5See also the core bindings for the parent MFD driver: 6See Documentation/devicetree/bindings/mfd/madera.txt 7 8and defines for values used in these bindings: 9include/dt-bindings/sound/madera.h 10 11These properties are all contained in the parent MFD node. 12 13Optional properties: 14 - cirrus,dmic-ref : Indicates how the MICBIAS pins have been externally 15 connected to DMICs on each input, one cell per input. 16 <IN1 IN2 IN3 ...> 17 A value of 0 indicates MICVDD and is the default, other values depend on the 18 codec: 19 For CS47L35 one of the CS47L35_DMIC_REF_xxx values 20 For all other codecs one of the MADERA_DMIC_REF_xxx values 21 Also see the datasheet for a description of the INn_DMIC_SUP field. 22 23 - cirrus,inmode : A list of input mode settings for each input. A maximum of 24 16 cells, with four cells per input in the order INnAL, INnAR INnBL INnBR. 25 For non-muxed inputs the first two cells for that input set the mode for 26 the left and right channel and the second two cells must be 0. 27 For muxed inputs the first two cells for that input set the mode of the 28 left and right A inputs and the second two cells set the mode of the left 29 and right B inputs. 30 Valid mode values are one of the MADERA_INMODE_xxx. If the array is shorter 31 than the number of inputs the unspecified inputs default to 32 MADERA_INMODE_DIFF. 33 34 - cirrus,out-mono : Mono bit for each output, maximum of six cells if the 35 array is shorter outputs will be set to stereo. 36 37 - cirrus,max-channels-clocked : Maximum number of channels that I2S clocks 38 will be generated for. Useful when clock master for systems where the I2S 39 bus has multiple data lines. 40 One cell for each AIF, use a value of zero for AIFs that should be handled 41 normally. 42 43 - cirrus,pdm-fmt : PDM speaker data format, must contain 2 cells 44 (OUT5 and OUT6). See the PDM_SPKn_FMT field in the datasheet for a 45 description of this value. 46 The second cell is ignored for codecs that do not have OUT6. 47 48 - cirrus,pdm-mute : PDM mute format, must contain 2 cells 49 (OUT5 and OUT6). See the PDM_SPKn_CTRL_1 register in the datasheet for a 50 description of this value. 51 The second cell is ignored for codecs that do not have OUT6. 52 53Example: 54 55cs47l35@0 { 56 compatible = "cirrus,cs47l35"; 57 58 cirrus,dmic-ref = <0 0 CS47L35_DMIC_REF_MICBIAS1B 0>; 59 cirrus,inmode = < 60 MADERA_INMODE_DMIC MADERA_INMODE_DMIC /* IN1A digital */ 61 MADERA_INMODE_SE MADERA_INMODE_SE /* IN1B single-ended */ 62 MADERA_INMODE_DIFF MADERA_INMODE_DIFF /* IN2 differential */ 63 0 0 /* not used on this codec */ 64 >; 65 cirrus,out-mono = <0 0 0 0 0 0>; 66 cirrus,max-channels-clocked = <2 0 0>; 67}; 68