Commit 1de20644 authored by Maxime Ripard's avatar Maxime Ripard Committed by Wolfram Sang
Browse files

dt-bindings: i2c: brcmstb: Add BCM2711 BSC/AUTO-I2C binding



The HDMI blocks in the BCM2771 have an i2c controller to retrieve the
EDID. This block is split into two parts, the BSC and the AUTO_I2C,
lying in two separate register areas.

The AUTO_I2C block has a mailbox-like interface and will take away the
BSC control from the CPU if enabled. However, the BSC is the actually
the same controller than the one supported by the brcmstb driver, and
the AUTO_I2C doesn't really bring any immediate benefit.

We can model it in the DT as a single device with two register range,
which will allow us to use or or the other in the driver without
changing anything in the DT.

Signed-off-by: default avatarMaxime Ripard <maxime@cerno.tech>
Acked-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
parent 70387813
Loading
Loading
Loading
Loading
+39 −1
Original line number Diff line number Diff line
@@ -15,11 +15,21 @@ allOf:
properties:
  compatible:
    enum:
      - brcm,bcm2711-hdmi-i2c
      - brcm,brcmstb-i2c
      - brcm,brcmper-i2c

  reg:
    maxItems: 1
    minItems: 1
    maxItems: 2
    items:
      - description: BSC register range
      - description: Auto-I2C register range

  reg-names:
    items:
      - const: bsc
      - const: auto-i2c

  interrupts:
    maxItems: 1
@@ -45,6 +55,26 @@ required:

unevaluatedProperties: false

if:
  properties:
    compatible:
      contains:
        enum:
          - brcm,bcm2711-hdmi-i2c

then:
  properties:
    reg:
      minItems: 2

  required:
    - reg-names

else:
  properties:
    reg:
      maxItems: 1

examples:
  - |
      bsca: i2c@f0406200 {
@@ -56,4 +86,12 @@ examples:
          interrupt-names = "upg_bsca";
      };

  - |
      ddc0: i2c@7ef04500 {
          compatible = "brcm,bcm2711-hdmi-i2c";
          reg = <0x7ef04500 0x100>, <0x7ef00b00 0x300>;
          reg-names = "bsc", "auto-i2c";
          clock-frequency = <390000>;
      };

...