mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	ASoC: add rt5663 codec driver
This is the initial codec driver for both rt5663 rt5668 codec. Signed-off-by: John Lin <john.lin@realtek.com> Signed-off-by: Jack Yu <jack.yu@realtek.com> Signed-off-by: Bard Liao <bardliao@realtek.com> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
		
							parent
							
								
									29b4817d40
								
							
						
					
					
						commit
						df7c52168e
					
				
					 5 changed files with 4376 additions and 0 deletions
				
			
		
							
								
								
									
										30
									
								
								Documentation/devicetree/bindings/sound/rt5663.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								Documentation/devicetree/bindings/sound/rt5663.txt
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,30 @@
 | 
			
		|||
RT5663/RT5668 audio CODEC
 | 
			
		||||
 | 
			
		||||
This device supports I2C only.
 | 
			
		||||
 | 
			
		||||
Required properties:
 | 
			
		||||
 | 
			
		||||
- compatible : One of "realtek,rt5663" or "realtek,rt5668".
 | 
			
		||||
 | 
			
		||||
- reg : The I2C address of the device.
 | 
			
		||||
 | 
			
		||||
- interrupts : The CODEC's interrupt output.
 | 
			
		||||
 | 
			
		||||
Optional properties:
 | 
			
		||||
 | 
			
		||||
Pins on the device (for linking into audio routes) for RT5663/RT5668:
 | 
			
		||||
 | 
			
		||||
  * IN1P
 | 
			
		||||
  * IN1N
 | 
			
		||||
  * IN2P
 | 
			
		||||
  * IN2N
 | 
			
		||||
  * HPOL
 | 
			
		||||
  * HPOR
 | 
			
		||||
 | 
			
		||||
Example:
 | 
			
		||||
 | 
			
		||||
codec: rt5663@12 {
 | 
			
		||||
	compatible = "realtek,rt5663";
 | 
			
		||||
	reg = <0x12>;
 | 
			
		||||
	interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -112,6 +112,7 @@ config SND_SOC_ALL_CODECS
 | 
			
		|||
	select SND_SOC_RT5645 if I2C
 | 
			
		||||
	select SND_SOC_RT5651 if I2C
 | 
			
		||||
	select SND_SOC_RT5659 if I2C
 | 
			
		||||
	select SND_SOC_RT5663 if I2C
 | 
			
		||||
	select SND_SOC_RT5670 if I2C
 | 
			
		||||
	select SND_SOC_RT5677 if I2C && SPI_MASTER
 | 
			
		||||
	select SND_SOC_SGTL5000 if I2C
 | 
			
		||||
| 
						 | 
				
			
			@ -645,6 +646,7 @@ config SND_SOC_RL6231
 | 
			
		|||
	default y if SND_SOC_RT5645=y
 | 
			
		||||
	default y if SND_SOC_RT5651=y
 | 
			
		||||
	default y if SND_SOC_RT5659=y
 | 
			
		||||
	default y if SND_SOC_RT5663=y
 | 
			
		||||
	default y if SND_SOC_RT5670=y
 | 
			
		||||
	default y if SND_SOC_RT5677=y
 | 
			
		||||
	default m if SND_SOC_RT5514=m
 | 
			
		||||
| 
						 | 
				
			
			@ -653,6 +655,7 @@ config SND_SOC_RL6231
 | 
			
		|||
	default m if SND_SOC_RT5645=m
 | 
			
		||||
	default m if SND_SOC_RT5651=m
 | 
			
		||||
	default m if SND_SOC_RT5659=m
 | 
			
		||||
	default m if SND_SOC_RT5663=m
 | 
			
		||||
	default m if SND_SOC_RT5670=m
 | 
			
		||||
	default m if SND_SOC_RT5677=m
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -665,6 +668,7 @@ config SND_SOC_RL6347A
 | 
			
		|||
 | 
			
		||||
config SND_SOC_RT286
 | 
			
		||||
	tristate
 | 
			
		||||
	select SND_SOC_RT5663
 | 
			
		||||
	depends on I2C
 | 
			
		||||
 | 
			
		||||
config SND_SOC_RT298
 | 
			
		||||
| 
						 | 
				
			
			@ -697,6 +701,9 @@ config SND_SOC_RT5651
 | 
			
		|||
config SND_SOC_RT5659
 | 
			
		||||
	tristate
 | 
			
		||||
 | 
			
		||||
config SND_SOC_RT5663
 | 
			
		||||
	tristate
 | 
			
		||||
 | 
			
		||||
config SND_SOC_RT5670
 | 
			
		||||
	tristate
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -112,6 +112,7 @@ snd-soc-rt5640-objs := rt5640.o
 | 
			
		|||
snd-soc-rt5645-objs := rt5645.o
 | 
			
		||||
snd-soc-rt5651-objs := rt5651.o
 | 
			
		||||
snd-soc-rt5659-objs := rt5659.o
 | 
			
		||||
snd-soc-rt5663-objs := rt5663.o
 | 
			
		||||
snd-soc-rt5670-objs := rt5670.o
 | 
			
		||||
snd-soc-rt5677-objs := rt5677.o
 | 
			
		||||
snd-soc-rt5677-spi-objs := rt5677-spi.o
 | 
			
		||||
| 
						 | 
				
			
			@ -333,6 +334,7 @@ obj-$(CONFIG_SND_SOC_RT5640)	+= snd-soc-rt5640.o
 | 
			
		|||
obj-$(CONFIG_SND_SOC_RT5645)	+= snd-soc-rt5645.o
 | 
			
		||||
obj-$(CONFIG_SND_SOC_RT5651)	+= snd-soc-rt5651.o
 | 
			
		||||
obj-$(CONFIG_SND_SOC_RT5659)	+= snd-soc-rt5659.o
 | 
			
		||||
obj-$(CONFIG_SND_SOC_RT5663)	+= snd-soc-rt5663.o
 | 
			
		||||
obj-$(CONFIG_SND_SOC_RT5670)	+= snd-soc-rt5670.o
 | 
			
		||||
obj-$(CONFIG_SND_SOC_RT5677)	+= snd-soc-rt5677.o
 | 
			
		||||
obj-$(CONFIG_SND_SOC_RT5677_SPI)	+= snd-soc-rt5677-spi.o
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										3216
									
								
								sound/soc/codecs/rt5663.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3216
									
								
								sound/soc/codecs/rt5663.c
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							
							
								
								
									
										1121
									
								
								sound/soc/codecs/rt5663.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1121
									
								
								sound/soc/codecs/rt5663.h
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							
		Loading…
	
		Reference in a new issue