xref: /openbmc/linux/Documentation/devicetree/bindings/remoteproc/mtk,scp.yaml (revision 7ae9fb1b7ecbb5d85d07857943f677fd1a559b18)
1f4d7e6f6STinghan Shen# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2f4d7e6f6STinghan Shen%YAML 1.2
3f4d7e6f6STinghan Shen---
4f4d7e6f6STinghan Shen$id: http://devicetree.org/schemas/remoteproc/mtk,scp.yaml#
5f4d7e6f6STinghan Shen$schema: http://devicetree.org/meta-schemas/core.yaml#
6f4d7e6f6STinghan Shen
7*84e85359SKrzysztof Kozlowskititle: Mediatek SCP
8f4d7e6f6STinghan Shen
9f4d7e6f6STinghan Shenmaintainers:
10f4d7e6f6STinghan Shen  - Tinghan Shen <tinghan.shen@mediatek.com>
11f4d7e6f6STinghan Shen
12f4d7e6f6STinghan Shendescription:
13f4d7e6f6STinghan Shen  This binding provides support for ARM Cortex M4 Co-processor found on some
14f4d7e6f6STinghan Shen  Mediatek SoCs.
15f4d7e6f6STinghan Shen
16f4d7e6f6STinghan Shenproperties:
17f4d7e6f6STinghan Shen  compatible:
18f4d7e6f6STinghan Shen    enum:
19f4d7e6f6STinghan Shen      - mediatek,mt8183-scp
2022335385SAllen-KH Cheng      - mediatek,mt8186-scp
2116557244STinghan Shen      - mediatek,mt8188-scp
22f4d7e6f6STinghan Shen      - mediatek,mt8192-scp
23f4d7e6f6STinghan Shen      - mediatek,mt8195-scp
24f4d7e6f6STinghan Shen
25f4d7e6f6STinghan Shen  reg:
26f4d7e6f6STinghan Shen    description:
276bbe1065SNícolas F. R. A. Prado      Should contain the address ranges for memory regions SRAM, CFG, and,
286bbe1065SNícolas F. R. A. Prado      on some platforms, L1TCM.
296bbe1065SNícolas F. R. A. Prado    minItems: 2
30f4d7e6f6STinghan Shen    maxItems: 3
31f4d7e6f6STinghan Shen
32f4d7e6f6STinghan Shen  reg-names:
336bbe1065SNícolas F. R. A. Prado    minItems: 2
34f4d7e6f6STinghan Shen    items:
35f4d7e6f6STinghan Shen      - const: sram
36f4d7e6f6STinghan Shen      - const: cfg
37f4d7e6f6STinghan Shen      - const: l1tcm
38f4d7e6f6STinghan Shen
39f4d7e6f6STinghan Shen  clocks:
40f4d7e6f6STinghan Shen    description:
41f4d7e6f6STinghan Shen      Clock for co-processor (see ../clock/clock-bindings.txt).
42f4d7e6f6STinghan Shen      Required by mt8183 and mt8192.
43f4d7e6f6STinghan Shen    maxItems: 1
44f4d7e6f6STinghan Shen
45f4d7e6f6STinghan Shen  clock-names:
46f4d7e6f6STinghan Shen    const: main
47f4d7e6f6STinghan Shen
48b7da6f51SNícolas F. R. A. Prado  interrupts:
49b7da6f51SNícolas F. R. A. Prado    maxItems: 1
50b7da6f51SNícolas F. R. A. Prado
5131976eb1SAllen-KH Cheng  firmware-name:
5231976eb1SAllen-KH Cheng    $ref: /schemas/types.yaml#/definitions/string
5331976eb1SAllen-KH Cheng    description:
5431976eb1SAllen-KH Cheng      If present, name (or relative path) of the file within the
5531976eb1SAllen-KH Cheng      firmware search path containing the firmware image used when
5631976eb1SAllen-KH Cheng      initializing SCP.
5731976eb1SAllen-KH Cheng
58bb489b96SNícolas F. R. A. Prado  memory-region:
59bb489b96SNícolas F. R. A. Prado    maxItems: 1
60bb489b96SNícolas F. R. A. Prado
61f4d7e6f6STinghan Shenrequired:
62f4d7e6f6STinghan Shen  - compatible
63f4d7e6f6STinghan Shen  - reg
64f4d7e6f6STinghan Shen  - reg-names
65f4d7e6f6STinghan Shen
666bbe1065SNícolas F. R. A. PradoallOf:
676bbe1065SNícolas F. R. A. Prado  - if:
68f4d7e6f6STinghan Shen      properties:
69f4d7e6f6STinghan Shen        compatible:
70f4d7e6f6STinghan Shen          enum:
71f4d7e6f6STinghan Shen            - mediatek,mt8183-scp
72f4d7e6f6STinghan Shen            - mediatek,mt8192-scp
73f4d7e6f6STinghan Shen    then:
74f4d7e6f6STinghan Shen      required:
75f4d7e6f6STinghan Shen        - clocks
76f4d7e6f6STinghan Shen        - clock-names
77f4d7e6f6STinghan Shen
786bbe1065SNícolas F. R. A. Prado  - if:
796bbe1065SNícolas F. R. A. Prado      properties:
806bbe1065SNícolas F. R. A. Prado        compatible:
816bbe1065SNícolas F. R. A. Prado          enum:
826bbe1065SNícolas F. R. A. Prado            - mediatek,mt8183-scp
836bbe1065SNícolas F. R. A. Prado            - mediatek,mt8186-scp
8416557244STinghan Shen            - mediatek,mt8188-scp
856bbe1065SNícolas F. R. A. Prado    then:
866bbe1065SNícolas F. R. A. Prado      properties:
876bbe1065SNícolas F. R. A. Prado        reg:
886bbe1065SNícolas F. R. A. Prado          maxItems: 2
896bbe1065SNícolas F. R. A. Prado        reg-names:
906bbe1065SNícolas F. R. A. Prado          maxItems: 2
916bbe1065SNícolas F. R. A. Prado
92f4d7e6f6STinghan ShenadditionalProperties:
93f4d7e6f6STinghan Shen  type: object
94f4d7e6f6STinghan Shen  description:
95f4d7e6f6STinghan Shen    Subnodes of the SCP represent rpmsg devices. The names of the devices
96f4d7e6f6STinghan Shen    are not important. The properties of these nodes are defined by the
97f4d7e6f6STinghan Shen    individual bindings for the rpmsg devices.
98f4d7e6f6STinghan Shen  properties:
99f4d7e6f6STinghan Shen    mediatek,rpmsg-name:
100f4d7e6f6STinghan Shen      $ref: /schemas/types.yaml#/definitions/string-array
101f4d7e6f6STinghan Shen      description:
102f4d7e6f6STinghan Shen        Contains the name for the rpmsg device. Used to match
103f4d7e6f6STinghan Shen        the subnode to rpmsg device announced by SCP.
104f4d7e6f6STinghan Shen
105f4d7e6f6STinghan Shen  required:
106f4d7e6f6STinghan Shen    - mediatek,rpmsg-name
107f4d7e6f6STinghan Shen
108f4d7e6f6STinghan Shenexamples:
109f4d7e6f6STinghan Shen  - |
1106bbe1065SNícolas F. R. A. Prado    #include <dt-bindings/clock/mt8192-clk.h>
111f4d7e6f6STinghan Shen
112f4d7e6f6STinghan Shen    scp@10500000 {
1136bbe1065SNícolas F. R. A. Prado        compatible = "mediatek,mt8192-scp";
114f4d7e6f6STinghan Shen        reg = <0x10500000 0x80000>,
115f4d7e6f6STinghan Shen              <0x10700000 0x8000>,
116f4d7e6f6STinghan Shen              <0x10720000 0xe0000>;
117f4d7e6f6STinghan Shen        reg-names = "sram", "cfg", "l1tcm";
118f4d7e6f6STinghan Shen        clocks = <&infracfg CLK_INFRA_SCPSYS>;
119f4d7e6f6STinghan Shen        clock-names = "main";
120f4d7e6f6STinghan Shen
121f4d7e6f6STinghan Shen        cros_ec {
122f4d7e6f6STinghan Shen            mediatek,rpmsg-name = "cros-ec-rpmsg";
123f4d7e6f6STinghan Shen        };
124f4d7e6f6STinghan Shen    };
125