1
0
Fork 0
alistair23-linux/sound
Simon Ho a497a43637
ASoC: Add support for Conexant CX2072X CODEC
Initial commit of the Conexant CX2072X CODEC driver. Some features are
not present.

The CX2072X is a ultra low power stereo audio codec supports I2S/TDM
host interface with EQ, DRC features in playback mode.

Featues of CX2072X codec:

 * Two 24 bits DACs and DACs.
 * Stereo Headphone AMP.
 * 2.8W per channel class-D output.
 * Integrated seven bands per channel EQ and DRC.
 * Fully integrated headset support with detect/switch.
 * Stereo digital microphone for array applications.
 * S/PDIF output.
 * Bi-directional GPIOs.
 * Support analog and digital PC Beeep.
 * One headset button support.
 * Supports a wide variety of host interfaces.
   -wide variety of I2S and similar bit-stream formats
    with word lengths of up to 24 bits.
   -TDM stream supports up to 4 channels.
 * AEC loopback support.

Further fixes by tiwai:
 * Rebase to 5.2+
 * Missing DAPM entry definitions
 * Missing power hooks
 * Fix uninitialized variable warning
 * Rewrite jack detection stuff to use set_jack callback
 * Plumbing jack detection code for Intel ASoC
 * Move clk management into runtime PM
 * Drop incorrect regcache usages
 * Drop untested stuff: OF table, EQ/DRC handling
 * Lots of code cleanups and minor refactoring

The OF code was dropped due to the lack of testability.
It should be easy to re-add once if someone can test it.

v1->v2: No change
v2->v3: Move register tables to appropriate place
	Remove some confusing codes
	Set snd_ctl_boolean_* helpers directly
	Fix EQ put callback
	Rename to "DAC1 Switch" from "DAC1 Mute Switch"
	Drop superfluous regmap calls at shutdown
	Avoid regmap_register_patch()
	Add missing register definitions
	Fix register access on big-endian machine
	Remove regcache messes
v3->v4: Fix the wrong endianess conversion in reg write
	Minor code cleanups
v4->v5: Move clk management to runtime PM
	Sparse warning fixes
	Some more code simplification
	Drop tricky regcache fiddling
	Apply mutex locks around possible racy sequences
	Move exported jack detection stuff into set_jack callback
v5->v6: Drop buggy&untested EQ and DRC codes
	Lots of code reduction/cleanup
	Add more comments about platform-specific stuff

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=115531
Signed-off-by: Simon Ho <simon.ho@conexant.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
2019-05-22 13:18:51 +01:00
..
ac97 ALSA: ac97: Fix of-node refcount unbalance 2019-02-19 22:20:14 +01:00
aoa ALSA: aoa: Fix of-node refcount unbalance 2019-02-19 22:20:45 +01:00
arm ALSA: arm: Avoid passing NULL to memory allocators 2019-02-04 16:51:46 +01:00
atmel ALSA: atmel: Drop superfluous PCM preallocation error checks 2019-02-06 10:28:39 +01:00
core sound updates for 5.2-rc1 2019-05-09 08:26:55 -07:00
drivers ALSA: aloop: Support S24 sample formats 2019-03-25 16:39:18 +01:00
firewire ALSA: firewire-lib: use 8 byte header for IR context to get isochronous cycle 2019-03-18 14:50:35 +01:00
hda sound fixes for 5.2-rc1 2019-05-17 13:57:54 -07:00
i2c ALSA: i2c: Clean up with new procfs helpers 2019-02-06 18:11:56 +01:00
isa ALSA: gus: fix misuse of %x 2019-04-28 08:25:18 +02:00
mips ALSA: mips: pass struct device to DMA API functions 2019-02-01 17:15:44 +01:00
oss treewide: kmalloc() -> kmalloc_array() 2018-06-12 16:19:22 -07:00
parisc ALSA: parisc: Drop superfluous PCM preallocation error checks 2019-02-06 10:29:03 +01:00
pci ALSA: hda/realtek - Fix for Lenovo B50-70 inverted internal microphone bug 2019-05-14 17:01:14 +02:00
pcmcia ALSA: pcmcia: Clean up with new procfs helpers 2019-02-06 18:11:57 +01:00
ppc ALSA: ps3: Remove set but not used variables 'start_vaddr' and 'pcm_index' 2019-04-17 21:17:54 +02:00
sh ALSA: aica: Fix a long-time build breakage 2019-05-08 14:48:01 +02:00
soc ASoC: Add support for Conexant CX2072X CODEC 2019-05-22 13:18:51 +01:00
sparc ASoC: Updates for v5.1 2019-02-08 14:20:32 +01:00
spi ALSA: spi: Drop superfluous PCM preallocation error checks 2019-02-06 10:29:36 +01:00
synth ALSA: synth: emux: soundfont.c: divide by zero in calc_gus_envelope_time() 2019-05-06 15:08:08 +02:00
usb sound updates for 5.2-rc1 2019-05-09 08:26:55 -07:00
x86 ALSA: x86: Avoid passing NULL to memory allocators 2019-02-04 16:51:34 +01:00
xen ALSA: xen-front: Do not use stream buffer size before it is set 2019-04-04 14:44:18 +02:00
Kconfig ALSA: xen-front: Introduce Xen para-virtualized sound frontend driver 2018-05-16 12:58:36 +02:00
Makefile ALSA: xen-front: Introduce Xen para-virtualized sound frontend driver 2018-05-16 12:58:36 +02:00
ac97_bus.c
last.c ALSA: core: Don't refer to snd_cards array directly 2019-04-17 07:16:15 +02:00
sound_core.c sound: Use octal not symbolic permissions 2018-05-28 11:27:20 +02:00