Commit 1b9a8e8a authored by Théo Lebrun's avatar Théo Lebrun Committed by Andi Shyti
Browse files

dt-bindings: i2c: nomadik: add mobileye,eyeq5-i2c bindings and example



Add EyeQ5 bindings to the existing Nomadik I2C dt-bindings. Add the
EyeQ5-specific property behind a conditional. Add an example for this
compatible.

Signed-off-by: default avatarThéo Lebrun <theo.lebrun@bootlin.com>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Signed-off-by: default avatarAndi Shyti <andi.shyti@kernel.org>
parent 06d0cb6c
Loading
Loading
Loading
Loading
+43 −6
Original line number Diff line number Diff line
@@ -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,21 +21,23 @@ select:
      contains:
        enum:
          - st,nomadik-i2c
          - mobileye,eyeq5-i2c
  required:
    - compatible

properties:
  compatible:
    oneOf:
      # The variant found in STn8815
      - items:
          - const: st,nomadik-i2c
          - const: arm,primecell
      # The variant found in DB8500
      - items:
          - const: stericsson,db8500-i2c
          - const: st,nomadik-i2c
          - const: arm,primecell
      - items:
          - const: mobileye,eyeq5-i2c
          - const: arm,primecell

  reg:
    maxItems: 1
@@ -55,7 +54,7 @@ properties:
      - items:
          - const: mclk
          - const: apb_pclk
      # Clock name in DB8500
      # Clock name in DB8500 or EyeQ5
      - items:
          - const: i2cclk
          - const: apb_pclk
@@ -70,6 +69,16 @@ properties:
    minimum: 1
    maximum: 400000

  mobileye,olb:
    $ref: /schemas/types.yaml#/definitions/phandle-array
    items:
      - items:
          - description: Phandle to OLB system controller node.
          - description: Platform-wide controller ID (integer starting from zero).
    description:
      The phandle pointing to OLB system controller node, with the I2C
      controller index.

required:
  - compatible
  - reg
@@ -79,6 +88,20 @@ required:

unevaluatedProperties: false

allOf:
  - $ref: /schemas/i2c/i2c-controller.yaml#
  - if:
      properties:
        compatible:
          contains:
            const: mobileye,eyeq5-i2c
    then:
      required:
        - mobileye,olb
    else:
      properties:
        mobileye,olb: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>
@@ -111,5 +134,19 @@ examples:
      clocks = <&i2c0clk>, <&pclki2c0>;
      clock-names = "mclk", "apb_pclk";
    };
  - |
    #include <dt-bindings/interrupt-controller/mips-gic.h>
    i2c@300000 {
      compatible = "mobileye,eyeq5-i2c", "arm,primecell";
      reg = <0x300000 0x1000>;
      interrupt-parent = <&gic>;
      interrupts = <GIC_SHARED 1 IRQ_TYPE_LEVEL_HIGH>;
      clock-frequency = <400000>;
      #address-cells = <1>;
      #size-cells = <0>;
      clocks = <&i2c_ser_clk>, <&i2c_clk>;
      clock-names = "i2cclk", "apb_pclk";
      mobileye,olb = <&olb 0>;
    };

...