Thread (54 messages) 54 messages, 4 authors, 2020-10-26

Re: [PATCH v3 02/24] dt-bindings: memory: mediatek: Convert SMI to DT schema

From: Yong Wu <yong.wu@mediatek.com>
Date: 2020-10-13 07:53:34
Also in: linux-iommu, lkml

On Mon, 2020-10-12 at 15:26 +0200, Krzysztof Kozlowski wrote:
On Mon, 12 Oct 2020 at 14:02, Yong Wu [off-list ref] wrote:
quoted
On Mon, 2020-10-12 at 09:18 +0200, Krzysztof Kozlowski wrote:
quoted
On Sat, Oct 10, 2020 at 02:18:11PM +0800, Yong Wu wrote:
quoted
On Tue, 2020-10-06 at 09:15 +0200, Krzysztof Kozlowski wrote:
quoted
On Tue, 6 Oct 2020 at 06:27, Yong Wu [off-list ref] wrote:
quoted
On Fri, 2020-10-02 at 13:08 +0200, Krzysztof Kozlowski wrote:
quoted
On Wed, Sep 30, 2020 at 03:06:25PM +0800, Yong Wu wrote:
quoted
Convert MediaTek SMI to DT schema.

Signed-off-by: Yong Wu <yong.wu@mediatek.com>
---
 .../mediatek,smi-common.txt                   |  49 ---------
 .../mediatek,smi-common.yaml                  | 100 ++++++++++++++++++
 .../memory-controllers/mediatek,smi-larb.txt  |  49 ---------
 .../memory-controllers/mediatek,smi-larb.yaml |  91 ++++++++++++++++
 4 files changed, 191 insertions(+), 98 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/memory-controllers/mediatek,smi-common.txt
 create mode 100644 Documentation/devicetree/bindings/memory-controllers/mediatek,smi-common.yaml
 delete mode 100644 Documentation/devicetree/bindings/memory-controllers/mediatek,smi-larb.txt
 create mode 100644 Documentation/devicetree/bindings/memory-controllers/mediatek,smi-larb.yaml
...
quoted
quoted
+properties:
+  compatible:
+    oneOf:
+      - enum:
+          - mediatek,mt2701-smi-common
+          - mediatek,mt2712-smi-common
+          - mediatek,mt6779-smi-common
+          - mediatek,mt8173-smi-common
+          - mediatek,mt8183-smi-common
+
+      - description: for mt7623
+        items:
+          - const: mediatek,mt7623-smi-common
+          - const: mediatek,mt2701-smi-common
+
+  reg:
+    maxItems: 1
+
+  clocks:
+    description: |
+      apb and smi are mandatory. the async is only for generation 1 smi HW.
+      gals(global async local sync) also is optional, here is the list which
+      require gals: mt6779 and mt8183.
+    minItems: 2
+    maxItems: 4
+    items:
+      - description: apb is Advanced Peripheral Bus clock, It's the clock for
+          setting the register.
+      - description: smi is the clock for transfer data and command.
+      - description: async is asynchronous clock, it help transform the smi clock
+          into the emi clock domain.
+      - description: gals0 is the path0 clock of gals.
+      - description: gals1 is the path1 clock of gals.
+
+  clock-names:
+    oneOf:
+      - items:
+          - const: apb
+          - const: smi
+      - items:
+          - const: apb
+          - const: smi
+          - const: async
+      - items:
+          - const: apb
+          - const: smi
+          - const: gals0
+          - const: gals1
Similarly to my comment to other properties, this requirement per
compatible should be part of the schema within 'if-then'.
I'm not so familiar with this format. Do this has "if-then-'else
if'-then-else"?
These are mutually exclusive conditions, so you can skip else:
 - if-then
 - if-then
 - if-then
It will be more readable then stacking 'if' under 'else'
Thanks. I will use something like this:

 anyOf:
Then it should be oneOf as only one condition can be valid.
I did do this at the beginning. But I get a warning log when
dt_binding_check.
Mhmm, right, since "if-else" matches in either of arms, then oneOf
will complain as it expects only one of items to match.  Then just go
with allOf. anyOf might match zero of items, so it would not catch
actual errors, I think.
Thanks for the confirm. I will use "allOf" in next version.
Best regards,
Krzysztof
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help