[PATCH v29 1/7] dt-bindings: mediatek: add ethdr definition for mt8195

Nancy Lin (林欣螢) Nancy.Lin at mediatek.com
Fri Mar 17 02:52:22 PDT 2023


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 at 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
> > 


More information about the linux-arm-kernel mailing list