* Digi I/O Expander

The I/O Expander consists of a group of sub-devices (I2C Only):

Device                   Description
------                   ------------
adc                      ADC channels (multiplexed with IOs)
gpio                     IO pins (multiplexed with ADCs)

======

Required properties:

- compatible : Should be "digi,mca_ioexp"
- reg : Specifies the I2C slave address (this defaults to 0x6e but it can be
  modified to match the chip's OTP settings).
- interrupt-parent : Specifies the reference to the interrupt controller for
  the I/O Expander.
- interrupts : IRQ line information.
- interrupt-controller

Optional properties:

- restore-config-on-resume : Read configuration registers before going to sleep
  and write them back on resume, allowing the I/O Expander to be powered off.
  This also disables the IRQ of this device which means that it will not be
  available as a wake-up source.

Sub-nodes:

- adc : This node defines settings for the ADC channels associated with the
  I/O Expander. Refer to binding at:
  "Documentation/devicetree/bindings/iio/adc/digi,mca-ioexp-adc.txt"

- gpio : This node defines settings for the GPIO pins associated with the I/O
  Expander.
  Refer to binding at:
  "Documentation/devicetree/bindings/gpio/gpio-mca-ioexp.txt"

Example:

	mca_ioexp: mca_io@6e {
		compatible = "digi,mca_ioexp";
		reg = <0x6e>;
		interrupt-parent = <&mca_gpio>;
		interrupts = <0 IRQ_TYPE_EDGE_FALLING>;
		status = "okay";

		interrupt-controller;
		#interrupt-cells = <2>;
		pinctrl-names = "default";

		restore-config-on-resume;

		mca_ioexp_gpio: gpio {
			compatible = "digi,mca-ioexp-gpio";
			gpio-controller;
			#gpio-cells = <2>;

			interrupt-parent = <&mca_ioexp>;
			interrupt-controller;
			#interrupt-cells = <2>;
		};

		mca_ioexp_adc: adc {
			compatible = "digi,mca-ioexp-adc";
			digi,adc-vref = <3300000>;
		};
	};
