On Fri, May 03, 2024 at 04:20:48PM +0200, Théo Lebrun wrote: > Add documentation to describe the "Other Logic Block" system-controller. > It deals with three platforms: EyeQ5, EyeQ6L and EyeQ6H. First two have > a single instance, whereas EyeQ6H has seven named instances. > > Features provided are: > - Clocks, children to main crystal. Some PLLs and divider clocks. > - Resets. EyeQ6H central, south, DDR0 and DDR1 do not have resets. > - Pinctrl. Only EyeQ5 has such feature. > > Those are NOT the only registers exposed in OLB system-controllers! Many > individual registers, related to IP block integration, can be found. > > We simplify devicetree references to OLB in two ways: > - Compatibles exposing a single clock do not ask for a index argument. > - Compatibles exposing a single reset domain do not ask for a domain > index, only a reset index. > > About pinctrl subnodes: all pins have two functionality, either GPIO or > something-else. The latter is pin dependent, we express constraints > using many if-then. > > Signed-off-by: Théo Lebrun <theo.lebrun@xxxxxxxxxxx> > --- > .../bindings/soc/mobileye/mobileye,eyeq5-olb.yaml | 375 +++++++++++++++++++++ > MAINTAINERS | 2 + > include/dt-bindings/clock/mobileye,eyeq5-clk.h | 21 ++ > 3 files changed, 398 insertions(+) > > diff --git a/Documentation/devicetree/bindings/soc/mobileye/mobileye,eyeq5-olb.yaml b/Documentation/devicetree/bindings/soc/mobileye/mobileye,eyeq5-olb.yaml > new file mode 100644 > index 000000000000..bbd75b81166e > --- /dev/null > +++ b/Documentation/devicetree/bindings/soc/mobileye/mobileye,eyeq5-olb.yaml > @@ -0,0 +1,375 @@ > +# 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 EyeQ SoC system controller > + > +maintainers: > + - Grégory Clement <gregory.clement@xxxxxxxxxxx> > + - Théo Lebrun <theo.lebrun@xxxxxxxxxxx> > + - Vladimir Kondratiev <vladimir.kondratiev@xxxxxxxxxxxx> > + > +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. > + > +properties: > + compatible: > + items: > + - 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 > + - const: syscon > + - const: simple-mfd You are getting rid of the child nodes, so you shouldn't need simple-mfd any more. Rob