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