On Thu, Feb 15, 2024 at 05:52:09PM +0100, Théo Lebrun wrote: > Add EyeQ5 bindings to the existing Nomadik I2C dt-bindings. Add the two > EyeQ5-specific properties behind a conditional. Add an example for this > compatible. > > Signed-off-by: Théo Lebrun <theo.lebrun@xxxxxxxxxxx> > --- > .../devicetree/bindings/i2c/st,nomadik-i2c.yaml | 44 ++++++++++++++++++++-- > 1 file changed, 40 insertions(+), 4 deletions(-) > > diff --git a/Documentation/devicetree/bindings/i2c/st,nomadik-i2c.yaml b/Documentation/devicetree/bindings/i2c/st,nomadik-i2c.yaml > index e6b95e3765ac..eaade14b6d4c 100644 > --- a/Documentation/devicetree/bindings/i2c/st,nomadik-i2c.yaml > +++ b/Documentation/devicetree/bindings/i2c/st,nomadik-i2c.yaml > @@ -14,9 +14,6 @@ description: The Nomadik I2C host controller began its life in the ST > maintainers: > - Linus Walleij <linus.walleij@xxxxxxxxxx> > > -allOf: > - - $ref: /schemas/i2c/i2c-controller.yaml# > - > # Need a custom select here or 'arm,primecell' will match on lots of nodes > select: > properties: > @@ -24,6 +21,7 @@ select: > contains: > enum: > - st,nomadik-i2c > + - mobileye,eyeq5-i2c > required: > - compatible > > @@ -39,6 +37,10 @@ properties: > - const: stericsson,db8500-i2c > - const: st,nomadik-i2c > - const: arm,primecell > + # The variant found on Mobileye EyeQ5 > + - items: > + - const: mobileye,eyeq5-i2c > + - const: arm,primecell > > reg: > maxItems: 1 > @@ -55,7 +57,7 @@ properties: > - items: > - const: mclk > - const: apb_pclk > - # Clock name in DB8500 > + # Clock name in DB8500 or EyeQ5 > - items: > - const: i2cclk > - const: apb_pclk > @@ -83,6 +85,25 @@ required: > > unevaluatedProperties: false > > +allOf: > + - $ref: /schemas/i2c/i2c-controller.yaml# > + - if: > + properties: > + compatible: > + contains: > + const: mobileye,eyeq5-i2c > + then: > + properties: > + mobileye,olb: > + $ref: /schemas/types.yaml#/definitions/phandle > + description: A phandle to the OLB syscon. Define properties at the top-level and then restrict them in if/then schemas. > + mobileye,id: > + $ref: /schemas/types.yaml#/definitions/uint32 > + description: Platform-wide controller ID (integer starting from zero). instance indexes are a NAK. You can use i2cN aliases if you must. Why do you need it? To access OLB? If so, add cell args to the OLB phandle instead. Rob