On Fri, Nov 20, 2020 at 06:21:55AM +0000, Alice Guo wrote: > > > + 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. You need to check whether boards with i.MX 8M compatible have the SoC node with one of above compatibles and nvmem-cells. Since the top select choses root node, then just check whether child exists with specific pattern and compatibles (for given root compatibles). Best regards, Krzysztof