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 enum: 19 - qcom,sdx75-mpss-pas 20 - qcom,sm8550-adsp-pas 21 - qcom,sm8550-cdsp-pas 22 - qcom,sm8550-mpss-pas 23 - qcom,sm8650-adsp-pas 24 - qcom,sm8650-cdsp-pas 25 - qcom,sm8650-mpss-pas 26 - qcom,x1e80100-adsp-pas 27 - qcom,x1e80100-cdsp-pas 28 29 reg: 30 maxItems: 1 31 32 clocks: 33 items: 34 - description: XO clock 35 36 clock-names: 37 items: 38 - const: xo 39 40 qcom,qmp: 41 $ref: /schemas/types.yaml#/definitions/phandle 42 description: Reference to the AOSS side-channel message RAM. 43 44 smd-edge: false 45 46 firmware-name: 47 $ref: /schemas/types.yaml#/definitions/string-array 48 items: 49 - description: Firmware name of the Hexagon core 50 - description: Firmware name of the Hexagon Devicetree 51 52 memory-region: 53 minItems: 2 54 items: 55 - description: Memory region for main Firmware authentication 56 - description: Memory region for Devicetree Firmware authentication 57 - description: DSM Memory region 58 - description: DSM Memory region 2 59 - description: Memory region for Qlink Logging 60 61required: 62 - compatible 63 - reg 64 - memory-region 65 66allOf: 67 - $ref: /schemas/remoteproc/qcom,pas-common.yaml# 68 - if: 69 properties: 70 compatible: 71 enum: 72 - qcom,sm8550-adsp-pas 73 - qcom,sm8550-cdsp-pas 74 - qcom,sm8650-adsp-pas 75 - qcom,x1e80100-adsp-pas 76 - qcom,x1e80100-cdsp-pas 77 then: 78 properties: 79 interrupts: 80 maxItems: 5 81 interrupt-names: 82 maxItems: 5 83 memory-region: 84 maxItems: 2 85 - if: 86 properties: 87 compatible: 88 enum: 89 - qcom,sm8650-cdsp-pas 90 then: 91 properties: 92 interrupts: 93 maxItems: 5 94 interrupt-names: 95 maxItems: 5 96 memory-region: 97 minItems: 3 98 maxItems: 3 99 - if: 100 properties: 101 compatible: 102 enum: 103 - qcom,sm8550-mpss-pas 104 then: 105 properties: 106 interrupts: 107 minItems: 6 108 interrupt-names: 109 minItems: 6 110 memory-region: 111 minItems: 3 112 maxItems: 3 113 - if: 114 properties: 115 compatible: 116 enum: 117 - qcom,sdx75-mpss-pas 118 - qcom,sm8650-mpss-pas 119 then: 120 properties: 121 interrupts: 122 minItems: 6 123 interrupt-names: 124 minItems: 6 125 memory-region: 126 minItems: 5 127 maxItems: 5 128 129 - if: 130 properties: 131 compatible: 132 enum: 133 - qcom,sm8550-adsp-pas 134 - qcom,sm8650-adsp-pas 135 - qcom,x1e80100-adsp-pas 136 then: 137 properties: 138 power-domains: 139 items: 140 - description: LCX power domain 141 - description: LMX power domain 142 power-domain-names: 143 items: 144 - const: lcx 145 - const: lmx 146 147 - if: 148 properties: 149 compatible: 150 enum: 151 - qcom,sdx75-mpss-pas 152 - qcom,sm8550-mpss-pas 153 - qcom,sm8650-mpss-pas 154 then: 155 properties: 156 power-domains: 157 items: 158 - description: CX power domain 159 - description: MSS power domain 160 power-domain-names: 161 items: 162 - const: cx 163 - const: mss 164 - if: 165 properties: 166 compatible: 167 enum: 168 - qcom,sm8550-cdsp-pas 169 - qcom,sm8650-cdsp-pas 170 - qcom,x1e80100-cdsp-pas 171 then: 172 properties: 173 power-domains: 174 items: 175 - description: CX power domain 176 - description: MXC power domain 177 - description: NSP power domain 178 power-domain-names: 179 items: 180 - const: cx 181 - const: mxc 182 - const: nsp 183 184unevaluatedProperties: false 185 186examples: 187 - | 188 #include <dt-bindings/clock/qcom,rpmh.h> 189 #include <dt-bindings/interrupt-controller/irq.h> 190 #include <dt-bindings/mailbox/qcom-ipcc.h> 191 192 remoteproc@30000000 { 193 compatible = "qcom,sm8550-adsp-pas"; 194 reg = <0x030000000 0x100>; 195 196 clocks = <&rpmhcc RPMH_CXO_CLK>; 197 clock-names = "xo"; 198 199 interrupts-extended = <&pdc 6 IRQ_TYPE_EDGE_RISING>, 200 <&smp2p_adsp_in 0 IRQ_TYPE_EDGE_RISING>, 201 <&smp2p_adsp_in 1 IRQ_TYPE_EDGE_RISING>, 202 <&smp2p_adsp_in 2 IRQ_TYPE_EDGE_RISING>, 203 <&smp2p_adsp_in 3 IRQ_TYPE_EDGE_RISING>; 204 interrupt-names = "wdog", "fatal", "ready", 205 "handover", "stop-ack"; 206 207 memory-region = <&adsp_mem>, <&dtb_adsp_mem>; 208 209 firmware-name = "qcom/sm8550/adsp.mbn", 210 "qcom/sm8550/adsp_dtb.mbn"; 211 212 power-domains = <&rpmhpd_sm8550_lcx>, 213 <&rpmhpd_sm8550_lmx>; 214 power-domain-names = "lcx", "lmx"; 215 216 qcom,qmp = <&aoss_qmp>; 217 qcom,smem-states = <&smp2p_adsp_out 0>; 218 qcom,smem-state-names = "stop"; 219 220 glink-edge { 221 interrupts-extended = <&ipcc IPCC_CLIENT_LPASS 222 IPCC_MPROC_SIGNAL_GLINK_QMP 223 IRQ_TYPE_EDGE_RISING>; 224 mboxes = <&ipcc IPCC_CLIENT_LPASS IPCC_MPROC_SIGNAL_GLINK_QMP>; 225 226 label = "lpass"; 227 qcom,remote-pid = <2>; 228 229 /* ... */ 230 }; 231 }; 232