Re: [PATCH v3 1/3] dt-bindings: interconnect: Remove required reg field

From: Georgi Djakov
Date: Mon Nov 07 2022 - 09:36:42 EST


Hi,

On 2.11.22 23:11, Krzysztof Kozlowski wrote:
On 31/10/2022 19:29, Melody Olvera wrote:


On 10/27/2022 8:29 AM, Krzysztof Kozlowski wrote:
On 26/10/2022 15:05, Melody Olvera wrote:
Many of the *-virt compatible devices do not have a reg field
so remove it as required from the bindings.
and some virt have it... This should be probably separate binding or if
the list is small - allOf:if:then.
I attempted this; however I'm still seeing failures in dtb_check. I've added this
to the binding; does this look correct?
 allOf:
   - $ref: qcom,rpmh-common.yaml#
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - qcom,qdu1000-clk-virt
+              - qcom,qdu1000-mc-virt
+
+    then:
+      required:
+        - compatible

No, because we talk about reg, not compatible. You should not require
reg instead for some compatibles... but then the schema is getting
complicated.

It's difficult to give you recommendation because I do not know what are
all these "virt" interconnects. Why some have unit address, why some do not?

My understanding is that the "reg" property is required for the NoCs that have
registers for controlling the QoS settings for the ports from Linux side.
Other NoCs might be controlled by some remote processor and direct access from
Linux may not be possible, so they do not have unit address and are outside of
the soc DT node.
Do we need to strictly define when exactly the "reg" property is required,
can't we just mark it as optional?

Thanks,
Georgi