Cirrus Logic Madera class audio codecs

See also the core bindings for the parent MFD driver:
See Documentation/devicetree/bindinge/mfd/madera.txt

Optional properties:
  - cirrus,dmic-ref : DMIC reference for 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 - see the datasheet for the INn_DMIC_SUP field

  - cirrus,dmic-clksrc : DMIC clock source for each input (CS47L90, CS47L91).
    One cell per input. A value of 0 will source DMIC from the internally
    generated clock within the ADC subsystem and a value of 1 will source DMIC
    and External digital speakers with same clock

  - 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 (cs47l35 IN1, cs47l85 IN1 and IN2) 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 (see
    include/dt-bindings/sound/madera.h). 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 : The maximum number of channels to be clocked
    on each AIF, useful for I2S systems with multiple data lines being mastered.
    One cell for each AIF, use a value of zero for AIFs that should be handled
    normally.

Example:

codec: cs47l35@0 {
	compatible = "cirrus,cs47l35";

	cirrus,dmic-ref = <0 0 1 0>;
	cirrus,dmic-clksrc = <0 0 0 0>;
	cirrus,inmode = <
		2 2 1 1 /* IN1A digital, IN1B single-ended */
		0 0 0 0	/* IN2 differential */
	>;
	cirrus,outmono = <0 0 0 0 0 0>;
	cirrus,max-channels-clocked = <2 0 0>;
};
