forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge tag 'sound-4.10-rc1' of git://git.kernel.org/pub/scm/linux/kern…
…el/git/tiwai/sound Pull sound updates from Takashi Iwai: "No dramatic changes are found in this development cycle, but as usual, many commits are applied in a wide range of drivers. Most of big changes are in ASoC, where a few bits of framework work and quite a lot of cleanups and improvements to existing code have been done. The rest are usual stuff, a few HD-audio and USB-audio quirks and fixes, as well as the drop of kthread usages in the whole subsystem. Below are some highlights: ASoC: - support for stereo DAPM controls - some initial work on the of-graph sound card - regmap conversions of the remaining AC'97 drivers - a new version of the topology ABI; this should be backward compatible - updates / cleanups of rsnd, sunxi, sti, nau8825, samsung, arizona, Intel skylake, atom-sst - new drivers for Cirrus Logic CS42L42, Qualcomm MSM8916-WCD, and Realtek RT5665 USB-audio: - yet another race fix at disconnection - tolerated packet size calculation for some Android devices - quirks for Axe-Fx II, QuickCam, TEAC 501/503 HD-audio: - improvement of Dell pin fixup mapping - quirks for HP Z1 Gen3, Alienware 15 R2 2016 and ALC622 headset mic Misc: - replace all kthread usages with simple works" * tag 'sound-4.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (296 commits) ALSA: hiface: Fix M2Tech hiFace driver sampling rate change ALSA: usb-audio: Eliminate noise at the start of DSD playback. ALSA: usb-audio: Add native DSD support for TEAC 501/503 DAC ASoC: wm_adsp: wm_adsp_buf_alloc should use kfree in error path ASoC: topology: avoid uninitialized kcontrol_type ALSA: usb-audio: Add QuickCam Communicate Deluxe/S7500 to volume_control_quirks ALSA: usb-audio: add implicit fb quirk for Axe-Fx II ASoC: zte: spdif: correct ZX_SPDIF_CLK_RAT define ASoC: zte: spdif and i2s drivers are not zx296702 specific ASoC: rsnd: setup BRGCKR/BRRA/BRRB when starting ASoC: rsnd: enable/disable ADG when suspend/resume timing ASoC: rsnd: tidyup ssi->usrcnt counter check in hw_params ALSA: cs46xx: add a new line ASoC: Intel: update bxt_da7219_max98357a to support quad ch dmic capture ASoC: nau8825: disable sinc filter for high THD of ADC ALSA: usb-audio: more tolerant packetsize ALSA: usb-audio: avoid setting of sample rate multiple times on bus ASoC: cs35l34: Simplify the logic to set CS35L34_MCLK_CTL setting ALSA: hda - Gate the mic jack on HP Z1 Gen3 AiO ALSA: hda: when comparing pin configurations, ignore assoc in addition to seq ...
- Loading branch information
Showing
269 changed files
with
22,270 additions
and
4,562 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
What: /sys/devices/platform/8086%x:00/firmware_version | ||
Date: November 2016 | ||
KernelVersion: 4.10 | ||
Contact: "Sebastien Guiriec" <[email protected]> | ||
Description: | ||
LPE Firmware version for SST driver on all atom | ||
plaforms (BYT/CHT/Merrifield/BSW). | ||
If the FW has never been loaded it will display: | ||
"FW not yet loaded" | ||
If FW has been loaded it will display: | ||
"v01.aa.bb.cc" | ||
aa: Major version is reflecting SoC version: | ||
0d: BYT FW | ||
0b: BSW FW | ||
07: Merrifield FW | ||
bb: Minor version | ||
cc: Build version |
88 changes: 88 additions & 0 deletions
88
Documentation/devicetree/bindings/sound/axentia,tse850-pcm5142.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,88 @@ | ||
Devicetree bindings for the Axentia TSE-850 audio complex | ||
|
||
Required properties: | ||
- compatible: "axentia,tse850-pcm5142" | ||
- axentia,ssc-controller: The phandle of the atmel SSC controller used as | ||
cpu dai. | ||
- axentia,audio-codec: The phandle of the PCM5142 codec. | ||
- axentia,add-gpios: gpio specifier that controls the mixer. | ||
- axentia,loop1-gpios: gpio specifier that controls loop relays on channel 1. | ||
- axentia,loop2-gpios: gpio specifier that controls loop relays on channel 2. | ||
- axentia,ana-supply: Regulator that supplies the output amplifier. Must | ||
support voltages in the 2V - 20V range, in 1V steps. | ||
|
||
The schematics explaining the gpios are as follows: | ||
|
||
loop1 relays | ||
IN1 +---o +------------+ o---+ OUT1 | ||
\ / | ||
+ + | ||
| / | | ||
+--o +--. | | ||
| add | | | ||
| V | | ||
| .---. | | ||
DAC +----------->|Sum|---+ | ||
| '---' | | ||
| | | ||
+ + | ||
|
||
IN2 +---o--+------------+--o---+ OUT2 | ||
loop2 relays | ||
|
||
The 'loop1' gpio pin controlls two relays, which are either in loop position, | ||
meaning that input and output are directly connected, or they are in mixer | ||
position, meaning that the signal is passed through the 'Sum' mixer. Similarly | ||
for 'loop2'. | ||
|
||
In the above, the 'loop1' relays are inactive, thus feeding IN1 to the mixer | ||
(if 'add' is active) and feeding the mixer output to OUT1. The 'loop2' relays | ||
are active, short-cutting the TSE-850 from channel 2. IN1, IN2, OUT1 and OUT2 | ||
are TSE-850 connectors and DAC is the PCB name of the (filtered) output from | ||
the PCM5142 codec. | ||
|
||
Example: | ||
|
||
&i2c { | ||
codec: pcm5142@4c { | ||
compatible = "ti,pcm5142"; | ||
|
||
reg = <0x4c>; | ||
|
||
AVDD-supply = <®_3v3>; | ||
DVDD-supply = <®_3v3>; | ||
CPVDD-supply = <®_3v3>; | ||
|
||
clocks = <&sck>; | ||
|
||
pll-in = <3>; | ||
pll-out = <6>; | ||
}; | ||
}; | ||
|
||
ana: ana-reg { | ||
compatible = "pwm-regulator"; | ||
|
||
regulator-name = "ANA"; | ||
|
||
pwms = <&pwm0 2 1000 PWM_POLARITY_INVERTED>; | ||
pwm-dutycycle-unit = <1000>; | ||
pwm-dutycycle-range = <100 1000>; | ||
|
||
regulator-min-microvolt = <2000000>; | ||
regulator-max-microvolt = <20000000>; | ||
regulator-ramp-delay = <1000>; | ||
}; | ||
|
||
sound { | ||
compatible = "axentia,tse850-pcm5142"; | ||
|
||
axentia,ssc-controller = <&ssc0>; | ||
axentia,audio-codec = <&codec>; | ||
|
||
axentia,add-gpios = <&pioA 8 GPIO_ACTIVE_LOW>; | ||
axentia,loop1-gpios = <&pioA 10 GPIO_ACTIVE_LOW>; | ||
axentia,loop2-gpios = <&pioA 11 GPIO_ACTIVE_LOW>; | ||
|
||
axentia,ana-supply = <&ana>; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
CS35L34 Speaker Amplifier | ||
|
||
Required properties: | ||
|
||
- compatible : "cirrus,cs35l34" | ||
|
||
- reg : the I2C address of the device for I2C. | ||
|
||
- VA-supply, VP-supply : power supplies for the device, | ||
as covered in | ||
Documentation/devicetree/bindings/regulator/regulator.txt. | ||
|
||
- cirrus,boost-vtge-millivolt : Boost Voltage Value. Configures the boost | ||
converter's output voltage in mV. The range is from VP to 8V with | ||
increments of 100mV. | ||
|
||
- cirrus,boost-nanohenry: Inductor value for boost converter. The value is | ||
in nH and they can be values of 1000nH, 1100nH, 1200nH, 1500nH, and 2200nH. | ||
|
||
Optional properties: | ||
|
||
- reset-gpios: GPIO used to reset the amplifier. | ||
|
||
- interrupt-parent : Specifies the phandle of the interrupt controller to | ||
which the IRQs from CS35L34 are delivered to. | ||
- interrupts : IRQ line info CS35L34. | ||
(See Documentation/devicetree/bindings/interrupt-controller/interrupts.txt | ||
for further information relating to interrupt properties) | ||
|
||
- cirrus,boost-peak-milliamp : Boost converter peak current limit in mA. The | ||
range starts at 1200mA and goes to a maximum of 3840mA with increments of | ||
80mA. The default value is 2480mA. | ||
|
||
- cirrus,i2s-sdinloc : ADSP SDIN I2S channel location. Indicates whether the | ||
received mono data is in the left or right portion of the I2S frame | ||
according to the AD0 pin or directly via this configuration. | ||
0x0 (Default) = Selected by AD0 input (if AD0 = LOW, use left channel), | ||
0x2 = Left, | ||
0x1 = Selected by the inversion of the AD0 input (if AD0 = LOW, use right | ||
channel), | ||
0x3 = Right. | ||
|
||
- cirrus,gain-zc-disable: Boolean property. If set, the gain change will take | ||
effect without waiting for a zero cross. | ||
|
||
- cirrus,tdm-rising-edge: Boolean property. If set, data is on the rising edge of | ||
SCLK. Otherwise, data is on the falling edge of SCLK. | ||
|
||
|
||
Example: | ||
|
||
cs35l34: cs35l34@40 { | ||
compatible = "cirrus,cs35l34"; | ||
reg = <0x40>; | ||
|
||
interrupt-parent = <&gpio8>; | ||
interrupts = <3 IRQ_TYPE_LEVEL_LOW>; | ||
|
||
reset-gpios = <&gpio 10 0>; | ||
|
||
cirrus,boost-vtge-milltvolt = <8000>; /* 8V */ | ||
cirrus,boost-ind-nanohenry = <1000>; /* 1uH */ | ||
cirrus,boost-peak-milliamp = <3000>; /* 3A */ | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,110 @@ | ||
CS42L42 audio CODEC | ||
|
||
Required properties: | ||
|
||
- compatible : "cirrus,cs42l42" | ||
|
||
- reg : the I2C address of the device for I2C. | ||
|
||
- VP-supply, VCP-supply, VD_FILT-supply, VL-supply, VA-supply : | ||
power supplies for the device, as covered in | ||
Documentation/devicetree/bindings/regulator/regulator.txt. | ||
|
||
Optional properties: | ||
|
||
- reset-gpios : a GPIO spec for the reset pin. If specified, it will be | ||
deasserted before communication to the codec starts. | ||
|
||
- interrupt-parent : Specifies the phandle of the interrupt controller to | ||
which the IRQs from CS42L42 are delivered to. | ||
|
||
- interrupts : IRQ line info CS42L42. | ||
(See Documentation/devicetree/bindings/interrupt-controller/interrupts.txt | ||
for further information relating to interrupt properties) | ||
|
||
- cirrus,ts-inv : Boolean property. For jacks that invert the tip sense | ||
polarity. Normal jacks will short tip sense pin to HS1 when headphones are | ||
plugged in and leave tip sense floating when not plugged in. Inverting jacks | ||
short tip sense when unplugged and float when plugged in. | ||
|
||
0 = (Default) Non-inverted | ||
1 = Inverted | ||
|
||
- cirrus,ts-dbnc-rise : Debounce the rising edge of TIP_SENSE_PLUG. With no | ||
debounce, the tip sense pin might be noisy on a plug event. | ||
|
||
0 - 0ms, | ||
1 - 125ms, | ||
2 - 250ms, | ||
3 - 500ms, | ||
4 - 750ms, | ||
5 - (Default) 1s, | ||
6 - 1.25s, | ||
7 - 1.5s, | ||
|
||
- cirrus,ts-dbnc-fall : Debounce the falling edge of TIP_SENSE_UNPLUG. | ||
With no debounce, the tip sense pin might be noisy on an unplug event. | ||
|
||
0 - 0ms, | ||
1 - 125ms, | ||
2 - 250ms, | ||
3 - 500ms, | ||
4 - 750ms, | ||
5 - (Default) 1s, | ||
6 - 1.25s, | ||
7 - 1.5s, | ||
|
||
- cirrus,btn-det-init-dbnce : This sets how long the driver sleeps after | ||
enabling button detection interrupts. After auto-detection and before | ||
servicing button interrupts, the HS bias needs time to settle. If you | ||
don't wait, there is possibility for erroneous button interrupt. | ||
|
||
0ms - 200ms, | ||
Default = 100ms | ||
|
||
- cirrus,btn-det-event-dbnce : This sets how long the driver delays after | ||
receiving a button press interrupt. With level detect interrupts, you want | ||
to wait a small amount of time to make sure the button press is making a | ||
clean connection with the bias resistors. | ||
|
||
0ms - 20ms, | ||
Default = 10ms | ||
|
||
- cirrus,bias-lvls : For a level-detect headset button scheme, each button | ||
will bias the mic pin to a certain voltage. To determine which button was | ||
pressed, the driver will compare this biased voltage to sequential, | ||
decreasing voltages and will stop when a comparator is tripped, | ||
indicating a comparator voltage < bias voltage. This value represents a | ||
percentage of the internally generated HS bias voltage. For different | ||
hardware setups, a designer might want to tweak this. This is an array of | ||
descending values for the comparator voltage. | ||
|
||
Array of 4 values | ||
Each 0-63 | ||
< x1 x2 x3 x4 > | ||
Default = < 15 8 4 1> | ||
|
||
|
||
Example: | ||
|
||
cs42l42: cs42l42@48 { | ||
compatible = "cirrus,cs42l42"; | ||
reg = <0x48>; | ||
VA-supply = <&dummy_vreg>; | ||
VP-supply = <&dummy_vreg>; | ||
VCP-supply = <&dummy_vreg>; | ||
VD_FILT-supply = <&dummy_vreg>; | ||
VL-supply = <&dummy_vreg>; | ||
|
||
reset-gpios = <&axi_gpio_0 1 0>; | ||
interrupt-parent = <&gpio0>; | ||
interrupts = <55 8> | ||
|
||
cirrus,ts-inv = <0x00>; | ||
cirrus,ts-dbnc-rise = <0x05>; | ||
cirrus,ts-dbnc-fall = <0x00>; | ||
cirrus,btn-det-init-dbnce = <100>; | ||
cirrus,btn-det-event-dbnce = <10>; | ||
cirrus,bias-lvls = <0x0F 0x08 0x04 0x01>; | ||
cirrus,hs-bias-ramp-rate = <0x02>; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
85 changes: 85 additions & 0 deletions
85
Documentation/devicetree/bindings/sound/qcom,msm8916-wcd-analog.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,85 @@ | ||
msm8916 analog audio CODEC | ||
|
||
Bindings for codec Analog IP which is integrated in pmic pm8916, | ||
|
||
## Bindings for codec core on pmic: | ||
|
||
Required properties | ||
- compatible = "qcom,pm8916-wcd-analog-codec"; | ||
- reg: represents the slave base address provided to the peripheral. | ||
- interrupt-parent : The parent interrupt controller. | ||
- interrupts: List of interrupts in given SPMI peripheral. | ||
- interrupt-names: Names specified to above list of interrupts in same | ||
order. List of supported interrupt names are: | ||
"cdc_spk_cnp_int" - Speaker click and pop interrupt. | ||
"cdc_spk_clip_int" - Speaker clip interrupt. | ||
"cdc_spk_ocp_int" - Speaker over current protect interrupt. | ||
"mbhc_ins_rem_det1" - jack insert removal detect interrupt 1. | ||
"mbhc_but_rel_det" - button release interrupt. | ||
"mbhc_but_press_det" - button press event | ||
"mbhc_ins_rem_det" - jack insert removal detect interrupt. | ||
"mbhc_switch_int" - multi button headset interrupt. | ||
"cdc_ear_ocp_int" - Earphone over current protect interrupt. | ||
"cdc_hphr_ocp_int" - Headphone R over current protect interrupt. | ||
"cdc_hphl_ocp_det" - Headphone L over current protect interrupt. | ||
"cdc_ear_cnp_int" - earphone cnp interrupt. | ||
"cdc_hphr_cnp_int" - hphr click and pop interrupt. | ||
"cdc_hphl_cnp_int" - hphl click and pop interrupt. | ||
|
||
- clocks: Handle to mclk. | ||
- clock-names: should be "mclk" | ||
- vdd-cdc-io-supply: phandle to VDD_CDC_IO regulator DT node. | ||
- vdd-cdc-tx-rx-cx-supply: phandle to VDD_CDC_TX/RX/CX regulator DT node. | ||
- vdd-micbias-supply: phandle of VDD_MICBIAS supply's regulator DT node. | ||
|
||
Optional Properties: | ||
- qcom,micbias1-ext-cap: boolean, present if micbias1 has external capacitor | ||
connected. | ||
- qcom,micbias2-ext-cap: boolean, present if micbias2 has external capacitor | ||
connected. | ||
|
||
Example: | ||
|
||
spmi_bus { | ||
... | ||
audio-codec@f000{ | ||
compatible = "qcom,pm8916-wcd-analog-codec"; | ||
reg = <0xf000 0x200>; | ||
reg-names = "pmic-codec-core"; | ||
clocks = <&gcc GCC_CODEC_DIGCODEC_CLK>; | ||
clock-names = "mclk"; | ||
interrupt-parent = <&spmi_bus>; | ||
interrupts = <0x1 0xf0 0x0 IRQ_TYPE_NONE>, | ||
<0x1 0xf0 0x1 IRQ_TYPE_NONE>, | ||
<0x1 0xf0 0x2 IRQ_TYPE_NONE>, | ||
<0x1 0xf0 0x3 IRQ_TYPE_NONE>, | ||
<0x1 0xf0 0x4 IRQ_TYPE_NONE>, | ||
<0x1 0xf0 0x5 IRQ_TYPE_NONE>, | ||
<0x1 0xf0 0x6 IRQ_TYPE_NONE>, | ||
<0x1 0xf0 0x7 IRQ_TYPE_NONE>, | ||
<0x1 0xf1 0x0 IRQ_TYPE_NONE>, | ||
<0x1 0xf1 0x1 IRQ_TYPE_NONE>, | ||
<0x1 0xf1 0x2 IRQ_TYPE_NONE>, | ||
<0x1 0xf1 0x3 IRQ_TYPE_NONE>, | ||
<0x1 0xf1 0x4 IRQ_TYPE_NONE>, | ||
<0x1 0xf1 0x5 IRQ_TYPE_NONE>; | ||
interrupt-names = "cdc_spk_cnp_int", | ||
"cdc_spk_clip_int", | ||
"cdc_spk_ocp_int", | ||
"mbhc_ins_rem_det1", | ||
"mbhc_but_rel_det", | ||
"mbhc_but_press_det", | ||
"mbhc_ins_rem_det", | ||
"mbhc_switch_int", | ||
"cdc_ear_ocp_int", | ||
"cdc_hphr_ocp_int", | ||
"cdc_hphl_ocp_det", | ||
"cdc_ear_cnp_int", | ||
"cdc_hphr_cnp_int", | ||
"cdc_hphl_cnp_int"; | ||
VDD-CDC-IO-supply = <&pm8916_l5>; | ||
VDD-CDC-TX-RX-CX-supply = <&pm8916_l5>; | ||
VDD-MICBIAS-supply = <&pm8916_l13>; | ||
#sound-dai-cells = <1>; | ||
}; | ||
}; |
Oops, something went wrong.