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