Merge tag 'cris-for-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/jesper...
[cascardo/linux.git] / Documentation / devicetree / bindings / mfd / ac100.txt
1 X-Powers AC100 Codec/RTC IC Device Tree bindings
2
3 AC100 is a audio codec and RTC subsystem combo IC. The 2 parts are
4 separated, including power supplies and interrupt lines, but share
5 a common register address space and host interface.
6
7 Required properties:
8 - compatible: "x-powers,ac100"
9 - reg: The I2C slave address or RSB hardware address for the chip
10 - sub-nodes:
11   - codec
12     - compatible:               "x-powers,ac100-codec"
13     - interrupt-parent:         The parent interrupt controller
14     - interrupts:               SoC NMI / GPIO interrupt connected to the
15                                 IRQ_AUDIO pin
16     - #clock-cells:             Shall be 0
17     - clock-output-names:       "4M_adda"
18
19     - see clock/clock-bindings.txt for common clock bindings
20
21   - rtc
22     - compatible:               "x-powers,ac100-rtc"
23     - interrupt-parent:         The parent interrupt controller
24     - interrupts:               SoC NMI / GPIO interrupt connected to the
25                                 IRQ_RTC pin
26     - clocks:                   A phandle to the codec's "4M_adda" clock
27     - #clock-cells:             Shall be 1
28     - clock-output-names:       "cko1_rtc", "cko2_rtc", "cko3_rtc"
29
30     - see clock/clock-bindings.txt for common clock bindings
31
32 Example:
33
34 ac100: codec@e89 {
35         compatible = "x-powers,ac100";
36         reg = <0xe89>;
37
38         ac100_codec: codec {
39                 compatible = "x-powers,ac100-codec";
40                 interrupt-parent = <&r_pio>;
41                 interrupts = <0 9 IRQ_TYPE_LEVEL_LOW>; /* PL9 */
42                 #clock-cells = <0>;
43                 clock-output-names = "4M_adda";
44         };
45
46         ac100_rtc: rtc {
47                 compatible = "x-powers,ac100-rtc";
48                 interrupt-parent = <&nmi_intc>;
49                 interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
50                 clocks = <&ac100_codec>;
51                 #clock-cells = <1>;
52                 clock-output-names = "cko1_rtc", "cko2_rtc", "cko3_rtc";
53         };
54 };