GNU Linux-libre 4.19.281-gnu1
[releases.git] / Documentation / devicetree / bindings / mfd / arizona.txt
1 Cirrus Logic/Wolfson Microelectronics Arizona class audio SoCs
2
3 These devices are audio SoCs with extensive digital capabilities and a range
4 of analogue I/O.
5
6 Required properties:
7
8   - compatible : One of the following chip-specific strings:
9         "cirrus,cs47l24"
10         "wlf,wm5102"
11         "wlf,wm5110"
12         "wlf,wm8280"
13         "wlf,wm8997"
14         "wlf,wm8998"
15         "wlf,wm1814"
16         "wlf,wm1831"
17
18   - reg : I2C slave address when connected using I2C, chip select number when
19     using SPI.
20
21   - interrupts : The interrupt line the /IRQ signal for the device is
22     connected to.
23   - interrupt-controller : Arizona class devices contain interrupt controllers
24     and may provide interrupt services to other devices.
25   - #interrupt-cells: the number of cells to describe an IRQ, this should be 2.
26     The first cell is the IRQ number.
27     The second cell is the flags, encoded as the trigger masks from
28     Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
29
30   - gpio-controller : Indicates this device is a GPIO controller.
31   - #gpio-cells : Must be 2. The first cell is the pin number and the
32     second cell is used to specify optional parameters, see ../gpio/gpio.txt
33     for details.
34
35   - AVDD-supply, DBVDD1-supply, CPVDD-supply : Power supplies for the device,
36     as covered in Documentation/devicetree/bindings/regulator/regulator.txt
37
38   - DBVDD2-supply, DBVDD3-supply : Additional databus power supplies (wm5102,
39     wm5110, wm8280, wm8998, wm1814)
40
41   - SPKVDDL-supply, SPKVDDR-supply : Speaker driver power supplies (wm5102,
42     wm5110, wm8280, wm8998, wm1814)
43
44   - SPKVDD-supply : Speaker driver power supply (wm8997)
45
46   - DCVDD-supply : Main power supply (cs47l24, wm1831)
47
48   - MICVDD-supply : Microphone power supply (cs47l24, wm1831)
49
50 Optional properties:
51
52   - reset-gpios : GPIO specifier for the GPIO controlling /RESET
53
54   - clocks: Should reference the clocks supplied on MCLK1 and MCLK2
55   - clock-names: Should contains two strings:
56       "mclk1" for the clock supplied on MCLK1, recommended to be a high
57       quality audio reference clock
58       "mclk2" for the clock supplied on MCLK2, recommended to be an always on
59       32k clock
60
61   - wlf,gpio-defaults : A list of GPIO configuration register values. Defines
62     for the appropriate values can found in <dt-bindings/mfd/arizona.txt>. If
63     absent, no configuration of these registers is performed. If any entry has
64     a value that is out of range for a 16 bit register then the chip default
65     will be used. If present exactly five values must be specified.
66
67   - DCVDD-supply, MICVDD-supply : Power supplies, only need to be specified if
68     they are being externally supplied. As covered in
69     Documentation/devicetree/bindings/regulator/regulator.txt
70     (wm5102, wm5110, wm8280, wm8997, wm8998, wm1814)
71
72 Deprecated properties:
73
74   - wlf,reset : GPIO specifier for the GPIO controlling /RESET
75
76 Also see child specific device properties:
77   Regulator - ../regulator/arizona-regulator.txt
78   Extcon    - ../extcon/extcon-arizona.txt
79   Sound     - ../sound/arizona.txt
80
81 Example:
82
83 codec: wm5102@1a {
84         compatible = "wlf,wm5102";
85         reg = <0x1a>;
86         interrupts = <347>;
87         interrupt-controller;
88         #interrupt-cells = <2>;
89         interrupt-parent = <&gic>;
90
91         gpio-controller;
92         #gpio-cells = <2>;
93
94         wlf,gpio-defaults = <
95                 ARIZONA_GP_FN_TXLRCLK
96                 ARIZONA_GP_DEFAULT
97                 ARIZONA_GP_DEFAULT
98                 ARIZONA_GP_DEFAULT
99                 ARIZONA_GP_DEFAULT
100         >;
101 };