[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250903-clk-eyeq7-v1-3-3f5024b5d6e2@bootlin.com>
Date: Wed, 03 Sep 2025 14:47:10 +0200
From: Benoît Monin <benoit.monin@...tlin.com>
To: Vladimir Kondratiev <vladimir.kondratiev@...ileye.com>,
Gregory CLEMENT <gregory.clement@...tlin.com>,
Théo Lebrun <theo.lebrun@...tlin.com>,
Rob Herring <robh@...nel.org>, Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>,
Thomas Bogendoerfer <tsbogend@...ha.franken.de>,
Michael Turquette <mturquette@...libre.com>,
Stephen Boyd <sboyd@...nel.org>, Philipp Zabel <p.zabel@...gutronix.de>
Cc: Thomas Petazzoni <thomas.petazzoni@...tlin.com>,
linux-mips@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-clk@...r.kernel.org,
Tawfik Bayouk <tawfik.bayouk@...ileye.com>,
Sari Khoury <sari.khoury@...ileye.com>,
Benoît Monin <benoit.monin@...tlin.com>
Subject: [PATCH 03/19] dt-bindings: soc: mobileye: add eyeQ7H compatibles
The eyeQ7H features 14 OLB. The main differences with the previous
generation of SoC is that some blocks have two clock sources instead
of one and that the clock source can be the one of the clock output of
another OLB instead of the main oscillator.
For the blocks with a single parent clock, the name if that clock is
"ref", similar to what is done for the OLB of the previous SoC. The
blocks with two parent clocks use the names of the reference clocks
generated by the other OLB or the main oscillator.
Some OLB also contain a reset controller with one or more reset domain,
like the blocks found in the eyeQ6H.
Signed-off-by: Benoît Monin <benoit.monin@...tlin.com>
---
.../bindings/soc/mobileye/mobileye,eyeq-olb.yaml | 135 ++++++++++++++++++++-
1 file changed, 130 insertions(+), 5 deletions(-)
diff --git a/Documentation/devicetree/bindings/soc/mobileye/mobileye,eyeq-olb.yaml b/Documentation/devicetree/bindings/soc/mobileye/mobileye,eyeq-olb.yaml
index a1fb33ab4399cca52fad1e589beede54e09e5512..5800396d39f050c11fa5a4013297f756b97a2b02 100644
--- a/Documentation/devicetree/bindings/soc/mobileye/mobileye,eyeq-olb.yaml
+++ b/Documentation/devicetree/bindings/soc/mobileye/mobileye,eyeq-olb.yaml
@@ -14,7 +14,7 @@ maintainers:
description:
OLB ("Other Logic Block") is a hardware block grouping smaller blocks. Clocks,
resets, pinctrl are being handled from here. EyeQ5 and EyeQ6L host a single
- instance. EyeQ6H hosts seven instances.
+ instance. EyeQ6H hosts seven instances. EyeQ7H hosts 14 instances.
properties:
compatible:
@@ -29,6 +29,20 @@ properties:
- mobileye,eyeq6h-south-olb
- mobileye,eyeq6h-ddr0-olb
- mobileye,eyeq6h-ddr1-olb
+ - mobileye,eyeq7h-south-olb
+ - mobileye,eyeq7h-east-olb
+ - mobileye,eyeq7h-west-olb
+ - mobileye,eyeq7h-periph-east-olb
+ - mobileye,eyeq7h-periph-west-olb
+ - mobileye,eyeq7h-ddr0-olb
+ - mobileye,eyeq7h-ddr1-olb
+ - mobileye,eyeq7h-mips0-olb
+ - mobileye,eyeq7h-mips1-olb
+ - mobileye,eyeq7h-mips2-olb
+ - mobileye,eyeq7h-acc0-olb
+ - mobileye,eyeq7h-acc1-olb
+ - mobileye,eyeq7h-xnn0-olb
+ - mobileye,eyeq7h-xnn1-olb
- const: syscon
reg:
@@ -44,12 +58,12 @@ properties:
const: 1
clocks:
- maxItems: 1
- description:
- Input parent clock to all PLLs. Expected to be the main crystal.
+ minItems: 1
+ maxItems: 2
clock-names:
- const: ref
+ minItems: 1
+ maxItems: 2
patternProperties:
'-pins?$':
@@ -265,6 +279,88 @@ required:
additionalProperties: false
allOf:
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - mobileye,eyeq5-olb
+ - mobileye,eyeq6l-olb
+ - mobileye,eyeq6h-acc-olb
+ - mobileye,eyeq6h-central-olb
+ - mobileye,eyeq6h-east-olb
+ - mobileye,eyeq6h-west-olb
+ - mobileye,eyeq6h-south-olb
+ - mobileye,eyeq6h-ddr0-olb
+ - mobileye,eyeq6h-ddr1-olb
+ - mobileye,eyeq7h-south-olb
+ - mobileye,eyeq7h-periph-east-olb
+ - mobileye,eyeq7h-ddr0-olb
+ - mobileye,eyeq7h-ddr1-olb
+ - mobileye,eyeq7h-mips0-olb
+ - mobileye,eyeq7h-mips1-olb
+ - mobileye,eyeq7h-mips2-olb
+ then:
+ properties:
+ clocks:
+ minItems: 1
+ maxItems: 1
+ clock-names:
+ items:
+ - const: ref
+
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - mobileye,eyeq7h-east-olb
+ - mobileye,eyeq7h-west-olb
+ then:
+ properties:
+ clocks:
+ minItems: 2
+ maxItems: 2
+ clock-names:
+ items:
+ - const: ref
+ - const: ref_100p0
+
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - mobileye,eyeq7h-periph-west-olb
+ then:
+ properties:
+ clocks:
+ minItems: 2
+ maxItems: 2
+ clock-names:
+ items:
+ - const: ref_100p0
+ - const: ref_106p6_w
+
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - mobileye,eyeq7h-acc0-olb
+ - mobileye,eyeq7h-acc1-olb
+ - mobileye,eyeq7h-xnn0-olb
+ - mobileye,eyeq7h-xnn1-olb
+ then:
+ properties:
+ clocks:
+ minItems: 2
+ maxItems: 2
+ clock-names:
+ items:
+ - const: ref_100p0
+ - const: ref_106p6_e
+
# Compatibles exposing a single reset domain.
- if:
properties:
@@ -274,6 +370,12 @@ allOf:
- mobileye,eyeq6h-acc-olb
- mobileye,eyeq6h-east-olb
- mobileye,eyeq6h-west-olb
+ - mobileye,eyeq7h-east-olb
+ - mobileye,eyeq7h-west-olb
+ - mobileye,eyeq7h-periph-east-olb
+ - mobileye,eyeq7h-periph-west-olb
+ - mobileye,eyeq7h-ddr0-olb
+ - mobileye,eyeq7h-ddr1-olb
then:
properties:
'#reset-cells':
@@ -289,6 +391,11 @@ allOf:
enum:
- mobileye,eyeq5-olb
- mobileye,eyeq6l-olb
+ - mobileye,eyeq7h-south-olb
+ - mobileye,eyeq7h-acc0-olb
+ - mobileye,eyeq7h-acc1-olb
+ - mobileye,eyeq7h-xnn0-olb
+ - mobileye,eyeq7h-xnn1-olb
then:
properties:
'#reset-cells':
@@ -306,6 +413,9 @@ allOf:
- mobileye,eyeq6h-south-olb
- mobileye,eyeq6h-ddr0-olb
- mobileye,eyeq6h-ddr1-olb
+ - mobileye,eyeq7h-mips0-olb
+ - mobileye,eyeq7h-mips1-olb
+ - mobileye,eyeq7h-mips2-olb
then:
properties:
'#reset-cells': false
@@ -350,3 +460,18 @@ examples:
clock-names = "ref";
};
};
+ - |
+ soc {
+ #address-cells = <2>;
+ #size-cells = <2>;
+
+ system-controller0@...00000 {
+ compatible = "mobileye,eyeq7h-acc0-olb", "syscon";
+ reg = <0x0 0x45000000 0x0 0x1000>;
+ #reset-cells = <2>;
+ #clock-cells = <1>;
+ clocks = <&olb_south 7>,
+ <&olb_east 5>;
+ clock-names = "ref_100p0", "ref_106p6_e";
+ };
+ };
--
2.51.0
Powered by blists - more mailing lists