Re: [PATCH v2 2/6] dt-bindings: arm: fsl: Add Engicam i.Core MX8M Mini C.TOUCH 2.0

From: Krzysztof Kozlowski
Date: Tue Dec 22 2020 - 15:33:08 EST


On Tue, Dec 22, 2020 at 09:25:40PM +0100, Krzysztof Kozlowski wrote:
> On Tue, 22 Dec 2020 at 19:28, Jagan Teki <jagan@xxxxxxxxxxxxxxxxxxxx> wrote:
> >
> > On Mon, Dec 21, 2020 at 8:17 PM Jagan Teki <jagan@xxxxxxxxxxxxxxxxxxxx> wrote:
> > >
> > > On Mon, Dec 21, 2020 at 8:12 PM Krzysztof Kozlowski <krzk@xxxxxxxxxx> wrote:
> > > >
> > > > On Mon, Dec 21, 2020 at 08:09:47PM +0530, Jagan Teki wrote:
> > > > > On Mon, Dec 21, 2020 at 7:35 PM Krzysztof Kozlowski <krzk@xxxxxxxxxx> wrote:
> > > > > >
> > > > > > On Mon, Dec 21, 2020 at 07:29:22PM +0530, Jagan Teki wrote:
> > > > > > > On Mon, Dec 21, 2020 at 7:16 PM Krzysztof Kozlowski <krzk@xxxxxxxxxx> wrote:
> > > > > > > >
> > > > > > > > On Mon, Dec 21, 2020 at 05:01:47PM +0530, Jagan Teki wrote:
> > > > > > > > > i.Core MX8M Mini is an EDIMM SoM based on NXP i.MX8M Mini from Engicam.
> > > > > > > > >
> > > > > > > > > C.TOUCH 2.0 is a general purpose carrier board with capacitive
> > > > > > > > > touch interface support.
> > > > > > > > >
> > > > > > > > > i.Core MX8M Mini needs to mount on top of this Carrier board for
> > > > > > > > > creating complete i.Core MX8M Mini C.TOUCH 2.0 board.
> > > > > > > > >
> > > > > > > > > Add bindings for it.
> > > > > > > > >
> > > > > > > > > Signed-off-by: Jagan Teki <jagan@xxxxxxxxxxxxxxxxxxxx>
> > > > > > > > > ---
> > > > > > > > > Changes for v2:
> > > > > > > > > - updated commit message
> > > > > > > > >
> > > > > > > > > Documentation/devicetree/bindings/arm/fsl.yaml | 2 ++
> > > > > > > > > 1 file changed, 2 insertions(+)
> > > > > > > > >
> > > > > > > > > diff --git a/Documentation/devicetree/bindings/arm/fsl.yaml b/Documentation/devicetree/bindings/arm/fsl.yaml
> > > > > > > > > index 67980dcef66d..e653e0a43016 100644
> > > > > > > > > --- a/Documentation/devicetree/bindings/arm/fsl.yaml
> > > > > > > > > +++ b/Documentation/devicetree/bindings/arm/fsl.yaml
> > > > > > > > > @@ -667,6 +667,8 @@ properties:
> > > > > > > > > items:
> > > > > > > > > - enum:
> > > > > > > > > - beacon,imx8mm-beacon-kit # i.MX8MM Beacon Development Kit
> > > > > > > > > + - engicam,icore-mx8mm # i.MX8MM Engicam i.Core MX8M Mini SOM
> > > > > > > > > + - engicam,icore-mx8mm-ctouch2 # i.MX8MM Engicam i.Core MX8M Mini C.TOUCH 2.0
> > > > > > > >
> > > > > > > > Please test your DTS against new schema with dtbs_check. This won't
> > > > > > > > match.
> > > > > > >
> > > > > > > Sorry, not sure I understand clearly here.
> > > > > > >
> > > > > > > This the dts file ie used matched compatible.
> > > > > > > compatible = "engicam,icore-mx8mm-ctouch2", "engicam,icore-mx8mm",
> > > > > > > "fsl,imx8mm";
> > > > > > >
> > > > > > > I did build the dtbs_check without showing any issues like,
> > > > > > >
> > > > > > > $ make ARCH=arm64 dtbs_check
> > > > > > > ...
> > > > > > >
> > > > > > > From schema: /w/dt-schema/dt-schema/dtschema/schemas/property-units.yaml
> > > > > > > DTC arch/arm64/boot/dts/freescale/imx8mm-icore-mx8mm-ctouch2.dtb
> > > > > > > DTC arch/arm64/boot/dts/freescale/imx8mm-icore-mx8mm-ctouch2-of10.dtb
> > > > > > > DTC arch/arm64/boot/dts/freescale/imx8mm-icore-mx8mm-edimm2.2.dtb
> > > > > > > ..
> > > > > > >
> > > > > > > Can you let me know what I missed here?
> > > > > >
> > > > > > You pasted here output of validating with property-units.yaml (or
> > > > > > something else), not the schema which you changed. If you want to limit
> > > > > > the tests, use DT_SCHEMA_FILES.
> > > > > >
> > > > > > I mentioned about exactly the same problem in yout previous v1
> > > > > > at patch #5. No changes here stil.
> > > > >
> > > > > Yes, I usually did that check before posting. Please check the build
> > > > > log below and fsl.yaml binding is fine to build.
> > > > >
> > > > > # make dt_binding_check DT_SCHEMA_FILES=arm/fsl.yaml
> > > >
> > > > 1. Wrong path to schema file,
> > > > 2. Bindings pass, they are not a problem. You were running dtbs_check,
> > > > right?
> > >
> > > But kbuild is building the fsl.yaml I did verify with by adding some
> > > wrong character in the file, it is showing build issues.
> > >
> > > Please check the clean log.
> > >
> > > # make mrproper
> > > CLEAN Documentation/devicetree/bindings
> > > CLEAN scripts/basic
> > > CLEAN scripts/dtc
> > > # make dt_binding_check
> > > DT_SCHEMA_FILES=Documentation/devicetree/bindings/arm/fsl.yaml
> > > HOSTCC scripts/basic/fixdep
> > > HOSTCC scripts/dtc/dtc.o
> > > HOSTCC scripts/dtc/flattree.o
> > > HOSTCC scripts/dtc/fstree.o
> > > HOSTCC scripts/dtc/data.o
> > > HOSTCC scripts/dtc/livetree.o
> > > HOSTCC scripts/dtc/treesource.o
> > > HOSTCC scripts/dtc/srcpos.o
> > > HOSTCC scripts/dtc/checks.o
> > > HOSTCC scripts/dtc/util.o
> > > LEX scripts/dtc/dtc-lexer.lex.c
> > > YACC scripts/dtc/dtc-parser.tab.[ch]
> > > HOSTCC scripts/dtc/dtc-lexer.lex.o
> > > HOSTCC scripts/dtc/dtc-parser.tab.o
> > > HOSTCC scripts/dtc/yamltree.o
> > > HOSTLD scripts/dtc/dtc
> > > CHKDT Documentation/devicetree/bindings/processed-schema-examples.json
> > > /w/linux/Documentation/devicetree/bindings/soc/litex/litex,soc-controller.yaml:
> > > 'additionalProperties' is a required property
> > > /w/linux/Documentation/devicetree/bindings/soc/mediatek/devapc.yaml:
> > > 'additionalProperties' is a required property
> > > /w/linux/Documentation/devicetree/bindings/media/coda.yaml:
> > > 'additionalProperties' is a required property
> > > /w/linux/Documentation/devicetree/bindings/serial/litex,liteuart.yaml:
> > > 'additionalProperties' is a required property
> > > SCHEMA Documentation/devicetree/bindings/processed-schema-examples.json
> > > /w/linux/Documentation/devicetree/bindings/soc/litex/litex,soc-controller.yaml:
> > > ignoring, error in schema:
> > > warning: no schema found in file:
> > > ./Documentation/devicetree/bindings/soc/litex/litex,soc-controller.yaml
> > > /w/linux/Documentation/devicetree/bindings/soc/mediatek/devapc.yaml:
> > > ignoring, error in schema:
> > > warning: no schema found in file:
> > > ./Documentation/devicetree/bindings/soc/mediatek/devapc.yaml
> > > /w/linux/Documentation/devicetree/bindings/media/coda.yaml: ignoring,
> > > error in schema:
> > > warning: no schema found in file:
> > > ./Documentation/devicetree/bindings/media/coda.yaml
> > > /w/linux/Documentation/devicetree/bindings/serial/litex,liteuart.yaml:
> > > ignoring, error in schema:
> > > warning: no schema found in file:
> > > ./Documentation/devicetree/bindings/serial/litex,liteuart.yaml
> > > DTEX Documentation/devicetree/bindings/arm/fsl.example.dts
> > > DTC Documentation/devicetree/bindings/arm/fsl.example.dt.yaml
> > > CHECK Documentation/devicetree/bindings/arm/fsl.example.dt.yaml
> >
> > Any further comments? I'm planning to send v3.
>
> What comments do you need? Your schema and DTS are wrong. If you run
> dtbs_check, which I mentioned in the first email, you would see the
> result. Instead you pasted unrelevant check of other bindings and
> later pasted dt_binding_check. It does not make sense, so I clarified:
> > 2. Bindings pass, they are not a problem. You were running dtbs_check, right?
>
> And you pasted dt_binding_check, so it kind of closes the discussion.
> I don't know what to add more.
> I reported this problem already in v1, so please don't send the same
> wrong code for the third time.

Let's make it obvious:

$ make -j4 dtbs_check DT_SCHEMA_FILES=Documentation/devicetree/bindings/arm/fsl.yaml

make[1]: Entering directory '/home/dev/linux/linux/out'
UPD include/config/kernel.release
DTC arch/arm64/boot/dts/freescale/imx8mm-icore-mx8mm-ctouch2.dtb
DTC arch/arm64/boot/dts/freescale/imx8mm-icore-mx8mm-ctouch2.dt.yaml
CHECK arch/arm64/boot/dts/freescale/imx8mm-icore-mx8mm-ctouch2.dt.yaml
/home/dev/linux/linux/out/arch/arm64/boot/dts/freescale/imx8mm-icore-mx8mm-ctouch2.dt.yaml: /: compatible: 'oneOf' conditional failed, one must be fixed:
['engicam,icore-mx8mm-ctouch2', 'engicam,icore-mx8mm', 'fsl,imx8mm'] is too long
Additional items are not allowed ('fsl,imx8mm' was unexpected)

Best regards,
Krzysztof