From mboxrd@z Thu Jan 1 00:00:00 1970 From: Vladimir Zapolskiy Subject: [PATCH 2/7] dt-bindings: mfd: ds90ux9xx: add description of TI DS90Ux9xx I2C bridge Date: Tue, 9 Oct 2018 00:12:00 +0300 Message-ID: <20181008211205.2900-3-vz@mleia.com> References: <20181008211205.2900-1-vz@mleia.com> Return-path: In-Reply-To: <20181008211205.2900-1-vz@mleia.com> Sender: linux-kernel-owner@vger.kernel.org To: Lee Jones , Linus Walleij , Rob Herring Cc: Marek Vasut , Laurent Pinchart , Wolfram Sang , devicetree@vger.kernel.org, linux-gpio@vger.kernel.org, linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, Vladimir Zapolskiy List-Id: linux-gpio@vger.kernel.org From: Vladimir Zapolskiy TI DS90Ux9xx de-/serializers are capable to route I2C messages to I2C slave devices connected to a remote de-/serializer in a pair, the change adds description of device tree bindings of the subcontroller to configure and enable this functionality. Signed-off-by: Vladimir Zapolskiy --- .../bindings/mfd/ti,ds90ux9xx-i2c-bridge.txt | 61 +++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 Documentation/devicetree/bindings/mfd/ti,ds90ux9xx-i2c-bridge.txt diff --git a/Documentation/devicetree/bindings/mfd/ti,ds90ux9xx-i2c-bridge.txt b/Documentation/devicetree/bindings/mfd/ti,ds90ux9xx-i2c-bridge.txt new file mode 100644 index 000000000000..4169e382073a --- /dev/null +++ b/Documentation/devicetree/bindings/mfd/ti,ds90ux9xx-i2c-bridge.txt @@ -0,0 +1,61 @@ +TI DS90Ux9xx de-/serializer I2C bridge subcontroller + +Required properties: +- compatible: Must contain a generic "ti,ds90ux9xx-i2c-bridge" value and + may contain one more specific value from the list: + "ti,ds90ux925-i2c-bridge", + "ti,ds90ux926-i2c-bridge", + "ti,ds90ux927-i2c-bridge", + "ti,ds90ux928-i2c-bridge", + "ti,ds90ux940-i2c-bridge". + +Required properties of a de-/serializer device connected to a local I2C bus: +- ti,i2c-bridges: List of phandles to remote de-/serializer devices with + two arguments: id of a local de-/serializer FPD link and an assigned + I2C address of a remote de-/serializer to be accessed on a local + I2C bus. + +Optional properties of a de-/serializer device connected to a local I2C bus: +- ti,i2c-bridge-maps: List of 3-cell values: + - the first argument is id of a local de-/serializer FPD link, + - the second argument is an I2C address of a device connected to + a remote de-/serializer IC, + - the third argument is an I2C address of the remote I2C device + for access on a local I2C bus. +- ti,i2c-bridge-auto-ack: Enables AUTO ACK mode. +- ti,i2c-bridge-pass-all: Enables PASS ALL mode, remote I2C slave devices + are accessible on a local (host) I2C bus without I2C address + remappings. + +Remote de-/serializer device may contain a list of device nodes, each +one represents an I2C device connected to that remote de-/serializer IC. + +Example (remote device is a deserializer with Atmel MXT touchscreen): + +serializer: serializer@c { + compatible = "ti,ds90ub927q", "ti,ds90ux9xx"; + reg = <0xc>; + + i2c-bridge { + compatible = "ti,ds90ux927-i2c-bridge", + "ti,ds90ux9xx-i2c-bridge"; + ti,i2c-bridges = <&deserializer 0 0x3b>; + ti,i2c-bridge-maps = <0 0x4b 0x64>; + }; +}; + +deserializer: deserializer { + compatible = "ti,ds90ub928q", "ti,ds90ux9xx"; + + i2c-bridge { + compatible = "ti,ds90ux928-i2c-bridge", + "ti,ds90ux9xx-i2c-bridge"; + #address-cells = <1>; + #size-cells = <0>; + + touchscreen@4b { + compatible = "atmel,maxtouch"; + reg = <0x4b>; + }; + }; +}; -- 2.17.1