Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / mfd / motorola-cpcap.txt
1 Motorola CPCAP PMIC device tree binding
2
3 Required 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
14 Optional subnodes:
15
16 The sub-functions of CPCAP get their own node with their own compatible values,
17 which are described in the following files:
18
19 - Documentation/devicetree/bindings/power/supply/cpcap-battery.yaml
20 - Documentation/devicetree/bindings/power/supply/cpcap-charger.yaml
21 - Documentation/devicetree/bindings/regulator/cpcap-regulator.txt
22 - Documentation/devicetree/bindings/phy/phy-cpcap-usb.txt
23 - Documentation/devicetree/bindings/input/cpcap-pwrbutton.txt
24 - Documentation/devicetree/bindings/rtc/cpcap-rtc.txt
25 - Documentation/devicetree/bindings/leds/leds-cpcap.txt
26 - Documentation/devicetree/bindings/iio/adc/motorola,cpcap-adc.yaml
27
28 The only exception is the audio codec. Instead of a compatible value its
29 node must be named "audio-codec".
30
31 Required properties for the audio-codec subnode:
32
33 - #sound-dai-cells = <1>;
34
35 The audio-codec provides two DAIs. The first one is connected to the
36 Stereo HiFi DAC and the second one is connected to the Voice DAC.
37
38 Example:
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