Commit 99fd09e0 authored by Jonas Jelonek's avatar Jonas Jelonek Committed by Andi Shyti
Browse files

dt-bindings: i2c: realtek,rtl9301-i2c: extend for RTL9310 support



Adjust the regex for child-node address to account for the fact that
RTL9310 supports 12 instead of only 8 SDA lines. Also, narrow this per
variant.

Add a vendor-specific property to explicitly specify the SCL line number
of the defined I2C controller/master. This is required, in particular
for RTL9310, to operate on the correct SCL for each controller. Require
this property to be specified for RTL9310.

Add compatibles for known SoC variants RTL9311, RTL9312 and RTL9313.

Signed-off-by: default avatarJonas Jelonek <jelonek.jonas@gmail.com>
Reviewed-by: default avatarRob Herring (Arm) <robh@kernel.org>
Reviewed-by: default avatarChris Packham <chris.packham@alliedtelesis.co.nz>
Tested-by: default avatarMarkus Stockhausen <markus.stockhausen@gmx.de>
Signed-off-by: default avatarAndi Shyti <andi.shyti@kernel.org>
Link: https://lore.kernel.org/r/20250927101931.71575-9-jelonek.jonas@gmail.com
parent 46fe8265
Loading
Loading
Loading
Loading
+37 −2
Original line number Diff line number Diff line
@@ -13,6 +13,8 @@ description:
  RTL9300 SoCs have two I2C controllers. Each of these has an SCL line (which
  if not-used for SCL can be a GPIO). There are 8 common SDA lines that can be
  assigned to either I2C controller.
  RTL9310 SoCs have equal capabilities but support 12 common SDA lines which
  can be assigned to either I2C controller.

properties:
  compatible:
@@ -23,7 +25,15 @@ properties:
              - realtek,rtl9302c-i2c
              - realtek,rtl9303-i2c
          - const: realtek,rtl9301-i2c
      - const: realtek,rtl9301-i2c
      - items:
          - enum:
              - realtek,rtl9311-i2c
              - realtek,rtl9312-i2c
              - realtek,rtl9313-i2c
          - const: realtek,rtl9310-i2c
      - enum:
          - realtek,rtl9301-i2c
          - realtek,rtl9310-i2c

  reg:
    items:
@@ -35,8 +45,14 @@ properties:
  "#size-cells":
    const: 0

  realtek,scl:
    $ref: /schemas/types.yaml#/definitions/uint32
    description:
      The SCL line number of this I2C controller.
    enum: [ 0, 1 ]

patternProperties:
  '^i2c@[0-7]$':
  '^i2c@[0-9ab]$':
    $ref: /schemas/i2c/i2c-controller.yaml
    unevaluatedProperties: false

@@ -48,6 +64,25 @@ patternProperties:
    required:
      - reg


allOf:
  - if:
      properties:
        compatible:
          contains:
            const: realtek,rtl9310-i2c
    then:
      required:
        - realtek,scl
  - if:
      properties:
        compatible:
          contains:
            const: realtek,rtl9301-i2c
    then:
      patternProperties:
        '^i2c@[89ab]$': false

required:
  - compatible
  - reg