Skip to content

Commit 2630504

Browse files
Rakesh Pillaiandersson
authored andcommitted
dt-bindings: remoteproc: qcom: Add SC7280 WPSS support
Add WPSS PIL loading support for SC7280 SoCs. Reviewed-by: Rob Herring <robh@kernel.org> Reviewed-by: Stephen Boyd <swboyd@chromium.org> Signed-off-by: Rakesh Pillai <pillair@codeaurora.org> Signed-off-by: Manikanta Pubbisetty <quic_mpubbise@quicinc.com> Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org> Link: https://lore.kernel.org/r/1643712724-12436-3-git-send-email-quic_mpubbise@quicinc.com
1 parent 841fdd0 commit 2630504

File tree

1 file changed

+219
-0
lines changed

1 file changed

+219
-0
lines changed
Lines changed: 219 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,219 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/remoteproc/qcom,sc7280-wpss-pil.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Qualcomm SC7280 WPSS Peripheral Image Loader
8+
9+
maintainers:
10+
- Bjorn Andersson <bjorn.andersson@linaro.org>
11+
12+
description:
13+
This document defines the binding for a component that loads and boots firmware
14+
on the Qualcomm Technology Inc. WPSS.
15+
16+
properties:
17+
compatible:
18+
enum:
19+
- qcom,sc7280-wpss-pil
20+
21+
reg:
22+
maxItems: 1
23+
description:
24+
The base address and size of the qdsp6ss register
25+
26+
interrupts:
27+
items:
28+
- description: Watchdog interrupt
29+
- description: Fatal interrupt
30+
- description: Ready interrupt
31+
- description: Handover interrupt
32+
- description: Stop acknowledge interrupt
33+
- description: Shutdown acknowledge interrupt
34+
35+
interrupt-names:
36+
items:
37+
- const: wdog
38+
- const: fatal
39+
- const: ready
40+
- const: handover
41+
- const: stop-ack
42+
- const: shutdown-ack
43+
44+
clocks:
45+
items:
46+
- description: GCC WPSS AHB BDG Master clock
47+
- description: GCC WPSS AHB clock
48+
- description: GCC WPSS RSCP clock
49+
- description: XO clock
50+
51+
clock-names:
52+
items:
53+
- const: ahb_bdg
54+
- const: ahb
55+
- const: rscp
56+
- const: xo
57+
58+
power-domains:
59+
items:
60+
- description: CX power domain
61+
- description: MX power domain
62+
63+
power-domain-names:
64+
items:
65+
- const: cx
66+
- const: mx
67+
68+
resets:
69+
items:
70+
- description: AOSS restart
71+
- description: PDC SYNC
72+
73+
reset-names:
74+
items:
75+
- const: restart
76+
- const: pdc_sync
77+
78+
memory-region:
79+
$ref: /schemas/types.yaml#/definitions/phandle
80+
description: Reference to the reserved-memory for the Hexagon core
81+
82+
firmware-name:
83+
$ref: /schemas/types.yaml#/definitions/string
84+
description:
85+
The name of the firmware which should be loaded for this remote
86+
processor.
87+
88+
qcom,halt-regs:
89+
$ref: /schemas/types.yaml#/definitions/phandle-array
90+
description:
91+
Phandle reference to a syscon representing TCSR followed by the
92+
three offsets within syscon for q6, modem and nc halt registers.
93+
94+
qcom,qmp:
95+
$ref: /schemas/types.yaml#/definitions/phandle
96+
description: Reference to the AOSS side-channel message RAM.
97+
98+
qcom,smem-states:
99+
$ref: /schemas/types.yaml#/definitions/phandle-array
100+
description: States used by the AP to signal the Hexagon core
101+
items:
102+
- description: Stop the modem
103+
104+
qcom,smem-state-names:
105+
$ref: /schemas/types.yaml#/definitions/string
106+
description: The names of the state bits used for SMP2P output
107+
items:
108+
- const: stop
109+
110+
glink-edge:
111+
type: object
112+
description: |
113+
Qualcomm G-Link subnode which represents communication edge, channels
114+
and devices related to the ADSP.
115+
116+
properties:
117+
interrupts:
118+
items:
119+
- description: IRQ from WPSS to GLINK
120+
121+
mboxes:
122+
items:
123+
- description: Mailbox for communication between APPS and WPSS
124+
125+
label:
126+
description: The names of the state bits used for SMP2P output
127+
items:
128+
- const: wpss
129+
130+
qcom,remote-pid:
131+
$ref: /schemas/types.yaml#/definitions/uint32
132+
description: ID of the shared memory used by GLINK for communication with WPSS
133+
maxItems: 1
134+
135+
required:
136+
- interrupts
137+
- mboxes
138+
- label
139+
- qcom,remote-pid
140+
141+
additionalProperties: false
142+
143+
required:
144+
- compatible
145+
- reg
146+
- interrupts
147+
- interrupt-names
148+
- clocks
149+
- clock-names
150+
- power-domains
151+
- power-domain-names
152+
- resets
153+
- reset-names
154+
- qcom,halt-regs
155+
- memory-region
156+
- qcom,qmp
157+
- qcom,smem-states
158+
- qcom,smem-state-names
159+
- glink-edge
160+
161+
additionalProperties: false
162+
163+
examples:
164+
- |
165+
#include <dt-bindings/interrupt-controller/arm-gic.h>
166+
#include <dt-bindings/clock/qcom,gcc-sc7280.h>
167+
#include <dt-bindings/clock/qcom,rpmh.h>
168+
#include <dt-bindings/power/qcom-rpmpd.h>
169+
#include <dt-bindings/reset/qcom,sdm845-aoss.h>
170+
#include <dt-bindings/reset/qcom,sdm845-pdc.h>
171+
#include <dt-bindings/mailbox/qcom-ipcc.h>
172+
remoteproc@8a00000 {
173+
compatible = "qcom,sc7280-wpss-pil";
174+
reg = <0x08a00000 0x10000>;
175+
176+
interrupts-extended = <&intc GIC_SPI 587 IRQ_TYPE_EDGE_RISING>,
177+
<&wpss_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
178+
<&wpss_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
179+
<&wpss_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
180+
<&wpss_smp2p_in 3 IRQ_TYPE_EDGE_RISING>,
181+
<&wpss_smp2p_in 7 IRQ_TYPE_EDGE_RISING>;
182+
interrupt-names = "wdog", "fatal", "ready", "handover",
183+
"stop-ack", "shutdown-ack";
184+
185+
clocks = <&gcc GCC_WPSS_AHB_BDG_MST_CLK>,
186+
<&gcc GCC_WPSS_AHB_CLK>,
187+
<&gcc GCC_WPSS_RSCP_CLK>,
188+
<&rpmhcc RPMH_CXO_CLK>;
189+
clock-names = "ahb_bdg", "ahb",
190+
"rscp", "xo";
191+
192+
power-domains = <&rpmhpd SC7280_CX>,
193+
<&rpmhpd SC7280_MX>;
194+
power-domain-names = "cx", "mx";
195+
196+
memory-region = <&wpss_mem>;
197+
198+
qcom,qmp = <&aoss_qmp>;
199+
200+
qcom,smem-states = <&wpss_smp2p_out 0>;
201+
qcom,smem-state-names = "stop";
202+
203+
resets = <&aoss_reset AOSS_CC_WCSS_RESTART>,
204+
<&pdc_reset PDC_WPSS_SYNC_RESET>;
205+
reset-names = "restart", "pdc_sync";
206+
207+
qcom,halt-regs = <&tcsr_mutex 0x37000>;
208+
209+
glink-edge {
210+
interrupts-extended = <&ipcc IPCC_CLIENT_WPSS
211+
IPCC_MPROC_SIGNAL_GLINK_QMP
212+
IRQ_TYPE_EDGE_RISING>;
213+
mboxes = <&ipcc IPCC_CLIENT_WPSS
214+
IPCC_MPROC_SIGNAL_GLINK_QMP>;
215+
216+
label = "wpss";
217+
qcom,remote-pid = <13>;
218+
};
219+
};

0 commit comments

Comments
 (0)