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.

Also see these documents for generic binding information:
  [1] GPIO : ../gpio/gpio.txt

And these for relevant defines:
  [2] include/dt-bindings/pinctrl/lochnagar.h
  [3] include/dt-bindings/clock/lochnagar.h

And these documents for the required sub-node binding details:
  [4] Clock: ../clock/cirrus,lochnagar.txt
  [5] Pinctrl: ../pinctrl/cirrus,lochnagar.txt
  [6] Regulator: ../regulator/cirrus,lochnagar.txt

Required properties:

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

  - reg : I2C slave address

  - reset-gpios : Reset line to the Lochnagar, see [1].

Required sub-nodes:

  - lochnagar-clk : Binding for the clocking components, see [4].

  - lochnagar-pinctrl : Binding for the pin control components, see [5].

Optional sub-nodes:

  - Bindings for the regulator components, see [6]. Only available on
    Lochnagar 2.

Optional properties:

  - present-gpios : Host present line, indicating the presence of a
    host system, see [1]. This can be omitted if the present line is
    tied in hardware.

Example:

lochnagar: lochnagar@22 {
	compatible = "cirrus,lochnagar2";
	reg = <0x22>;

	reset-gpios = <&gpio0 55 0>;
	present-gpios = <&gpio0 60 0>;

	lochnagar-clk {
		compatible = "cirrus,lochnagar2-clk";
		...
	};

	lochnagar-pinctrl {
		compatible = "cirrus,lochnagar-pinctrl";
		...
	};
};
