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-ipq6018 28 - qcom,scm-ipq806x 29 - qcom,scm-ipq8074 30 - qcom,scm-mdm9607 31 - qcom,scm-msm8226 32 - qcom,scm-msm8660 33 - qcom,scm-msm8916 34 - qcom,scm-msm8953 35 - qcom,scm-msm8960 36 - qcom,scm-msm8974 37 - qcom,scm-msm8976 38 - qcom,scm-msm8994 39 - qcom,scm-msm8996 40 - qcom,scm-msm8998 41 - qcom,scm-sc7180 42 - qcom,scm-sc7280 43 - qcom,scm-sc8280xp 44 - qcom,scm-sdm845 45 - qcom,scm-sdx55 46 - qcom,scm-sdx65 47 - qcom,scm-sm6115 48 - qcom,scm-sm6125 49 - qcom,scm-sm6350 50 - qcom,scm-sm8150 51 - qcom,scm-sm8250 52 - qcom,scm-sm8350 53 - qcom,scm-sm8450 54 - qcom,scm-qcs404 55 - const: qcom,scm 56 57 clocks: 58 minItems: 1 59 maxItems: 3 60 61 clock-names: 62 minItems: 1 63 maxItems: 3 64 65 interconnects: 66 maxItems: 1 67 68 interconnect-names: 69 maxItems: 1 70 71 '#reset-cells': 72 const: 1 73 74 qcom,dload-mode: 75 $ref: /schemas/types.yaml#/definitions/phandle-array 76 items: 77 - items: 78 - description: phandle to TCSR hardware block 79 - description: offset of the download mode control register 80 description: TCSR hardware block 81 82allOf: 83 - if: 84 properties: 85 compatible: 86 contains: 87 enum: 88 - qcom,scm-apq8064 89 - qcom,scm-msm8660 90 - qcom,scm-msm8960 91 then: 92 properties: 93 clock-names: 94 items: 95 - const: core 96 97 clocks: 98 maxItems: 1 99 100 required: 101 - clocks 102 - clock-names 103 104 - if: 105 properties: 106 compatible: 107 contains: 108 enum: 109 - qcom,scm-apq8084 110 - qcom,scm-mdm9607 111 - qcom,scm-msm8916 112 - qcom,scm-msm8953 113 - qcom,scm-msm8974 114 - qcom,scm-msm8976 115 then: 116 properties: 117 clock-names: 118 items: 119 - const: core 120 - const: bus 121 - const: iface 122 123 clocks: 124 minItems: 3 125 maxItems: 3 126 127 required: 128 - clocks 129 - clock-names 130 131required: 132 - compatible 133 134additionalProperties: false 135 136examples: 137 - | 138 #include <dt-bindings/clock/qcom,gcc-msm8916.h> 139 140 firmware { 141 scm { 142 compatible = "qcom,scm-msm8916", "qcom,scm"; 143 clocks = <&gcc GCC_CRYPTO_CLK>, 144 <&gcc GCC_CRYPTO_AXI_CLK>, 145 <&gcc GCC_CRYPTO_AHB_CLK>; 146 clock-names = "core", "bus", "iface"; 147 }; 148 }; 149