Skip to content

Commit af5da7b

Browse files
Bartosz GolaszewskiJassi Brar
authored andcommitted
dt-bindings: remoteproc: qcom,sa8775p-pas: Document the SA8775p ADSP, CDSP and GPDSP
Document the components used to boot the ADSP, CDSP0, CDSP1, GPDSP0 and GPDSP1 on the SA8775p SoC. Signed-off-by: Bartosz Golaszewski <[email protected]> Reviewed-by: Krzysztof Kozlowski <[email protected]> Signed-off-by: Jassi Brar <[email protected]>
1 parent 203e038 commit af5da7b

File tree

1 file changed

+160
-0
lines changed

1 file changed

+160
-0
lines changed
Lines changed: 160 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,160 @@
1+
# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/remoteproc/qcom,sa8775p-pas.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Qualcomm SA8775p Peripheral Authentication Service
8+
9+
maintainers:
10+
- Bartosz Golaszewski <[email protected]>
11+
12+
description:
13+
Qualcomm SA8775p SoC Peripheral Authentication Service loads and boots firmware
14+
on the Qualcomm DSP Hexagon cores.
15+
16+
properties:
17+
compatible:
18+
enum:
19+
- qcom,sa8775p-adsp-pas
20+
- qcom,sa8775p-cdsp0-pas
21+
- qcom,sa8775p-cdsp1-pas
22+
- qcom,sa8775p-gpdsp0-pas
23+
- qcom,sa8775p-gpdsp1-pas
24+
25+
reg:
26+
maxItems: 1
27+
28+
clocks:
29+
items:
30+
- description: XO clock
31+
32+
clock-names:
33+
items:
34+
- const: xo
35+
36+
qcom,qmp:
37+
$ref: /schemas/types.yaml#/definitions/phandle
38+
description: Reference to the AOSS side-channel message RAM.
39+
40+
firmware-name:
41+
$ref: /schemas/types.yaml#/definitions/string-array
42+
items:
43+
- description: Firmware name of the Hexagon core
44+
45+
memory-region:
46+
items:
47+
- description: Memory region for main Firmware authentication
48+
49+
interrupts:
50+
maxItems: 5
51+
52+
interrupt-names:
53+
maxItems: 5
54+
55+
required:
56+
- compatible
57+
- reg
58+
- memory-region
59+
60+
allOf:
61+
- $ref: /schemas/remoteproc/qcom,pas-common.yaml#
62+
63+
- if:
64+
properties:
65+
compatible:
66+
enum:
67+
- qcom,sa8775p-adsp-pas
68+
then:
69+
properties:
70+
power-domains:
71+
items:
72+
- description: LCX power domain
73+
- description: LMX power domain
74+
power-domain-names:
75+
items:
76+
- const: lcx
77+
- const: lmx
78+
79+
- if:
80+
properties:
81+
compatible:
82+
enum:
83+
- qcom,sa8775p-cdsp0-pas
84+
- qcom,sa8775p-cdsp1-pas
85+
then:
86+
properties:
87+
power-domains:
88+
items:
89+
- description: CX power domain
90+
- description: MXC power domain
91+
- description: NSP0 power domain
92+
power-domain-names:
93+
items:
94+
- const: cx
95+
- const: mxc
96+
- const: nsp
97+
98+
- if:
99+
properties:
100+
compatible:
101+
enum:
102+
- qcom,sa8775p-gpdsp0-pas
103+
- qcom,sa8775p-gpdsp1-pas
104+
then:
105+
properties:
106+
power-domains:
107+
items:
108+
- description: CX power domain
109+
- description: MXC power domain
110+
power-domain-names:
111+
items:
112+
- const: cx
113+
- const: mxc
114+
115+
unevaluatedProperties: false
116+
117+
examples:
118+
- |
119+
#include <dt-bindings/clock/qcom,rpmh.h>
120+
#include <dt-bindings/interconnect/qcom,sa8775p-rpmh.h>
121+
#include <dt-bindings/interrupt-controller/irq.h>
122+
#include <dt-bindings/mailbox/qcom-ipcc.h>
123+
#include <dt-bindings/power/qcom,rpmhpd.h>
124+
125+
remoteproc@30000000 {
126+
compatible = "qcom,sa8775p-adsp-pas";
127+
reg = <0x30000000 0x100>;
128+
129+
interrupts-extended = <&pdc 6 IRQ_TYPE_EDGE_RISING>,
130+
<&smp2p_adsp_in 0 IRQ_TYPE_EDGE_RISING>,
131+
<&smp2p_adsp_in 2 IRQ_TYPE_EDGE_RISING>,
132+
<&smp2p_adsp_in 1 IRQ_TYPE_EDGE_RISING>,
133+
<&smp2p_adsp_in 3 IRQ_TYPE_EDGE_RISING>;
134+
interrupt-names = "wdog", "fatal", "ready", "handover", "stop-ack";
135+
136+
clocks = <&rpmhcc RPMH_CXO_CLK>;
137+
clock-names = "xo";
138+
139+
power-domains = <&rpmhpd RPMHPD_LCX>, <&rpmhpd RPMHPD_LMX>;
140+
power-domain-names = "lcx", "lmx";
141+
142+
interconnects = <&lpass_ag_noc MASTER_LPASS_PROC 0 &mc_virt SLAVE_EBI1 0>;
143+
144+
memory-region = <&pil_adsp_mem>;
145+
146+
qcom,qmp = <&aoss_qmp>;
147+
148+
qcom,smem-states = <&smp2p_adsp_out 0>;
149+
qcom,smem-state-names = "stop";
150+
151+
glink-edge {
152+
interrupts-extended = <&ipcc IPCC_CLIENT_LPASS
153+
IPCC_MPROC_SIGNAL_GLINK_QMP
154+
IRQ_TYPE_EDGE_RISING>;
155+
mboxes = <&ipcc IPCC_CLIENT_LPASS IPCC_MPROC_SIGNAL_GLINK_QMP>;
156+
157+
label = "lpass";
158+
qcom,remote-pid = <2>;
159+
};
160+
};

0 commit comments

Comments
 (0)