diff options
author | Angelo Dureghello <angelo.dureghello@timesys.com> | 2021-08-21 10:26:56 +0200 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2021-08-23 16:41:01 +0100 |
commit | 43d2c4982fcc6ed0adfea1275bc6df28bc48c1ea (patch) | |
tree | 66b8bc8baa9112022d0872e2207a212aa24a2d20 /sound | |
parent | 77eca00f8366238398b9f2f6eea1707a0832f79e (diff) | |
download | linux-stable-43d2c4982fcc6ed0adfea1275bc6df28bc48c1ea.tar.gz linux-stable-43d2c4982fcc6ed0adfea1275bc6df28bc48c1ea.tar.bz2 linux-stable-43d2c4982fcc6ed0adfea1275bc6df28bc48c1ea.zip |
ASoC: ics43432: add CMM-4030D-261 support
Despite minimal datasheet differences, the driver seems
perfectly compatible with CMM-4030D-261.
Tested CMM-4030D-261 to work with this changes:
/ {
cmm4030d: cmm4030d {
#sound-dai-cells = <0>;
compatible = "cui,cmm-4030d-261";
};
sound_mic {
compatible = "simple-audio-card";
simple-audio-card,name = "i2s mem mic";
simple-audio-card,format = "i2s";
simple-audio-card,bitclock-master = <&sound_master>;
simple-audio-card,frame-master = <&sound_master>;
sound_master: simple-audio-card,cpu {
sound-dai = <&ssi2>;
system-clock-frequency = <2822400>;
};
simple-audio-card,codec {
sound-dai = <&cmm4030d>;
};
};
};
Audio has been captured and tested successfully by:
arecord -D "hw:1,0" -f S24_LE > test.wav
aplay test.wav
Signed-off-by: Angelo Dureghello <angelo.dureghello@timesys.com>
Link: https://lore.kernel.org/r/20210821082658.4147595-1-angelo.dureghello@timesys.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound')
-rw-r--r-- | sound/soc/codecs/Kconfig | 2 | ||||
-rw-r--r-- | sound/soc/codecs/ics43432.c | 4 |
2 files changed, 4 insertions, 2 deletions
diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig index fe5e558635ad..82ee233a269d 100644 --- a/sound/soc/codecs/Kconfig +++ b/sound/soc/codecs/Kconfig @@ -848,7 +848,7 @@ config SND_SOC_HDAC_HDA select SND_HDA config SND_SOC_ICS43432 - tristate + tristate "ICS43423 and compatible i2s microphones" config SND_SOC_INNO_RK3036 tristate "Inno codec driver for RK3036 SoC" diff --git a/sound/soc/codecs/ics43432.c b/sound/soc/codecs/ics43432.c index 47e749f03940..de4c8460ab3d 100644 --- a/sound/soc/codecs/ics43432.c +++ b/sound/soc/codecs/ics43432.c @@ -1,6 +1,7 @@ // SPDX-License-Identifier: GPL-2.0-only /* - * I2S MEMS microphone driver for InvenSense ICS-43432 + * I2S MEMS microphone driver for InvenSense ICS-43432 and similar + * MEMS-based microphones. * * - Non configurable. * - I2S interface, 64 BCLs per frame, 32 bits per channel, 24 bit data @@ -53,6 +54,7 @@ static int ics43432_probe(struct platform_device *pdev) #ifdef CONFIG_OF static const struct of_device_id ics43432_ids[] = { { .compatible = "invensense,ics43432", }, + { .compatible = "cui,cmm-4030d-261", }, { } }; MODULE_DEVICE_TABLE(of, ics43432_ids); |