* Qualcomm Technologies LPASS CPU DAI

This node models the Qualcomm Technologies Low-Power Audio SubSystem (LPASS).

Required properties:

- compatible		: "qcom,lpass-cpu" or "qcom,apq8016-lpass-cpu"
- clocks		: Must contain an entry for each entry in clock-names.
- clock-names		: A list which must include the following entries:
				* "ahbix-clk"
				* "mi2s-osr-clk"
				* "mi2s-bit-clk"
			: required clocks for "qcom,lpass-cpu-apq8016"
				* "ahbix-clk"
				* "mi2s-bit-clk0"
				* "mi2s-bit-clk1"
				* "mi2s-bit-clk2"
				* "mi2s-bit-clk3"
				* "pcnoc-mport-clk"
				* "pcnoc-sway-clk"

- interrupts		: Must contain an entry for each entry in
			  interrupt-names.
- interrupt-names	: A list which must include the following entries:
				* "lpass-irq-lpaif"
- pinctrl-N		: One property must exist for each entry in
			  pinctrl-names.  See ../pinctrl/pinctrl-bindings.txt
			  for details of the property values.
- pinctrl-names		: Must contain a "default" entry.
- reg			: Must contain an address for each entry in reg-names.
- reg-names		: A list which must include the following entries:
				* "lpass-lpaif"
- #address-cells	: Must be 1
- #size-cells		: Must be 0



Optional properties:

- qcom,adsp		: Phandle for the audio DSP node

By default, the driver uses up to 4 MI2S SD lines, for a total of 8 channels.
The SD lines to use can be configured by adding subnodes for each of the DAIs.

Required properties for each DAI (represented by a subnode):
- reg			: Must be one of the DAI IDs
			  (usually part of dt-bindings header)
- qcom,playback-sd-lines: List of serial data lines to use for playback
			  Each SD line should be represented by a number from 0-3.
- qcom,capture-sd-lines	: List of serial data lines to use for capture
			  Each SD line should be represented by a number from 0-3.

Note that adding a subnode changes the default to "no lines configured",
so both playback and capture lines should be configured when a subnode is added.

Example:

lpass@28100000 {
	compatible = "qcom,lpass-cpu";
	clocks = <&lcc AHBIX_CLK>, <&lcc MI2S_OSR_CLK>, <&lcc MI2S_BIT_CLK>;
	clock-names = "ahbix-clk", "mi2s-osr-clk", "mi2s-bit-clk";
	interrupts = <0 85 1>;
	interrupt-names = "lpass-irq-lpaif";
	pinctrl-names = "default", "idle";
	pinctrl-0 = <&mi2s_default>;
	pinctrl-1 = <&mi2s_idle>;
	reg = <0x28100000 0x10000>;
	reg-names = "lpass-lpaif";
	qcom,adsp = <&adsp>;

	#address-cells = <1>;
	#size-cells = <0>;

	/* Optional to set different MI2S SD lines */
	dai@3 {
		reg = <MI2S_QUATERNARY>;
		qcom,playback-sd-lines = <0 1>;
	};
};
