2022-07-08 02:04:31 -07:00
|
|
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
|
|
|
%YAML 1.2
|
|
|
|
---
|
|
|
|
$id: http://devicetree.org/schemas/firmware/qcom,scm.yaml#
|
|
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
|
|
|
|
title: QCOM Secure Channel Manager (SCM)
|
|
|
|
|
|
|
|
description: |
|
|
|
|
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.
|
|
|
|
|
|
|
|
maintainers:
|
|
|
|
- Bjorn Andersson <bjorn.andersson@linaro.org>
|
|
|
|
- Robert Marko <robimarko@gmail.com>
|
|
|
|
- Guru Das Srinagesh <quic_gurus@quicinc.com>
|
|
|
|
|
|
|
|
properties:
|
|
|
|
compatible:
|
|
|
|
items:
|
|
|
|
- enum:
|
|
|
|
- qcom,scm-apq8064
|
|
|
|
- qcom,scm-apq8084
|
|
|
|
- qcom,scm-ipq4019
|
2023-08-16 09:45:40 -07:00
|
|
|
- qcom,scm-ipq5018
|
2023-03-06 23:22:30 -07:00
|
|
|
- qcom,scm-ipq5332
|
2022-07-08 02:04:31 -07:00
|
|
|
- qcom,scm-ipq6018
|
|
|
|
- qcom,scm-ipq806x
|
|
|
|
- qcom,scm-ipq8074
|
2023-02-16 05:00:08 -07:00
|
|
|
- qcom,scm-ipq9574
|
2022-07-08 02:04:31 -07:00
|
|
|
- qcom,scm-mdm9607
|
|
|
|
- qcom,scm-msm8226
|
|
|
|
- qcom,scm-msm8660
|
|
|
|
- qcom,scm-msm8916
|
|
|
|
- qcom,scm-msm8953
|
|
|
|
- qcom,scm-msm8960
|
|
|
|
- qcom,scm-msm8974
|
|
|
|
- qcom,scm-msm8976
|
|
|
|
- qcom,scm-msm8994
|
|
|
|
- qcom,scm-msm8996
|
|
|
|
- qcom,scm-msm8998
|
2023-04-05 08:50:30 -07:00
|
|
|
- qcom,scm-qcm2290
|
2022-12-16 16:13:12 -07:00
|
|
|
- qcom,scm-qdu1000
|
2023-01-27 12:21:39 -07:00
|
|
|
- qcom,scm-sa8775p
|
2022-07-08 02:04:31 -07:00
|
|
|
- qcom,scm-sc7180
|
|
|
|
- qcom,scm-sc7280
|
2023-03-25 05:24:33 -07:00
|
|
|
- qcom,scm-sc8180x
|
2022-07-08 02:04:31 -07:00
|
|
|
- qcom,scm-sc8280xp
|
2022-11-10 17:18:18 -07:00
|
|
|
- qcom,scm-sdm670
|
2022-07-08 02:04:31 -07:00
|
|
|
- qcom,scm-sdm845
|
|
|
|
- qcom,scm-sdx55
|
|
|
|
- qcom,scm-sdx65
|
2023-06-09 04:50:35 -07:00
|
|
|
- qcom,scm-sdx75
|
2022-08-15 03:09:45 -07:00
|
|
|
- qcom,scm-sm6115
|
2022-07-08 02:04:31 -07:00
|
|
|
- qcom,scm-sm6125
|
|
|
|
- qcom,scm-sm6350
|
2022-10-15 04:55:35 -07:00
|
|
|
- qcom,scm-sm6375
|
2023-09-13 12:44:18 -07:00
|
|
|
- qcom,scm-sm7150
|
2022-07-08 02:04:31 -07:00
|
|
|
- qcom,scm-sm8150
|
|
|
|
- qcom,scm-sm8250
|
|
|
|
- qcom,scm-sm8350
|
|
|
|
- qcom,scm-sm8450
|
2023-02-07 06:46:46 -07:00
|
|
|
- qcom,scm-sm8550
|
2023-10-25 00:29:17 -07:00
|
|
|
- qcom,scm-sm8650
|
2022-07-08 02:04:31 -07:00
|
|
|
- qcom,scm-qcs404
|
2023-11-24 03:06:07 -07:00
|
|
|
- qcom,scm-x1e80100
|
2022-07-08 02:04:31 -07:00
|
|
|
- const: qcom,scm
|
|
|
|
|
|
|
|
clocks:
|
|
|
|
minItems: 1
|
|
|
|
maxItems: 3
|
|
|
|
|
|
|
|
clock-names:
|
|
|
|
minItems: 1
|
|
|
|
maxItems: 3
|
|
|
|
|
2023-06-16 08:14:38 -07:00
|
|
|
dma-coherent: true
|
|
|
|
|
2022-07-08 02:04:31 -07:00
|
|
|
interconnects:
|
|
|
|
maxItems: 1
|
|
|
|
|
|
|
|
interconnect-names:
|
|
|
|
maxItems: 1
|
|
|
|
|
|
|
|
'#reset-cells':
|
|
|
|
const: 1
|
|
|
|
|
2023-01-13 09:11:13 -07:00
|
|
|
interrupts:
|
|
|
|
description:
|
|
|
|
The wait-queue interrupt that firmware raises as part of handshake
|
|
|
|
protocol to handle sleeping SCM calls.
|
|
|
|
maxItems: 1
|
|
|
|
|
2024-05-27 05:54:51 -07:00
|
|
|
memory-region:
|
|
|
|
description:
|
|
|
|
Phandle to the memory region reserved for the shared memory bridge to TZ.
|
|
|
|
maxItems: 1
|
|
|
|
|
2023-08-16 09:45:38 -07:00
|
|
|
qcom,sdi-enabled:
|
|
|
|
description:
|
|
|
|
Indicates that the SDI (Secure Debug Image) has been enabled by TZ
|
|
|
|
by default and it needs to be disabled.
|
|
|
|
If not disabled WDT assertion or reboot will cause the board to hang
|
|
|
|
in the debug mode.
|
|
|
|
type: boolean
|
|
|
|
|
2022-07-08 02:04:31 -07:00
|
|
|
qcom,dload-mode:
|
|
|
|
$ref: /schemas/types.yaml#/definitions/phandle-array
|
|
|
|
items:
|
|
|
|
- items:
|
|
|
|
- description: phandle to TCSR hardware block
|
|
|
|
- description: offset of the download mode control register
|
|
|
|
description: TCSR hardware block
|
|
|
|
|
|
|
|
allOf:
|
2022-11-22 02:23:45 -07:00
|
|
|
# Clocks
|
|
|
|
- if:
|
|
|
|
properties:
|
|
|
|
compatible:
|
|
|
|
contains:
|
|
|
|
enum:
|
|
|
|
- qcom,scm-apq8064
|
|
|
|
- qcom,scm-apq8084
|
|
|
|
- qcom,scm-mdm9607
|
|
|
|
- qcom,scm-msm8226
|
|
|
|
- qcom,scm-msm8660
|
|
|
|
- qcom,scm-msm8916
|
|
|
|
- qcom,scm-msm8953
|
|
|
|
- qcom,scm-msm8960
|
|
|
|
- qcom,scm-msm8974
|
|
|
|
- qcom,scm-msm8976
|
2023-04-05 08:50:30 -07:00
|
|
|
- qcom,scm-qcm2290
|
2022-11-22 02:23:45 -07:00
|
|
|
- qcom,scm-sm6375
|
|
|
|
then:
|
|
|
|
required:
|
|
|
|
- clocks
|
|
|
|
- clock-names
|
|
|
|
else:
|
|
|
|
properties:
|
|
|
|
clock-names: false
|
|
|
|
clocks: false
|
|
|
|
|
2022-07-08 02:04:31 -07:00
|
|
|
- if:
|
|
|
|
properties:
|
|
|
|
compatible:
|
|
|
|
contains:
|
|
|
|
enum:
|
|
|
|
- qcom,scm-apq8064
|
|
|
|
- qcom,scm-msm8660
|
|
|
|
- qcom,scm-msm8960
|
2023-04-05 08:50:30 -07:00
|
|
|
- qcom,scm-qcm2290
|
2022-10-15 04:55:35 -07:00
|
|
|
- qcom,scm-sm6375
|
2022-07-08 02:04:31 -07:00
|
|
|
then:
|
|
|
|
properties:
|
|
|
|
clock-names:
|
|
|
|
items:
|
|
|
|
- const: core
|
|
|
|
|
|
|
|
clocks:
|
|
|
|
maxItems: 1
|
|
|
|
|
|
|
|
- if:
|
|
|
|
properties:
|
|
|
|
compatible:
|
|
|
|
contains:
|
|
|
|
enum:
|
|
|
|
- qcom,scm-apq8084
|
|
|
|
- qcom,scm-mdm9607
|
2022-11-22 02:23:44 -07:00
|
|
|
- qcom,scm-msm8226
|
2022-07-08 02:04:31 -07:00
|
|
|
- qcom,scm-msm8916
|
|
|
|
- qcom,scm-msm8953
|
|
|
|
- qcom,scm-msm8974
|
|
|
|
- qcom,scm-msm8976
|
|
|
|
then:
|
|
|
|
properties:
|
|
|
|
clock-names:
|
|
|
|
items:
|
|
|
|
- const: core
|
|
|
|
- const: bus
|
|
|
|
- const: iface
|
|
|
|
|
|
|
|
clocks:
|
|
|
|
minItems: 3
|
|
|
|
maxItems: 3
|
|
|
|
|
2023-01-13 09:11:13 -07:00
|
|
|
# Interrupts
|
|
|
|
- if:
|
|
|
|
not:
|
|
|
|
properties:
|
|
|
|
compatible:
|
|
|
|
contains:
|
|
|
|
enum:
|
|
|
|
- qcom,scm-sm8450
|
2023-02-07 06:46:46 -07:00
|
|
|
- qcom,scm-sm8550
|
2023-10-25 00:29:17 -07:00
|
|
|
- qcom,scm-sm8650
|
2023-01-13 09:11:13 -07:00
|
|
|
then:
|
|
|
|
properties:
|
|
|
|
interrupts: false
|
2024-05-27 05:54:51 -07:00
|
|
|
- if:
|
|
|
|
not:
|
|
|
|
properties:
|
|
|
|
compatible:
|
|
|
|
contains:
|
|
|
|
enum:
|
|
|
|
- qcom,scm-sa8775p
|
|
|
|
then:
|
|
|
|
properties:
|
|
|
|
memory-region: false
|
2023-01-13 09:11:13 -07:00
|
|
|
|
2022-07-08 02:04:31 -07:00
|
|
|
required:
|
|
|
|
- compatible
|
|
|
|
|
|
|
|
additionalProperties: false
|
|
|
|
|
|
|
|
examples:
|
|
|
|
- |
|
|
|
|
#include <dt-bindings/clock/qcom,gcc-msm8916.h>
|
|
|
|
|
|
|
|
firmware {
|
|
|
|
scm {
|
|
|
|
compatible = "qcom,scm-msm8916", "qcom,scm";
|
|
|
|
clocks = <&gcc GCC_CRYPTO_CLK>,
|
|
|
|
<&gcc GCC_CRYPTO_AXI_CLK>,
|
|
|
|
<&gcc GCC_CRYPTO_AHB_CLK>;
|
|
|
|
clock-names = "core", "bus", "iface";
|
|
|
|
};
|
|
|
|
};
|