> -----Original Message----- > From: Krzysztof Kozlowski <krzk@xxxxxxxxxx> > Sent: 2020年11月17日 15:36 > 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: Re: [EXT] Re: [PATCH v3 1/4] dt-bindings: soc: imx8m: add DT Binding > doc for soc unique ID > > Caution: EXT Email > > On Tue, Nov 17, 2020 at 07:10:28AM +0000, Alice Guo wrote: > > > > > > > -----Original Message----- > > > From: Krzysztof Kozlowski <krzk@xxxxxxxxxx> > > > Sent: 2020年11月17日 0:03 > > > 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: Re: [EXT] Re: [PATCH v3 1/4] dt-bindings: soc: imx8m: add > > > DT Binding doc for soc unique ID > > > > > > Caution: EXT Email > > > > > > On Mon, Nov 16, 2020 at 07:04:13AM +0000, Alice Guo wrote: > > > > > > > > > -----Original Message----- > > > > > From: Krzysztof Kozlowski <krzk@xxxxxxxxxx> > > > > > Sent: 2020年11月15日 0:50 > > > > > 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 v3 1/4] dt-bindings: soc: imx8m: add > > > > > DT Binding doc for soc unique ID > > > > > > > > > > Caution: EXT Email > > > > > > > > > > On Fri, Nov 13, 2020 at 07:04:06PM +0800, Alice Guo wrote: > > > > > > Add DT Binding doc for the Unique ID of i.MX 8M series. > > > > > > > > > > > > Signed-off-by: Alice Guo <alice.guo@xxxxxxx> > > > > > > --- > > > > > > .../devicetree/bindings/arm/fsl.yaml | 25 > > > > > +++++++++++++++++++ > > > > > > 1 file changed, 25 insertions(+) > > > > > > > > > > > > diff --git a/Documentation/devicetree/bindings/arm/fsl.yaml > > > > > > b/Documentation/devicetree/bindings/arm/fsl.yaml > > > > > > index e4db0f9ed664..f4faebbb57da 100644 > > > > > > --- a/Documentation/devicetree/bindings/arm/fsl.yaml > > > > > > +++ b/Documentation/devicetree/bindings/arm/fsl.yaml > > > > > > @@ -901,6 +901,31 @@ properties: > > > > > > - fsl,s32v234-evb # S32V234-EVB2 > > > Customer > > > > > Evaluation Board > > > > > > - const: fsl,s32v234 > > > > > > > > > > > > + soc: > > > > > > + type: object > > > > > > + properties: > > > > > > + compatible: > > > > > > + oneOf: > > > > > > + - description: i.MX8M SoCs > > > > > > + items: > > > > > > + - enum: > > > > > > + - fsl,imx8mm-soc > > > > > > + - fsl,imx8mn-soc > > > > > > + - fsl,imx8mp-soc > > > > > > + - fsl,imx8mq-soc > > > > > > + - const: simple-bus > > > > > > + > > > > > > + - description: Other 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 > > > > > > + > > > > > > additionalProperties: true > > > > > > > > > > The "soc" node should be required for these compatibles. > > > > > Otherwise you will have to stay with this > > > > > backwards-compatible-DTB-device-initcall-glue for many years... > > > > > I think you > > > can achieve it with allOf. > > > > > > > > > [Alice Guo]Hi, > > > > I find that my description for compatible is ambiguous. There are > > > > two kinds of > > > compatible of the "soc" node: > > > > 1. For dtsi files used for SoCs other than imx8m series SoCs and > > > > old version dtsi files used for imx8m series SoCs, compatible of > > > > the "soc" node is > > > "simple-bus". > > > > 2. For new version dtsi files used for imx8m series SoCs, > > > > compatible of the > > > "soc" node is {"fsl,imx8mX-soc","simple-bus"}. > > > > > > > > "nvmem-cell" is an optional property. > > > > > > > > I do not understand what you mean. You mean that limit the > > > > compatible of > > > "soc" node must include " fsl,imx8mX-soc" in new version dts files. > > > Is my understanding correct? > > > > > > All new DTS files should have soc node with "fsl,imx8mX-soc" and > > > this should be required by dtschema. The nvmem-cells and related > > > properties do not look like optional. From the hardware perspective > > > - they are always present. From the driver point of view: they are required > and driver will fail to work. > > > > [Alice Guo] > > + soc: > > + type: object > > + properties: > > + compatible: > > + oneOf: > > + - description: new version DTS for i.MX8M SoCs > > + items: > > + - enum: > > + - fsl,imx8mm-soc > > + - fsl,imx8mn-soc > > + - fsl,imx8mp-soc > > + - fsl,imx8mq-soc > > + - const: simple-bus > > + > > + - description: other SoCs and old version DTS 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: > > + - if: > > + properties: > > + compatible: > > + contains: > > + enum: > > + - fsl,imx8mm-soc > > + - fsl,imx8mn-soc > > + - fsl,imx8mp-soc > > + - fsl,imx8mq-soc > > + const: simple-bus > > + > > + then: > > + required: > > + - nvmem-cells > > + - nvmem-cells-names > > > > The above is my modification. Is that ok? > > Does not look like solving anything. If restrict that the newly added DTS file must have "fsl,imx8mX-soc" attributes, it cannot pass make dtbs_check because there are other DTS files which have soc node but are not used for i.mx8m family SoCs. Best regards, Alice Guo > Best regards, > Krzysztof