xref: /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/firmware/qcom,scm.txt (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunQCOM Secure Channel Manager (SCM)
2*4882a593Smuzhiyun
3*4882a593SmuzhiyunQualcomm processors include an interface to communicate to the secure firmware.
4*4882a593SmuzhiyunThis interface allows for clients to request different types of actions.  These
5*4882a593Smuzhiyuncan include CPU power up/down, HDCP requests, loading of firmware, and other
6*4882a593Smuzhiyunassorted actions.
7*4882a593Smuzhiyun
8*4882a593SmuzhiyunRequired properties:
9*4882a593Smuzhiyun- compatible: must contain one of the following:
10*4882a593Smuzhiyun * "qcom,scm-apq8064"
11*4882a593Smuzhiyun * "qcom,scm-apq8084"
12*4882a593Smuzhiyun * "qcom,scm-ipq4019"
13*4882a593Smuzhiyun * "qcom,scm-ipq806x"
14*4882a593Smuzhiyun * "qcom,scm-ipq8074"
15*4882a593Smuzhiyun * "qcom,scm-msm8660"
16*4882a593Smuzhiyun * "qcom,scm-msm8916"
17*4882a593Smuzhiyun * "qcom,scm-msm8960"
18*4882a593Smuzhiyun * "qcom,scm-msm8974"
19*4882a593Smuzhiyun * "qcom,scm-msm8994"
20*4882a593Smuzhiyun * "qcom,scm-msm8996"
21*4882a593Smuzhiyun * "qcom,scm-msm8998"
22*4882a593Smuzhiyun * "qcom,scm-sc7180"
23*4882a593Smuzhiyun * "qcom,scm-sdm845"
24*4882a593Smuzhiyun * "qcom,scm-sm8150"
25*4882a593Smuzhiyun and:
26*4882a593Smuzhiyun * "qcom,scm"
27*4882a593Smuzhiyun- clocks: Specifies clocks needed by the SCM interface, if any:
28*4882a593Smuzhiyun * core clock required for "qcom,scm-apq8064", "qcom,scm-msm8660" and
29*4882a593Smuzhiyun   "qcom,scm-msm8960"
30*4882a593Smuzhiyun * core, iface and bus clocks required for "qcom,scm-apq8084",
31*4882a593Smuzhiyun   "qcom,scm-msm8916" and "qcom,scm-msm8974"
32*4882a593Smuzhiyun- clock-names: Must contain "core" for the core clock, "iface" for the interface
33*4882a593Smuzhiyun  clock and "bus" for the bus clock per the requirements of the compatible.
34*4882a593Smuzhiyun- qcom,dload-mode: phandle to the TCSR hardware block and offset of the
35*4882a593Smuzhiyun		   download mode control register (optional)
36*4882a593Smuzhiyun
37*4882a593SmuzhiyunExample for MSM8916:
38*4882a593Smuzhiyun
39*4882a593Smuzhiyun	firmware {
40*4882a593Smuzhiyun		scm {
41*4882a593Smuzhiyun			compatible = "qcom,msm8916", "qcom,scm";
42*4882a593Smuzhiyun			clocks = <&gcc GCC_CRYPTO_CLK> ,
43*4882a593Smuzhiyun				 <&gcc GCC_CRYPTO_AXI_CLK>,
44*4882a593Smuzhiyun				 <&gcc GCC_CRYPTO_AHB_CLK>;
45*4882a593Smuzhiyun			clock-names = "core", "bus", "iface";
46*4882a593Smuzhiyun		};
47*4882a593Smuzhiyun	};
48