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