GNU Linux-libre 4.14.266-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-parent : The parent interrupt controller.
26   - #interrupt-cells: the number of cells to describe an IRQ, this should be 2.
27     The first cell is the IRQ number.
28     The second cell is the flags, encoded as the trigger masks from
29     Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
30
31   - gpio-controller : Indicates this device is a GPIO controller.
32   - #gpio-cells : Must be 2. The first cell is the pin number and the
33     second cell is used to specify optional parameters, see ../gpio/gpio.txt
34     for details.
35
36   - AVDD-supply, DBVDD1-supply, CPVDD-supply : Power supplies for the device,
37     as covered in Documentation/devicetree/bindings/regulator/regulator.txt
38
39   - DBVDD2-supply, DBVDD3-supply : Additional databus power supplies (wm5102,
40     wm5110, wm8280, wm8998, wm1814)
41
42   - SPKVDDL-supply, SPKVDDR-supply : Speaker driver power supplies (wm5102,
43     wm5110, wm8280, wm8998, wm1814)
44
45   - SPKVDD-supply : Speaker driver power supply (wm8997)
46
47   - DCVDD-supply : Main power supply (cs47l24, wm1831)
48
49   - MICVDD-supply : Microphone power supply (cs47l24, wm1831)
50
51 Optional properties:
52
53   - wlf,reset : GPIO specifier for the GPIO controlling /RESET
54
55   - clocks: Should reference the clocks supplied on MCLK1 and MCLK2
56   - clock-names: Should contains two strings:
57       "mclk1" for the clock supplied on MCLK1, recommended to be a high
58       quality audio reference clock
59       "mclk2" for the clock supplied on MCLK2, recommended to be an always on
60       32k clock
61
62   - wlf,gpio-defaults : A list of GPIO configuration register values. Defines
63     for the appropriate values can found in <dt-bindings/mfd/arizona.txt>. If
64     absent, no configuration of these registers is performed. If any entry has
65     a value that is out of range for a 16 bit register then the chip default
66     will be used. If present exactly five values must be specified.
67
68   - wlf,inmode : A list of INn_MODE register values, where n is the number
69     of input signals. Valid values are 0 (Differential), 1 (Single-ended) and
70     2 (Digital Microphone). If absent, INn_MODE registers set to 0 by default.
71     If present, values must be specified less than or equal to the number of
72     input signals. If values less than the number of input signals, elements
73     that have not been specified are set to 0 by default. Entries are:
74     <IN1, IN2, IN3, IN4> (wm5102, wm5110, wm8280, wm8997)
75     <IN1A, IN2A, IN1B, IN2B> (wm8998, wm1814)
76   - wlf,out-mono : A list of boolean values indicating whether each output is
77     mono or stereo. Position within the list indicates the output affected
78     (eg. First entry in the list corresponds to output 1). A non-zero value
79     indicates a mono output. If present, the number of values should be less
80     than or equal to the number of outputs, if less values are supplied the
81     additional outputs will be treated as stereo.
82
83   - wlf,dmic-ref : DMIC reference voltage source for each input, can be
84     selected from either MICVDD or one of the MICBIAS's, defines
85     (ARIZONA_DMIC_xxxx) are provided in <dt-bindings/mfd/arizona.txt>. If
86     present, the number of values should be less than or equal to the
87     number of inputs, unspecified inputs will use the chip default.
88
89   - wlf,max-channels-clocked : The maximum number of channels to be clocked on
90     each AIF, useful for I2S systems with multiple data lines being mastered.
91     Specify one cell for each AIF to be configured, specify zero for AIFs that
92     should be handled normally.
93     If present, number of cells must be less than or equal to the number of
94     AIFs. If less than the number of AIFs, for cells that have not been
95     specified the corresponding AIFs will be treated as default setting.
96
97   - wlf,spk-fmt : PDM speaker data format, must contain 2 cells (OUT5 and OUT6).
98     See the datasheet for values.
99     The second cell is ignored for codecs that do not have OUT6 (wm5102, wm8997,
100       wm8998, wm1814)
101
102   - wlf,spk-mute : PDM speaker mute setting, must contain 2 cells (OUT5 and OUT6).
103     See the datasheet for values.
104     The second cell is ignored for codecs that do not have OUT6 (wm5102, wm8997,
105     wm8998, wm1814)
106
107   - DCVDD-supply, MICVDD-supply : Power supplies, only need to be specified if
108     they are being externally supplied. As covered in
109     Documentation/devicetree/bindings/regulator/regulator.txt
110     (wm5102, wm5110, wm8280, wm8997, wm8998, wm1814)
111
112 Also see child specific device properties:
113   Regulator - ../regulator/arizona-regulator.txt
114   Extcon    - ../extcon/extcon-arizona.txt
115
116 Example:
117
118 codec: wm5102@1a {
119         compatible = "wlf,wm5102";
120         reg = <0x1a>;
121         interrupts = <347>;
122         interrupt-controller;
123         #interrupt-cells = <2>;
124         interrupt-parent = <&gic>;
125
126         gpio-controller;
127         #gpio-cells = <2>;
128
129         wlf,gpio-defaults = <
130                 ARIZONA_GP_FN_TXLRCLK
131                 ARIZONA_GP_DEFAULT
132                 ARIZONA_GP_DEFAULT
133                 ARIZONA_GP_DEFAULT
134                 ARIZONA_GP_DEFAULT
135         >;
136 };