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? > >>> + > >>> + "#address-cells": > >>> + const: 2 > >>> + > >>> + "#size-cells": > >>> + const: 1 > >>> + > >>> + reg: > >>> + items: > >>> + - description: configuration registers for the host and sub-controllers > >> > >> Just maxItems. Description is obvious. > > > > I don't think it is that obvious because there are actually 4 areas > > and, because of the yaml language, we only describe one in the reg > > property while the others and defined in the ranges property, but > > that's fine by me, I'll drop the description and stick to a > > maxItems entry. > > The explanation of all four areas could have sense, but now it states > the obvious - these are configuration registers :) Well, that's true :) Thanks, Miquèl