]> git.ipfire.org Git - thirdparty/u-boot.git/blob - Bindings/remoteproc/qcom,sm8550-pas.yaml
Squashed 'dts/upstream/' content from commit aaba2d45dc2a
[thirdparty/u-boot.git] / Bindings / remoteproc / qcom,sm8550-pas.yaml
1 # SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/remoteproc/qcom,sm8550-pas.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Qualcomm SM8550 Peripheral Authentication Service
8
9 maintainers:
10 - Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
11
12 description:
13 Qualcomm SM8550 SoC Peripheral Authentication Service loads and boots firmware
14 on the Qualcomm DSP Hexagon cores.
15
16 properties:
17 compatible:
18 enum:
19 - qcom,sm8550-adsp-pas
20 - qcom,sm8550-cdsp-pas
21 - qcom,sm8550-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 qcom,qmp:
35 $ref: /schemas/types.yaml#/definitions/phandle
36 description: Reference to the AOSS side-channel message RAM.
37
38 smd-edge: false
39
40 firmware-name:
41 $ref: /schemas/types.yaml#/definitions/string-array
42 items:
43 - description: Firmware name of the Hexagon core
44 - description: Firmware name of the Hexagon Devicetree
45
46 memory-region:
47 minItems: 2
48 items:
49 - description: Memory region for main Firmware authentication
50 - description: Memory region for Devicetree Firmware authentication
51 - description: DSM Memory region
52
53 required:
54 - compatible
55 - reg
56 - memory-region
57
58 allOf:
59 - $ref: /schemas/remoteproc/qcom,pas-common.yaml#
60 - if:
61 properties:
62 compatible:
63 enum:
64 - qcom,sm8550-adsp-pas
65 - qcom,sm8550-cdsp-pas
66 then:
67 properties:
68 interrupts:
69 maxItems: 5
70 interrupt-names:
71 maxItems: 5
72 memory-region:
73 maxItems: 2
74 else:
75 properties:
76 interrupts:
77 minItems: 6
78 interrupt-names:
79 minItems: 6
80 memory-region:
81 minItems: 3
82
83 - if:
84 properties:
85 compatible:
86 enum:
87 - qcom,sm8550-adsp-pas
88 then:
89 properties:
90 power-domains:
91 items:
92 - description: LCX power domain
93 - description: LMX power domain
94 power-domain-names:
95 items:
96 - const: lcx
97 - const: lmx
98
99 - if:
100 properties:
101 compatible:
102 enum:
103 - qcom,sm8550-mpss-pas
104 then:
105 properties:
106 power-domains:
107 items:
108 - description: CX power domain
109 - description: MSS power domain
110 power-domain-names:
111 items:
112 - const: cx
113 - const: mss
114 - if:
115 properties:
116 compatible:
117 enum:
118 - qcom,sm8550-cdsp-pas
119 then:
120 properties:
121 power-domains:
122 items:
123 - description: CX power domain
124 - description: MXC power domain
125 - description: NSP power domain
126 power-domain-names:
127 items:
128 - const: cx
129 - const: mxc
130 - const: nsp
131
132 unevaluatedProperties: false
133
134 examples:
135 - |
136 #include <dt-bindings/clock/qcom,rpmh.h>
137 #include <dt-bindings/interrupt-controller/irq.h>
138 #include <dt-bindings/mailbox/qcom-ipcc.h>
139
140 remoteproc@30000000 {
141 compatible = "qcom,sm8550-adsp-pas";
142 reg = <0x030000000 0x100>;
143
144 clocks = <&rpmhcc RPMH_CXO_CLK>;
145 clock-names = "xo";
146
147 interrupts-extended = <&pdc 6 IRQ_TYPE_EDGE_RISING>,
148 <&smp2p_adsp_in 0 IRQ_TYPE_EDGE_RISING>,
149 <&smp2p_adsp_in 1 IRQ_TYPE_EDGE_RISING>,
150 <&smp2p_adsp_in 2 IRQ_TYPE_EDGE_RISING>,
151 <&smp2p_adsp_in 3 IRQ_TYPE_EDGE_RISING>;
152 interrupt-names = "wdog", "fatal", "ready",
153 "handover", "stop-ack";
154
155 memory-region = <&adsp_mem>, <&dtb_adsp_mem>;
156
157 firmware-name = "qcom/sm8550/adsp.mbn",
158 "qcom/sm8550/adsp_dtb.mbn";
159
160 power-domains = <&rpmhpd_sm8550_lcx>,
161 <&rpmhpd_sm8550_lmx>;
162 power-domain-names = "lcx", "lmx";
163
164 qcom,qmp = <&aoss_qmp>;
165 qcom,smem-states = <&smp2p_adsp_out 0>;
166 qcom,smem-state-names = "stop";
167
168 glink-edge {
169 interrupts-extended = <&ipcc IPCC_CLIENT_LPASS
170 IPCC_MPROC_SIGNAL_GLINK_QMP
171 IRQ_TYPE_EDGE_RISING>;
172 mboxes = <&ipcc IPCC_CLIENT_LPASS IPCC_MPROC_SIGNAL_GLINK_QMP>;
173
174 label = "lpass";
175 qcom,remote-pid = <2>;
176
177 /* ... */
178 };
179 };