forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-10-22 8ac6c7a54ed1b98d142dce24b11c6de6a1e239a5
kernel/Documentation/devicetree/bindings/soc/qcom/qcom,apr.txt
....@@ -9,7 +9,7 @@
99 Value type: <stringlist>
1010 Definition: must be "qcom,apr-v<VERSION-NUMBER>", example "qcom,apr-v2"
1111
12
-- reg
12
+- qcom,apr-domain
1313 Usage: required
1414 Value type: <u32>
1515 Definition: Destination processor ID.
....@@ -45,40 +45,90 @@
4545 12 - Ultrasound stream manager.
4646 13 - Listen stream manager.
4747
48
+- qcom,protection-domain
49
+ Usage: optional
50
+ Value type: <stringlist>
51
+ Definition: Must list the protection domain service name and path
52
+ that the particular apr service has a dependency on.
53
+ Possible values are :
54
+ "avs/audio", "msm/adsp/audio_pd".
55
+ "kernel/elf_loader", "msm/modem/wlan_pd".
56
+ "tms/servreg", "msm/adsp/audio_pd".
57
+ "tms/servreg", "msm/modem/wlan_pd".
58
+ "tms/servreg", "msm/slpi/sensor_pd".
59
+
4860 = EXAMPLE
4961 The following example represents a QDSP based sound card on a MSM8996 device
5062 which uses apr as communication between Apps and QDSP.
5163
52
- apr@4 {
64
+ apr {
5365 compatible = "qcom,apr-v2";
54
- reg = <APR_DOMAIN_ADSP>;
66
+ qcom,apr-domain = <APR_DOMAIN_ADSP>;
5567
56
- q6core@3 {
68
+ apr-service@3 {
5769 compatible = "qcom,q6core";
5870 reg = <APR_SVC_ADSP_CORE>;
5971 };
6072
61
- q6afe@4 {
73
+ apr-service@4 {
6274 compatible = "qcom,q6afe";
6375 reg = <APR_SVC_AFE>;
6476
6577 dais {
6678 #sound-dai-cells = <1>;
67
- hdmi@1 {
68
- reg = <1>;
79
+ dai@1 {
80
+ reg = <HDMI_RX>;
6981 };
7082 };
7183 };
7284
73
- q6asm@7 {
85
+ apr-service@7 {
7486 compatible = "qcom,q6asm";
7587 reg = <APR_SVC_ASM>;
7688 ...
7789 };
7890
79
- q6adm@8 {
91
+ apr-service@8 {
8092 compatible = "qcom,q6adm";
8193 reg = <APR_SVC_ADM>;
8294 ...
8395 };
8496 };
97
+
98
+= EXAMPLE 2
99
+The following example represents a QDSP based sound card with protection domain
100
+dependencies specified. Here some of the apr services are dependent on services
101
+running on protection domain hosted on ADSP/SLPI remote processors while others
102
+have no such dependency.
103
+
104
+ apr {
105
+ compatible = "qcom,apr-v2";
106
+ qcom,glink-channels = "apr_audio_svc";
107
+ qcom,apr-domain = <APR_DOMAIN_ADSP>;
108
+
109
+ apr-service@3 {
110
+ compatible = "qcom,q6core";
111
+ reg = <APR_SVC_ADSP_CORE>;
112
+ };
113
+
114
+ q6afe: apr-service@4 {
115
+ compatible = "qcom,q6afe";
116
+ reg = <APR_SVC_AFE>;
117
+ qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
118
+ ...
119
+ };
120
+
121
+ q6asm: apr-service@7 {
122
+ compatible = "qcom,q6asm";
123
+ reg = <APR_SVC_ASM>;
124
+ qcom,protection-domain = "tms/servreg", "msm/slpi/sensor_pd";
125
+ ...
126
+ };
127
+
128
+ q6adm: apr-service@8 {
129
+ compatible = "qcom,q6adm";
130
+ reg = <APR_SVC_ADM>;
131
+ qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
132
+ ...
133
+ };
134
+ };