0001 QCOM Secure Channel Manager (SCM)
0002
0003 Qualcomm processors include an interface to communicate to the secure firmware.
0004 This interface allows for clients to request different types of actions. These
0005 can include CPU power up/down, HDCP requests, loading of firmware, and other
0006 assorted actions.
0007
0008 Required properties:
0009 - compatible: must contain one of the following:
0010 * "qcom,scm-apq8064"
0011 * "qcom,scm-apq8084"
0012 * "qcom,scm-ipq4019"
0013 * "qcom,scm-ipq806x"
0014 * "qcom,scm-ipq8074"
0015 * "qcom,scm-mdm9607"
0016 * "qcom,scm-msm8226"
0017 * "qcom,scm-msm8660"
0018 * "qcom,scm-msm8916"
0019 * "qcom,scm-msm8953"
0020 * "qcom,scm-msm8960"
0021 * "qcom,scm-msm8974"
0022 * "qcom,scm-msm8976"
0023 * "qcom,scm-msm8994"
0024 * "qcom,scm-msm8996"
0025 * "qcom,scm-msm8998"
0026 * "qcom,scm-qcs404"
0027 * "qcom,scm-sc7180"
0028 * "qcom,scm-sc7280"
0029 * "qcom,scm-sm6125"
0030 * "qcom,scm-sdm845"
0031 * "qcom,scm-sdx55"
0032 * "qcom,scm-sdx65"
0033 * "qcom,scm-sm6350"
0034 * "qcom,scm-sm8150"
0035 * "qcom,scm-sm8250"
0036 * "qcom,scm-sm8350"
0037 * "qcom,scm-sm8450"
0038 and:
0039 * "qcom,scm"
0040 - clocks: Specifies clocks needed by the SCM interface, if any:
0041 * core clock required for "qcom,scm-apq8064", "qcom,scm-msm8660" and
0042 "qcom,scm-msm8960"
0043 * core, iface and bus clocks required for "qcom,scm-apq8084",
0044 "qcom,scm-msm8916", "qcom,scm-msm8953", "qcom,scm-msm8974" and "qcom,scm-msm8976"
0045 - clock-names: Must contain "core" for the core clock, "iface" for the interface
0046 clock and "bus" for the bus clock per the requirements of the compatible.
0047 - qcom,dload-mode: phandle to the TCSR hardware block and offset of the
0048 download mode control register (optional)
0049 - interconnects: Specifies the bandwidth requirements of the SCM interface (optional)
0050
0051 Example for MSM8916:
0052
0053 firmware {
0054 scm {
0055 compatible = "qcom,msm8916", "qcom,scm";
0056 clocks = <&gcc GCC_CRYPTO_CLK> ,
0057 <&gcc GCC_CRYPTO_AXI_CLK>,
0058 <&gcc GCC_CRYPTO_AHB_CLK>;
0059 clock-names = "core", "bus", "iface";
0060 };
0061 };