[v4,07/18] dt-bindings: soc: mobileye: add EyeQ5 OLB system controller
Commit Message
Add documentation to describe the "Other Logic Block" syscon.
Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com>
---
.../bindings/soc/mobileye/mobileye,eyeq5-olb.yaml | 89 ++++++++++++++++++++++
MAINTAINERS | 1 +
2 files changed, 90 insertions(+)
Comments
On 31/01/2024 17:26, Théo Lebrun wrote:
> Add documentation to describe the "Other Logic Block" syscon.
>
> Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com>
> ---
> .../bindings/soc/mobileye/mobileye,eyeq5-olb.yaml | 89 ++++++++++++++++++++++
> MAINTAINERS | 1 +
> 2 files changed, 90 insertions(+)
>
..
> +required:
> + - compatible
> + - reg
> + - '#address-cells'
> + - '#size-cells'
> + - ranges
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + soc {
> + #address-cells = <2>;
> + #size-cells = <2>;
> +
> + system-controller@e00000 {
> + compatible = "mobileye,eyeq5-olb", "syscon", "simple-mfd";
> + reg = <0x0 0xe00000 0x0 0x400>;
> + #address-cells = <1>;
> + #size-cells = <1>;
> + ranges = <0x0 0x0 0xe00000 0x400>;
If there is going to be any resend:
1. ranges follows reg
2. Use lower-case hex
See DTS coding style.
> +
> + clocks: clock-controller@2c {
> + compatible = "mobileye,eyeq5-clk";
> + reg = <0x02C 0x50>, <0x11C 0x04>;
> + reg-names = "plls", "ospi";
> + #clock-cells = <1>;
> + clocks = <&xtal>;
> + clock-names = "ref";
> + };
> +
> + reset: reset-controller@0 {
0 is before 2c, keep nodes properly ordered.
> + compatible = "mobileye,eyeq5-reset";
> + reg = <0x000 0x0C>, <0x200 0x34>, <0x120 0x04>;
> + reg-names = "d0", "d1", "d2";
> + #reset-cells = <2>;
> + };
> +
> + pinctrl: pinctrl@b0 {
> + compatible = "mobileye,eyeq5-pinctrl";
> + reg = <0x0B0 0x30>;
This looks incomplete. Your binding mentions children, so provide at
least one child.
>
Best regards,
Krzysztof
Hello,
On Thu Feb 1, 2024 at 10:36 AM CET, Krzysztof Kozlowski wrote:
> On 31/01/2024 17:26, Théo Lebrun wrote:
> > Add documentation to describe the "Other Logic Block" syscon.
> >
> > Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com>
> > ---
> > .../bindings/soc/mobileye/mobileye,eyeq5-olb.yaml | 89 ++++++++++++++++++++++
> > MAINTAINERS | 1 +
> > 2 files changed, 90 insertions(+)
> >
>
> ...
>
> > +required:
> > + - compatible
> > + - reg
> > + - '#address-cells'
> > + - '#size-cells'
> > + - ranges
> > +
> > +additionalProperties: false
> > +
> > +examples:
> > + - |
> > + soc {
> > + #address-cells = <2>;
> > + #size-cells = <2>;
> > +
> > + system-controller@e00000 {
> > + compatible = "mobileye,eyeq5-olb", "syscon", "simple-mfd";
> > + reg = <0x0 0xe00000 0x0 0x400>;
> > + #address-cells = <1>;
> > + #size-cells = <1>;
> > + ranges = <0x0 0x0 0xe00000 0x400>;
>
> If there is going to be any resend:
> 1. ranges follows reg
> 2. Use lower-case hex
>
> See DTS coding style.
I'm re-reading Documentation/devicetree/bindings/dts-coding-style.rst
right now. Thanks.
>
> > +
> > + clocks: clock-controller@2c {
> > + compatible = "mobileye,eyeq5-clk";
> > + reg = <0x02C 0x50>, <0x11C 0x04>;
> > + reg-names = "plls", "ospi";
> > + #clock-cells = <1>;
> > + clocks = <&xtal>;
> > + clock-names = "ref";
> > + };
> > +
> > + reset: reset-controller@0 {
>
> 0 is before 2c, keep nodes properly ordered.
Indeed.
> > + compatible = "mobileye,eyeq5-reset";
> > + reg = <0x000 0x0C>, <0x200 0x34>, <0x120 0x04>;
> > + reg-names = "d0", "d1", "d2";
> > + #reset-cells = <2>;
> > + };
> > +
> > + pinctrl: pinctrl@b0 {
> > + compatible = "mobileye,eyeq5-pinctrl";
> > + reg = <0x0B0 0x30>;
>
> This looks incomplete. Your binding mentions children, so provide at
> least one child.
Will do. Didn't think about adding a child example to the dt-bindings
example.
Thanks,
--
Théo Lebrun, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
new file mode 100644
@@ -0,0 +1,89 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/soc/mobileye/mobileye,eyeq5-olb.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Mobileye EyeQ5 SoC system controller
+
+maintainers:
+ - Grégory Clement <gregory.clement@bootlin.com>
+ - Théo Lebrun <theo.lebrun@bootlin.com>
+ - Vladimir Kondratiev <vladimir.kondratiev@mobileye.com>
+
+description:
+ OLB ("Other Logic Block") is a hardware block grouping smaller blocks. Clocks,
+ resets, pinctrl are being handled from here.
+
+properties:
+ compatible:
+ items:
+ - const: mobileye,eyeq5-olb
+ - const: syscon
+ - const: simple-mfd
+
+ reg:
+ maxItems: 1
+
+ '#address-cells':
+ const: 1
+
+ '#size-cells':
+ const: 1
+
+ ranges: true
+
+patternProperties:
+ "^clock-controller@[0-9a-f]+$":
+ $ref: /schemas/clock/mobileye,eyeq5-clk.yaml#
+
+ "^reset-controller@[0-9a-f]+$":
+ $ref: /schemas/reset/mobileye,eyeq5-reset.yaml#
+
+ "^pinctrl@[0-9a-f]+$":
+ $ref: /schemas/pinctrl/mobileye,eyeq5-pinctrl.yaml#
+
+required:
+ - compatible
+ - reg
+ - '#address-cells'
+ - '#size-cells'
+ - ranges
+
+additionalProperties: false
+
+examples:
+ - |
+ soc {
+ #address-cells = <2>;
+ #size-cells = <2>;
+
+ system-controller@e00000 {
+ compatible = "mobileye,eyeq5-olb", "syscon", "simple-mfd";
+ reg = <0x0 0xe00000 0x0 0x400>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges = <0x0 0x0 0xe00000 0x400>;
+
+ clocks: clock-controller@2c {
+ compatible = "mobileye,eyeq5-clk";
+ reg = <0x02C 0x50>, <0x11C 0x04>;
+ reg-names = "plls", "ospi";
+ #clock-cells = <1>;
+ clocks = <&xtal>;
+ clock-names = "ref";
+ };
+
+ reset: reset-controller@0 {
+ compatible = "mobileye,eyeq5-reset";
+ reg = <0x000 0x0C>, <0x200 0x34>, <0x120 0x04>;
+ reg-names = "d0", "d1", "d2";
+ #reset-cells = <2>;
+ };
+
+ pinctrl: pinctrl@b0 {
+ compatible = "mobileye,eyeq5-pinctrl";
+ reg = <0x0B0 0x30>;
+ };
+ };
+ };
@@ -14790,6 +14790,7 @@ F: Documentation/devicetree/bindings/clock/mobileye,eyeq5-clk.yaml
F: Documentation/devicetree/bindings/mips/mobileye.yaml
F: Documentation/devicetree/bindings/pinctrl/mobileye,eyeq5-pinctrl.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
F: arch/mips/mobileye/board-epm5.its.S