1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/firmware/qcom,scm.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: QCOM Secure Channel Manager (SCM) 8 9description: | 10 Qualcomm processors include an interface to communicate to the secure firmware. 11 This interface allows for clients to request different types of actions. 12 These can include CPU power up/down, HDCP requests, loading of firmware, 13 and other assorted actions. 14 15maintainers: 16 - Bjorn Andersson <bjorn.andersson@linaro.org> 17 - Robert Marko <robimarko@gmail.com> 18 - Guru Das Srinagesh <quic_gurus@quicinc.com> 19 20properties: 21 compatible: 22 items: 23 - enum: 24 - qcom,scm-apq8064 25 - qcom,scm-apq8084 26 - qcom,scm-ipq4019 27 - qcom,scm-ipq5018 28 - qcom,scm-ipq5332 29 - qcom,scm-ipq6018 30 - qcom,scm-ipq806x 31 - qcom,scm-ipq8074 32 - qcom,scm-ipq9574 33 - qcom,scm-mdm9607 34 - qcom,scm-msm8226 35 - qcom,scm-msm8660 36 - qcom,scm-msm8916 37 - qcom,scm-msm8953 38 - qcom,scm-msm8960 39 - qcom,scm-msm8974 40 - qcom,scm-msm8976 41 - qcom,scm-msm8994 42 - qcom,scm-msm8996 43 - qcom,scm-msm8998 44 - qcom,scm-qcm2290 45 - qcom,scm-qdu1000 46 - qcom,scm-sa8775p 47 - qcom,scm-sc7180 48 - qcom,scm-sc7280 49 - qcom,scm-sc8180x 50 - qcom,scm-sc8280xp 51 - qcom,scm-sdm670 52 - qcom,scm-sdm845 53 - qcom,scm-sdx55 54 - qcom,scm-sdx65 55 - qcom,scm-sdx75 56 - qcom,scm-sm6115 57 - qcom,scm-sm6125 58 - qcom,scm-sm6350 59 - qcom,scm-sm6375 60 - qcom,scm-sm7150 61 - qcom,scm-sm8150 62 - qcom,scm-sm8250 63 - qcom,scm-sm8350 64 - qcom,scm-sm8450 65 - qcom,scm-sm8550 66 - qcom,scm-sm8650 67 - qcom,scm-qcs404 68 - qcom,scm-x1e80100 69 - const: qcom,scm 70 71 clocks: 72 minItems: 1 73 maxItems: 3 74 75 clock-names: 76 minItems: 1 77 maxItems: 3 78 79 dma-coherent: true 80 81 interconnects: 82 maxItems: 1 83 84 interconnect-names: 85 maxItems: 1 86 87 '#reset-cells': 88 const: 1 89 90 interrupts: 91 description: 92 The wait-queue interrupt that firmware raises as part of handshake 93 protocol to handle sleeping SCM calls. 94 maxItems: 1 95 96 memory-region: 97 description: 98 Phandle to the memory region reserved for the shared memory bridge to TZ. 99 maxItems: 1 100 101 qcom,sdi-enabled: 102 description: 103 Indicates that the SDI (Secure Debug Image) has been enabled by TZ 104 by default and it needs to be disabled. 105 If not disabled WDT assertion or reboot will cause the board to hang 106 in the debug mode. 107 type: boolean 108 109 qcom,dload-mode: 110 $ref: /schemas/types.yaml#/definitions/phandle-array 111 items: 112 - items: 113 - description: phandle to TCSR hardware block 114 - description: offset of the download mode control register 115 description: TCSR hardware block 116 117allOf: 118 # Clocks 119 - if: 120 properties: 121 compatible: 122 contains: 123 enum: 124 - qcom,scm-apq8064 125 - qcom,scm-apq8084 126 - qcom,scm-mdm9607 127 - qcom,scm-msm8226 128 - qcom,scm-msm8660 129 - qcom,scm-msm8916 130 - qcom,scm-msm8953 131 - qcom,scm-msm8960 132 - qcom,scm-msm8974 133 - qcom,scm-msm8976 134 - qcom,scm-qcm2290 135 - qcom,scm-sm6375 136 then: 137 required: 138 - clocks 139 - clock-names 140 else: 141 properties: 142 clock-names: false 143 clocks: false 144 145 - if: 146 properties: 147 compatible: 148 contains: 149 enum: 150 - qcom,scm-apq8064 151 - qcom,scm-msm8660 152 - qcom,scm-msm8960 153 - qcom,scm-qcm2290 154 - qcom,scm-sm6375 155 then: 156 properties: 157 clock-names: 158 items: 159 - const: core 160 161 clocks: 162 maxItems: 1 163 164 - if: 165 properties: 166 compatible: 167 contains: 168 enum: 169 - qcom,scm-apq8084 170 - qcom,scm-mdm9607 171 - qcom,scm-msm8226 172 - qcom,scm-msm8916 173 - qcom,scm-msm8953 174 - qcom,scm-msm8974 175 - qcom,scm-msm8976 176 then: 177 properties: 178 clock-names: 179 items: 180 - const: core 181 - const: bus 182 - const: iface 183 184 clocks: 185 minItems: 3 186 maxItems: 3 187 188 # Interrupts 189 - if: 190 not: 191 properties: 192 compatible: 193 contains: 194 enum: 195 - qcom,scm-sm8450 196 - qcom,scm-sm8550 197 - qcom,scm-sm8650 198 then: 199 properties: 200 interrupts: false 201 - if: 202 not: 203 properties: 204 compatible: 205 contains: 206 enum: 207 - qcom,scm-sa8775p 208 then: 209 properties: 210 memory-region: false 211 212required: 213 - compatible 214 215additionalProperties: false 216 217examples: 218 - | 219 #include <dt-bindings/clock/qcom,gcc-msm8916.h> 220 221 firmware { 222 scm { 223 compatible = "qcom,scm-msm8916", "qcom,scm"; 224 clocks = <&gcc GCC_CRYPTO_CLK>, 225 <&gcc GCC_CRYPTO_AXI_CLK>, 226 <&gcc GCC_CRYPTO_AHB_CLK>; 227 clock-names = "core", "bus", "iface"; 228 }; 229 }; 230