Convert the mtk,scp binding to DT schema format using json-schema. Signed-off-by: Tinghan Shen <tinghan.shen@xxxxxxxxxxxx> --- .../bindings/remoteproc/mtk,scp.txt | 41 --------- .../bindings/remoteproc/mtk,scp.yaml | 85 +++++++++++++++++++ 2 files changed, 85 insertions(+), 41 deletions(-) delete mode 100644 Documentation/devicetree/bindings/remoteproc/mtk,scp.txt create mode 100644 Documentation/devicetree/bindings/remoteproc/mtk,scp.yaml diff --git a/Documentation/devicetree/bindings/remoteproc/mtk,scp.txt b/Documentation/devicetree/bindings/remoteproc/mtk,scp.txt deleted file mode 100644 index 88f37dee7bca..000000000000 --- a/Documentation/devicetree/bindings/remoteproc/mtk,scp.txt +++ /dev/null @@ -1,41 +0,0 @@ -Mediatek SCP Bindings ----------------------------------------- - -This binding provides support for ARM Cortex M4 Co-processor found on some -Mediatek SoCs. - -Required properties: -- compatible Should be one of: - "mediatek,mt8183-scp" - "mediatek,mt8192-scp" - "mediatek,mt8195-scp" -- reg Should contain the address ranges for memory regions: - SRAM, CFG, and L1TCM. -- reg-names Contains the corresponding names for the memory regions: - "sram", "cfg", and "l1tcm". -- clocks Required by mt8183 and mt8192. Clock for co-processor - (See: ../clock/clock-bindings.txt) -- clock-names Required by mt8183 and mt8192. Contains the - corresponding name for the clock. This should be - named "main". - -Subnodes --------- - -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 - but must contain the following property: - -- mtk,rpmsg-name Contains the name for the rpmsg device. Used to match - the subnode to rpmsg device announced by SCP. - -Example: - - scp: scp@10500000 { - compatible = "mediatek,mt8183-scp"; - reg = <0 0x10500000 0 0x80000>, - <0 0x105c0000 0 0x5000>; - reg-names = "sram", "cfg"; - clocks = <&infracfg CLK_INFRA_SCPSYS>; - clock-names = "main"; - }; diff --git a/Documentation/devicetree/bindings/remoteproc/mtk,scp.yaml b/Documentation/devicetree/bindings/remoteproc/mtk,scp.yaml new file mode 100644 index 000000000000..dc5fcbe65dae --- /dev/null +++ b/Documentation/devicetree/bindings/remoteproc/mtk,scp.yaml @@ -0,0 +1,85 @@ +# 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@xxxxxxxxxxxx> + +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 and CFG, + maxItems: 2 + + reg-names: + description: | + Contains the corresponding names for the two memory regions. These + should be named "sram", "cfg". + + clocks: + description: | + Clock for co-processor (see ../clock/clock-bindings.txt). + Required by mt8183 and mt8192. + maxItems: 1 + + clock-names: + description: | + Contains the corresponding name for the clock. This should be + named "main". Required by mt8183 and mt8192. + +required: + - compatible + - reg + - reg-names + +patternProperties: + ".*": + if: + type: object + then: + 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: + mtk,rpmsg-name: + description: + Contains the name for the rpmsg device. Used to match + the subnode to rpmsg device announced by SCP. + + required: + - mtk,rpmsg-name + +additionalProperties: true + +examples: + - | + #include <dt-bindings/clock/mt8183-clk.h> + + soc { + #address-cells = <2>; + #size-cells = <2>; + scp: scp@10500000 { + compatible = "mediatek,mt8183-scp"; + reg = <0 0x10500000 0 0x80000>, + <0 0x105c0000 0 0x5000>; + reg-names = "sram", "cfg"; + clocks = <&infracfg CLK_INFRA_SCPSYS>; + clock-names = "main"; + }; + }; -- 2.18.0