blob: d21a25ee96e6232e11b2f61b3c374b8e3b06aefb [file] [log] [blame]
# 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 Bindings
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,mt8192-scp
- mediatek,mt8195-scp
reg:
description:
Should contain the address ranges for memory regions SRAM, CFG, and
L1TCM.
maxItems: 3
reg-names:
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
required:
- compatible
- reg
- reg-names
if:
properties:
compatible:
enum:
- mediatek,mt8183-scp
- mediatek,mt8192-scp
then:
required:
- clocks
- clock-names
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/mt8183-clk.h>
scp@10500000 {
compatible = "mediatek,mt8183-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";
};
};