0001 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/remoteproc/mtk,scp.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006
0007 title: Mediatek SCP Bindings
0008
0009 maintainers:
0010 - Tinghan Shen <tinghan.shen@mediatek.com>
0011
0012 description:
0013 This binding provides support for ARM Cortex M4 Co-processor found on some
0014 Mediatek SoCs.
0015
0016 properties:
0017 compatible:
0018 enum:
0019 - mediatek,mt8183-scp
0020 - mediatek,mt8186-scp
0021 - mediatek,mt8188-scp
0022 - mediatek,mt8192-scp
0023 - mediatek,mt8195-scp
0024
0025 reg:
0026 description:
0027 Should contain the address ranges for memory regions SRAM, CFG, and,
0028 on some platforms, L1TCM.
0029 minItems: 2
0030 maxItems: 3
0031
0032 reg-names:
0033 minItems: 2
0034 items:
0035 - const: sram
0036 - const: cfg
0037 - const: l1tcm
0038
0039 clocks:
0040 description:
0041 Clock for co-processor (see ../clock/clock-bindings.txt).
0042 Required by mt8183 and mt8192.
0043 maxItems: 1
0044
0045 clock-names:
0046 const: main
0047
0048 interrupts:
0049 maxItems: 1
0050
0051 firmware-name:
0052 $ref: /schemas/types.yaml#/definitions/string
0053 description:
0054 If present, name (or relative path) of the file within the
0055 firmware search path containing the firmware image used when
0056 initializing SCP.
0057
0058 memory-region:
0059 maxItems: 1
0060
0061 required:
0062 - compatible
0063 - reg
0064 - reg-names
0065
0066 allOf:
0067 - if:
0068 properties:
0069 compatible:
0070 enum:
0071 - mediatek,mt8183-scp
0072 - mediatek,mt8192-scp
0073 then:
0074 required:
0075 - clocks
0076 - clock-names
0077
0078 - if:
0079 properties:
0080 compatible:
0081 enum:
0082 - mediatek,mt8183-scp
0083 - mediatek,mt8186-scp
0084 - mediatek,mt8188-scp
0085 then:
0086 properties:
0087 reg:
0088 maxItems: 2
0089 reg-names:
0090 maxItems: 2
0091
0092 additionalProperties:
0093 type: object
0094 description:
0095 Subnodes of the SCP represent rpmsg devices. The names of the devices
0096 are not important. The properties of these nodes are defined by the
0097 individual bindings for the rpmsg devices.
0098 properties:
0099 mediatek,rpmsg-name:
0100 $ref: /schemas/types.yaml#/definitions/string-array
0101 description:
0102 Contains the name for the rpmsg device. Used to match
0103 the subnode to rpmsg device announced by SCP.
0104
0105 required:
0106 - mediatek,rpmsg-name
0107
0108 examples:
0109 - |
0110 #include <dt-bindings/clock/mt8192-clk.h>
0111
0112 scp@10500000 {
0113 compatible = "mediatek,mt8192-scp";
0114 reg = <0x10500000 0x80000>,
0115 <0x10700000 0x8000>,
0116 <0x10720000 0xe0000>;
0117 reg-names = "sram", "cfg", "l1tcm";
0118 clocks = <&infracfg CLK_INFRA_SCPSYS>;
0119 clock-names = "main";
0120
0121 cros_ec {
0122 mediatek,rpmsg-name = "cros-ec-rpmsg";
0123 };
0124 };