Motorola CPCAP PMIC device tree binding

Required properties:
- compatible		: One or both of "motorola,cpcap" or "ste,6556002"
- reg			: SPI chip select
- interrupt-parent	: The parent interrupt controller
- interrupts		: The interrupt line the device is connected to
- interrupt-controller	: Marks the device node as an interrupt controller
- #interrupt-cells	: The number of cells to describe an IRQ, should be 2
- #address-cells	: Child device offset number of cells, should be 1
- #size-cells		: Child device size number of cells, should be 0
- spi-max-frequency	: Typically set to 3000000
- spi-cs-high		: SPI chip select direction

Optional subnodes:

The sub-functions of CPCAP get their own node with their own compatible values,
which are described in the following files:

- ../power/supply/cpcap-battery.txt
- ../power/supply/cpcap-charger.txt
- ../regulator/cpcap-regulator.txt
- ../phy/phy-cpcap-usb.txt
- ../input/cpcap-pwrbutton.txt
- ../rtc/cpcap-rtc.txt
- ../leds/leds-cpcap.txt
- ../iio/adc/cpcap-adc.txt

The only exception is the audio codec. Instead of a compatible value its
node must be named "audio-codec".

Required properties for the audio-codec subnode:

- #sound-dai-cells = <1>;

The audio-codec provides two DAIs. The first one is connected to the
Stereo HiFi DAC and the second one is connected to the Voice DAC.

Example:

&mcspi1 {
	cpcap: pmic@0 {
		compatible = "motorola,cpcap", "ste,6556002";
		reg = <0>;	/* cs0 */
		interrupt-parent = <&gpio1>;
		interrupts = <7 IRQ_TYPE_EDGE_RISING>;
		interrupt-controller;
		#interrupt-cells = <2>;
		#address-cells = <1>;
		#size-cells = <0>;
		spi-max-frequency = <3000000>;
		spi-cs-high;

		audio-codec {
			#sound-dai-cells = <1>;

			/* HiFi */
			port@0 {
				endpoint {
					remote-endpoint = <&cpu_dai1>;
				};
			};

			/* Voice */
			port@1 {
				endpoint {
					remote-endpoint = <&cpu_dai2>;
				};
			};
		};
	};
};

