mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	ASoC: codecs: add wsa881x amplifier support
This patch adds support to WSA8810/WSA8815 Class-D Smart Speaker Amplifier. This Amplifier is primarily interfaced with SoundWire. One WSA is used for mono speaker configuration and second one would give stereo setup. This patch is tested on SDM845 based DragonBoard DB845c and Lenovo YOGA C630 Laptop based on SDM850 with WSA8815 speaker amplifiers. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://lore.kernel.org/r/20200107135929.3267-3-srinivas.kandagatla@linaro.org Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
		
							parent
							
								
									fbcdf32f6b
								
							
						
					
					
						commit
						a0aab9e140
					
				
					 3 changed files with 1197 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -262,6 +262,7 @@ config SND_SOC_ALL_CODECS
 | 
			
		|||
	select SND_SOC_WM9705 if (SND_SOC_AC97_BUS || SND_SOC_AC97_BUS_NEW)
 | 
			
		||||
	select SND_SOC_WM9712 if (SND_SOC_AC97_BUS || SND_SOC_AC97_BUS_NEW)
 | 
			
		||||
	select SND_SOC_WM9713 if (SND_SOC_AC97_BUS || SND_SOC_AC97_BUS_NEW)
 | 
			
		||||
	select SND_SOC_WSA881X if SOUNDWIRE
 | 
			
		||||
	help
 | 
			
		||||
	  Normally ASoC codec drivers are only built if a machine driver which
 | 
			
		||||
	  uses them is also built since they are only usable with a machine
 | 
			
		||||
| 
						 | 
				
			
			@ -1481,6 +1482,15 @@ config SND_SOC_WM9713
 | 
			
		|||
	select REGMAP_AC97
 | 
			
		||||
	select AC97_BUS_COMPAT if AC97_BUS_NEW
 | 
			
		||||
 | 
			
		||||
config SND_SOC_WSA881X
 | 
			
		||||
	tristate "WSA881X Codec"
 | 
			
		||||
	depends on SOUNDWIRE
 | 
			
		||||
	select REGMAP_SOUNDWIRE
 | 
			
		||||
	tristate
 | 
			
		||||
	help
 | 
			
		||||
	  This enables support for Qualcomm WSA8810/WSA8815 Class-D
 | 
			
		||||
	  Smart Speaker Amplifier.
 | 
			
		||||
 | 
			
		||||
config SND_SOC_ZX_AUD96P22
 | 
			
		||||
	tristate "ZTE ZX AUD96P22 CODEC"
 | 
			
		||||
	depends on I2C
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -278,6 +278,7 @@ snd-soc-wm9705-objs := wm9705.o
 | 
			
		|||
snd-soc-wm9712-objs := wm9712.o
 | 
			
		||||
snd-soc-wm9713-objs := wm9713.o
 | 
			
		||||
snd-soc-wm-hubs-objs := wm_hubs.o
 | 
			
		||||
snd-soc-wsa881x-objs := wsa881x.o
 | 
			
		||||
snd-soc-zx-aud96p22-objs := zx_aud96p22.o
 | 
			
		||||
# Amp
 | 
			
		||||
snd-soc-max9877-objs := max9877.o
 | 
			
		||||
| 
						 | 
				
			
			@ -568,6 +569,7 @@ obj-$(CONFIG_SND_SOC_WM9712)	+= snd-soc-wm9712.o
 | 
			
		|||
obj-$(CONFIG_SND_SOC_WM9713)	+= snd-soc-wm9713.o
 | 
			
		||||
obj-$(CONFIG_SND_SOC_WM_ADSP)	+= snd-soc-wm-adsp.o
 | 
			
		||||
obj-$(CONFIG_SND_SOC_WM_HUBS)	+= snd-soc-wm-hubs.o
 | 
			
		||||
obj-$(CONFIG_SND_SOC_WSA881X)	+= snd-soc-wsa881x.o
 | 
			
		||||
obj-$(CONFIG_SND_SOC_ZX_AUD96P22) += snd-soc-zx-aud96p22.o
 | 
			
		||||
 | 
			
		||||
# Amp
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										1185
									
								
								sound/soc/codecs/wsa881x.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1185
									
								
								sound/soc/codecs/wsa881x.c
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							
		Loading…
	
		Reference in a new issue