You've already forked linux-rockchip
mirror of
https://github.com/armbian/linux-rockchip.git
synced 2026-01-06 11:08:10 -08:00
ASoC: codecs: Add msm8916-wcd digital codec
msm8916-wcd codec is found in Qualcomm msm8916 and apq8016 processors. This codec IP is split in to two parts(Digital & Analog). Analog part is integrated in to PMIC PM8916 and the digital part is integrated into Application processor. Data transfer between Analog and Digital Die is done via a internal bus called PDM. This patch adds support to Digital part of the Codec which is integrated into Application Processor. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
committed by
Mark Brown
parent
585e881e5b
commit
150db8c5af
@@ -0,0 +1,20 @@
|
||||
msm8916 digital audio CODEC
|
||||
|
||||
## Bindings for codec core in lpass:
|
||||
|
||||
Required properties
|
||||
- compatible = "qcom,msm8916-wcd-digital-codec";
|
||||
- reg: address space for lpass codec.
|
||||
- clocks: Handle to mclk and ahbclk
|
||||
- clock-names: should be "mclk", "ahbix-clk".
|
||||
|
||||
Example:
|
||||
|
||||
audio-codec@771c000{
|
||||
compatible = "qcom,msm8916-wcd-digital-codec";
|
||||
reg = <0x0771c000 0x400>;
|
||||
clocks = <&gcc GCC_ULTAUDIO_AHBFABRIC_IXFABRIC_CLK>,
|
||||
<&gcc GCC_CODEC_DIGCODEC_CLK>;
|
||||
clock-names = "ahbix-clk", "mclk";
|
||||
#sound-dai-cells = <1>;
|
||||
};
|
||||
@@ -585,6 +585,9 @@ config SND_SOC_MSM8916_WCD_ANALOG
|
||||
tristate "Qualcomm MSM8916 WCD Analog Codec"
|
||||
depends on SPMI || COMPILE_TEST
|
||||
|
||||
config SND_SOC_MSM8916_WCD_DIGITAL
|
||||
tristate "Qualcomm MSM8916 WCD DIGITAL Codec"
|
||||
|
||||
config SND_SOC_PCM1681
|
||||
tristate "Texas Instruments PCM1681 CODEC"
|
||||
depends on I2C
|
||||
|
||||
@@ -87,6 +87,7 @@ snd-soc-max9860-objs := max9860.o
|
||||
snd-soc-mc13783-objs := mc13783.o
|
||||
snd-soc-ml26124-objs := ml26124.o
|
||||
snd-soc-msm8916-analog-objs := msm8916-wcd-analog.o
|
||||
snd-soc-msm8916-digital-objs := msm8916-wcd-digital.o
|
||||
snd-soc-nau8810-objs := nau8810.o
|
||||
snd-soc-nau8825-objs := nau8825.o
|
||||
snd-soc-hdmi-codec-objs := hdmi-codec.o
|
||||
@@ -311,6 +312,7 @@ obj-$(CONFIG_SND_SOC_MAX9860) += snd-soc-max9860.o
|
||||
obj-$(CONFIG_SND_SOC_MC13783) += snd-soc-mc13783.o
|
||||
obj-$(CONFIG_SND_SOC_ML26124) += snd-soc-ml26124.o
|
||||
obj-$(CONFIG_SND_SOC_MSM8916_WCD_ANALOG) +=snd-soc-msm8916-analog.o
|
||||
obj-$(CONFIG_SND_SOC_MSM8916_WCD_DIGITAL) +=snd-soc-msm8916-digital.o
|
||||
obj-$(CONFIG_SND_SOC_NAU8810) += snd-soc-nau8810.o
|
||||
obj-$(CONFIG_SND_SOC_NAU8825) += snd-soc-nau8825.o
|
||||
obj-$(CONFIG_SND_SOC_HDMI_CODEC) += snd-soc-hdmi-codec.o
|
||||
|
||||
923
sound/soc/codecs/msm8916-wcd-digital.c
Normal file
923
sound/soc/codecs/msm8916-wcd-digital.c
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user