Synaptics RMI4 I2C Device Binding

The Synaptics RMI4 core is able to support RMI4 devices using different
transports and different functions. This file describes the device tree
bindings for devices using the I2C transport driver. Complete documentation
for other transports and functions can be found in
Documentation/devicetree/bindings/input/rmi4.

Required Properties:
- compatible: syna,rmi4-i2c
- reg: I2C address
- #address-cells: Set to 1 to indicate that the function child nodes
		    consist of only on uint32 value.
- #size-cells: Set to 0 to indicate that the function child nodes do not
		have a size property.

Optional Properties:
- interrupts: interrupt which the rmi device is connected to.
- interrupt-parent: The interrupt controller.
See Documentation/devicetree/bindings/interrupt-controller/interrupts.txt

- syna,reset-delay-ms: The number of milliseconds to wait after resetting the
			device.

- syna,startup-delay-ms: The number of milliseconds to wait after powering on
			 the device.

- vdd-supply: VDD power supply.
See ../regulator/regulator.txt

- vio-supply: VIO power supply
See ../regulator/regulator.txt

Function Parameters:
Parameters specific to RMI functions are contained in child nodes of the rmi device
 node. Documentation for the parameters of each function can be found in:
Documentation/devicetree/bindings/input/rmi4/rmi_f*.txt.



Example:
	&i2c1 {
		rmi4-i2c-dev@2c {
			compatible = "syna,rmi4-i2c";
			reg = <0x2c>;
			#address-cells = <1>;
			#size-cells = <0>;
			interrupt-parent = <&gpio>;
			interrupts = <4 2>;

			rmi4-f01@1 {
				reg = <0x1>;
				syna,nosleep-mode = <1>;
			};

			rmi4-f11@11 {
				reg = <0x11>;
				touchscreen-inverted-y;
				syna,sensor-type = <2>;
			};
		};
	};
