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 7title: Qualcomm SM8550 Peripheral Authentication Service 8 9maintainers: 10 - Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> 11 12description: 13 Qualcomm SM8550 SoC Peripheral Authentication Service loads and boots firmware 14 on the Qualcomm DSP Hexagon cores. 15 16properties: 17 compatible: 18 oneOf: 19 - enum: 20 - qcom,sdx75-mpss-pas 21 - qcom,sm8550-adsp-pas 22 - qcom,sm8550-cdsp-pas 23 - qcom,sm8550-mpss-pas 24 - qcom,sm8650-adsp-pas 25 - qcom,sm8650-cdsp-pas 26 - qcom,sm8650-mpss-pas 27 - qcom,sm8750-mpss-pas 28 - qcom,x1e80100-adsp-pas 29 - qcom,x1e80100-cdsp-pas 30 - items: 31 - const: qcom,sm8750-adsp-pas 32 - const: qcom,sm8550-adsp-pas 33 - items: 34 - const: qcom,sm8750-cdsp-pas 35 - const: qcom,sm8650-cdsp-pas 36 37 reg: 38 maxItems: 1 39 40 clocks: 41 items: 42 - description: XO clock 43 44 clock-names: 45 items: 46 - const: xo 47 48 qcom,qmp: 49 $ref: /schemas/types.yaml#/definitions/phandle 50 description: Reference to the AOSS side-channel message RAM. 51 52 smd-edge: false 53 54 firmware-name: 55 $ref: /schemas/types.yaml#/definitions/string-array 56 items: 57 - description: Firmware name of the Hexagon core 58 - description: Firmware name of the Hexagon Devicetree 59 60 memory-region: 61 minItems: 2 62 items: 63 - description: Memory region for main Firmware authentication 64 - description: Memory region for Devicetree Firmware authentication 65 - description: DSM Memory region 66 - description: DSM Memory region 2 67 - description: Memory region for Qlink Logging 68 69required: 70 - compatible 71 - reg 72 - memory-region 73 74allOf: 75 - $ref: /schemas/remoteproc/qcom,pas-common.yaml# 76 - if: 77 properties: 78 compatible: 79 enum: 80 - qcom,sm8550-adsp-pas 81 - qcom,sm8550-cdsp-pas 82 - qcom,sm8650-adsp-pas 83 - qcom,x1e80100-adsp-pas 84 - qcom,x1e80100-cdsp-pas 85 then: 86 properties: 87 interrupts: 88 maxItems: 5 89 interrupt-names: 90 maxItems: 5 91 memory-region: 92 maxItems: 2 93 - if: 94 properties: 95 compatible: 96 contains: 97 enum: 98 - qcom,sm8750-adsp-pas 99 then: 100 properties: 101 interrupts: 102 maxItems: 6 103 interrupt-names: 104 maxItems: 6 105 memory-region: 106 maxItems: 2 107 - if: 108 properties: 109 compatible: 110 enum: 111 - qcom,sm8650-cdsp-pas 112 then: 113 properties: 114 interrupts: 115 maxItems: 5 116 interrupt-names: 117 maxItems: 5 118 memory-region: 119 minItems: 3 120 maxItems: 3 121 122 - if: 123 properties: 124 compatible: 125 contains: 126 enum: 127 - qcom,sm8750-cdsp-pas 128 then: 129 properties: 130 interrupts: 131 maxItems: 6 132 interrupt-names: 133 maxItems: 6 134 memory-region: 135 minItems: 3 136 maxItems: 3 137 138 - if: 139 properties: 140 compatible: 141 enum: 142 - qcom,sm8550-mpss-pas 143 then: 144 properties: 145 interrupts: 146 minItems: 6 147 interrupt-names: 148 minItems: 6 149 memory-region: 150 minItems: 3 151 maxItems: 3 152 - if: 153 properties: 154 compatible: 155 enum: 156 - qcom,sdx75-mpss-pas 157 - qcom,sm8650-mpss-pas 158 then: 159 properties: 160 interrupts: 161 minItems: 6 162 interrupt-names: 163 minItems: 6 164 memory-region: 165 minItems: 5 166 maxItems: 5 167 168 - if: 169 properties: 170 compatible: 171 enum: 172 - qcom,sm8750-mpss-pas 173 then: 174 properties: 175 interrupts: 176 minItems: 6 177 interrupt-names: 178 minItems: 6 179 memory-region: 180 minItems: 4 181 maxItems: 4 182 183 - if: 184 properties: 185 compatible: 186 contains: 187 enum: 188 - qcom,sm8550-adsp-pas 189 - qcom,sm8650-adsp-pas 190 - qcom,sm8750-adsp-pas 191 - qcom,x1e80100-adsp-pas 192 then: 193 properties: 194 power-domains: 195 items: 196 - description: LCX power domain 197 - description: LMX power domain 198 power-domain-names: 199 items: 200 - const: lcx 201 - const: lmx 202 203 - if: 204 properties: 205 compatible: 206 enum: 207 - qcom,sdx75-mpss-pas 208 - qcom,sm8550-mpss-pas 209 - qcom,sm8650-mpss-pas 210 - qcom,sm8750-mpss-pas 211 then: 212 properties: 213 power-domains: 214 items: 215 - description: CX power domain 216 - description: MSS power domain 217 power-domain-names: 218 items: 219 - const: cx 220 - const: mss 221 - if: 222 properties: 223 compatible: 224 contains: 225 enum: 226 - qcom,sm8550-cdsp-pas 227 - qcom,sm8650-cdsp-pas 228 - qcom,x1e80100-cdsp-pas 229 then: 230 properties: 231 power-domains: 232 items: 233 - description: CX power domain 234 - description: MXC power domain 235 - description: NSP power domain 236 power-domain-names: 237 items: 238 - const: cx 239 - const: mxc 240 - const: nsp 241 242unevaluatedProperties: false 243 244examples: 245 - | 246 #include <dt-bindings/clock/qcom,rpmh.h> 247 #include <dt-bindings/interrupt-controller/irq.h> 248 #include <dt-bindings/mailbox/qcom-ipcc.h> 249 250 remoteproc@30000000 { 251 compatible = "qcom,sm8550-adsp-pas"; 252 reg = <0x030000000 0x100>; 253 254 clocks = <&rpmhcc RPMH_CXO_CLK>; 255 clock-names = "xo"; 256 257 interrupts-extended = <&pdc 6 IRQ_TYPE_EDGE_RISING>, 258 <&smp2p_adsp_in 0 IRQ_TYPE_EDGE_RISING>, 259 <&smp2p_adsp_in 1 IRQ_TYPE_EDGE_RISING>, 260 <&smp2p_adsp_in 2 IRQ_TYPE_EDGE_RISING>, 261 <&smp2p_adsp_in 3 IRQ_TYPE_EDGE_RISING>; 262 interrupt-names = "wdog", "fatal", "ready", 263 "handover", "stop-ack"; 264 265 memory-region = <&adsp_mem>, <&dtb_adsp_mem>; 266 267 firmware-name = "qcom/sm8550/adsp.mbn", 268 "qcom/sm8550/adsp_dtb.mbn"; 269 270 power-domains = <&rpmhpd_sm8550_lcx>, 271 <&rpmhpd_sm8550_lmx>; 272 power-domain-names = "lcx", "lmx"; 273 274 qcom,qmp = <&aoss_qmp>; 275 qcom,smem-states = <&smp2p_adsp_out 0>; 276 qcom,smem-state-names = "stop"; 277 278 glink-edge { 279 interrupts-extended = <&ipcc IPCC_CLIENT_LPASS 280 IPCC_MPROC_SIGNAL_GLINK_QMP 281 IRQ_TYPE_EDGE_RISING>; 282 mboxes = <&ipcc IPCC_CLIENT_LPASS IPCC_MPROC_SIGNAL_GLINK_QMP>; 283 284 label = "lpass"; 285 qcom,remote-pid = <2>; 286 287 /* ... */ 288 }; 289 }; 290