Documentation / devicetree / bindings / sound / qcom,lpass-cpu.txt


Based on kernel version 5.9. Page generated on 2020-10-14 09:35 EST.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
* 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>;
	};
};