summaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/mfd/ac100.txt
blob: b8ef0066759985a1f8543442c77f780d0946d8e7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
X-Powers AC100 Codec/RTC IC Device Tree bindings

AC100 is a audio codec and RTC subsystem combo IC. The 2 parts are
separated, including power supplies and interrupt lines, but share
a common register address space and host interface.

Required properties:
- compatible: "x-powers,ac100"
- reg: The I2C slave address or RSB hardware address for the chip
- sub-nodes:
  - codec
    - compatible:		"x-powers,ac100-codec"
    - interrupt-parent:		The parent interrupt controller
    - interrupts:		SoC NMI / GPIO interrupt connected to the
    				IRQ_AUDIO pin
    - #clock-cells:		Shall be 0
    - clock-output-names:	"4M_adda"

    - see clock/clock-bindings.txt for common clock bindings

  - rtc
    - compatible:		"x-powers,ac100-rtc"
    - interrupt-parent:		The parent interrupt controller
    - interrupts:		SoC NMI / GPIO interrupt connected to the
    				IRQ_RTC pin
    - clocks:			A phandle to the codec's "4M_adda" clock
    - #clock-cells:		Shall be 1
    - clock-output-names:	"cko1_rtc", "cko2_rtc", "cko3_rtc"

    - see clock/clock-bindings.txt for common clock bindings

Example:

ac100: codec@e89 {
	compatible = "x-powers,ac100";
	reg = <0xe89>;

	ac100_codec: codec {
		compatible = "x-powers,ac100-codec";
		interrupt-parent = <&r_pio>;
		interrupts = <0 9 IRQ_TYPE_LEVEL_LOW>; /* PL9 */
		#clock-cells = <0>;
		clock-output-names = "4M_adda";
	};

	ac100_rtc: rtc {
		compatible = "x-powers,ac100-rtc";
		interrupt-parent = <&nmi_intc>;
		interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
		clocks = <&ac100_codec>;
		#clock-cells = <1>;
		clock-output-names = "cko1_rtc", "cko2_rtc", "cko3_rtc";
	};
};