Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
forked fromtorvalds/linux

Commit1c1f395

Browse files
committed
Merge tag 'sound-4.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
Pull sound updates from Takashi Iwai: "The major changes in the core API side in this cycle are the still on-going ASoC componentization works. Other than that, only few small changes such as 20bit PCM format support are found. Meanwhile the rest majority of changes are for ASoC drivers: - Large cleanups of some of the TI CODEC drivers - Continued work on Intel ASoC stuff for new quirks, ACPI GPIO handling, Kconfigs and lots of cleanups - Refactoring of the Freescale SSI driver, as preliminary work for the upcoming changes - Work on ST DFSDM driver, including the required IIO patches - New drivers for Allwinner A83T, Maxim MAX89373, SocioNext UiniPhier EVEA Tempo Semiconductor TSCS42xx and TI PCM816x, TAS5722 and TAS6424 devices - Removal of dead codes for SN95031 and board drivers Last but not least, a few HD-audio and USB-audio quirks are included as usual, too"* tag 'sound-4.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (303 commits) ALSA: hda - Reduce the suspend time consumption for ALC256 ASoC: use seq_file to dump the contents of dai_list,platform_list and codec_list ASoC: soc-core: add missing EXPORT_SYMBOL_GPL() for snd_soc_rtdcom_lookup IIO: ADC: stm32-dfsdm: remove unused variable again ASoC: bcm2835: fix hw_params error when device is in prepared state ASoC: mxs-sgtl5000: Do not print error on probe deferral ASoC: sgtl5000: Do not print error on probe deferral ASoC: Intel: remove select on non-existing SND_SOC_INTEL_COMMON ALSA: usb-audio: Support changing input on Sound Blaster E1 ASoC: Intel: remove second duplicated assignment to pointer 'res' ALSA: hda/realtek - update ALC215 depop optimize ALSA: hda/realtek - Support headset mode for ALC215/ALC285/ALC289 ALSA: pcm: Fix trailing semicolon ASoC: add Component level .read/.write ASoC: cx20442: fix regression by adding back .read/.write ASoC: uda1380: fix regression by adding back .read/.write ASoC: tlv320dac33: fix regression by adding back .read/.write ALSA: hda - Use IS_REACHABLE() for dependency on input IIO: ADC: stm32-dfsdm: fix static check warning IIO: ADC: stm32-dfsdm: code optimization ...
2 parents49f9c35 +1c9609e commit1c1f395

File tree

231 files changed

+15768
-5278
lines changed

Some content is hidden

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

231 files changed

+15768
-5278
lines changed
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
What:/sys/bus/iio/devices/iio:deviceX/in_voltage_spi_clk_freq
2+
KernelVersion:4.14
3+
Contact:arnaud.pouliquen@st.com
4+
Description:
5+
For audio purpose only.
6+
Used by audio driver to set/get the spi input frequency.
7+
This is mandatory if DFSDM is slave on SPI bus, to
8+
provide information on the SPI clock frequency during runtime
9+
Notice that the SPI frequency should be a multiple of sample
10+
frequency to ensure the precision.
11+
if DFSDM input is SPI master
12+
Reading SPI clkout frequency,
13+
error on writing
14+
If DFSDM input is SPI Slave:
15+
Reading returns value previously set.
16+
Writing value before starting conversions.
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
Device-Tree bindings for sigma delta modulator
2+
3+
Required properties:
4+
- compatible: should be "ads1201", "sd-modulator". "sd-modulator" can be use
5+
as a generic SD modulator if modulator not specified in compatible list.
6+
- #io-channel-cells = <1>: See the IIO bindings section "IIO consumers".
7+
8+
Example node:
9+
10+
ads1202: adc@0 {
11+
compatible = "sd-modulator";
12+
#io-channel-cells = <1>;
13+
};
Lines changed: 128 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,128 @@
1+
STMicroelectronics STM32 DFSDM ADC device driver
2+
3+
4+
STM32 DFSDM ADC is a sigma delta analog-to-digital converter dedicated to
5+
interface external sigma delta modulators to STM32 micro controllers.
6+
It is mainly targeted for:
7+
- Sigma delta modulators (motor control, metering...)
8+
- PDM microphones (audio digital microphone)
9+
10+
It features up to 8 serial digital interfaces (SPI or Manchester) and
11+
up to 4 filters on stm32h7.
12+
13+
Each child node match with a filter instance.
14+
15+
Contents of a STM32 DFSDM root node:
16+
------------------------------------
17+
Required properties:
18+
- compatible: Should be "st,stm32h7-dfsdm".
19+
- reg: Offset and length of the DFSDM block register set.
20+
- clocks: IP and serial interfaces clocking. Should be set according
21+
to rcc clock ID and "clock-names".
22+
- clock-names: Input clock name "dfsdm" must be defined,
23+
"audio" is optional. If defined CLKOUT is based on the audio
24+
clock, else "dfsdm" is used.
25+
- #interrupt-cells = <1>;
26+
- #address-cells = <1>;
27+
- #size-cells = <0>;
28+
29+
Optional properties:
30+
- spi-max-frequency: Requested only for SPI master mode.
31+
SPI clock OUT frequency (Hz). This clock must be set according
32+
to "clock" property. Frequency must be a multiple of the rcc
33+
clock frequency. If not, SPI CLKOUT frequency will not be
34+
accurate.
35+
36+
Contents of a STM32 DFSDM child nodes:
37+
--------------------------------------
38+
39+
Required properties:
40+
- compatible: Must be:
41+
"st,stm32-dfsdm-adc" for sigma delta ADCs
42+
"st,stm32-dfsdm-dmic" for audio digital microphone.
43+
- reg: Specifies the DFSDM filter instance used.
44+
- interrupts: IRQ lines connected to each DFSDM filter instance.
45+
- st,adc-channels:List of single-ended channels muxed for this ADC.
46+
valid values:
47+
"st,stm32h7-dfsdm" compatibility: 0 to 7.
48+
- st,adc-channel-names:List of single-ended channel names.
49+
- st,filter-order: SinC filter order from 0 to 5.
50+
0: FastSinC
51+
[1-5]: order 1 to 5.
52+
For audio purpose it is recommended to use order 3 to 5.
53+
- #io-channel-cells = <1>: See the IIO bindings section "IIO consumers".
54+
55+
Required properties for "st,stm32-dfsdm-adc" compatibility:
56+
- io-channels: From common IIO binding. Used to pipe external sigma delta
57+
modulator or internal ADC output to DFSDM channel.
58+
This is not required for "st,stm32-dfsdm-pdm" compatibility as
59+
PDM microphone is binded in Audio DT node.
60+
61+
Required properties for "st,stm32-dfsdm-pdm" compatibility:
62+
- #sound-dai-cells: Must be set to 0.
63+
- dma: DMA controller phandle and DMA request line associated to the
64+
filter instance (specified by the field "reg")
65+
- dma-names: Must be "rx"
66+
67+
Optional properties:
68+
- st,adc-channel-types:Single-ended channel input type.
69+
- "SPI_R": SPI with data on rising edge (default)
70+
- "SPI_F": SPI with data on falling edge
71+
- "MANCH_R": manchester codec, rising edge = logic 0
72+
- "MANCH_F": manchester codec, falling edge = logic 1
73+
- st,adc-channel-clk-src: Conversion clock source.
74+
- "CLKIN": external SPI clock (CLKIN x)
75+
- "CLKOUT": internal SPI clock (CLKOUT) (default)
76+
- "CLKOUT_F": internal SPI clock divided by 2 (falling edge).
77+
- "CLKOUT_R": internal SPI clock divided by 2 (rising edge).
78+
79+
- st,adc-alt-channel: Must be defined if two sigma delta modulator are
80+
connected on same SPI input.
81+
If not set, channel n is connected to SPI input n.
82+
If set, channel n is connected to SPI input n + 1.
83+
84+
- st,filter0-sync: Set to 1 to synchronize with DFSDM filter instance 0.
85+
Used for multi microphones synchronization.
86+
87+
Example of a sigma delta adc connected on DFSDM SPI port 0
88+
and a pdm microphone connected on DFSDM SPI port 1:
89+
90+
ads1202: simple_sd_adc@0 {
91+
compatible = "ads1202";
92+
#io-channel-cells = <1>;
93+
};
94+
95+
dfsdm: dfsdm@40017000 {
96+
compatible = "st,stm32h7-dfsdm";
97+
reg = <0x40017000 0x400>;
98+
clocks = <&rcc DFSDM1_CK>;
99+
clock-names = "dfsdm";
100+
#interrupt-cells = <1>;
101+
#address-cells = <1>;
102+
#size-cells = <0>;
103+
104+
dfsdm_adc0: filter@0 {
105+
compatible = "st,stm32-dfsdm-adc";
106+
#io-channel-cells = <1>;
107+
reg = <0>;
108+
interrupts = <110>;
109+
st,adc-channels = <0>;
110+
st,adc-channel-names = "sd_adc0";
111+
st,adc-channel-types = "SPI_F";
112+
st,adc-channel-clk-src = "CLKOUT";
113+
io-channels = <&ads1202 0>;
114+
st,filter-order = <3>;
115+
};
116+
dfsdm_pdm1: filter@1 {
117+
compatible = "st,stm32-dfsdm-dmic";
118+
reg = <1>;
119+
interrupts = <111>;
120+
dmas = <&dmamux1 102 0x400 0x00>;
121+
dma-names = "rx";
122+
st,adc-channels = <1>;
123+
st,adc-channel-names = "dmic1";
124+
st,adc-channel-types = "SPI_R";
125+
st,adc-channel-clk-src = "CLKOUT";
126+
st,filter-order = <5>;
127+
};
128+
}

‎Documentation/devicetree/bindings/sound/dmic.txt‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,12 @@ Required properties:
77

88
Optional properties:
99
- dmicen-gpios: GPIO specifier for dmic to control start and stop
10+
- num-channels: Number of microphones on this DAI
1011

1112
Example node:
1213

1314
dmic_codec: dmic@0 {
1415
compatible = "dmic-codec";
1516
dmicen-gpios = <&gpio4 3 GPIO_ACTIVE_HIGH>;
17+
num-channels = <1>;
1618
};
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
Maxim Integrated MAX98373 Speaker Amplifier
2+
3+
This device supports I2C.
4+
5+
Required properties:
6+
7+
- compatible : "maxim,max98373"
8+
9+
- reg : the I2C address of the device.
10+
11+
Optional properties:
12+
13+
- maxim,vmon-slot-no : slot number used to send voltage information
14+
or in inteleave mode this will be used as
15+
interleave slot.
16+
slot range : 0 ~ 15, Default : 0
17+
18+
- maxim,imon-slot-no : slot number used to send current information
19+
slot range : 0 ~ 15, Default : 0
20+
21+
- maxim,spkfb-slot-no : slot number used to send speaker feedback information
22+
slot range : 0 ~ 15, Default : 0
23+
24+
- maxim,interleave-mode : For cases where a single combined channel
25+
for the I/V sense data is not sufficient, the device can also be configured
26+
to share a single data output channel on alternating frames.
27+
In this configuration, the current and voltage data will be frame interleaved
28+
on a single output channel.
29+
Boolean, define to enable the interleave mode, Default : false
30+
31+
Example:
32+
33+
codec: max98373@31 {
34+
compatible = "maxim,max98373";
35+
reg = <0x31>;
36+
maxim,vmon-slot-no = <0>;
37+
maxim,imon-slot-no = <1>;
38+
maxim,spkfb-slot-no = <2>;
39+
maxim,interleave-mode;
40+
};

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp