blob: 02828723591220abf50da6509b60d249dad9c59e [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,sm6115-pas.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Qualcomm SM6115 Peripheral Authentication Service
8
9maintainers:
10 - Bhupesh Sharma <bhupesh.sharma@linaro.org>
11
12description:
13 Qualcomm SM6115 SoC Peripheral Authentication Service loads and boots
14 firmware on the Qualcomm DSP Hexagon cores.
15
16properties:
17 compatible:
18 oneOf:
19 - enum:
20 - qcom,sm6115-adsp-pas
21 - qcom,sm6115-cdsp-pas
22 - qcom,sm6115-mpss-pas
23
24 - items:
25 - const: qcom,qcm2290-adsp-pas
26 - const: qcom,sm6115-adsp-pas
27
28 - items:
29 - const: qcom,qcm2290-mpss-pas
30 - const: qcom,sm6115-mpss-pas
31
32 reg:
33 maxItems: 1
34
35 clocks:
36 items:
37 - description: XO clock
38
39 clock-names:
40 items:
41 - const: xo
42
43 memory-region:
44 maxItems: 1
45 description: Reference to the reserved-memory for the Hexagon core
46
47 smd-edge: false
48
49 firmware-name:
50 $ref: /schemas/types.yaml#/definitions/string
51 description: Firmware name for the Hexagon core
52
53required:
54 - compatible
55 - reg
56 - memory-region
57
58allOf:
59 - $ref: /schemas/remoteproc/qcom,pas-common.yaml#
60 - if:
61 properties:
62 compatible:
63 contains:
64 enum:
65 - qcom,sm6115-adsp-pas
66 - qcom,sm6115-cdsp-pas
67 then:
68 properties:
69 interrupts:
70 maxItems: 5
71 interrupt-names:
72 maxItems: 5
73 else:
74 properties:
75 interrupts:
76 minItems: 6
77 interrupt-names:
78 minItems: 6
79
80 - if:
81 properties:
82 compatible:
83 contains:
84 enum:
85 - qcom,sm6115-cdsp-pas
86 - qcom,sm6115-mpss-pas
87 then:
88 properties:
89 power-domains:
90 items:
91 - description: CX power domain
92 power-domain-names:
93 items:
94 - const: cx
95
96 - if:
97 properties:
98 compatible:
99 contains:
100 enum:
101 - qcom,sm6115-adsp-pas
102 then:
103 properties:
104 power-domains:
105 items:
106 - description: LPI CX power domain
107 - description: LPI MX power domain
108 power-domain-names:
109 items:
110 - const: lcx
111 - const: lmx
112
113unevaluatedProperties: false
114
115examples:
116 - |
117 #include <dt-bindings/clock/qcom,rpmcc.h>
118 #include <dt-bindings/interrupt-controller/arm-gic.h>
119 #include <dt-bindings/interrupt-controller/irq.h>
120 #include <dt-bindings/power/qcom-rpmpd.h>
121
122 remoteproc@ab00000 {
123 compatible = "qcom,sm6115-adsp-pas";
124 reg = <0x0ab00000 0x100>;
125
126 clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>;
127 clock-names = "xo";
128
129 firmware-name = "qcom/sm6115/adsp.mdt";
130
131 interrupts-extended = <&intc GIC_SPI 282 IRQ_TYPE_EDGE_RISING>,
132 <&adsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
133 <&adsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
134 <&adsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
135 <&adsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
136 interrupt-names = "wdog", "fatal", "ready",
137 "handover", "stop-ack";
138
139 memory-region = <&pil_adsp_mem>;
140
141 power-domains = <&rpmpd SM6115_VDD_LPI_CX>,
142 <&rpmpd SM6115_VDD_LPI_MX>;
143
144 qcom,smem-states = <&adsp_smp2p_out 0>;
145 qcom,smem-state-names = "stop";
146
147 glink-edge {
148 interrupts = <GIC_SPI 277 IRQ_TYPE_EDGE_RISING>;
149 label = "lpass";
150 qcom,remote-pid = <2>;
151 mboxes = <&apcs_glb 8>;
152
153 /* ... */
154
155 };
156 };