blob: 5ddcc8f4febc08b631a23d9bd15d35921267ffaa [file] [log] [blame]
Tony Lindgren56e1d402017-01-05 16:44:39 -08001Motorola CPCAP PMIC device tree binding
2
3Required properties:
4- compatible : One or both of "motorola,cpcap" or "ste,6556002"
5- reg : SPI chip select
Tony Lindgren56e1d402017-01-05 16:44:39 -08006- 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
Sebastian Reichelfab54642018-03-30 14:58:23 +020014Optional 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
Tony Lindgren56e1d402017-01-05 16:44:39 -080038Example:
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;
Sebastian Reichelfab54642018-03-30 14:58:23 +020052
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 };
Tony Lindgren56e1d402017-01-05 16:44:39 -080070 };
71};
72