On Fri, 2023-03-17 at 10:37 +0100, AngeloGioacchino Del Regno wrote: > Il 17/03/23 10:03, Krzysztof Kozlowski ha scritto: > > On 17/03/2023 08:55, Nancy Lin (林欣螢) wrote: > > > On Thu, 2023-03-16 at 12:36 +0100, Krzysztof Kozlowski wrote: > > > > On 16/03/2023 10:53, AngeloGioacchino Del Regno wrote: > > > > > > > > > Hello Krzysztof, Nancy, > > > > > > > > > > Since this series has reached v29, can we please reach an > > > > > agreement > > > > > on the bindings > > > > > to use here, so that we can get this finally upstreamed? > > > > > > > > > > I will put some examples to try to get this issue resolved. > > > > > > > > > > ### Example 1: Constrain the number of GCE entries to *seven* > > > > > array > > > > > elements (7x4!) > > > > > > > > > > mediatek,gce-client-reg: > > > > > $ref: /schemas/types.yaml#/definitions/phandle-array > > > > > maxItems: 1 > > > > > description: The register of display function block to > > > > > be set > > > > > by gce. > > > > > There are 4 arguments in this property, gce node, > > > > > subsys id, > > > > > offset and > > > > > register size. The subsys id is defined in the gce > > > > > header of > > > > > each chips > > > > > include/dt-bindings/gce/<chip>-gce.h, mapping to the > > > > > register of display > > > > > function block. > > > > > items: > > > > > minItems: 28 > > > > > maxItems: 28 > > > > > items: <----- this block doesn't > > > > > seem to > > > > > get checked :\ > > > > > - description: phandle of GCE > > > > > - description: GCE subsys id > > > > > - description: register offset > > > > > - description: register size > > > > > > > > This is what we would like to have but it requires exception in > > > > dtschema. Thus: > > > > > > > > > > > > > > > > > > > ### Example 2: Don't care about constraining the number of > > > > > arguments > > > > > > > > > > mediatek,gce-client-reg: > > > > > $ref: /schemas/types.yaml#/definitions/phandle-array > > > > > maxItems: 1 > > > > > description: The register of display function block to > > > > > be set > > > > > by gce. > > > > > There are 4 arguments in this property, gce node, > > > > > subsys id, > > > > > offset and > > > > > register size. The subsys id is defined in the gce > > > > > header of > > > > > each chips > > > > > include/dt-bindings/gce/<chip>-gce.h, mapping to the > > > > > register of display > > > > > function block. > > > > > > > > use this. > > > > > > > > Best regards, > > > > Krzysztof > > > > > > > > > Hi Krzysztof, Angelo, > > > > > > Thanks for the comment. > > > The Example 2 can pass dt_binding_check. > > > > > > But the example in the binding has 7 items [1] and dts [2]. Does > > > the > > > "maxItems: 1" affect any other schema or dts check? > > > > Ah, then it should be maxItems: 7, not 1. > > > > Keep in mind for your v30: > > maxItems: 7 will pass - but only if minItems is *not* 7 :-) > > -> (so, do not declare minItems, as default is 1) <- > > Regards, > Angelo > Hi Angelo, I still have one message [1] when runing dt_binding_check for "example 2 + maxItems: 7" [2]. [1] /proj/mtk19347/cros/src/third_party/kernel/v5.10/Documentation/devicetr ee/bindings/display/mediatek/mediatek,ethdr.example.dtb: hdr-engine@1c114000: mediatek,gce-client-reg: [[4294967295, 7, 16384, 4096, 4294967295, 7, 20480, 4096, 4294967295, 7, 28672, 4096, 4294967295, 7, 36864, 4096, 4294967295, 7, 40960, 4096, 4294967295, 7, 45056, 4096, 4294967295, 7, 49152, 4096]] is too short [2] mediatek,gce-client-reg: $ref: /schemas/types.yaml#/definitions/phandle-array maxItems: 7 description: The register of display function block to be set by gce. There are 4 arguments in this property, gce node, subsys id, offset and register size. The subsys id is defined in the gce header of each chips include/dt-bindings/gce/<chip>-gce.h, mapping to the register of display function block. Regards, Nancy > > Best regards, > > Krzysztof > >