[PATCH v22 09/18] dt-binding: memory: pl353-smc: Convert to yaml

Rob Herring robh+dt at kernel.org
Wed Jun 9 12:26:41 PDT 2021


On Wed, Jun 9, 2021 at 10:26 AM Krzysztof Kozlowski
<krzysztof.kozlowski at canonical.com> wrote:
>
> On 09/06/2021 16:11, Miquel Raynal wrote:
> > Hi Krzysztof, Rob,
> >
> > Krzysztof Kozlowski <krzysztof.kozlowski at canonical.com> 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 at canonical.com> 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 at bootlin.com>
> >>>>> ---
> >>>>>  .../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 at bootlin.com>
> >>>>> +  - Naga Sureshkumar Relli <naga.sureshkumar.relli at xilinx.com>
> >>>>> +
> >>>>> +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



More information about the linux-mtd mailing list