summaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/sound/qcom,lpass-cpu.txt
blob: 32c2cdb3d32f1a0e7019848689a9fdb7debc2c55 (plain)
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>;
	};
};