dt-bindings: adv7511: Extend bindings to allow specifying slave map addresses
authorKieran Bingham <kieran.bingham+renesas@ideasonboard.com>
Tue, 13 Feb 2018 17:48:54 +0000 (17:48 +0000)
committerArchit Taneja <architt@codeaurora.org>
Wed, 25 Apr 2018 05:48:12 +0000 (11:18 +0530)
The ADV7511 has four 256-byte maps that can be accessed via the main I2C
ports. Each map has it own I2C address and acts as a standard slave
device on the I2C bus.

Extend the device tree node bindings to be able to override the default
addresses so that address conflicts with other devices on the same bus
may be resolved at the board description level.

Signed-off-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Archit Taneja <architt@codeaurora.org>
Link: https://patchwork.freedesktop.org/patch/msgid/1518544137-2742-3-git-send-email-kbingham@kernel.org
Documentation/devicetree/bindings/display/bridge/adi,adv7511.txt

index 0047b1394c704d5ad4e558f8373b5b6f5ea7972b..2c887536258cfef57309664baf57d620074bcb42 100644 (file)
@@ -14,7 +14,13 @@ Required properties:
                "adi,adv7513"
                "adi,adv7533"
 
-- reg: I2C slave address
+- reg: I2C slave addresses
+  The ADV7511 internal registers are split into four pages exposed through
+  different I2C addresses, creating four register maps. Each map has it own
+  I2C address and acts as a standard slave device on the I2C bus. The main
+  address is mandatory, others are optional and revert to defaults if not
+  specified.
+
 
 The ADV7511 supports a large number of input data formats that differ by their
 color depth, color format, clock mode, bit justification and random
@@ -70,6 +76,9 @@ Optional properties:
   rather than generate its own timings for HDMI output.
 - clocks: from common clock binding: reference to the CEC clock.
 - clock-names: from common clock binding: must be "cec".
+- reg-names : Names of maps with programmable addresses.
+       It can contain any map needing a non-default address.
+       Possible maps names are : "main", "edid", "cec", "packet"
 
 Required nodes:
 
@@ -88,7 +97,12 @@ Example
 
        adv7511w: hdmi@39 {
                compatible = "adi,adv7511w";
-               reg = <39>;
+               /*
+                * The EDID page will be accessible on address 0x66 on the I2C
+                * bus. All other maps continue to use their default addresses.
+                */
+               reg = <0x39>, <0x66>;
+               reg-names = "main", "edid";
                interrupt-parent = <&gpio3>;
                interrupts = <29 IRQ_TYPE_EDGE_FALLING>;
                clocks = <&cec_clock>;