Message ID | 20210728035859.5405-4-tinghan.shen@mediatek.com |
---|---|
State | New |
Headers | show |
Series | Mediatek MT8195 SCP support | expand |
On Tue 27 Jul 22:58 CDT 2021, Tinghan Shen wrote: > Convert the mtk,scp binding to DT schema format using json-schema. > > Signed-off-by: Tinghan Shen <tinghan.shen@mediatek.com> > --- > .../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@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: | The '|' means that you want to preserve the formatting of the text segment, there's no need for that. > + 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". reg-names: items: - 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. clock-names: const: main > + > +required: > + - compatible > + - reg > + - reg-names The old binding, and the comment about clocks above, says that clocks and clock-names are required for mt8183 and mt8192. > + > +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 What additional properties do you expect? > + > +examples: > + - | > + #include <dt-bindings/clock/mt8183-clk.h> > + > + soc { > + #address-cells = <2>; > + #size-cells = <2>; Skip soc and the two #-cells, and rewrite the reg to only use 1 address and size-cell. > + scp: scp@10500000 { The label doesn't add value in the example, please skip this. > + 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"; Can you please also add a subnode, to capture that part of the binding as well? Regards, Bjorn > + }; > + }; > -- > 2.18.0 >
On Wed, Jul 28, 2021 at 11:58:58AM +0800, Tinghan Shen wrote: > Convert the mtk,scp binding to DT schema format using json-schema. > > Signed-off-by: Tinghan Shen <tinghan.shen@mediatek.com> > --- > .../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@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 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: This can be replaced with: additionalProperties: type: object ... and the rest below here: > + 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 { Drop unused labels. > + 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 > >
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@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 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"; + }; + };
Convert the mtk,scp binding to DT schema format using json-schema. Signed-off-by: Tinghan Shen <tinghan.shen@mediatek.com> --- .../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