Back to home page

OSCL-LXR

 
 

    


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         };