All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Théo Lebrun" <theo.lebrun@bootlin.com>
To: Rob Herring <robh@kernel.org>,
	 Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	 Conor Dooley <conor+dt@kernel.org>,
	 Michael Turquette <mturquette@baylibre.com>,
	 Stephen Boyd <sboyd@kernel.org>,
	Philipp Zabel <p.zabel@pengutronix.de>,
	 Linus Walleij <linus.walleij@linaro.org>
Cc: linux-mips@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-clk@vger.kernel.org,
	linux-gpio@vger.kernel.org,
	"Vladimir Kondratiev" <vladimir.kondratiev@mobileye.com>,
	"Gregory CLEMENT" <gregory.clement@bootlin.com>,
	"Thomas Petazzoni" <thomas.petazzoni@bootlin.com>,
	"Tawfik Bayouk" <tawfik.bayouk@mobileye.com>,
	"Théo Lebrun" <theo.lebrun@bootlin.com>
Subject: [PATCH 03/11] dt-bindings: reset: mobileye,eyeq5-reset: add EyeQ6L and EyeQ6H
Date: Wed, 10 Apr 2024 19:12:32 +0200	[thread overview]
Message-ID: <20240410-mbly-olb-v1-3-335e496d7be3@bootlin.com> (raw)
In-Reply-To: <20240410-mbly-olb-v1-0-335e496d7be3@bootlin.com>

Add bindings for EyeQ6L and EyeQ6H reset controllers.

Some controllers host a single domain, meaning a single cell is enough.
We do not enforce reg-names for such nodes.

Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com>
---
 .../bindings/reset/mobileye,eyeq5-reset.yaml       | 88 ++++++++++++++++++----
 MAINTAINERS                                        |  1 +
 2 files changed, 74 insertions(+), 15 deletions(-)

diff --git a/Documentation/devicetree/bindings/reset/mobileye,eyeq5-reset.yaml b/Documentation/devicetree/bindings/reset/mobileye,eyeq5-reset.yaml
index 062b4518347b..799bcf15bed9 100644
--- a/Documentation/devicetree/bindings/reset/mobileye,eyeq5-reset.yaml
+++ b/Documentation/devicetree/bindings/reset/mobileye,eyeq5-reset.yaml
@@ -4,11 +4,13 @@
 $id: http://devicetree.org/schemas/reset/mobileye,eyeq5-reset.yaml#
 $schema: http://devicetree.org/meta-schemas/core.yaml#
 
-title: Mobileye EyeQ5 reset controller
+title: Mobileye EyeQ reset controller
 
 description:
-  The EyeQ5 reset driver handles three reset domains. Its registers live in a
-  shared region called OLB.
+  EyeQ reset controller handles one or more reset domains. They live in shared
+  regions called OLB. EyeQ5 and EyeQ6L host one OLB each, each with one reset
+  instance. EyeQ6H hosts 7 OLB regions; three of those (west, east,
+  accelerator) host reset controllers. West and east are duplicates.
 
 maintainers:
   - Grégory Clement <gregory.clement@bootlin.com>
@@ -17,27 +19,83 @@ maintainers:
 
 properties:
   compatible:
-    const: mobileye,eyeq5-reset
+    enum:
+      - mobileye,eyeq5-reset
+      - mobileye,eyeq6l-reset
+      - mobileye,eyeq6h-we-reset
+      - mobileye,eyeq6h-acc-reset
 
-  reg:
-    maxItems: 3
+  reg: true
 
-  reg-names:
-    items:
-      - const: d0
-      - const: d1
-      - const: d2
+  reg-names: true
 
   "#reset-cells":
-    const: 2
     description:
-      The first cell is the domain (0 to 2 inclusive) and the second one is the
-      reset index inside that domain.
+      First cell is domain, second is reset index inside that domain. If
+      controller has a single domain, first cell is implicitly zero.
+    enum: [ 1, 2 ]
 
 required:
   - compatible
   - reg
-  - reg-names
   - "#reset-cells"
 
+allOf:
+  # EyeQ5 and EyeQ6L have multiple domains, other compatibles have one.
+  # Multiple domains means named resources and two reset cells.
+  # Single domain means a single unnamed resource and one reset cell.
+  - if:
+      properties:
+        compatible:
+          enum:
+            - mobileye,eyeq5-reset
+            - mobileye,eyeq6l-reset
+    then:
+      properties:
+        "#reset-cells":
+          const: 2
+      required:
+        - reg-names
+    else:
+      properties:
+        reg:
+          maxItems: 1
+        reg-names: false
+        "#reset-cells":
+          const: 1
+
+  # EyeQ5 has three domains.
+  - if:
+      properties:
+        compatible:
+          contains:
+            const: mobileye,eyeq5-reset
+    then:
+      properties:
+        reg:
+          minItems: 3
+          maxItems: 3
+        reg-names:
+          minItems: 3
+          maxItems: 3
+          items:
+            enum: [ d0, d1, d2 ]
+
+  # EyeQ6L has two domains.
+  - if:
+      properties:
+        compatible:
+          contains:
+            const: mobileye,eyeq6l-reset
+    then:
+      properties:
+        reg:
+          minItems: 2
+          maxItems: 2
+        reg-names:
+          minItems: 2
+          maxItems: 2
+          items:
+            enum: [ d0, d1 ]
+
 additionalProperties: false
diff --git a/MAINTAINERS b/MAINTAINERS
index f5a488331b38..42553da10be9 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -14927,6 +14927,7 @@ L:	linux-mips@vger.kernel.org
 S:	Maintained
 F:	Documentation/devicetree/bindings/clock/mobileye,eyeq5-clk.yaml
 F:	Documentation/devicetree/bindings/mips/mobileye.yaml
+F:	Documentation/devicetree/bindings/reset/mobileye,eyeq5-reset.yaml
 F:	Documentation/devicetree/bindings/soc/mobileye/
 F:	arch/mips/boot/dts/mobileye/
 F:	arch/mips/configs/eyeq5_defconfig

-- 
2.44.0


  parent reply	other threads:[~2024-04-10 17:12 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-10 17:12 [PATCH 00/11] Add Mobileye EyeQ system controller support (clk, reset, pinctrl) Théo Lebrun
2024-04-10 17:12 ` [PATCH 01/11] dt-bindings: soc: mobileye: add EyeQ5 OLB system controller Théo Lebrun
2024-04-10 18:52   ` Rob Herring
2024-04-11  9:19     ` Théo Lebrun
2024-04-11  3:29   ` Stephen Boyd
2024-04-10 17:12 ` [PATCH 02/11] dt-bindings: clock: mobileye,eyeq5-clk: add EyeQ6L and EyeQ6H Théo Lebrun
2024-04-11  6:14   ` Krzysztof Kozlowski
2024-04-11 13:49     ` Théo Lebrun
2024-04-11 15:02       ` Krzysztof Kozlowski
2024-04-10 17:12 ` Théo Lebrun [this message]
2024-04-11  6:14   ` [PATCH 03/11] dt-bindings: reset: mobileye,eyeq5-reset: " Krzysztof Kozlowski
2024-04-11 14:04     ` Théo Lebrun
2024-04-11 15:05       ` Krzysztof Kozlowski
2024-04-10 17:12 ` [PATCH 04/11] clk: divider: Introduce CLK_DIVIDER_EVEN_INTEGERS flag Théo Lebrun
2024-04-11  3:06   ` Stephen Boyd
2024-04-11 10:14     ` Théo Lebrun
2024-04-12  5:19       ` Stephen Boyd
2024-04-10 17:12 ` [PATCH 05/11] clk: eyeq: add driver Théo Lebrun
2024-04-11  3:22   ` Stephen Boyd
2024-04-11 10:46     ` Théo Lebrun
2024-04-12  5:46       ` Stephen Boyd
2024-04-17 10:18         ` Théo Lebrun
2024-04-10 17:12 ` [PATCH 06/11] reset: eyeq: add platform driver Théo Lebrun
2024-04-10 17:12 ` [PATCH 07/11] pinctrl: eyeq5: " Théo Lebrun
2024-04-10 17:12 ` [PATCH 08/11] MIPS: mobileye: eyeq5: add OLB syscon node Théo Lebrun
2024-04-11  6:15   ` Krzysztof Kozlowski
2024-04-11 14:34     ` Théo Lebrun
2024-04-11 15:07       ` Krzysztof Kozlowski
2024-04-17  7:53         ` Théo Lebrun
2024-04-10 17:12 ` [PATCH 09/11] MIPS: mobileye: eyeq5: use OLB clocks controller node Théo Lebrun
2024-04-10 17:12 ` [PATCH 10/11] MIPS: mobileye: eyeq5: add OLB reset " Théo Lebrun
2024-04-10 17:12 ` [PATCH 11/11] MIPS: mobileye: eyeq5: add pinctrl node & pinmux function nodes Théo Lebrun

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240410-mbly-olb-v1-3-335e496d7be3@bootlin.com \
    --to=theo.lebrun@bootlin.com \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=gregory.clement@bootlin.com \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mips@vger.kernel.org \
    --cc=mturquette@baylibre.com \
    --cc=p.zabel@pengutronix.de \
    --cc=robh@kernel.org \
    --cc=sboyd@kernel.org \
    --cc=tawfik.bayouk@mobileye.com \
    --cc=thomas.petazzoni@bootlin.com \
    --cc=vladimir.kondratiev@mobileye.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.