RE: [EXT] Re: [PATCH v4 1/4] dt-bindings: soc: imx8m: add DT Binding doc for soc unique ID

From: Alice Guo
Date: Sun Nov 22 2020 - 23:45:22 EST




> -----Original Message-----
> From: Krzysztof Kozlowski <krzk@xxxxxxxxxx>
> Sent: 2020年11月20日 18:51
> To: Alice Guo <alice.guo@xxxxxxx>
> Cc: robh+dt@xxxxxxxxxx; shawnguo@xxxxxxxxxx; s.hauer@xxxxxxxxxxxxxx;
> dl-linux-imx <linux-imx@xxxxxxx>; Peng Fan <peng.fan@xxxxxxx>;
> devicetree@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx;
> linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
> Subject: [EXT] Re: [PATCH v4 1/4] dt-bindings: soc: imx8m: add DT Binding doc
> for soc unique ID
>
> Caution: EXT Email
>
> On Fri, Nov 20, 2020 at 06:11:09PM +0800, Alice Guo wrote:
> > Add DT Binding doc for the Unique ID of i.MX 8M series.
> >
> > v2: remove the subject prefix "LF-2571-1"
> > v3: put it into Documentation/devicetree/bindings/arm/fsl.yaml
> > modify the description of nvmem-cells
> > use "make ARCH=arm64 dtbs_check" to test it and fix errors
> > v4: use allOf to limit new version DTS files for i.MX8M to include
> > "fsl,imx8mm/n/p/q-soc", nvmem-cells and nvmem-cells-names
> >
> > Signed-off-by: Alice Guo <alice.guo@xxxxxxx>
> > ---
> > .../devicetree/bindings/arm/fsl.yaml | 51
> +++++++++++++++++++
> > 1 file changed, 51 insertions(+)
> >
> > diff --git a/Documentation/devicetree/bindings/arm/fsl.yaml
> > b/Documentation/devicetree/bindings/arm/fsl.yaml
> > index 67980dcef66d..d8048323a290 100644
> > --- a/Documentation/devicetree/bindings/arm/fsl.yaml
> > +++ b/Documentation/devicetree/bindings/arm/fsl.yaml
> > @@ -918,6 +918,57 @@ properties:
> > - fsl,s32v234-evb # S32V234-EVB2 Customer
> Evaluation Board
> > - const: fsl,s32v234
> >
> > + soc:
> > + type: object
> > + properties:
> > + compatible:
> > + oneOf:
> > + - description: new version compatible for i.MX8M SoCs
> > + items:
> > + - enum:
> > + - fsl,imx8mm-soc
> > + - fsl,imx8mn-soc
> > + - fsl,imx8mp-soc
> > + - fsl,imx8mq-soc
> > + - const: simple-bus
> > +
> > + - description: old version compatible for i.MX8M SoCs
> > + items:
> > + - const: simple-bus
> > +
> > + nvmem-cells:
> > + maxItems: 1
> > + description: Phandle to the SOC Unique ID provided by a nvmem
> > + node
> > +
> > + nvmem-cells-names:
> > + const: soc_unique_id
> > +
> > + allOf:
>
> Nothing changed here comparing to previous version. Still does not work.
>
> The allOf should not be part of soc node because the "if" below won't match.
> Instead, it should be against root node.
>
> Best regards,
> Krzysztof

I'm sorry to disturb you. I don't very clear about the grammar rules of yaml, so don't know how to make allOf be part of root node.
If allof is part of root node, how does it specify the soc node? The following is my change which is definitely wrong.
soc:
properties:
compatible:
- description: new version compatible for i.MX8M SoCs
items:
- enum:
- fsl,imx8mm-soc
- fsl,imx8mn-soc
- fsl,imx8mp-soc
- fsl,imx8mq-soc
- const: simple-bus

nvmem-cells:
maxItems: 1
description: Phandle to the SOC Unique ID provided by a nvmem node

nvmem-cells-names:
const: soc_unique_id

allOf:
- if:
properties:
compatible:
contains:
enum:
- fsl,imx8mm
- fsl,imx8mn
- fsl,imx8mp
- fsl,imx8mq

then:
required:
- soc

Please give me suggestion. Thank you.
Best regards,
Alice Guo

> > + - if:
> > + properties:
> > + compatible:
> > + contains:
> > + enum:
> > + - fsl,imx8mm
> > + - fsl,imx8mn
> > + - fsl,imx8mp
> > + - fsl,imx8mq
> > +
> > + then:
> > + properties:
> > + compatible:
> > + items:
> > + - enum:
> > + - fsl,imx8mm-soc
> > + - fsl,imx8mn-soc
> > + - fsl,imx8mp-soc
> > + - fsl,imx8mq-soc
> > + - const: simple-bus
> > +
> > + required:
> > + - nvmem-cells
> > + - nvmem-cells-names
> > +
> > additionalProperties: true
> >
> > ...
> > --
> > 2.17.1
> >