On Wed, Jun 9, 2021 at 10:26 AM Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxxxxx> wrote: > > 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 The above is true if there's no 'compatible'. So you need 'required: [ compatible ]' as well. Rob