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

AngeloGioacchino Del Regno angelogioacchino.delregno at collabora.com
Fri Mar 17 02:58:00 PDT 2023


Il 17/03/23 10:52, Nancy Lin (林欣螢) ha scritto:
> 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.
> 

Maybe I'm wrong about the "do not declare minItems"... try with

minItems: 1
maxItems: 7


...does it work now?

> Regards,
> Nancy
> 
> 
>>> Best regards,
>>> Krzysztof
>>>






More information about the linux-arm-kernel mailing list