Skip to content

Commit 4a6baf1

Browse files
committed
Merge tag 'asoc-v4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus
ASoC: Updates for v4.8 Not really any framework work this time around (though we have seen one of the Analog Devices drivers move more to the clock API which is good to see) but rather a lot of new drivers: - Lots of updates for the Intel drivers, mostly board support and bug fixing, and to the NAU8825 driver. - Work on generalizing bits of simple-card to allow more code sharing with the Renesas rsrc-card (which can't use simple-card due to DPCM). - Removal of the Odroid X2 driver due to replacement with simple-card. - Support for several new Mediatek platforms and associated boards. - New drivers for Allwinner A10, Analog Devices ADAU7002, Broadcom Cygnus, Cirrus Logic CS35L33 and CS53L30, Maxim MAX8960 and MAX98504, Realtek RT5514 and Wolfson WM8758
2 parents cf81d6b + e7ca8fc commit 4a6baf1

File tree

745 files changed

+24746
-6078
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

745 files changed

+24746
-6078
lines changed

Documentation/devicetree/bindings/sound/adi,adau17x1.txt

+8
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,20 @@ Required properties:
1313
- reg: The i2c address. Value depends on the state of ADDR0
1414
and ADDR1, as wired in hardware.
1515

16+
Optional properties:
17+
- clock-names: If provided must be "mclk".
18+
- clocks: phandle + clock-specifiers for the clock that provides
19+
the audio master clock for the device.
20+
1621
Examples:
1722
#include <dt-bindings/sound/adau17x1.h>
1823

1924
i2c_bus {
2025
adau1361@38 {
2126
compatible = "adi,adau1761";
2227
reg = <0x38>;
28+
29+
clock-names = "mclk";
30+
clocks = <&audio_clock>;
2331
};
2432
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
Analog Devices ADAU7002 Stereo PDM-to-I2S/TDM Converter
2+
3+
Required properties:
4+
5+
- compatible: Must be "adi,adau7002"
6+
7+
Optional properties:
8+
9+
- IOVDD-supply: Phandle and specifier for the power supply providing the IOVDD
10+
supply as covered in Documentation/devicetree/bindings/regulator/regulator.txt
11+
12+
If this property is not present it is assumed that the supply pin is
13+
hardwired to always on.
14+
15+
Example:
16+
adau7002: pdm-to-i2s {
17+
compatible = "adi,adau7002";
18+
IOVDD-supply = <&supply>;
19+
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
BROADCOM Cygnus Audio I2S/TDM/SPDIF controller
2+
3+
Required properties:
4+
- compatible : "brcm,cygnus-audio"
5+
- #address-cells: 32bit valued, 1 cell.
6+
- #size-cells: 32bit valued, 0 cell.
7+
- reg : Should contain audio registers location and length
8+
- reg-names: names of the registers listed in "reg" property
9+
Valid names are "aud" and "i2s_in". "aud" contains a
10+
set of DMA, I2S_OUT and SPDIF registers. "i2s_in" contains
11+
a set of I2S_IN registers.
12+
- clocks: PLL and leaf clocks used by audio ports
13+
- assigned-clocks: PLL and leaf clocks
14+
- assigned-clock-parents: parent clocks of the assigned clocks
15+
(usually the PLL)
16+
- assigned-clock-rates: List of clock frequencies of the
17+
assigned clocks
18+
- clock-names: names of 3 leaf clocks used by audio ports
19+
Valid names are "ch0_audio", "ch1_audio", "ch2_audio"
20+
- interrupts: audio DMA interrupt number
21+
22+
SSP Subnode properties:
23+
- reg: The index of ssp port interface to use
24+
Valid value are 0, 1, 2, or 3 (for spdif)
25+
26+
Example:
27+
cygnus_audio: audio@180ae000 {
28+
compatible = "brcm,cygnus-audio";
29+
#address-cells = <1>;
30+
#size-cells = <0>;
31+
reg = <0x180ae000 0xafd>, <0x180aec00 0x1f8>;
32+
reg-names = "aud", "i2s_in";
33+
clocks = <&audiopll BCM_CYGNUS_AUDIOPLL_CH0>,
34+
<&audiopll BCM_CYGNUS_AUDIOPLL_CH1>,
35+
<&audiopll BCM_CYGNUS_AUDIOPLL_CH2>;
36+
assigned-clocks = <&audiopll BCM_CYGNUS_AUDIOPLL>,
37+
<&audiopll BCM_CYGNUS_AUDIOPLL_CH0>,
38+
<&audiopll BCM_CYGNUS_AUDIOPLL_CH1>,
39+
<&audiopll BCM_CYGNUS_AUDIOPLL_CH2>;
40+
assigned-clock-parents = <&audiopll BCM_CYGNUS_AUDIOPLL>;
41+
assigned-clock-rates = <1769470191>,
42+
<0>,
43+
<0>,
44+
<0>;
45+
clock-names = "ch0_audio", "ch1_audio", "ch2_audio";
46+
interrupts = <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
47+
48+
ssp0: ssp_port@0 {
49+
reg = <0>;
50+
status = "okay";
51+
};
52+
53+
ssp1: ssp_port@1 {
54+
reg = <1>;
55+
status = "disabled";
56+
};
57+
58+
ssp2: ssp_port@2 {
59+
reg = <2>;
60+
status = "disabled";
61+
};
62+
63+
spdif: spdif_port@3 {
64+
reg = <3>;
65+
status = "disabled";
66+
};
67+
};

Documentation/devicetree/bindings/sound/bt-sco.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ This device support generic Bluetooth SCO link.
44

55
Required properties:
66

7-
- compatible : "delta,dfbmcs320"
7+
- compatible : "delta,dfbmcs320" or "linux,bt-sco"
88

99
Example:
1010

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,126 @@
1+
CS35L33 Speaker Amplifier
2+
3+
Required properties:
4+
5+
- compatible : "cirrus,cs35l33"
6+
7+
- reg : the I2C address of the device for I2C
8+
9+
- VA-supply, VP-supply : power supplies for the device,
10+
as covered in
11+
Documentation/devicetree/bindings/regulator/regulator.txt.
12+
13+
Optional properties:
14+
15+
- reset-gpios : gpio used to reset the amplifier
16+
17+
- interrupt-parent : Specifies the phandle of the interrupt controller to
18+
which the IRQs from CS35L33 are delivered to.
19+
- interrupts : IRQ line info CS35L33.
20+
(See Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
21+
for further information relating to interrupt properties)
22+
23+
- cirrus,boost-ctl : Booster voltage use to supply the amp. If the value is
24+
0, then VBST = VP. If greater than 0, the boost voltage will be 3300mV with
25+
a value of 1 and will increase at a step size of 100mV until a maximum of
26+
8000mV.
27+
28+
- cirrus,ramp-rate : On power up, it affects the time from when the power
29+
up sequence begins to the time the audio reaches a full-scale output.
30+
On power down, it affects the time from when the power-down sequence
31+
begins to when the amplifier disables the PWM outputs. If this property
32+
is not set then soft ramping will be disabled and ramp time would be
33+
20ms. If this property is set to 0,1,2,3 then ramp times would be 40ms,
34+
60ms,100ms,175ms respectively for 48KHz sample rate.
35+
36+
- cirrus,boost-ipk : The maximum current allowed for the boost converter.
37+
The range starts at 1850000uA and goes to a maximum of 3600000uA
38+
with a step size of 15625uA. The default is 2500000uA.
39+
40+
- cirrus,imon-adc-scale : Configures the scaling of data bits from the IMON
41+
ADC data word. This property can be set as a value of 0 for bits 15 down
42+
to 0, 6 for 21 down to 6, 7, for 22 down to 7, 8 for 23 down to 8.
43+
44+
45+
Optional H/G Algorithm sub-node:
46+
47+
The cs35l33 node can have a single "cirrus,hg-algo" sub-node that will enable
48+
the internal H/G Algorithm.
49+
50+
- cirrus,hg-algo : Sub-node for internal Class H/G algorithm that
51+
controls the amplifier supplies.
52+
53+
Optional properties for the "cirrus,hg-algo" sub-node:
54+
55+
- cirrus,mem-depth : Memory depth for the Class H/G algorithm measured in
56+
LRCLK cycles. If this property is set to 0, 1, 2, or 3 then the memory
57+
depths will be 1, 4, 8, 16 LRCLK cycles. The default is 16 LRCLK cycles.
58+
59+
cirrus,release-rate : The number of consecutive LRCLK periods before
60+
allowing release condition tracking updates. The number of LRCLK periods
61+
start at 3 to a maximum of 255.
62+
63+
- cirrus,ldo-thld : Configures the signal threshold at which the PWM output
64+
stage enters LDO operation. Starts as a default value of 50mV for a value
65+
of 1 and increases with a step size of 50mV to a maximum of 750mV (value of
66+
0xF).
67+
68+
- cirrus,ldo-path-disable : This is a boolean property. If present, the H/G
69+
algorithm uses the max detection path. If not present, the LDO
70+
detection path is used.
71+
72+
- cirrus,ldo-entry-delay : The LDO entry delay in milliseconds before the H/G
73+
algorithm switches to the LDO voltage. This property can be set to values
74+
from 0 to 7 for delays of 5ms, 10ms, 50ms, 100ms, 200ms, 500ms, 1000ms.
75+
The default is 100ms.
76+
77+
- cirrus,vp-hg-auto : This is a boolean property. When set, class H/G VPhg
78+
automatic updating is enabled.
79+
80+
- cirrus,vp-hg : Class H/G algorithm VPhg. Controls the H/G algorithm's
81+
reference to the VP voltage for when to start generating a boosted VBST.
82+
The reference voltage starts at 3000mV with a value of 0x3 and is increased
83+
by 100mV per step to a maximum of 5500mV.
84+
85+
- cirrus,vp-hg-rate : The rate (number of LRCLK periods) at which the VPhg is
86+
allowed to increase to a higher voltage when using VPhg automatic
87+
tracking. This property can be set to values from 0 to 3 with rates of 128
88+
periods, 2048 periods, 32768 periods, and 524288 periods.
89+
The default is 32768 periods.
90+
91+
- cirrus,vp-hg-va : VA calculation reference for automatic VPhg tracking
92+
using VPMON. This property can be set to values from 0 to 6 starting at
93+
1800mV with a step size of 50mV up to a maximum value of 1750mV.
94+
Default is 1800mV.
95+
96+
Example:
97+
98+
cs35l33: cs35l33@40 {
99+
compatible = "cirrus,cs35l33";
100+
reg = <0x40>;
101+
102+
VA-supply = <&ldo5_reg>;
103+
VP-supply = <&ldo5_reg>;
104+
105+
interrupt-parent = <&gpio8>;
106+
interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
107+
108+
reset-gpios = <&cs47l91 34 0>;
109+
110+
cirrus,ramp-rate = <0x0>;
111+
cirrus,boost-ctl = <0x30>; /* VBST = 8000mV */
112+
cirrus,boost-ipk = <0xE0>; /* 3600mA */
113+
cirrus,imon-adc-scale = <0> /* Bits 15 down to 0 */
114+
115+
cirrus,hg-algo {
116+
cirrus,mem-depth = <0x3>;
117+
cirrus,release-rate = <0x3>;
118+
cirrus,ldo-thld = <0x1>;
119+
cirrus,ldo-path-disable = <0x0>;
120+
cirrus,ldo-entry-delay=<0x4>;
121+
cirrus,vp-hg-auto;
122+
cirrus,vp-hg=<0xF>;
123+
cirrus,vp-hg-rate=<0x2>;
124+
cirrus,vp-hg-va=<0x0>;
125+
};
126+
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
CS53L30 audio CODEC
2+
3+
Required properties:
4+
5+
- compatible : "cirrus,cs53l30"
6+
7+
- reg : the I2C address of the device
8+
9+
- VA-supply, VP-supply : power supplies for the device,
10+
as covered in Documentation/devicetree/bindings/regulator/regulator.txt.
11+
12+
Optional properties:
13+
14+
- reset-gpios : a GPIO spec for the reset pin.
15+
16+
- mute-gpios : a GPIO spec for the MUTE pin. The active state can be either
17+
GPIO_ACTIVE_HIGH or GPIO_ACTIVE_LOW, which would be handled
18+
by the driver automatically.
19+
20+
- cirrus,micbias-lvl : Set the output voltage level on the MICBIAS Pin.
21+
0 = Hi-Z
22+
1 = 1.80 V
23+
2 = 2.75 V
24+
25+
- cirrus,use-sdout2 : This is a boolean property. If present, it indicates
26+
the hardware design connects both SDOUT1 and SDOUT2
27+
pins to output data. Otherwise, it indicates that
28+
only SDOUT1 is connected for data output.
29+
* CS53l30 supports 4-channel data output in the same
30+
* frame using two different ways:
31+
* 1) Normal I2S mode on two data pins -- each SDOUT
32+
* carries 2-channel data in the same time.
33+
* 2) TDM mode on one signle data pin -- SDOUT1 carries
34+
* 4-channel data per frame.
35+
36+
Example:
37+
38+
codec: cs53l30@48 {
39+
compatible = "cirrus,cs53l30";
40+
reg = <0x48>;
41+
reset-gpios = <&gpio 54 0>;
42+
VA-supply = <&cs53l30_va>;
43+
VP-supply = <&cs53l30_vp>;
44+
};

Documentation/devicetree/bindings/sound/designware-i2s.txt

+4
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@ Required properties:
1212
one for receive.
1313
- dma-names : "tx" for the transmit channel, "rx" for the receive channel.
1414

15+
Optional properties:
16+
- interrupts: The interrupt line number for the I2S controller. Add this
17+
parameter if the I2S controller that you are using does not support DMA.
18+
1519
For more details on the 'dma', 'dma-names', 'clock' and 'clock-names'
1620
properties please check:
1721
* resource-names.txt

Documentation/devicetree/bindings/sound/fsl-asoc-card.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ Required properties:
5858
* DMIC (stands for Digital Microphone Jack)
5959

6060
Note: The "Mic Jack" and "AMIC" are redundant while
61-
coexsiting in order to support the old bindings
61+
coexisting in order to support the old bindings
6262
of wm8962 and sgtl5000.
6363

6464
Optional properties:
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
Maxim MAX98504 class D mono speaker amplifier
2+
3+
This device supports I2C control interface and an IRQ output signal. It features
4+
a PCM and PDM digital audio interface (DAI) and a differential analog input.
5+
6+
Required properties:
7+
8+
- compatible : "maxim,max98504"
9+
- reg : should contain the I2C slave device address
10+
- DVDD-supply, DIOVDD-supply, PVDD-supply: power supplies for the device,
11+
as covered in ../regulator/regulator.txt
12+
- interrupts : should specify the interrupt line the device is connected to,
13+
as described in ../interrupt-controller/interrupts.txt
14+
15+
Optional properties:
16+
17+
- maxim,brownout-threshold - the PVDD brownout threshold, the value must be
18+
from 0, 1...21 range, corresponding to 2.6V, 2.65V...3.65V voltage range
19+
- maxim,brownout-attenuation - the brownout attenuation to the speaker gain
20+
applied during the "attack hold" and "timed hold" phase, the value must be
21+
from 0...6 (dB) range
22+
- maxim,brownout-attack-hold-ms - the brownout attack hold phase time in ms,
23+
0...255 (VBATBROWN_ATTK_HOLD, register 0x0018)
24+
- maxim,brownout-timed-hold-ms - the brownout timed hold phase time in ms,
25+
0...255 (VBATBROWN_TIME_HOLD, register 0x0019)
26+
- maxim,brownout-release-rate-ms - the brownout release phase step time in ms,
27+
0...255 (VBATBROWN_RELEASE, register 0x001A)
28+
29+
The default value when the above properties are not specified is 0,
30+
the maxim,brownout-threshold property must be specified to actually enable
31+
the PVDD brownout protection.
32+
33+
Example:
34+
35+
max98504@31 {
36+
compatible = "maxim,max98504";
37+
reg = <0x31>;
38+
interrupt-parent = <&gpio_bank_0>;
39+
interrupts = <2 0>;
40+
41+
DVDD-supply = <&regulator>;
42+
DIOVDD-supply = <&regulator>;
43+
PVDD-supply = <&regulator>;
44+
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
MAX9860 Mono Audio Voice Codec
2+
3+
Required properties:
4+
5+
- compatible : "maxim,max9860"
6+
7+
- reg : the I2C address of the device
8+
9+
- AVDD-supply, DVDD-supply and DVDDIO-supply : power supplies for
10+
the device, as covered in bindings/regulator/regulator.txt
11+
12+
- clock-names : Required element: "mclk".
13+
14+
- clocks : A clock specifier for the clock connected as MCLK.
15+
16+
Examples:
17+
18+
max9860: max9860@10 {
19+
compatible = "maxim,max9860";
20+
reg = <0x10>;
21+
22+
AVDD-supply = <&reg_1v8>;
23+
DVDD-supply = <&reg_1v8>;
24+
DVDDIO-supply = <&reg_3v0>;
25+
26+
clock-names = "mclk";
27+
clocks = <&pck2>;
28+
};

0 commit comments

Comments
 (0)