78 lines
2.2 KiB
Text
78 lines
2.2 KiB
Text
QCOM Secure Channel Manager (SCM)
|
|
|
|
Qualcomm processors include an interface to communicate to the secure firmware.
|
|
This interface allows for clients to request different types of actions. These
|
|
can include CPU power up/down, HDCP requests, loading of firmware, and other
|
|
assorted actions.
|
|
|
|
Required properties:
|
|
- compatible: must contain one of the following:
|
|
* "qcom,scm-apq8064"
|
|
* "qcom,scm-apq8084"
|
|
* "qcom,scm-ipq4019"
|
|
* "qcom,scm-ipq806x"
|
|
* "qcom,scm-ipq8074"
|
|
* "qcom,scm-mdm9607"
|
|
* "qcom,scm-msm8660"
|
|
* "qcom,scm-msm8916"
|
|
* "qcom,scm-msm8960"
|
|
* "qcom,scm-msm8974"
|
|
* "qcom,scm-msm8994"
|
|
* "qcom,scm-msm8996"
|
|
* "qcom,scm-msm8998"
|
|
* "qcom,scm-sc7180"
|
|
* "qcom,scm-sc7280"
|
|
* "qcom,scm-sdm845"
|
|
* "qcom,scm-sdx55"
|
|
* "qcom,scm-sm8150"
|
|
* "qcom,scm-sm8250"
|
|
* "qcom,scm-sm8350"
|
|
and:
|
|
* "qcom,scm"
|
|
* "qcom,scm-v1.1" for firmwares that support waitqueue-based operation.
|
|
* "android,firmware" for firmware image
|
|
* "android,vbmeta" for setting system properties for verified boot.
|
|
- clocks: Specifies clocks needed by the SCM interface, if any:
|
|
* core clock required for "qcom,scm-apq8064", "qcom,scm-msm8660" and
|
|
"qcom,scm-msm8960"
|
|
* core, iface and bus clocks required for "qcom,scm-apq8084",
|
|
"qcom,scm-msm8916" and "qcom,scm-msm8974"
|
|
- clock-names: Must contain "core" for the core clock, "iface" for the interface
|
|
clock and "bus" for the bus clock per the requirements of the compatible.
|
|
- qcom,dload-mode: phandle to the TCSR hardware block and offset of the
|
|
download mode control register (optional)
|
|
|
|
Example for MSM8916:
|
|
|
|
firmware {
|
|
scm {
|
|
compatible = "qcom,msm8916", "qcom,scm";
|
|
clocks = <&gcc GCC_CRYPTO_CLK> ,
|
|
<&gcc GCC_CRYPTO_AXI_CLK>,
|
|
<&gcc GCC_CRYPTO_AHB_CLK>;
|
|
clock-names = "core", "bus", "iface";
|
|
};
|
|
};
|
|
|
|
Example for SM6150:
|
|
|
|
firmware: firmware {
|
|
android {
|
|
compatible = "android,firmware";
|
|
vbmeta {
|
|
compatible = "android,vbmeta";
|
|
parts = "vbmeta,boot,system,vendor,dtbo";
|
|
};
|
|
fstab {
|
|
compatible = "android,fstab";
|
|
vendor {
|
|
compatible = "android,vendor";
|
|
dev = "/dev/block/platform/soc/1d84000.ufshc/by-name/vendor";
|
|
type = "ext4";
|
|
mnt_flags = "ro,barrier=1,discard";
|
|
fsmgr_flags = "wait,slotselect,avb";
|
|
status = "ok";
|
|
};
|
|
};
|
|
};
|
|
};
|