xref: /freebsd/sys/contrib/device-tree/Bindings/sound/wm8994.txt (revision 7fdf597e96a02165cfe22ff357b857d5fa15ed8a)
1WM1811/WM8994/WM8958 audio CODEC
2
3These devices support both I2C and SPI (configured with pin strapping
4on the board).
5
6Required properties:
7
8  - compatible : One of "wlf,wm1811", "wlf,wm8994" or "wlf,wm8958".
9
10  - reg : the I2C address of the device for I2C, the chip select
11          number for SPI.
12
13  - gpio-controller : Indicates this device is a GPIO controller.
14  - #gpio-cells : Must be 2. The first cell is the pin number and the
15    second cell is used to specify optional parameters (currently unused).
16
17  - power supplies for the device, as covered in
18    Documentation/devicetree/bindings/regulator/regulator.txt, depending
19    on compatible:
20    - for wlf,wm1811 and wlf,wm8958:
21      AVDD1-supply, AVDD2-supply, DBVDD1-supply, DBVDD2-supply, DBVDD3-supply,
22      DCVDD-supply, CPVDD-supply, SPKVDD1-supply, SPKVDD2-supply
23    - for wlf,wm8994:
24      AVDD1-supply, AVDD2-supply, DBVDD-supply, DCVDD-supply, CPVDD-supply,
25      SPKVDD1-supply, SPKVDD2-supply
26
27Optional properties:
28
29  - interrupts : The interrupt line the IRQ signal for the device is
30    connected to.  This is optional, if it is not connected then none
31    of the interrupt related properties should be specified.
32  - interrupt-controller : These devices contain interrupt controllers
33    and may provide interrupt services to other devices if they have an
34    interrupt line connected.
35  - #interrupt-cells: the number of cells to describe an IRQ, this should be 2.
36    The first cell is the IRQ number.
37    The second cell is the flags, encoded as the trigger masks from
38    Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
39
40  - clocks : A list of up to two phandle and clock specifier pairs
41  - clock-names : A list of clock names sorted in the same order as clocks.
42                  Valid clock names are "MCLK1" and "MCLK2".
43
44  - wlf,gpio-cfg : A list of GPIO configuration register values. If absent,
45    no configuration of these registers is performed. If any value is
46    over 0xffff then the register will be left as default. If present 11
47    values must be supplied.
48
49  - wlf,micbias-cfg : Two MICBIAS register values for WM1811 or
50    WM8958.  If absent the register defaults will be used.
51
52  - wlf,ldo1ena : GPIO specifier for control of LDO1ENA input to device.
53  - wlf,ldo2ena : GPIO specifier for control of LDO2ENA input to device.
54
55  - wlf,lineout1-se : If present LINEOUT1 is in single ended mode.
56  - wlf,lineout2-se : If present LINEOUT2 is in single ended mode.
57
58  - wlf,lineout1-feedback : If present LINEOUT1 has common mode feedback
59    connected.
60  - wlf,lineout2-feedback : If present LINEOUT2 has common mode feedback
61    connected.
62
63  - wlf,ldoena-always-driven : If present LDOENA is always driven.
64
65  - wlf,spkmode-pu : If present enable the internal pull-up resistor on
66    the SPKMODE pin.
67
68  - wlf,csnaddr-pd : If present enable the internal pull-down resistor on
69    the CS/ADDR pin.
70
71Pins on the device (for linking into audio routes):
72
73  * IN1LN
74  * IN1LP
75  * IN2LN
76  * IN2LP:VXRN
77  * IN1RN
78  * IN1RP
79  * IN2RN
80  * IN2RP:VXRP
81  * SPKOUTLP
82  * SPKOUTLN
83  * SPKOUTRP
84  * SPKOUTRN
85  * HPOUT1L
86  * HPOUT1R
87  * HPOUT2P
88  * HPOUT2N
89  * LINEOUT1P
90  * LINEOUT1N
91  * LINEOUT2P
92  * LINEOUT2N
93
94Example:
95
96wm8994: codec@1a {
97	compatible = "wlf,wm8994";
98	reg = <0x1a>;
99
100	gpio-controller;
101	#gpio-cells = <2>;
102
103	lineout1-se;
104
105	AVDD1-supply = <&regulator>;
106	AVDD2-supply = <&regulator>;
107	CPVDD-supply = <&regulator>;
108	DBVDD-supply = <&regulator>;
109	DCVDD-supply = <&regulator>;
110	SPKVDD1-supply = <&regulator>;
111	SPKVDD2-supply = <&regulator>;
112};
113