135 lines
5.5 KiB
Text
135 lines
5.5 KiB
Text
Cirrus Logic/Wolfson Microelectronics Arizona class audio SoCs
|
|
|
|
These devices are audio SoCs with extensive digital capabilities and a range
|
|
of analogue I/O.
|
|
|
|
Required properties:
|
|
|
|
- compatible : One of the following chip-specific strings:
|
|
"cirrus,cs47l24"
|
|
"wlf,wm5102"
|
|
"wlf,wm5110"
|
|
"wlf,wm8280"
|
|
"wlf,wm8997"
|
|
"wlf,wm8998"
|
|
"wlf,wm1814"
|
|
"wlf,wm1831"
|
|
|
|
- reg : I2C slave address when connected using I2C, chip select number when
|
|
using SPI.
|
|
|
|
- interrupts : The interrupt line the /IRQ signal for the device is
|
|
connected to.
|
|
- interrupt-controller : Arizona class devices contain interrupt controllers
|
|
and may provide interrupt services to other devices.
|
|
- interrupt-parent : The parent interrupt controller.
|
|
- #interrupt-cells: the number of cells to describe an IRQ, this should be 2.
|
|
The first cell is the IRQ number.
|
|
The second cell is the flags, encoded as the trigger masks from
|
|
Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
|
|
|
|
- gpio-controller : Indicates this device is a GPIO controller.
|
|
- #gpio-cells : Must be 2. The first cell is the pin number and the
|
|
second cell is used to specify optional parameters (currently unused).
|
|
|
|
- AVDD-supply, DBVDD1-supply, CPVDD-supply : Power supplies for the device,
|
|
as covered in Documentation/devicetree/bindings/regulator/regulator.txt
|
|
|
|
- DBVDD2-supply, DBVDD3-supply : Additional databus power supplies (wm5102,
|
|
wm5110, wm8280, wm8998, wm1814)
|
|
|
|
- SPKVDDL-supply, SPKVDDR-supply : Speaker driver power supplies (wm5102,
|
|
wm5110, wm8280, wm8998, wm1814)
|
|
|
|
- SPKVDD-supply : Speaker driver power supply (wm8997)
|
|
|
|
- DCVDD-supply : Main power supply (cs47l24, wm1831)
|
|
|
|
- MICVDD-supply : Microphone power supply (cs47l24, wm1831)
|
|
|
|
Optional properties:
|
|
|
|
- wlf,reset : GPIO specifier for the GPIO controlling /RESET
|
|
|
|
- clocks: Should reference the clocks supplied on MCLK1 and MCLK2
|
|
- clock-names: Should contains two strings:
|
|
"mclk1" for the clock supplied on MCLK1, recommended to be a high
|
|
quality audio reference clock
|
|
"mclk2" for the clock supplied on MCLK2, recommended to be an always on
|
|
32k clock
|
|
|
|
- wlf,gpio-defaults : A list of GPIO configuration register values. Defines
|
|
for the appropriate values can found in <dt-bindings/mfd/arizona.txt>. If
|
|
absent, no configuration of these registers is performed. If any entry has
|
|
a value that is out of range for a 16 bit register then the chip default
|
|
will be used. If present exactly five values must be specified.
|
|
|
|
- wlf,inmode : A list of INn_MODE register values, where n is the number
|
|
of input signals. Valid values are 0 (Differential), 1 (Single-ended) and
|
|
2 (Digital Microphone). If absent, INn_MODE registers set to 0 by default.
|
|
If present, values must be specified less than or equal to the number of
|
|
input signals. If values less than the number of input signals, elements
|
|
that have not been specified are set to 0 by default. Entries are:
|
|
<IN1, IN2, IN3, IN4> (wm5102, wm5110, wm8280, wm8997)
|
|
<IN1A, IN2A, IN1B, IN2B> (wm8998, wm1814)
|
|
- wlf,out-mono : A list of boolean values indicating whether each output is
|
|
mono or stereo. Position within the list indicates the output affected
|
|
(eg. First entry in the list corresponds to output 1). A non-zero value
|
|
indicates a mono output. If present, the number of values should be less
|
|
than or equal to the number of outputs, if less values are supplied the
|
|
additional outputs will be treated as stereo.
|
|
|
|
- wlf,dmic-ref : DMIC reference voltage source for each input, can be
|
|
selected from either MICVDD or one of the MICBIAS's, defines
|
|
(ARIZONA_DMIC_xxxx) are provided in <dt-bindings/mfd/arizona.txt>. If
|
|
present, the number of values should be less than or equal to the
|
|
number of inputs, unspecified inputs will use the chip default.
|
|
|
|
- wlf,max-channels-clocked : The maximum number of channels to be clocked on
|
|
each AIF, useful for I2S systems with multiple data lines being mastered.
|
|
Specify one cell for each AIF to be configured, specify zero for AIFs that
|
|
should be handled normally.
|
|
If present, number of cells must be less than or equal to the number of
|
|
AIFs. If less than the number of AIFs, for cells that have not been
|
|
specified the corresponding AIFs will be treated as default setting.
|
|
|
|
- wlf,spk-fmt : PDM speaker data format, must contain 2 cells (OUT5 and OUT6).
|
|
See the datasheet for values.
|
|
The second cell is ignored for codecs that do not have OUT6 (wm5102, wm8997,
|
|
wm8998, wm1814)
|
|
|
|
- wlf,spk-mute : PDM speaker mute setting, must contain 2 cells (OUT5 and OUT6).
|
|
See the datasheet for values.
|
|
The second cell is ignored for codecs that do not have OUT6 (wm5102, wm8997,
|
|
wm8998, wm1814)
|
|
|
|
- DCVDD-supply, MICVDD-supply : Power supplies, only need to be specified if
|
|
they are being externally supplied. As covered in
|
|
Documentation/devicetree/bindings/regulator/regulator.txt
|
|
(wm5102, wm5110, wm8280, wm8997, wm8998, wm1814)
|
|
|
|
Also see child specific device properties:
|
|
Regulator - ../regulator/arizona-regulator.txt
|
|
Extcon - ../extcon/extcon-arizona.txt
|
|
|
|
Example:
|
|
|
|
codec: wm5102@1a {
|
|
compatible = "wlf,wm5102";
|
|
reg = <0x1a>;
|
|
interrupts = <347>;
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
interrupt-parent = <&gic>;
|
|
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
|
|
wlf,gpio-defaults = <
|
|
ARIZONA_GP_FN_TXLRCLK
|
|
ARIZONA_GP_DEFAULT
|
|
ARIZONA_GP_DEFAULT
|
|
ARIZONA_GP_DEFAULT
|
|
ARIZONA_GP_DEFAULT
|
|
>;
|
|
};
|