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

From: Jon Hunter
Date: Wed Dec 01 2021 - 09:40:44 EST



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@xxxxxxxxxx>
+  - Rajesh Gumasta <rgumasta@xxxxxxxxxx>
+
+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