linux/sound/soc
Vincent Knecht 53778b8292
ASoC: Add AK4375 support
AK4375 is a 32-bit stereo DAC with headphones amplifier.
There's no documentation for it on akm.com, and only a brief
datasheet can be found floating on the internets [1].

Thanks to Oriane BAYERD <obayerd@eurocomposant.fr>
for finally answering my inquiries through akm.com, if only to tell
me that this chip is EOL following AKM factory burning in october 2020
and thus no detailed documentation is available anymore...

AK4331 is advertised [2] as pin and register compatible with AK4375
so some scraps of its datasheet were used and this driver might be
used as a base for it, but this is totally untested.

So this driver is mainly based on downstream code [3] and [4]
by Hu Jin from AKM (no known email).

Tested on msm8916-alcatel-idol347 and msm8939-alcatel-idol3,
which both use PLL driven clock with bypass of SRC (sample rate
converter), so only this setup is supported for now.

[1] https://datasheetspdf.com/pdf-file/1400317/AKM/AK4375A/1
[2] https://www.akm.com/content/dam/documents/products/audio/audio-dac/ak4331ecb/ak4331ecb-en-datasheet.pdf
[3] https://github.com/msm8916-mainline/android_kernel_qcom_msm8916/blob/alcatel-idol347/sound/soc/codecs/idol347/ak4375.c
[4] https://github.com/msm8916-mainline/android_kernel_qcom_msm8916/blob/alcatel-idol347/sound/soc/codecs/ak4375.c

Signed-off-by: Vincent Knecht <vincent.knecht@mailoo.org>
Link: https://lore.kernel.org/r/20211220193725.2650356-2-vincent.knecht@mailoo.org
Signed-off-by: Mark Brown <broonie@kernel.org>
2021-12-21 18:05:45 +00:00
..
adi
amd ASoC: amd: acp: Remove duplicate dependency in Kconfig 2021-12-21 18:05:41 +00:00
atmel ASoC: ateml: Use dev_err_probe() helper 2021-12-20 12:47:12 +00:00
au1x
bcm ASoC: bcm: Use platform_get_irq() to get the interrupt 2021-12-21 18:05:43 +00:00
cirrus ARM: SoC drivers for 5.16 2021-11-03 17:00:52 -07:00
codecs ASoC: Add AK4375 support 2021-12-21 18:05:45 +00:00
dwc ASoC: dwc-i2s: Update to modern clocking terminology 2021-09-27 13:01:12 +01:00
fsl ASoC: fsl: Use dev_err_probe() helper 2021-12-20 12:47:14 +00:00
generic ASoC: generic: Use dev_err_probe() helper 2021-12-20 12:47:15 +00:00
hisilicon
img ASoC: img: Use dev_err_probe() helper 2021-12-20 12:47:16 +00:00
intel ASoC: Intel: catpt: Streamline locals declaration for PCM-functions 2021-12-17 16:20:38 +00:00
jz4740
kirkwood
mediatek ASoC: mediatek: mt8195-mt6359: reduce log verbosity in probe() 2021-12-20 20:26:53 +00:00
meson ASoC: meson: Use dev_err_probe() helper 2021-12-20 12:47:17 +00:00
mxs ASoC: mxs: Use dev_err_probe() helper 2021-12-20 12:47:18 +00:00
pxa
qcom ASoC: qdsp6: fix a use after free bug in open() 2021-12-21 18:05:40 +00:00
rockchip ASoC: rockchip: Use dev_err_probe() helper 2021-12-20 12:47:21 +00:00
samsung ASoC: samsung: Use dev_err_probe() helper 2021-12-20 12:47:22 +00:00
sh ASoC: sh: rz-ssi: Check return value of pm_runtime_resume_and_get() 2021-12-17 16:21:17 +00:00
sof ASoC: SOF: AMD: simplify return status handling 2021-12-21 18:05:39 +00:00
spear
sprd
sti
stm ASoC: stm: Use dev_err_probe() helper 2021-12-20 12:47:23 +00:00
sunxi ASoC: sunxi: Use dev_err_probe() helper 2021-12-20 12:47:24 +00:00
tegra ASoC: tegra20: i2s: Filter out unsupported rates 2021-12-17 11:14:01 +00:00
ti ASoC: ti: Use dev_err_probe() helper 2021-12-20 12:47:13 +00:00
uniphier ASoC: uniphier: drop selecting non-existing SND_SOC_UNIPHIER_AIO_DMA 2021-11-25 11:54:30 +00:00
ux500 ASoC: ux500: mop500: Constify static snd_soc_ops 2021-09-29 13:06:38 +01:00
xilinx ASoC: xlnx: Use platform_get_irq() to get the interrupt 2021-12-21 18:05:42 +00:00
xtensa
Kconfig
Makefile
soc-ac97.c
soc-acpi.c ASoC: soc-acpi: Set mach->id field on comp_ids matches 2021-11-22 15:40:01 +00:00
soc-card.c
soc-component.c ASoC: soc-component: add snd_soc_pcm_component_delay() 2021-11-29 12:19:41 +00:00
soc-compress.c
soc-core.c ASoC: soc-pcm: Fix and cleanup DPCM locking 2021-12-14 17:15:45 +00:00
soc-dai.c ASoC: soc-dai: update snd_soc_dai_delay() to snd_soc_pcm_dai_delay() 2021-11-29 12:19:40 +00:00
soc-dapm.c ASoC: DAPM: Cover regression by kctl change notification fix 2021-11-05 12:58:12 +00:00
soc-devres.c
soc-generic-dmaengine-pcm.c ASoC: dmaengine: Introduce module option prealloc_buffer_size_kbytes 2021-09-27 13:01:13 +01:00
soc-jack.c
soc-link.c
soc-ops.c
soc-pcm.c ASoC: soc-pcm: fix BE handling of PAUSE_RELEASE 2021-12-14 17:15:48 +00:00
soc-topology-test.c
soc-topology.c ASoC: topology: Add missing rwsem around snd_ctl_remove() calls 2021-11-16 14:29:50 +00:00
soc-utils.c ASoC: Stop dummy from overriding hwparams 2021-10-29 16:49:45 +01:00