Re: [PATCH v13 1/4] dt-bindings: dmaengine: Add doc for tegra gpcdma

Jon Hunter
2021-12-01T14:36:04Z

On 30/11/2021 09:34, Jon Hunter wrote:

...

>>>> +title: NVIDIA Tegra GPC DMA Controller Device Tree Bindings
>>>> +
>>>> +description: |
>>>> +  The Tegra General Purpose Central (GPC) DMA controller is used for
>>>> +faster
>>>> +  data transfers between memory to memory, memory to device and
>>>> +device to
>>>> +  memory.
>>>> +
>>>> +maintainers:
>>>> +  - Jon Hunter <jonathanh@nvidia.com>
>>>> +  - Rajesh Gumasta <rgumasta@nvidia.com>
>>>> +
>>>> +allOf:
>>>> +  - $ref: "dma-controller.yaml#"
>>>> +
>>>> +properties:
>>>> +  compatible:
>>>> +    oneOf:
>>>> +      - const: nvidia,tegra186-gpcdma
>>>> +      - items:
>>>> +         - const: nvidia,tegra186-gpcdma
>>>> +         - const: nvidia,tegra194-gpcdma
>>>
>>> Still not how 'compatible' works nor what I wrote out for you.
>> I thought '186' and '194' got interchanged in your previous comment
>> because it is 194
>> which is the superset of 186 and have got more features than 186.
>> Or probably I did not understand the idea correctly yet.
>
> Hi Rob, this is the way around that we want it. Tegra194 is backward
> compatible with Tegra186. The above does align with what you mentioned
> before, so I am also not clear what the issue is with the above?

Now I think I understand. It is the order of the 'items' here that is
key. So what we want is ...

compatible:
oneOf:
- const: nvidia,tegra186-gpcdma
- items:
- const: nvidia,tegra194-gpcdma
- const: nvidia,tegra186-gpcdma

At least this makes the dt_binding_check happy :-)

Jon

--
nvpublic