[PATCH v1 01/15] dt-binding: remoteproc: mediatek: Support dual-core SCP

From: Tinghan Shen
Date: Wed Jun 01 2022 - 07:22:55 EST


The SCP co-processor is a dual-core RISC-V MCU on MT8195.

Add a new property to identify each core and helps to find drivers
through device tree API to cooperate with each other, e.g. boot flow and
watchdog timeout flow.

Add a new compatile for the driver of SCP 2nd core.

Signed-off-by: Tinghan Shen <tinghan.shen@xxxxxxxxxxxx>
---
.../devicetree/bindings/remoteproc/mtk,scp.yaml | 12 ++++++++++++
1 file changed, 12 insertions(+)

diff --git a/Documentation/devicetree/bindings/remoteproc/mtk,scp.yaml b/Documentation/devicetree/bindings/remoteproc/mtk,scp.yaml
index eec3b9c4c713..b181786d9575 100644
--- a/Documentation/devicetree/bindings/remoteproc/mtk,scp.yaml
+++ b/Documentation/devicetree/bindings/remoteproc/mtk,scp.yaml
@@ -20,6 +20,7 @@ properties:
- mediatek,mt8186-scp
- mediatek,mt8192-scp
- mediatek,mt8195-scp
+ - mediatek,mt8195-scp-dual

reg:
description:
@@ -57,6 +58,16 @@ properties:
memory-region:
maxItems: 1

+ mediatek,scp-core:
+ $ref: /schemas/types.yaml#/definitions/uint32-array
+ description:
+ The property value is a list with 2 items, a core id and a phandle
+ to the sibling SCP node. The core id represents the id of the dts node contains
+ this property. The valid values of core id are 0 and 1 for dual-core SCP.
+ The phandle of sibling SCP node is used to find the register settings,
+ trigger core dependent callback, and invoke rproc API.
+ maxItems: 1
+
required:
- compatible
- reg
@@ -115,6 +126,7 @@ examples:
reg-names = "sram", "cfg", "l1tcm";
clocks = <&infracfg CLK_INFRA_SCPSYS>;
clock-names = "main";
+ mediatek,scp-core = <0 &scp_dual>;

cros_ec {
mediatek,rpmsg-name = "cros-ec-rpmsg";
--
2.18.0