230 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)2%YAML 1.23---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-apq806425 - qcom,scm-apq808426 - qcom,scm-ipq401927 - qcom,scm-ipq501828 - qcom,scm-ipq533229 - qcom,scm-ipq601830 - qcom,scm-ipq806x31 - qcom,scm-ipq807432 - qcom,scm-ipq957433 - qcom,scm-mdm960734 - qcom,scm-msm822635 - qcom,scm-msm866036 - qcom,scm-msm891637 - qcom,scm-msm895338 - qcom,scm-msm896039 - qcom,scm-msm897440 - qcom,scm-msm897641 - qcom,scm-msm899442 - qcom,scm-msm899643 - qcom,scm-msm899844 - qcom,scm-qcm229045 - qcom,scm-qdu100046 - qcom,scm-sa8775p47 - qcom,scm-sc718048 - qcom,scm-sc728049 - qcom,scm-sc8180x50 - qcom,scm-sc8280xp51 - qcom,scm-sdm67052 - qcom,scm-sdm84553 - qcom,scm-sdx5554 - qcom,scm-sdx6555 - qcom,scm-sdx7556 - qcom,scm-sm611557 - qcom,scm-sm612558 - qcom,scm-sm635059 - qcom,scm-sm637560 - qcom,scm-sm715061 - qcom,scm-sm815062 - qcom,scm-sm825063 - qcom,scm-sm835064 - qcom,scm-sm845065 - qcom,scm-sm855066 - qcom,scm-sm865067 - qcom,scm-qcs40468 - qcom,scm-x1e8010069 - const: qcom,scm70 71 clocks:72 minItems: 173 maxItems: 374 75 clock-names:76 minItems: 177 maxItems: 378 79 dma-coherent: true80 81 interconnects:82 maxItems: 183 84 interconnect-names:85 maxItems: 186 87 '#reset-cells':88 const: 189 90 interrupts:91 description:92 The wait-queue interrupt that firmware raises as part of handshake93 protocol to handle sleeping SCM calls.94 maxItems: 195 96 memory-region:97 description:98 Phandle to the memory region reserved for the shared memory bridge to TZ.99 maxItems: 1100 101 qcom,sdi-enabled:102 description:103 Indicates that the SDI (Secure Debug Image) has been enabled by TZ104 by default and it needs to be disabled.105 If not disabled WDT assertion or reboot will cause the board to hang106 in the debug mode.107 type: boolean108 109 qcom,dload-mode:110 $ref: /schemas/types.yaml#/definitions/phandle-array111 items:112 - items:113 - description: phandle to TCSR hardware block114 - description: offset of the download mode control register115 description: TCSR hardware block116 117allOf:118 # Clocks119 - if:120 properties:121 compatible:122 contains:123 enum:124 - qcom,scm-apq8064125 - qcom,scm-apq8084126 - qcom,scm-mdm9607127 - qcom,scm-msm8226128 - qcom,scm-msm8660129 - qcom,scm-msm8916130 - qcom,scm-msm8953131 - qcom,scm-msm8960132 - qcom,scm-msm8974133 - qcom,scm-msm8976134 - qcom,scm-qcm2290135 - qcom,scm-sm6375136 then:137 required:138 - clocks139 - clock-names140 else:141 properties:142 clock-names: false143 clocks: false144 145 - if:146 properties:147 compatible:148 contains:149 enum:150 - qcom,scm-apq8064151 - qcom,scm-msm8660152 - qcom,scm-msm8960153 - qcom,scm-qcm2290154 - qcom,scm-sm6375155 then:156 properties:157 clock-names:158 items:159 - const: core160 161 clocks:162 maxItems: 1163 164 - if:165 properties:166 compatible:167 contains:168 enum:169 - qcom,scm-apq8084170 - qcom,scm-mdm9607171 - qcom,scm-msm8226172 - qcom,scm-msm8916173 - qcom,scm-msm8953174 - qcom,scm-msm8974175 - qcom,scm-msm8976176 then:177 properties:178 clock-names:179 items:180 - const: core181 - const: bus182 - const: iface183 184 clocks:185 minItems: 3186 maxItems: 3187 188 # Interrupts189 - if:190 not:191 properties:192 compatible:193 contains:194 enum:195 - qcom,scm-sm8450196 - qcom,scm-sm8550197 - qcom,scm-sm8650198 then:199 properties:200 interrupts: false201 - if:202 not:203 properties:204 compatible:205 contains:206 enum:207 - qcom,scm-sa8775p208 then:209 properties:210 memory-region: false211 212required:213 - compatible214 215additionalProperties: false216 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