Cirrus Logic Lochnagar Audio Development Board

Lochnagar is an evaluation and development board for Cirrus Logic
Smart CODEC and Amp devices. It allows the connection of most Cirrus
Logic devices on mini-cards, as well as allowing connection of
various application processor systems to provide a full evaluation
platform.  Audio system topology, clocking and power can all be
controlled through the Lochnagar, allowing the device under test
to be used in a variety of possible use cases.

This binding document describes the binding for the audio portion
of the driver.

This binding must be part of the Lochnagar MFD binding:
  [4] ../mfd/cirrus,lochnagar.txt

Required properties:

  - compatible : One of the following strings:
                 "cirrus,lochnagar2-soundcard"

  - #sound-dai-cells : Must be set to 1.

  - clocks : Contains an entry for each entry in clock-names.
  - clock-names : Must include the following clocks:
      "mclk" Master clock source for the sound card, should normally
      be set to LOCHNAGAR_SOUNDCARD_MCLK provided by the Lochnagar
      clock driver.

Example:

lochnagar-sc {
	compatible = "cirrus,lochnagar2-soundcard";

	#sound-dai-cells = <1>;

	clocks = <&lochnagar_clk LOCHNAGAR_SOUNDCARD_MCLK>;
	clock-names = "mclk";
};
