On Mon, Nov 23, 2020 at 04:45:13AM +0000, Alice Guo wrote: > > > > -----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. This should work: 940 allOf: 941 - if: 942 properties: 943 compatible: 944 contains: 945 enum: 946 - fsl,imx8mm 947 - fsl,imx8mn 948 - fsl,imx8mp 949 - fsl,imx8mq 950 951 then: 952 patternProperties: 953 "^soc@[0-9a-f]+$": 954 properties: 955 compatible: 956 items: 957 - enum: 958 - fsl,imx8mm-soc 959 - fsl,imx8mn-soc 960 - fsl,imx8mp-soc 961 - fsl,imx8mq-soc 962 - const: simple-bus 963 964 required: 965 - nvmem-cells 966 - nvmem-cells-names And probablt "soc" should also be added to required, just below the "then:". You need to test it and find the proper solution. Best regards, Krzysztof