# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/remoteproc/mtk,scp.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Mediatek SCP maintainers: - Tinghan Shen <tinghan.shen@mediatek.com> description: This binding provides support for ARM Cortex M4 Co-processor found on some Mediatek SoCs. properties: compatible: enum: - mediatek,mt8183-scp - mediatek,mt8186-scp - mediatek,mt8188-scp - mediatek,mt8192-scp - mediatek,mt8195-scp reg: description: Should contain the address ranges for memory regions SRAM, CFG, and, on some platforms, L1TCM. minItems: 2 maxItems: 3 reg-names: minItems: 2 items: - const: sram - const: cfg - const: l1tcm clocks: description: Clock for co-processor (see ../clock/clock-bindings.txt). Required by mt8183 and mt8192. maxItems: 1 clock-names: const: main interrupts: maxItems: 1 firmware-name: $ref: /schemas/types.yaml#/definitions/string description: If present, name (or relative path) of the file within the firmware search path containing the firmware image used when initializing SCP. memory-region: maxItems: 1 required: - compatible - reg - reg-names allOf: - if: properties: compatible: enum: - mediatek,mt8183-scp - mediatek,mt8192-scp then: required: - clocks - clock-names - if: properties: compatible: enum: - mediatek,mt8183-scp - mediatek,mt8186-scp - mediatek,mt8188-scp then: properties: reg: maxItems: 2 reg-names: maxItems: 2 additionalProperties: type: object description: Subnodes of the SCP represent rpmsg devices. The names of the devices are not important. The properties of these nodes are defined by the individual bindings for the rpmsg devices. properties: mediatek,rpmsg-name: $ref: /schemas/types.yaml#/definitions/string-array description: Contains the name for the rpmsg device. Used to match the subnode to rpmsg device announced by SCP. required: - mediatek,rpmsg-name examples: - | #include <dt-bindings/clock/mt8192-clk.h> scp@10500000 { compatible = "mediatek,mt8192-scp"; reg = <0x10500000 0x80000>, <0x10700000 0x8000>, <0x10720000 0xe0000>; reg-names = "sram", "cfg", "l1tcm"; clocks = <&infracfg CLK_INFRA_SCPSYS>; clock-names = "main"; cros_ec { mediatek,rpmsg-name = "cros-ec-rpmsg"; }; };