Motorola CPCAP PMIC device tree binding

Required properties:
- compatible		: One or both of "motorola,cpcap" or "ste,6556002"
- reg			: SPI chip select
- 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>;
				};
			};
		};
	};
};

