GNU Linux-libre 4.19.264-gnu1
[releases.git] / Documentation / devicetree / bindings / mfd / madera.txt
1 Cirrus Logic Madera class audio codecs Multi-Functional Device
2
3 These devices are audio SoCs with extensive digital capabilities and a range
4 of analogue I/O.
5
6 See also the child driver bindings in:
7 bindings/pinctrl/cirrus,madera-pinctrl.txt
8 bindings/regulator/arizona-regulator.txt
9 bindings/sound/madera.txt
10
11 Required properties:
12
13   - compatible : One of the following chip-specific strings:
14         "cirrus,cs47l35"
15         "cirrus,cs47l85"
16         "cirrus,cs47l90"
17         "cirrus,cs47l91"
18         "cirrus,wm1840"
19
20   - reg : I2C slave address when connected using I2C, chip select number when
21     using SPI.
22
23   - DCVDD-supply : Power supply for the device as defined in
24     bindings/regulator/regulator.txt
25     Mandatory on CS47L35, CS47L90, CS47L91
26     Optional on CS47L85, WM1840
27
28   - AVDD-supply, DBVDD1-supply, DBVDD2-supply, CPVDD1-supply, CPVDD2-supply :
29     Power supplies for the device
30
31   - DBVDD3-supply, DBVDD4-supply : Power supplies for the device
32     (CS47L85, CS47L90, CS47L91, WM1840)
33
34   - SPKVDDL-supply, SPKVDDR-supply : Power supplies for the device
35     (CS47L85, WM1840)
36
37   - SPKVDD-supply : Power supply for the device
38     (CS47L35)
39
40   - interrupt-controller : Indicates that this device is an interrupt controller
41
42   - #interrupt-cells: the number of cells to describe an IRQ, must be 2.
43     The first cell is the IRQ number.
44     The second cell is the flags, encoded as the trigger masks from
45     bindings/interrupt-controller/interrupts.txt
46
47   - gpio-controller : Indicates this device is a GPIO controller.
48
49   - #gpio-cells : Must be 2. The first cell is the pin number. The second cell
50     is reserved for future use and must be zero
51
52   - interrupt-parent : The parent interrupt controller.
53
54   - interrupts : The interrupt line the /IRQ signal for the device is
55     connected to.
56
57 Optional properties:
58
59   - MICVDD-supply : Power supply, only need to be specified if
60     powered externally
61
62   - reset-gpios : One entry specifying the GPIO controlling /RESET.
63     As defined in bindings/gpio.txt.
64     Although optional, it is strongly recommended to use a hardware reset
65
66   - MICBIASx : Initial data for the MICBIAS regulators, as covered in
67     Documentation/devicetree/bindings/regulator/regulator.txt.
68     One for each MICBIAS generator (MICBIAS1, MICBIAS2, ...)
69     (all codecs)
70
71     One for each output pin (MICBIAS1A, MIBCIAS1B, MICBIAS2A, ...)
72     (all except CS47L85, WM1840)
73
74     The following following additional property is supported for the generator
75     nodes:
76       - cirrus,ext-cap : Set to 1 if the MICBIAS has external decoupling
77         capacitors attached.
78
79 Optional child nodes:
80     micvdd : Node containing initialization data for the micvdd regulator
81     See bindings/regulator/arizona-regulator.txt
82
83     ldo1 : Node containing initialization data for the LDO1 regulator
84     See bindings/regulator/arizona-regulator.txt
85     (cs47l85, wm1840)
86
87 Example:
88
89 cs47l85@0 {
90         compatible = "cirrus,cs47l85";
91         reg = <0>;
92
93         reset-gpios = <&gpio 0>;
94
95         interrupt-controller;
96         #interrupt-cells = <2>;
97         interrupts = <&host_irq1>;
98         interrupt-parent = <&gic>;
99
100         gpio-controller;
101         #gpio-cells = <2>;
102 };