Re: [PATCH 02/13] dt-bindings: i2c: nomadik: add mobileye,eyeq5-i2c bindings and example

Rob Herring
2024-02-16T02:22:30Z

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@bootlin.com>
> ---
> .../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@linaro.org>
>
> -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