summaryrefslogtreecommitdiff
path: root/rr-cache/4dee8d4658e5f1a7754d6fdf7f6ac71c18f63172/thisimage
blob: 3ba862db365ba2d1774a9cbc8eedbc25cf51e427 (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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
Qualcomm APR (Asynchronous Packet Router) binding

This binding describes the Qualcomm APR. APR is a IPC protocol for
communication between Application processor and QDSP. APR is mainly
used for audio/voice services on the QDSP.

- compatible:
	Usage: required
	Value type: <stringlist>
	Definition: must be "qcom,apr-v<VERSION-NUMBER>", example "qcom,apr-v2"

<<<<<<<
- qcom,apr-dest-domain-id
	Usage: required
	Value type: <prop-encoded-array>
=======
- reg
	Usage: required
	Value type: <u32>
>>>>>>>
	Definition: Destination processor ID.
	Possible values are :
			1 - APR simulator
			2 - PC
			3 - MODEM
			4 - ADSP
			5 - APPS
			6 - MODEM2
			7 - APPS2

= APR SERVICES
<<<<<<<
Each subnode of the APR node can represent service tied to this apr. The name
of the nodes are not important. The properties of these nodes are defined
by the individual bindings for the specific service
- but must contain the following property:

- qcom,apr-svc-id
	Usage: required
	Value type: <prop-encoded-array>
	Definition: APR Service ID, used for matching the service.
=======
Each subnode of the APR node represents service tied to this apr. The name
of the nodes are not important. The properties of these nodes are defined
by the individual bindings for the specific service
- All APR services MUST contain the following property:

- reg
	Usage: required
	Value type: <u32>
	Definition: APR Service ID
>>>>>>>
	Possible values are :
			3 - DSP Core Service
			4 - Audio Front End Service.
			5 - Voice Stream Manager Service.
			6 - Voice processing manager.
			7 - Audio Stream Manager Service.
			8 - Audio Device Manager Service.
			9 - Multimode voice manager.
			10 - Core voice stream.
			11 - Core voice processor.
			12 - Ultrasound stream manager.
			13 - Listen stream manager.

<<<<<<<
=======
- qcom,apr-svc-name
	Usage: required
	Value type: <stringlist>
	Definition: User readable name of a APR service.

= APR DEVICES:
Each subnode of the APR node can represent devices tied to this apr, like
sound-card. The properties of these nodes are defined by the individual
bindings for the specific device.

>>>>>>>
= EXAMPLE
The following example represents a QDSP based sound card on a MSM8996 device
which uses apr as communication between Apps and QDSP.

<<<<<<<
	apr {
		compatible = "qcom,apr-v2";
		qcom,smd-channels = "apr_audio_svc";
		qcom,apr-dest-domain-id = <APR_DOMAIN_ADSP>;

		q6core {
			compatible = "qcom,q6core";
			qcom,apr-svc-name = "CORE";
			qcom,apr-svc-id = <APR_SVC_ADSP_CORE>;
		};

		q6afe {
			compatible = "qcom,q6afe";
			qcom,apr-svc-name = "AFE";
			qcom,apr-svc-id = <APR_SVC_AFE>;
		};

		audio {
			compatible = "qcom,msm8996-snd-card";
=======
	apr@4 {
		compatible = "qcom,apr-v2";
		reg = <APR_DOMAIN_ADSP>;

		q6core@3 {
			compatible = "qcom,q6core";
			reg = <APR_SVC_ADSP_CORE>;
		};

		q6afe@4 {
			compatible = "qcom,q6afe";
			reg = <APR_SVC_AFE>;

			dais {
				#sound-dai-cells = <1>;
				hdmi@1 {
					reg = <1>;
				};
			};
		};

		q6asm@7 {
			compatible = "qcom,q6asm";
			reg = <APR_SVC_ASM>;
			...
		};

		q6adm@8 {
			compatible = "qcom,q6adm";
			reg = <APR_SVC_ADM>;
>>>>>>>
			...
		};
	};