On 09/06/2021 16:11, Miquel Raynal wrote: > Hi Krzysztof, Rob, > > Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxxxxx> wrote on Wed, 9 > Jun 2021 15:54:19 +0200: > >> On 09/06/2021 15:34, Miquel Raynal wrote: >>> Hi Krzysztof, >>> >>> Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxxxxx> wrote on Wed, 9 >>> Jun 2021 14:12:40 +0200: >>> >>>> On 09/06/2021 10:01, Miquel Raynal wrote: >>>>> Convert this binding file to yaml schema. >>>>> >>>>> Signed-off-by: Miquel Raynal <miquel.raynal@xxxxxxxxxxx> >>>>> --- >>>>> .../memory-controllers/arm,pl353-smc.yaml | 133 ++++++++++++++++++ >>>>> .../bindings/memory-controllers/pl353-smc.txt | 45 ------ >>>>> 2 files changed, 133 insertions(+), 45 deletions(-) >>>>> create mode 100644 Documentation/devicetree/bindings/memory-controllers/arm,pl353-smc.yaml >>>>> delete mode 100644 Documentation/devicetree/bindings/memory-controllers/pl353-smc.txt >>>>> >>>>> diff --git a/Documentation/devicetree/bindings/memory-controllers/arm,pl353-smc.yaml b/Documentation/devicetree/bindings/memory-controllers/arm,pl353-smc.yaml >>>>> new file mode 100644 >>>>> index 000000000000..1de6f87d4986 >>>>> --- /dev/null >>>>> +++ b/Documentation/devicetree/bindings/memory-controllers/arm,pl353-smc.yaml >>>>> @@ -0,0 +1,133 @@ >>>>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) >>>>> +%YAML 1.2 >>>>> +--- >>>>> +$id: http://devicetree.org/schemas/memory-controllers/arm,pl353-smc.yaml# >>>>> +$schema: http://devicetree.org/meta-schemas/core.yaml# >>>>> + >>>>> +title: ARM PL353 Static Memory Controller (SMC) device-tree bindings >>>>> + >>>>> +maintainers: >>>>> + - Miquel Raynal <miquel.raynal@xxxxxxxxxxx> >>>>> + - Naga Sureshkumar Relli <naga.sureshkumar.relli@xxxxxxxxxx> >>>>> + >>>>> +description: >>>>> + The PL353 Static Memory Controller is a bus where you can connect two kinds >>>>> + of memory interfaces, which are NAND and memory mapped interfaces (such as >>>>> + SRAM or NOR). >>>>> + >>>>> +# We need a select here so we don't match all nodes with 'arm,primecell' >>>>> +select: >>>>> + properties: >>>>> + compatible: >>>>> + contains: >>>>> + enum: >>>>> + - arm,pl353-smc-r2p1 >>>> >>>> That's a const... but also I don't get the need for select. >>> >>> I think this is needed to ensure this binding is not enforced against >>> arm,primecell compatible nodes which are not featuring the >>> arm,pl353-smc-r2p1 compatible. >> >> Which seems to be result of unusual compatible match, so once you >> convert to regular match, this select is not needed. > > I don't think so, I received a hint from Rob some time ago, he told > me to add this additional select line as in all other arm,primecell > binding. > > Rob, any additional info regarding this? Hmm, I think you' are right. Since arm,primecell is used in many other compatibles (including ones without schema yet), the select is needed. In such case the select can be only: select: properties: compatible: contains: const: arm,pl353-smc-r2p1 Best regards, Krzysztof