xref: /freebsd/sys/contrib/device-tree/Bindings/mfd/motorola-cpcap.txt (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1Motorola CPCAP PMIC device tree binding
2
3Required properties:
4- compatible		: One or both of "motorola,cpcap" or "ste,6556002"
5- reg			: SPI chip select
6- interrupts		: The interrupt line the device is connected to
7- interrupt-controller	: Marks the device node as an interrupt controller
8- #interrupt-cells	: The number of cells to describe an IRQ, should be 2
9- #address-cells	: Child device offset number of cells, should be 1
10- #size-cells		: Child device size number of cells, should be 0
11- spi-max-frequency	: Typically set to 3000000
12- spi-cs-high		: SPI chip select direction
13
14Optional subnodes:
15
16The sub-functions of CPCAP get their own node with their own compatible values,
17which are described in the following files:
18
19- ../power/supply/cpcap-battery.txt
20- ../power/supply/cpcap-charger.txt
21- ../regulator/cpcap-regulator.txt
22- ../phy/phy-cpcap-usb.txt
23- ../input/cpcap-pwrbutton.txt
24- ../rtc/cpcap-rtc.txt
25- ../leds/leds-cpcap.txt
26- ../iio/adc/cpcap-adc.txt
27
28The only exception is the audio codec. Instead of a compatible value its
29node must be named "audio-codec".
30
31Required properties for the audio-codec subnode:
32
33- #sound-dai-cells = <1>;
34
35The audio-codec provides two DAIs. The first one is connected to the
36Stereo HiFi DAC and the second one is connected to the Voice DAC.
37
38Example:
39
40&mcspi1 {
41	cpcap: pmic@0 {
42		compatible = "motorola,cpcap", "ste,6556002";
43		reg = <0>;	/* cs0 */
44		interrupt-parent = <&gpio1>;
45		interrupts = <7 IRQ_TYPE_EDGE_RISING>;
46		interrupt-controller;
47		#interrupt-cells = <2>;
48		#address-cells = <1>;
49		#size-cells = <0>;
50		spi-max-frequency = <3000000>;
51		spi-cs-high;
52
53		audio-codec {
54			#sound-dai-cells = <1>;
55
56			/* HiFi */
57			port@0 {
58				endpoint {
59					remote-endpoint = <&cpu_dai1>;
60				};
61			};
62
63			/* Voice */
64			port@1 {
65				endpoint {
66					remote-endpoint = <&cpu_dai2>;
67				};
68			};
69		};
70	};
71};
72
73