[PATCH 2/7] dt-bindings: mfd: ds90ux9xx: add description of TI DS90Ux9xx I2C bridge

From: Vladimir Zapolskiy
Date: Mon Oct 08 2018 - 17:12:16 EST


From: Vladimir Zapolskiy <vladimir_zapolskiy@xxxxxxxxxx>

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 <vladimir_zapolskiy@xxxxxxxxxx>
---
.../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