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