Back to home page

OSCL-LXR

 
 

    


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     };