xref: /freebsd/sys/contrib/device-tree/Bindings/mfd/ac100.txt (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel VadotX-Powers AC100 Codec/RTC IC Device Tree bindings
2*c66ec88fSEmmanuel Vadot
3*c66ec88fSEmmanuel VadotAC100 is a audio codec and RTC subsystem combo IC. The 2 parts are
4*c66ec88fSEmmanuel Vadotseparated, including power supplies and interrupt lines, but share
5*c66ec88fSEmmanuel Vadota common register address space and host interface.
6*c66ec88fSEmmanuel Vadot
7*c66ec88fSEmmanuel VadotRequired properties:
8*c66ec88fSEmmanuel Vadot- compatible: "x-powers,ac100"
9*c66ec88fSEmmanuel Vadot- reg: The I2C slave address or RSB hardware address for the chip
10*c66ec88fSEmmanuel Vadot- sub-nodes:
11*c66ec88fSEmmanuel Vadot  - codec
12*c66ec88fSEmmanuel Vadot    - compatible:		"x-powers,ac100-codec"
13*c66ec88fSEmmanuel Vadot    - interrupts:		SoC NMI / GPIO interrupt connected to the
14*c66ec88fSEmmanuel Vadot    				IRQ_AUDIO pin
15*c66ec88fSEmmanuel Vadot    - #clock-cells:		Shall be 0
16*c66ec88fSEmmanuel Vadot    - clock-output-names:	"4M_adda"
17*c66ec88fSEmmanuel Vadot
18*c66ec88fSEmmanuel Vadot    - see clock/clock-bindings.txt for common clock bindings
19*c66ec88fSEmmanuel Vadot
20*c66ec88fSEmmanuel Vadot  - rtc
21*c66ec88fSEmmanuel Vadot    - compatible:		"x-powers,ac100-rtc"
22*c66ec88fSEmmanuel Vadot    - clocks:			A phandle to the codec's "4M_adda" clock
23*c66ec88fSEmmanuel Vadot    - #clock-cells:		Shall be 1
24*c66ec88fSEmmanuel Vadot    - clock-output-names:	"cko1_rtc", "cko2_rtc", "cko3_rtc"
25*c66ec88fSEmmanuel Vadot
26*c66ec88fSEmmanuel Vadot    - see clock/clock-bindings.txt for common clock bindings
27*c66ec88fSEmmanuel Vadot
28*c66ec88fSEmmanuel VadotExample:
29*c66ec88fSEmmanuel Vadot
30*c66ec88fSEmmanuel Vadotac100: codec@e89 {
31*c66ec88fSEmmanuel Vadot	compatible = "x-powers,ac100";
32*c66ec88fSEmmanuel Vadot	reg = <0xe89>;
33*c66ec88fSEmmanuel Vadot
34*c66ec88fSEmmanuel Vadot	ac100_codec: codec {
35*c66ec88fSEmmanuel Vadot		compatible = "x-powers,ac100-codec";
36*c66ec88fSEmmanuel Vadot		interrupt-parent = <&r_pio>;
37*c66ec88fSEmmanuel Vadot		interrupts = <0 9 IRQ_TYPE_LEVEL_LOW>; /* PL9 */
38*c66ec88fSEmmanuel Vadot		#clock-cells = <0>;
39*c66ec88fSEmmanuel Vadot		clock-output-names = "4M_adda";
40*c66ec88fSEmmanuel Vadot	};
41*c66ec88fSEmmanuel Vadot
42*c66ec88fSEmmanuel Vadot	ac100_rtc: rtc {
43*c66ec88fSEmmanuel Vadot		compatible = "x-powers,ac100-rtc";
44*c66ec88fSEmmanuel Vadot		interrupt-parent = <&nmi_intc>;
45*c66ec88fSEmmanuel Vadot		interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
46*c66ec88fSEmmanuel Vadot		clocks = <&ac100_codec>;
47*c66ec88fSEmmanuel Vadot		#clock-cells = <1>;
48*c66ec88fSEmmanuel Vadot		clock-output-names = "cko1_rtc", "cko2_rtc", "cko3_rtc";
49*c66ec88fSEmmanuel Vadot	};
50*c66ec88fSEmmanuel Vadot};
51