summaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings/remoteproc/mtk,scp.yaml
blob: d21a25ee96e6232e11b2f61b3c374b8e3b06aefb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
# 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";
        };
    };