Skip to content

Commit 6d3211e

Browse files
konradybcioandersson
authored andcommitted
dt-bindings: remoteproc: qcom,sm6375-pas: Document remoteprocs
SM6375 hosts an ADSP, CDSP and modem as remote processors. Create related bindings. Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Link: https://lore.kernel.org/r/20230725-topic-6375_rproc-v5-1-a8e9cde56a20@linaro.org Signed-off-by: Bjorn Andersson <andersson@kernel.org>
1 parent d93f191 commit 6d3211e

File tree

1 file changed

+145
-0
lines changed

1 file changed

+145
-0
lines changed
Lines changed: 145 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,145 @@
1+
# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/remoteproc/qcom,sm6375-pas.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Qualcomm SM6375 Peripheral Authentication Service
8+
9+
maintainers:
10+
- Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
11+
12+
description:
13+
Qualcomm SM6375 SoC Peripheral Authentication Service loads and boots
14+
firmware on the Qualcomm DSP Hexagon cores.
15+
16+
properties:
17+
compatible:
18+
enum:
19+
- qcom,sm6375-adsp-pas
20+
- qcom,sm6375-cdsp-pas
21+
- qcom,sm6375-mpss-pas
22+
23+
reg:
24+
maxItems: 1
25+
26+
clocks:
27+
items:
28+
- description: XO clock
29+
30+
clock-names:
31+
items:
32+
- const: xo
33+
34+
memory-region:
35+
maxItems: 1
36+
description: Reference to the reserved-memory for the Hexagon core
37+
38+
firmware-name:
39+
$ref: /schemas/types.yaml#/definitions/string
40+
description: Firmware name for the Hexagon core
41+
42+
smd-edge: false
43+
44+
required:
45+
- compatible
46+
- reg
47+
48+
allOf:
49+
- $ref: /schemas/remoteproc/qcom,pas-common.yaml#
50+
- if:
51+
properties:
52+
compatible:
53+
enum:
54+
- qcom,sm6375-adsp-pas
55+
- qcom,sm6375-cdsp-pas
56+
then:
57+
properties:
58+
interrupts:
59+
maxItems: 5
60+
interrupt-names:
61+
maxItems: 5
62+
else:
63+
properties:
64+
interrupts:
65+
minItems: 6
66+
interrupt-names:
67+
minItems: 6
68+
69+
- if:
70+
properties:
71+
compatible:
72+
enum:
73+
- qcom,sm6375-adsp-pas
74+
then:
75+
properties:
76+
power-domains:
77+
items:
78+
- description: LCX power domain
79+
- description: LMX power domain
80+
power-domain-names:
81+
items:
82+
- const: lcx
83+
- const: lmx
84+
85+
- if:
86+
properties:
87+
compatible:
88+
enum:
89+
- qcom,sm6375-cdsp-pas
90+
- qcom,sm6375-mpss-pas
91+
then:
92+
properties:
93+
power-domains:
94+
items:
95+
- description: CX power domain
96+
power-domain-names:
97+
items:
98+
- const: cx
99+
100+
unevaluatedProperties: false
101+
102+
examples:
103+
- |
104+
#include <dt-bindings/clock/qcom,rpmcc.h>
105+
#include <dt-bindings/interrupt-controller/arm-gic.h>
106+
#include <dt-bindings/mailbox/qcom-ipcc.h>
107+
#include <dt-bindings/power/qcom-rpmpd.h>
108+
109+
remoteproc_adsp: remoteproc@a400000 {
110+
compatible = "qcom,sm6375-adsp-pas";
111+
reg = <0x0a400000 0x100>;
112+
113+
interrupts-extended = <&intc GIC_SPI 282 IRQ_TYPE_LEVEL_HIGH>,
114+
<&smp2p_adsp_in 0 IRQ_TYPE_EDGE_RISING>,
115+
<&smp2p_adsp_in 1 IRQ_TYPE_EDGE_RISING>,
116+
<&smp2p_adsp_in 2 IRQ_TYPE_EDGE_RISING>,
117+
<&smp2p_adsp_in 3 IRQ_TYPE_EDGE_RISING>;
118+
interrupt-names = "wdog", "fatal", "ready",
119+
"handover", "stop-ack";
120+
121+
clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>;
122+
clock-names = "xo";
123+
124+
power-domains = <&rpmpd SM6375_VDD_LPI_CX>,
125+
<&rpmpd SM6375_VDD_LPI_MX>;
126+
power-domain-names = "lcx", "lmx";
127+
128+
memory-region = <&pil_adsp_mem>;
129+
130+
qcom,smem-states = <&smp2p_adsp_out 0>;
131+
qcom,smem-state-names = "stop";
132+
133+
glink-edge {
134+
interrupts-extended = <&ipcc IPCC_CLIENT_LPASS
135+
IPCC_MPROC_SIGNAL_GLINK_QMP
136+
IRQ_TYPE_EDGE_RISING>;
137+
mboxes = <&ipcc IPCC_CLIENT_LPASS
138+
IPCC_MPROC_SIGNAL_GLINK_QMP>;
139+
140+
label = "lpass";
141+
qcom,remote-pid = <2>;
142+
143+
/* ... */
144+
};
145+
};

0 commit comments

Comments
 (0)