blob: 238c6e5e67c5698baeaa2effad3e69ef37debf93 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/remoteproc/qcom,sm8150-pas.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Qualcomm SM8150/SM8250 Peripheral Authentication Service
8
9maintainers:
10 - Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
11
12description:
13 Qualcomm SM8150/SM8250 SoC Peripheral Authentication Service loads and boots
14 firmware on the Qualcomm DSP Hexagon cores.
15
16properties:
17 compatible:
18 enum:
19 - qcom,sm8150-adsp-pas
20 - qcom,sm8150-cdsp-pas
21 - qcom,sm8150-mpss-pas
22 - qcom,sm8150-slpi-pas
23 - qcom,sm8250-adsp-pas
24 - qcom,sm8250-cdsp-pas
25 - qcom,sm8250-slpi-pas
26
27 reg:
28 maxItems: 1
29
30 clocks:
31 items:
32 - description: XO clock
33
34 clock-names:
35 items:
36 - const: xo
37
38 qcom,qmp:
39 $ref: /schemas/types.yaml#/definitions/phandle
40 description: Reference to the AOSS side-channel message RAM.
41
42 memory-region:
43 maxItems: 1
44 description: Reference to the reserved-memory for the Hexagon core
45
46 smd-edge: false
47
48 firmware-name:
49 $ref: /schemas/types.yaml#/definitions/string
50 description: Firmware name for the Hexagon core
51
52required:
53 - compatible
54 - reg
55 - memory-region
56
57allOf:
58 - $ref: /schemas/remoteproc/qcom,pas-common.yaml#
59 - if:
60 properties:
61 compatible:
62 enum:
63 - qcom,sm8150-adsp-pas
64 - qcom,sm8150-cdsp-pas
65 - qcom,sm8150-slpi-pas
66 - qcom,sm8250-adsp-pas
67 - qcom,sm8250-cdsp-pas
68 - qcom,sm8250-slpi-pas
69 then:
70 properties:
71 interrupts:
72 maxItems: 5
73 interrupt-names:
74 maxItems: 5
75 else:
76 properties:
77 interrupts:
78 minItems: 6
79 interrupt-names:
80 minItems: 6
81
82 - if:
83 properties:
84 compatible:
85 enum:
86 - qcom,sm8150-adsp-pas
87 - qcom,sm8150-cdsp-pas
88 - qcom,sm8250-cdsp-pas
89 then:
90 properties:
91 power-domains:
92 items:
93 - description: CX power domain
94 power-domain-names:
95 items:
96 - const: cx
97
98 - if:
99 properties:
100 compatible:
101 enum:
102 - qcom,sm8150-mpss-pas
103 then:
104 properties:
105 power-domains:
106 items:
107 - description: CX power domain
108 - description: MSS power domain
109 power-domain-names:
110 items:
111 - const: cx
112 - const: mss
113
114 - if:
115 properties:
116 compatible:
117 enum:
118 - qcom,sm8150-slpi-pas
119 - qcom,sm8250-adsp-pas
120 - qcom,sm8250-slpi-pas
121 then:
122 properties:
123 power-domains:
124 items:
125 - description: LCX power domain
126 - description: LMX power domain
127 power-domain-names:
128 items:
129 - const: lcx
130 - const: lmx
131
132unevaluatedProperties: false
133
134examples:
135 - |
136 #include <dt-bindings/clock/qcom,rpmh.h>
137 #include <dt-bindings/interrupt-controller/arm-gic.h>
138 #include <dt-bindings/interrupt-controller/irq.h>
139 #include <dt-bindings/power/qcom-rpmpd.h>
140
141 remoteproc@17300000 {
142 compatible = "qcom,sm8150-adsp-pas";
143 reg = <0x17300000 0x4040>;
144
145 clocks = <&rpmhcc RPMH_CXO_CLK>;
146 clock-names = "xo";
147
148 firmware-name = "qcom/sm8150/adsp.mbn";
149
150 interrupts-extended = <&intc GIC_SPI 162 IRQ_TYPE_EDGE_RISING>,
151 <&adsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
152 <&adsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
153 <&adsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
154 <&adsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
155 interrupt-names = "wdog", "fatal", "ready",
156 "handover", "stop-ack";
157
158 memory-region = <&adsp_mem>;
159
160 power-domains = <&rpmhpd SM8150_CX>;
161
162 qcom,qmp = <&aoss_qmp>;
163 qcom,smem-states = <&adsp_smp2p_out 0>;
164 qcom,smem-state-names = "stop";
165
166 glink-edge {
167 interrupts = <GIC_SPI 156 IRQ_TYPE_EDGE_RISING>;
168 label = "lpass";
169 qcom,remote-pid = <2>;
170 mboxes = <&apss_shared 8>;
171
172 /* ... */
173
174 };
175 };