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 <[email protected]> 17 - Robert Marko <[email protected]> 18 - Guru Das Srinagesh <[email protected]> 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-ipq5424 30 - qcom,scm-ipq6018 31 - qcom,scm-ipq806x 32 - qcom,scm-ipq8074 33 - qcom,scm-ipq9574 34 - qcom,scm-mdm9607 35 - qcom,scm-msm8226 36 - qcom,scm-msm8660 37 - qcom,scm-msm8916 38 - qcom,scm-msm8953 39 - qcom,scm-msm8960 40 - qcom,scm-msm8974 41 - qcom,scm-msm8976 42 - qcom,scm-msm8994 43 - qcom,scm-msm8996 44 - qcom,scm-msm8998 45 - qcom,scm-qcm2290 46 - qcom,scm-qcs615 47 - qcom,scm-qcs8300 48 - qcom,scm-qdu1000 49 - qcom,scm-sa8255p 50 - qcom,scm-sa8775p 51 - qcom,scm-sar2130p 52 - qcom,scm-sc7180 53 - qcom,scm-sc7280 54 - qcom,scm-sc8180x 55 - qcom,scm-sc8280xp 56 - qcom,scm-sdm670 57 - qcom,scm-sdm845 58 - qcom,scm-sdx55 59 - qcom,scm-sdx65 60 - qcom,scm-sdx75 61 - qcom,scm-sm6115 62 - qcom,scm-sm6125 63 - qcom,scm-sm6350 64 - qcom,scm-sm6375 65 - qcom,scm-sm7150 66 - qcom,scm-sm8150 67 - qcom,scm-sm8250 68 - qcom,scm-sm8350 69 - qcom,scm-sm8450 70 - qcom,scm-sm8550 71 - qcom,scm-sm8650 72 - qcom,scm-sm8750 73 - qcom,scm-qcs404 74 - qcom,scm-x1e80100 75 - const: qcom,scm 76 77 clocks: 78 minItems: 1 79 maxItems: 3 80 81 clock-names: 82 minItems: 1 83 maxItems: 3 84 85 dma-coherent: true 86 87 interconnects: 88 maxItems: 1 89 90 interconnect-names: 91 maxItems: 1 92 93 '#reset-cells': 94 const: 1 95 96 interrupts: 97 description: 98 The wait-queue interrupt that firmware raises as part of handshake 99 protocol to handle sleeping SCM calls. 100 maxItems: 1 101 102 memory-region: 103 description: 104 Phandle to the memory region reserved for the shared memory bridge to TZ. 105 maxItems: 1 106 107 qcom,sdi-enabled: 108 description: 109 Indicates that the SDI (Secure Debug Image) has been enabled by TZ 110 by default and it needs to be disabled. 111 If not disabled WDT assertion or reboot will cause the board to hang 112 in the debug mode. 113 type: boolean 114 115 qcom,dload-mode: 116 $ref: /schemas/types.yaml#/definitions/phandle-array 117 items: 118 - items: 119 - description: phandle to TCSR hardware block 120 - description: offset of the download mode control register 121 description: TCSR hardware block 122 123allOf: 124 # Clocks 125 - if: 126 properties: 127 compatible: 128 contains: 129 enum: 130 - qcom,scm-apq8064 131 - qcom,scm-apq8084 132 - qcom,scm-mdm9607 133 - qcom,scm-msm8226 134 - qcom,scm-msm8660 135 - qcom,scm-msm8916 136 - qcom,scm-msm8953 137 - qcom,scm-msm8960 138 - qcom,scm-msm8974 139 - qcom,scm-msm8976 140 - qcom,scm-qcm2290 141 - qcom,scm-sm6375 142 then: 143 required: 144 - clocks 145 - clock-names 146 else: 147 properties: 148 clock-names: false 149 clocks: false 150 151 - if: 152 properties: 153 compatible: 154 contains: 155 enum: 156 - qcom,scm-apq8064 157 - qcom,scm-msm8660 158 - qcom,scm-msm8960 159 - qcom,scm-qcm2290 160 - qcom,scm-sm6375 161 then: 162 properties: 163 clock-names: 164 items: 165 - const: core 166 167 clocks: 168 maxItems: 1 169 170 - if: 171 properties: 172 compatible: 173 contains: 174 enum: 175 - qcom,scm-apq8084 176 - qcom,scm-mdm9607 177 - qcom,scm-msm8226 178 - qcom,scm-msm8916 179 - qcom,scm-msm8953 180 - qcom,scm-msm8974 181 - qcom,scm-msm8976 182 then: 183 properties: 184 clock-names: 185 items: 186 - const: core 187 - const: bus 188 - const: iface 189 190 clocks: 191 minItems: 3 192 maxItems: 3 193 194 # Interrupts 195 - if: 196 not: 197 properties: 198 compatible: 199 contains: 200 enum: 201 - qcom,scm-sm8450 202 - qcom,scm-sm8550 203 - qcom,scm-sm8650 204 - qcom,scm-sm8750 205 then: 206 properties: 207 interrupts: false 208 - if: 209 not: 210 properties: 211 compatible: 212 contains: 213 enum: 214 - qcom,scm-sa8255p 215 - qcom,scm-sa8775p 216 then: 217 properties: 218 memory-region: false 219 220required: 221 - compatible 222 223additionalProperties: false 224 225examples: 226 - | 227 #include <dt-bindings/clock/qcom,gcc-msm8916.h> 228 229 firmware { 230 scm { 231 compatible = "qcom,scm-msm8916", "qcom,scm"; 232 clocks = <&gcc GCC_CRYPTO_CLK>, 233 <&gcc GCC_CRYPTO_AXI_CLK>, 234 <&gcc GCC_CRYPTO_AHB_CLK>; 235 clock-names = "core", "bus", "iface"; 236 }; 237 }; 238