Merge "asoc: audio-ext-clk: Add support for multiple lpass clock sources"
This commit is contained in:
commit
9264698ee1
23 changed files with 10750 additions and 39 deletions
|
@ -24,11 +24,16 @@ include $(MY_LOCAL_PATH)/asoc/codecs/Android.mk
|
|||
include $(MY_LOCAL_PATH)/asoc/codecs/wcd934x/Android.mk
|
||||
endif
|
||||
|
||||
ifeq ($(call is-board-platform-in-list,sdm670 msmnile $(MSMSTEPPE)),true)
|
||||
ifeq ($(call is-board-platform-in-list,sdm670 msmnile),true)
|
||||
$(shell rm -rf $(PRODUCT_OUT)/obj/vendor/qcom/opensource/audio-kernel/asoc/codecs/aqt1000/Module.symvers)
|
||||
include $(MY_LOCAL_PATH)/asoc/codecs/aqt1000/Android.mk
|
||||
endif
|
||||
|
||||
ifeq ($(call is-board-platform-in-list,$(MSMSTEPPE)),true)
|
||||
$(shell rm -rf $(PRODUCT_OUT)/obj/vendor/qcom/opensource/audio-kernel/asoc/codecs/bolero/Module.symvers)
|
||||
include $(MY_LOCAL_PATH)/asoc/codecs/bolero/Android.mk
|
||||
endif
|
||||
|
||||
ifeq ($(call is-board-platform-in-list,msm8953 sdm670 qcs605),true)
|
||||
$(shell rm -rf $(PRODUCT_OUT)/obj/vendor/qcom/opensource/audio-kernel/asoc/codecs/sdm660_cdc/Module.symvers)
|
||||
$(shell rm -rf $(PRODUCT_OUT)/obj/vendor/qcom/opensource/audio-kernel/asoc/codecs/msm_sdw/Module.symvers)
|
||||
|
@ -36,7 +41,7 @@ include $(MY_LOCAL_PATH)/asoc/codecs/sdm660_cdc/Android.mk
|
|||
include $(MY_LOCAL_PATH)/asoc/codecs/msm_sdw/Android.mk
|
||||
endif
|
||||
|
||||
ifeq ($(call is-board-platform-in-list,msmnile $(MSMSTEPPE)),true)
|
||||
ifeq ($(call is-board-platform-in-list,msmnile),true)
|
||||
$(shell rm -rf $(PRODUCT_OUT)/obj/vendor/qcom/opensource/audio-kernel/asoc/codecs/wcd9360/Module.symvers)
|
||||
include $(MY_LOCAL_PATH)/asoc/codecs/wcd9360/Android.mk
|
||||
endif
|
||||
|
|
12
asoc/Kbuild
12
asoc/Kbuild
|
@ -35,9 +35,9 @@ ifeq ($(KERNEL_BUILD), 0)
|
|||
INCS += -include $(AUDIO_ROOT)/config/sm8150autoconf.h
|
||||
endif
|
||||
ifeq ($(CONFIG_ARCH_SM6150), y)
|
||||
include $(AUDIO_ROOT)/config/sm8150auto.conf
|
||||
include $(AUDIO_ROOT)/config/sm6150auto.conf
|
||||
export
|
||||
INCS += -include $(AUDIO_ROOT)/config/sm8150autoconf.h
|
||||
INCS += -include $(AUDIO_ROOT)/config/sm6150autoconf.h
|
||||
endif
|
||||
ifeq ($(CONFIG_ARCH_SDMSHRIKE), y)
|
||||
include $(AUDIO_ROOT)/config/sm8150auto.conf
|
||||
|
@ -104,6 +104,11 @@ ifdef CONFIG_SND_SOC_SM8150
|
|||
MACHINE_OBJS += sm8150.o
|
||||
endif
|
||||
|
||||
# for SM6150 sound card driver
|
||||
ifdef CONFIG_SND_SOC_SM6150
|
||||
MACHINE_OBJS += sm6150.o
|
||||
endif
|
||||
|
||||
# for qcs405 sound card driver
|
||||
ifdef CONFIG_SND_SOC_QCS405
|
||||
MACHINE_OBJS += qcs405.o
|
||||
|
@ -200,6 +205,9 @@ machine_dlkm-y := $(MACHINE_OBJS)
|
|||
obj-$(CONFIG_SND_SOC_SM8150) += machine_dlkm.o
|
||||
machine_dlkm-y := $(MACHINE_OBJS)
|
||||
|
||||
obj-$(CONFIG_SND_SOC_SM6150) += machine_dlkm.o
|
||||
machine_dlkm-y := $(MACHINE_OBJS)
|
||||
|
||||
obj-$(CONFIG_SND_SOC_QCS405) += machine_dlkm.o
|
||||
machine_dlkm-y := $(MACHINE_OBJS)
|
||||
|
||||
|
|
|
@ -35,9 +35,9 @@ ifeq ($(KERNEL_BUILD), 0)
|
|||
INCS += -include $(AUDIO_ROOT)/config/sm8150autoconf.h
|
||||
endif
|
||||
ifeq ($(CONFIG_ARCH_SM6150), y)
|
||||
include $(AUDIO_ROOT)/config/sm8150auto.conf
|
||||
include $(AUDIO_ROOT)/config/sm6150auto.conf
|
||||
export
|
||||
INCS += -include $(AUDIO_ROOT)/config/sm8150autoconf.h
|
||||
INCS += -include $(AUDIO_ROOT)/config/sm6150autoconf.h
|
||||
endif
|
||||
ifeq ($(CONFIG_ARCH_SDMSHRIKE), y)
|
||||
include $(AUDIO_ROOT)/config/sm8150auto.conf
|
||||
|
|
|
@ -28,11 +28,6 @@ ifeq ($(KERNEL_BUILD), 0)
|
|||
export
|
||||
INCS += -include $(AUDIO_ROOT)/config/sm8150autoconf.h
|
||||
endif
|
||||
ifeq ($(CONFIG_ARCH_SM6150), y)
|
||||
include $(AUDIO_ROOT)/config/sm8150auto.conf
|
||||
export
|
||||
INCS += -include $(AUDIO_ROOT)/config/sm8150autoconf.h
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_ARCH_SDMSHRIKE), y)
|
||||
include $(AUDIO_ROOT)/config/sm8150auto.conf
|
||||
|
|
|
@ -29,6 +29,10 @@ enum {
|
|||
AUDIO_EXT_CLK_LPASS,
|
||||
AUDIO_EXT_CLK_LPASS2,
|
||||
AUDIO_EXT_CLK_LPASS3,
|
||||
AUDIO_EXT_CLK_LPASS4,
|
||||
AUDIO_EXT_CLK_LPASS5,
|
||||
AUDIO_EXT_CLK_LPASS6,
|
||||
AUDIO_EXT_CLK_LPASS7,
|
||||
AUDIO_EXT_CLK_LPASS_MAX,
|
||||
AUDIO_EXT_CLK_MAX = AUDIO_EXT_CLK_LPASS_MAX,
|
||||
};
|
||||
|
@ -226,6 +230,50 @@ static struct audio_ext_clk audio_clk_array[] = {
|
|||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
.pnctrl_info = {NULL},
|
||||
.fact = {
|
||||
.mult = 1,
|
||||
.div = 1,
|
||||
.hw.init = &(struct clk_init_data){
|
||||
.name = "audio_lpass_mclk4",
|
||||
.ops = &audio_ext_clk_ops,
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
.pnctrl_info = {NULL},
|
||||
.fact = {
|
||||
.mult = 1,
|
||||
.div = 1,
|
||||
.hw.init = &(struct clk_init_data){
|
||||
.name = "audio_lpass_mclk5",
|
||||
.ops = &audio_ext_clk_ops,
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
.pnctrl_info = {NULL},
|
||||
.fact = {
|
||||
.mult = 1,
|
||||
.div = 1,
|
||||
.hw.init = &(struct clk_init_data){
|
||||
.name = "audio_lpass_mclk6",
|
||||
.ops = &audio_ext_clk_ops,
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
.pnctrl_info = {NULL},
|
||||
.fact = {
|
||||
.mult = 1,
|
||||
.div = 1,
|
||||
.hw.init = &(struct clk_init_data){
|
||||
.name = "audio_lpass_mclk7",
|
||||
.ops = &audio_ext_clk_ops,
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
static int audio_get_pinctrl(struct platform_device *pdev)
|
||||
|
|
|
@ -32,9 +32,9 @@ ifeq ($(KERNEL_BUILD), 0)
|
|||
INCS += -include $(AUDIO_ROOT)/config/sdm670autoconf.h
|
||||
endif
|
||||
ifeq ($(CONFIG_ARCH_SM6150), y)
|
||||
include $(AUDIO_ROOT)/config/sm8150auto.conf
|
||||
include $(AUDIO_ROOT)/config/sm6150auto.conf
|
||||
export
|
||||
INCS += -include $(AUDIO_ROOT)/config/sm8150autoconf.h
|
||||
INCS += -include $(AUDIO_ROOT)/config/sm6150autoconf.h
|
||||
endif
|
||||
ifeq ($(CONFIG_ARCH_SM8150), y)
|
||||
include $(AUDIO_ROOT)/config/sm8150auto.conf
|
||||
|
|
|
@ -7,13 +7,9 @@ ifeq ($(call is-board-platform,msmnile),true)
|
|||
AUDIO_SELECT := CONFIG_SND_SOC_SM8150=m
|
||||
endif
|
||||
|
||||
ifeq ($(call is-board-platform,$(MSMSTEPPE)),true)
|
||||
AUDIO_SELECT := CONFIG_SND_SOC_SM6150=m
|
||||
endif
|
||||
|
||||
AUDIO_CHIPSET := audio
|
||||
# Build/Package only in case of supported target
|
||||
ifeq ($(call is-board-platform-in-list,msmnile $(MSMSTEPPE)),true)
|
||||
ifeq ($(call is-board-platform-in-list,msmnile),true)
|
||||
|
||||
LOCAL_PATH := $(call my-dir)
|
||||
|
||||
|
|
|
@ -21,11 +21,6 @@ ifeq ($(KERNEL_BUILD), 0)
|
|||
export
|
||||
INCS += -include $(AUDIO_ROOT)/config/sm8150autoconf.h
|
||||
endif
|
||||
ifeq ($(CONFIG_ARCH_SM6150), y)
|
||||
include $(AUDIO_ROOT)/config/sm8150auto.conf
|
||||
export
|
||||
INCS += -include $(AUDIO_ROOT)/config/sm8150autoconf.h
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_ARCH_SDMSHRIKE), y)
|
||||
include $(AUDIO_ROOT)/config/sm8150auto.conf
|
||||
|
|
|
@ -9680,6 +9680,14 @@ static int msm_dai_q6_cdc_dma_set_channel_map(struct snd_soc_dai *dai,
|
|||
switch (dai->id) {
|
||||
case AFE_PORT_ID_WSA_CODEC_DMA_RX_0:
|
||||
case AFE_PORT_ID_WSA_CODEC_DMA_RX_1:
|
||||
case AFE_PORT_ID_RX_CODEC_DMA_RX_0:
|
||||
case AFE_PORT_ID_RX_CODEC_DMA_RX_1:
|
||||
case AFE_PORT_ID_RX_CODEC_DMA_RX_2:
|
||||
case AFE_PORT_ID_RX_CODEC_DMA_RX_3:
|
||||
case AFE_PORT_ID_RX_CODEC_DMA_RX_4:
|
||||
case AFE_PORT_ID_RX_CODEC_DMA_RX_5:
|
||||
case AFE_PORT_ID_RX_CODEC_DMA_RX_6:
|
||||
case AFE_PORT_ID_RX_CODEC_DMA_RX_7:
|
||||
if (!rx_ch_mask) {
|
||||
dev_err(dai->dev, "%s: invalid rx ch mask\n", __func__);
|
||||
return -EINVAL;
|
||||
|
@ -9697,6 +9705,12 @@ static int msm_dai_q6_cdc_dma_set_channel_map(struct snd_soc_dai *dai,
|
|||
case AFE_PORT_ID_WSA_CODEC_DMA_TX_2:
|
||||
case AFE_PORT_ID_VA_CODEC_DMA_TX_0:
|
||||
case AFE_PORT_ID_VA_CODEC_DMA_TX_1:
|
||||
case AFE_PORT_ID_TX_CODEC_DMA_TX_0:
|
||||
case AFE_PORT_ID_TX_CODEC_DMA_TX_1:
|
||||
case AFE_PORT_ID_TX_CODEC_DMA_TX_2:
|
||||
case AFE_PORT_ID_TX_CODEC_DMA_TX_3:
|
||||
case AFE_PORT_ID_TX_CODEC_DMA_TX_4:
|
||||
case AFE_PORT_ID_TX_CODEC_DMA_TX_5:
|
||||
if (!tx_ch_mask) {
|
||||
dev_err(dai->dev, "%s: invalid tx ch mask\n", __func__);
|
||||
return -EINVAL;
|
||||
|
@ -10006,7 +10020,355 @@ static struct snd_soc_dai_driver msm_dai_q6_cdc_dma_dai[] = {
|
|||
.probe = msm_dai_q6_dai_cdc_dma_probe,
|
||||
.remove = msm_dai_q6_dai_cdc_dma_remove,
|
||||
},
|
||||
|
||||
{
|
||||
.playback = {
|
||||
.stream_name = "RX CDC DMA0 Playback",
|
||||
.aif_name = "RX_CDC_DMA_RX_0",
|
||||
.rates = SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_11025 |
|
||||
SNDRV_PCM_RATE_16000 | SNDRV_PCM_RATE_22050 |
|
||||
SNDRV_PCM_RATE_32000 | SNDRV_PCM_RATE_44100 |
|
||||
SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_88200 |
|
||||
SNDRV_PCM_RATE_96000 | SNDRV_PCM_RATE_176400 |
|
||||
SNDRV_PCM_RATE_192000 | SNDRV_PCM_RATE_352800 |
|
||||
SNDRV_PCM_RATE_384000,
|
||||
.formats = SNDRV_PCM_FMTBIT_S16_LE |
|
||||
SNDRV_PCM_FMTBIT_S24_LE |
|
||||
SNDRV_PCM_FMTBIT_S24_3LE |
|
||||
SNDRV_PCM_FMTBIT_S32_LE,
|
||||
.channels_min = 1,
|
||||
.channels_max = 2,
|
||||
.rate_min = 8000,
|
||||
.rate_max = 384000,
|
||||
},
|
||||
.ops = &msm_dai_q6_cdc_dma_ops,
|
||||
.id = AFE_PORT_ID_RX_CODEC_DMA_RX_0,
|
||||
.probe = msm_dai_q6_dai_cdc_dma_probe,
|
||||
.remove = msm_dai_q6_dai_cdc_dma_remove,
|
||||
},
|
||||
{
|
||||
.capture = {
|
||||
.stream_name = "TX CDC DMA0 Capture",
|
||||
.aif_name = "TX_CDC_DMA_TX_0",
|
||||
.rates = SNDRV_PCM_RATE_8000 |
|
||||
SNDRV_PCM_RATE_16000 |
|
||||
SNDRV_PCM_RATE_32000 |
|
||||
SNDRV_PCM_RATE_48000 |
|
||||
SNDRV_PCM_RATE_96000 |
|
||||
SNDRV_PCM_RATE_192000 |
|
||||
SNDRV_PCM_RATE_384000,
|
||||
.formats = SNDRV_PCM_FMTBIT_S16_LE |
|
||||
SNDRV_PCM_FMTBIT_S24_LE |
|
||||
SNDRV_PCM_FMTBIT_S24_3LE |
|
||||
SNDRV_PCM_FMTBIT_S32_LE,
|
||||
.channels_min = 1,
|
||||
.channels_max = 3,
|
||||
.rate_min = 8000,
|
||||
.rate_max = 384000,
|
||||
},
|
||||
.ops = &msm_dai_q6_cdc_dma_ops,
|
||||
.id = AFE_PORT_ID_TX_CODEC_DMA_TX_0,
|
||||
.probe = msm_dai_q6_dai_cdc_dma_probe,
|
||||
.remove = msm_dai_q6_dai_cdc_dma_remove,
|
||||
},
|
||||
{
|
||||
.playback = {
|
||||
.stream_name = "RX CDC DMA1 Playback",
|
||||
.aif_name = "RX_CDC_DMA_RX_1",
|
||||
.rates = SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_11025 |
|
||||
SNDRV_PCM_RATE_16000 | SNDRV_PCM_RATE_22050 |
|
||||
SNDRV_PCM_RATE_32000 | SNDRV_PCM_RATE_44100 |
|
||||
SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_88200 |
|
||||
SNDRV_PCM_RATE_96000 | SNDRV_PCM_RATE_176400 |
|
||||
SNDRV_PCM_RATE_192000 | SNDRV_PCM_RATE_352800 |
|
||||
SNDRV_PCM_RATE_384000,
|
||||
.formats = SNDRV_PCM_FMTBIT_S16_LE |
|
||||
SNDRV_PCM_FMTBIT_S24_LE |
|
||||
SNDRV_PCM_FMTBIT_S24_3LE |
|
||||
SNDRV_PCM_FMTBIT_S32_LE,
|
||||
.channels_min = 1,
|
||||
.channels_max = 2,
|
||||
.rate_min = 8000,
|
||||
.rate_max = 384000,
|
||||
},
|
||||
.ops = &msm_dai_q6_cdc_dma_ops,
|
||||
.id = AFE_PORT_ID_RX_CODEC_DMA_RX_1,
|
||||
.probe = msm_dai_q6_dai_cdc_dma_probe,
|
||||
.remove = msm_dai_q6_dai_cdc_dma_remove,
|
||||
},
|
||||
{
|
||||
.capture = {
|
||||
.stream_name = "TX CDC DMA1 Capture",
|
||||
.aif_name = "TX_CDC_DMA_TX_1",
|
||||
.rates = SNDRV_PCM_RATE_8000 |
|
||||
SNDRV_PCM_RATE_16000 |
|
||||
SNDRV_PCM_RATE_32000 |
|
||||
SNDRV_PCM_RATE_48000 |
|
||||
SNDRV_PCM_RATE_96000 |
|
||||
SNDRV_PCM_RATE_192000 |
|
||||
SNDRV_PCM_RATE_384000,
|
||||
.formats = SNDRV_PCM_FMTBIT_S16_LE |
|
||||
SNDRV_PCM_FMTBIT_S24_LE |
|
||||
SNDRV_PCM_FMTBIT_S24_3LE |
|
||||
SNDRV_PCM_FMTBIT_S32_LE,
|
||||
.channels_min = 1,
|
||||
.channels_max = 3,
|
||||
.rate_min = 8000,
|
||||
.rate_max = 384000,
|
||||
},
|
||||
.ops = &msm_dai_q6_cdc_dma_ops,
|
||||
.id = AFE_PORT_ID_TX_CODEC_DMA_TX_1,
|
||||
.probe = msm_dai_q6_dai_cdc_dma_probe,
|
||||
.remove = msm_dai_q6_dai_cdc_dma_remove,
|
||||
},
|
||||
{
|
||||
.playback = {
|
||||
.stream_name = "RX CDC DMA2 Playback",
|
||||
.aif_name = "RX_CDC_DMA_RX_2",
|
||||
.rates = SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_11025 |
|
||||
SNDRV_PCM_RATE_16000 | SNDRV_PCM_RATE_22050 |
|
||||
SNDRV_PCM_RATE_32000 | SNDRV_PCM_RATE_44100 |
|
||||
SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_88200 |
|
||||
SNDRV_PCM_RATE_96000 | SNDRV_PCM_RATE_176400 |
|
||||
SNDRV_PCM_RATE_192000 | SNDRV_PCM_RATE_352800 |
|
||||
SNDRV_PCM_RATE_384000,
|
||||
.formats = SNDRV_PCM_FMTBIT_S16_LE |
|
||||
SNDRV_PCM_FMTBIT_S24_LE |
|
||||
SNDRV_PCM_FMTBIT_S24_3LE |
|
||||
SNDRV_PCM_FMTBIT_S32_LE,
|
||||
.channels_min = 1,
|
||||
.channels_max = 1,
|
||||
.rate_min = 8000,
|
||||
.rate_max = 384000,
|
||||
},
|
||||
.ops = &msm_dai_q6_cdc_dma_ops,
|
||||
.id = AFE_PORT_ID_RX_CODEC_DMA_RX_2,
|
||||
.probe = msm_dai_q6_dai_cdc_dma_probe,
|
||||
.remove = msm_dai_q6_dai_cdc_dma_remove,
|
||||
},
|
||||
{
|
||||
.capture = {
|
||||
.stream_name = "TX CDC DMA2 Capture",
|
||||
.aif_name = "TX_CDC_DMA_TX_2",
|
||||
.rates = SNDRV_PCM_RATE_8000 |
|
||||
SNDRV_PCM_RATE_16000 |
|
||||
SNDRV_PCM_RATE_32000 |
|
||||
SNDRV_PCM_RATE_48000 |
|
||||
SNDRV_PCM_RATE_96000 |
|
||||
SNDRV_PCM_RATE_192000 |
|
||||
SNDRV_PCM_RATE_384000,
|
||||
.formats = SNDRV_PCM_FMTBIT_S16_LE |
|
||||
SNDRV_PCM_FMTBIT_S24_LE |
|
||||
SNDRV_PCM_FMTBIT_S24_3LE |
|
||||
SNDRV_PCM_FMTBIT_S32_LE,
|
||||
.channels_min = 1,
|
||||
.channels_max = 4,
|
||||
.rate_min = 8000,
|
||||
.rate_max = 384000,
|
||||
},
|
||||
.ops = &msm_dai_q6_cdc_dma_ops,
|
||||
.id = AFE_PORT_ID_TX_CODEC_DMA_TX_2,
|
||||
.probe = msm_dai_q6_dai_cdc_dma_probe,
|
||||
.remove = msm_dai_q6_dai_cdc_dma_remove,
|
||||
}, {
|
||||
.playback = {
|
||||
.stream_name = "RX CDC DMA3 Playback",
|
||||
.aif_name = "RX_CDC_DMA_RX_3",
|
||||
.rates = SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_11025 |
|
||||
SNDRV_PCM_RATE_16000 | SNDRV_PCM_RATE_22050 |
|
||||
SNDRV_PCM_RATE_32000 | SNDRV_PCM_RATE_44100 |
|
||||
SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_88200 |
|
||||
SNDRV_PCM_RATE_96000 | SNDRV_PCM_RATE_176400 |
|
||||
SNDRV_PCM_RATE_192000 | SNDRV_PCM_RATE_352800 |
|
||||
SNDRV_PCM_RATE_384000,
|
||||
.formats = SNDRV_PCM_FMTBIT_S16_LE |
|
||||
SNDRV_PCM_FMTBIT_S24_LE |
|
||||
SNDRV_PCM_FMTBIT_S24_3LE |
|
||||
SNDRV_PCM_FMTBIT_S32_LE,
|
||||
.channels_min = 1,
|
||||
.channels_max = 1,
|
||||
.rate_min = 8000,
|
||||
.rate_max = 384000,
|
||||
},
|
||||
.ops = &msm_dai_q6_cdc_dma_ops,
|
||||
.id = AFE_PORT_ID_RX_CODEC_DMA_RX_3,
|
||||
.probe = msm_dai_q6_dai_cdc_dma_probe,
|
||||
.remove = msm_dai_q6_dai_cdc_dma_remove,
|
||||
},
|
||||
{
|
||||
.capture = {
|
||||
.stream_name = "TX CDC DMA3 Capture",
|
||||
.aif_name = "TX_CDC_DMA_TX_3",
|
||||
.rates = SNDRV_PCM_RATE_8000 |
|
||||
SNDRV_PCM_RATE_16000 |
|
||||
SNDRV_PCM_RATE_32000 |
|
||||
SNDRV_PCM_RATE_48000 |
|
||||
SNDRV_PCM_RATE_96000 |
|
||||
SNDRV_PCM_RATE_192000 |
|
||||
SNDRV_PCM_RATE_384000,
|
||||
.formats = SNDRV_PCM_FMTBIT_S16_LE |
|
||||
SNDRV_PCM_FMTBIT_S24_LE |
|
||||
SNDRV_PCM_FMTBIT_S24_3LE |
|
||||
SNDRV_PCM_FMTBIT_S32_LE,
|
||||
.channels_min = 1,
|
||||
.channels_max = 8,
|
||||
.rate_min = 8000,
|
||||
.rate_max = 384000,
|
||||
},
|
||||
.ops = &msm_dai_q6_cdc_dma_ops,
|
||||
.id = AFE_PORT_ID_TX_CODEC_DMA_TX_3,
|
||||
.probe = msm_dai_q6_dai_cdc_dma_probe,
|
||||
.remove = msm_dai_q6_dai_cdc_dma_remove,
|
||||
},
|
||||
{
|
||||
.playback = {
|
||||
.stream_name = "RX CDC DMA4 Playback",
|
||||
.aif_name = "RX_CDC_DMA_RX_4",
|
||||
.rates = SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_11025 |
|
||||
SNDRV_PCM_RATE_16000 | SNDRV_PCM_RATE_22050 |
|
||||
SNDRV_PCM_RATE_32000 | SNDRV_PCM_RATE_44100 |
|
||||
SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_88200 |
|
||||
SNDRV_PCM_RATE_96000 | SNDRV_PCM_RATE_176400 |
|
||||
SNDRV_PCM_RATE_192000 | SNDRV_PCM_RATE_352800 |
|
||||
SNDRV_PCM_RATE_384000,
|
||||
.formats = SNDRV_PCM_FMTBIT_S16_LE |
|
||||
SNDRV_PCM_FMTBIT_S24_LE |
|
||||
SNDRV_PCM_FMTBIT_S24_3LE |
|
||||
SNDRV_PCM_FMTBIT_S32_LE,
|
||||
.channels_min = 1,
|
||||
.channels_max = 6,
|
||||
.rate_min = 8000,
|
||||
.rate_max = 384000,
|
||||
},
|
||||
.ops = &msm_dai_q6_cdc_dma_ops,
|
||||
.id = AFE_PORT_ID_RX_CODEC_DMA_RX_4,
|
||||
.probe = msm_dai_q6_dai_cdc_dma_probe,
|
||||
.remove = msm_dai_q6_dai_cdc_dma_remove,
|
||||
},
|
||||
{
|
||||
.capture = {
|
||||
.stream_name = "TX CDC DMA4 Capture",
|
||||
.aif_name = "TX_CDC_DMA_TX_4",
|
||||
.rates = SNDRV_PCM_RATE_8000 |
|
||||
SNDRV_PCM_RATE_16000 |
|
||||
SNDRV_PCM_RATE_32000 |
|
||||
SNDRV_PCM_RATE_48000 |
|
||||
SNDRV_PCM_RATE_96000 |
|
||||
SNDRV_PCM_RATE_192000 |
|
||||
SNDRV_PCM_RATE_384000,
|
||||
.formats = SNDRV_PCM_FMTBIT_S16_LE |
|
||||
SNDRV_PCM_FMTBIT_S24_LE |
|
||||
SNDRV_PCM_FMTBIT_S24_3LE |
|
||||
SNDRV_PCM_FMTBIT_S32_LE,
|
||||
.channels_min = 1,
|
||||
.channels_max = 8,
|
||||
.rate_min = 8000,
|
||||
.rate_max = 384000,
|
||||
},
|
||||
.ops = &msm_dai_q6_cdc_dma_ops,
|
||||
.id = AFE_PORT_ID_TX_CODEC_DMA_TX_4,
|
||||
.probe = msm_dai_q6_dai_cdc_dma_probe,
|
||||
.remove = msm_dai_q6_dai_cdc_dma_remove,
|
||||
},
|
||||
{
|
||||
.playback = {
|
||||
.stream_name = "RX CDC DMA5 Playback",
|
||||
.aif_name = "RX_CDC_DMA_RX_5",
|
||||
.rates = SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_11025 |
|
||||
SNDRV_PCM_RATE_16000 | SNDRV_PCM_RATE_22050 |
|
||||
SNDRV_PCM_RATE_32000 | SNDRV_PCM_RATE_44100 |
|
||||
SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_88200 |
|
||||
SNDRV_PCM_RATE_96000 | SNDRV_PCM_RATE_176400 |
|
||||
SNDRV_PCM_RATE_192000 | SNDRV_PCM_RATE_352800 |
|
||||
SNDRV_PCM_RATE_384000,
|
||||
.formats = SNDRV_PCM_FMTBIT_S16_LE |
|
||||
SNDRV_PCM_FMTBIT_S24_LE |
|
||||
SNDRV_PCM_FMTBIT_S24_3LE |
|
||||
SNDRV_PCM_FMTBIT_S32_LE,
|
||||
.channels_min = 1,
|
||||
.channels_max = 1,
|
||||
.rate_min = 8000,
|
||||
.rate_max = 384000,
|
||||
},
|
||||
.ops = &msm_dai_q6_cdc_dma_ops,
|
||||
.id = AFE_PORT_ID_RX_CODEC_DMA_RX_5,
|
||||
.probe = msm_dai_q6_dai_cdc_dma_probe,
|
||||
.remove = msm_dai_q6_dai_cdc_dma_remove,
|
||||
},
|
||||
{
|
||||
.capture = {
|
||||
.stream_name = "TX CDC DMA5 Capture",
|
||||
.aif_name = "TX_CDC_DMA_TX_5",
|
||||
.rates = SNDRV_PCM_RATE_8000 |
|
||||
SNDRV_PCM_RATE_16000 |
|
||||
SNDRV_PCM_RATE_32000 |
|
||||
SNDRV_PCM_RATE_48000 |
|
||||
SNDRV_PCM_RATE_96000 |
|
||||
SNDRV_PCM_RATE_192000 |
|
||||
SNDRV_PCM_RATE_384000,
|
||||
.formats = SNDRV_PCM_FMTBIT_S16_LE |
|
||||
SNDRV_PCM_FMTBIT_S24_LE |
|
||||
SNDRV_PCM_FMTBIT_S24_3LE |
|
||||
SNDRV_PCM_FMTBIT_S32_LE,
|
||||
.channels_min = 1,
|
||||
.channels_max = 4,
|
||||
.rate_min = 8000,
|
||||
.rate_max = 384000,
|
||||
},
|
||||
.ops = &msm_dai_q6_cdc_dma_ops,
|
||||
.id = AFE_PORT_ID_TX_CODEC_DMA_TX_5,
|
||||
.probe = msm_dai_q6_dai_cdc_dma_probe,
|
||||
.remove = msm_dai_q6_dai_cdc_dma_remove,
|
||||
},
|
||||
{
|
||||
.playback = {
|
||||
.stream_name = "RX CDC DMA6 Playback",
|
||||
.aif_name = "RX_CDC_DMA_RX_6",
|
||||
.rates = SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_11025 |
|
||||
SNDRV_PCM_RATE_16000 | SNDRV_PCM_RATE_22050 |
|
||||
SNDRV_PCM_RATE_32000 | SNDRV_PCM_RATE_44100 |
|
||||
SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_88200 |
|
||||
SNDRV_PCM_RATE_96000 | SNDRV_PCM_RATE_176400 |
|
||||
SNDRV_PCM_RATE_192000 | SNDRV_PCM_RATE_352800 |
|
||||
SNDRV_PCM_RATE_384000,
|
||||
.formats = SNDRV_PCM_FMTBIT_S16_LE |
|
||||
SNDRV_PCM_FMTBIT_S24_LE |
|
||||
SNDRV_PCM_FMTBIT_S24_3LE |
|
||||
SNDRV_PCM_FMTBIT_S32_LE,
|
||||
.channels_min = 1,
|
||||
.channels_max = 4,
|
||||
.rate_min = 8000,
|
||||
.rate_max = 384000,
|
||||
},
|
||||
.ops = &msm_dai_q6_cdc_dma_ops,
|
||||
.id = AFE_PORT_ID_RX_CODEC_DMA_RX_6,
|
||||
.probe = msm_dai_q6_dai_cdc_dma_probe,
|
||||
.remove = msm_dai_q6_dai_cdc_dma_remove,
|
||||
},
|
||||
{
|
||||
.playback = {
|
||||
.stream_name = "RX CDC DMA7 Playback",
|
||||
.aif_name = "RX_CDC_DMA_RX_7",
|
||||
.rates = SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_11025 |
|
||||
SNDRV_PCM_RATE_16000 | SNDRV_PCM_RATE_22050 |
|
||||
SNDRV_PCM_RATE_32000 | SNDRV_PCM_RATE_44100 |
|
||||
SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_88200 |
|
||||
SNDRV_PCM_RATE_96000 | SNDRV_PCM_RATE_176400 |
|
||||
SNDRV_PCM_RATE_192000 | SNDRV_PCM_RATE_352800 |
|
||||
SNDRV_PCM_RATE_384000,
|
||||
.formats = SNDRV_PCM_FMTBIT_S16_LE |
|
||||
SNDRV_PCM_FMTBIT_S24_LE |
|
||||
SNDRV_PCM_FMTBIT_S24_3LE |
|
||||
SNDRV_PCM_FMTBIT_S32_LE,
|
||||
.channels_min = 1,
|
||||
.channels_max = 2,
|
||||
.rate_min = 8000,
|
||||
.rate_max = 384000,
|
||||
},
|
||||
.ops = &msm_dai_q6_cdc_dma_ops,
|
||||
.id = AFE_PORT_ID_RX_CODEC_DMA_RX_7,
|
||||
.probe = msm_dai_q6_dai_cdc_dma_probe,
|
||||
.remove = msm_dai_q6_dai_cdc_dma_remove,
|
||||
},
|
||||
};
|
||||
|
||||
static const struct snd_soc_component_driver msm_q6_cdc_dma_dai_component = {
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -197,6 +197,20 @@
|
|||
#define LPASS_BE_VA_CDC_DMA_TX_0 "VA_CDC_DMA_TX_0"
|
||||
#define LPASS_BE_VA_CDC_DMA_TX_1 "VA_CDC_DMA_TX_1"
|
||||
|
||||
#define LPASS_BE_RX_CDC_DMA_RX_0 "RX_CDC_DMA_RX_0"
|
||||
#define LPASS_BE_RX_CDC_DMA_RX_1 "RX_CDC_DMA_RX_1"
|
||||
#define LPASS_BE_RX_CDC_DMA_RX_2 "RX_CDC_DMA_RX_2"
|
||||
#define LPASS_BE_RX_CDC_DMA_RX_3 "RX_CDC_DMA_RX_3"
|
||||
#define LPASS_BE_RX_CDC_DMA_RX_4 "RX_CDC_DMA_RX_4"
|
||||
#define LPASS_BE_RX_CDC_DMA_RX_5 "RX_CDC_DMA_RX_5"
|
||||
#define LPASS_BE_RX_CDC_DMA_RX_6 "RX_CDC_DMA_RX_6"
|
||||
#define LPASS_BE_RX_CDC_DMA_RX_7 "RX_CDC_DMA_RX_7"
|
||||
#define LPASS_BE_TX_CDC_DMA_TX_0 "TX_CDC_DMA_TX_0"
|
||||
#define LPASS_BE_TX_CDC_DMA_TX_1 "TX_CDC_DMA_TX_1"
|
||||
#define LPASS_BE_TX_CDC_DMA_TX_2 "TX_CDC_DMA_TX_2"
|
||||
#define LPASS_BE_TX_CDC_DMA_TX_3 "TX_CDC_DMA_TX_3"
|
||||
#define LPASS_BE_TX_CDC_DMA_TX_4 "TX_CDC_DMA_TX_4"
|
||||
#define LPASS_BE_TX_CDC_DMA_TX_5 "TX_CDC_DMA_TX_5"
|
||||
|
||||
/* For multimedia front-ends, asm session is allocated dynamically.
|
||||
* Hence, asm session/multimedia front-end mapping has to be maintained.
|
||||
|
@ -419,6 +433,20 @@ enum {
|
|||
MSM_BACKEND_DAI_WSA_CDC_DMA_TX_2,
|
||||
MSM_BACKEND_DAI_VA_CDC_DMA_TX_0,
|
||||
MSM_BACKEND_DAI_VA_CDC_DMA_TX_1,
|
||||
MSM_BACKEND_DAI_RX_CDC_DMA_RX_0,
|
||||
MSM_BACKEND_DAI_TX_CDC_DMA_TX_0,
|
||||
MSM_BACKEND_DAI_RX_CDC_DMA_RX_1,
|
||||
MSM_BACKEND_DAI_TX_CDC_DMA_TX_1,
|
||||
MSM_BACKEND_DAI_RX_CDC_DMA_RX_2,
|
||||
MSM_BACKEND_DAI_TX_CDC_DMA_TX_2,
|
||||
MSM_BACKEND_DAI_RX_CDC_DMA_RX_3,
|
||||
MSM_BACKEND_DAI_TX_CDC_DMA_TX_3,
|
||||
MSM_BACKEND_DAI_RX_CDC_DMA_RX_4,
|
||||
MSM_BACKEND_DAI_TX_CDC_DMA_TX_4,
|
||||
MSM_BACKEND_DAI_RX_CDC_DMA_RX_5,
|
||||
MSM_BACKEND_DAI_TX_CDC_DMA_TX_5,
|
||||
MSM_BACKEND_DAI_RX_CDC_DMA_RX_6,
|
||||
MSM_BACKEND_DAI_RX_CDC_DMA_RX_7,
|
||||
MSM_BACKEND_DAI_PRI_SPDIF_TX,
|
||||
MSM_BACKEND_DAI_SEC_SPDIF_RX,
|
||||
MSM_BACKEND_DAI_SEC_SPDIF_TX,
|
||||
|
|
8332
asoc/sm6150.c
Normal file
8332
asoc/sm6150.c
Normal file
File diff suppressed because it is too large
Load diff
44
config/sm6150auto.conf
Normal file
44
config/sm6150auto.conf
Normal file
|
@ -0,0 +1,44 @@
|
|||
CONFIG_PINCTRL_WCD=m
|
||||
CONFIG_PINCTRL_LPI=m
|
||||
CONFIG_AUDIO_EXT_CLK=m
|
||||
CONFIG_SND_SOC_WCD9XXX_V2=m
|
||||
CONFIG_SND_SOC_WCD_MBHC=m
|
||||
CONFIG_SND_SOC_WSA881X=m
|
||||
CONFIG_SND_SOC_WCD_DSP_MGR=m
|
||||
CONFIG_SND_SOC_WCD_SPI=m
|
||||
CONFIG_SND_SOC_WCD934X=m
|
||||
CONFIG_SND_SOC_WCD934X_MBHC=m
|
||||
CONFIG_SND_SOC_WCD934X_DSD=m
|
||||
CONFIG_WCD9XXX_CODEC_CORE=m
|
||||
CONFIG_MSM_CDC_PINCTRL=m
|
||||
CONFIG_MSM_QDSP6V2_CODECS=m
|
||||
CONFIG_MSM_ULTRASOUND=m
|
||||
CONFIG_MSM_QDSP6_APRV2_RPMSG=m
|
||||
CONFIG_MSM_ADSP_LOADER=m
|
||||
CONFIG_REGMAP_SWR=m
|
||||
CONFIG_MSM_QDSP6_SSR=m
|
||||
CONFIG_MSM_QDSP6_PDR=m
|
||||
CONFIG_MSM_QDSP6_NOTIFIER=m
|
||||
CONFIG_SND_SOC_MSM_HOSTLESS_PCM=m
|
||||
CONFIG_SND_SOC_MSM_QDSP6V2_INTF=m
|
||||
CONFIG_SND_SOC_SM6150=m
|
||||
CONFIG_MSM_GLINK_SPI_XPRT=m
|
||||
CONFIG_WCD_DSP_GLINK=m
|
||||
CONFIG_SOUNDWIRE=m
|
||||
CONFIG_SOUNDWIRE_MSTR_CTRL=m
|
||||
CONFIG_SND_SOC_QDSP6V2=m
|
||||
CONFIG_SND_SOC_WCD_MBHC_ADC=m
|
||||
CONFIG_QTI_PP=m
|
||||
CONFIG_SND_HWDEP_ROUTING=m
|
||||
CONFIG_DTS_EAGLE=m
|
||||
CONFIG_DOLBY_DS2=m
|
||||
CONFIG_DOLBY_LICENSE=m
|
||||
CONFIG_DTS_SRS_TM=m
|
||||
CONFIG_SND_SOC_MSM_STUB=m
|
||||
CONFIG_MSM_AVTIMER=m
|
||||
CONFIG_SND_SOC_MSM_HDMI_CODEC_RX=m
|
||||
CONFIG_SND_SOC_BOLERO=m
|
||||
CONFIG_WSA_MACRO=m
|
||||
CONFIG_VA_MACRO=m
|
||||
CONFIG_RX_MACRO=m
|
||||
CONFIG_TX_MACRO=m
|
57
config/sm6150autoconf.h
Normal file
57
config/sm6150autoconf.h
Normal file
|
@ -0,0 +1,57 @@
|
|||
/* Copyright (c) 2018, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
#define CONFIG_PINCTRL_WCD 1
|
||||
#define CONFIG_PINCTRL_LPI 1
|
||||
#define CONFIG_AUDIO_EXT_CLK 1
|
||||
#define CONFIG_SND_SOC_WCD9XXX_V2 1
|
||||
#define CONFIG_SND_SOC_WCD_MBHC 1
|
||||
#define CONFIG_SND_SOC_WSA881X 1
|
||||
#define CONFIG_SND_SOC_WCD_DSP_MGR 1
|
||||
#define CONFIG_SND_SOC_WCD_SPI 1
|
||||
#define CONFIG_SND_SOC_WCD934X 1
|
||||
#define CONFIG_SND_SOC_WCD934X_MBHC 1
|
||||
#define CONFIG_SND_SOC_WCD934X_DSD 1
|
||||
#define CONFIG_SND_SOC_WCD_CPE 1
|
||||
#define CONFIG_WCD9XXX_CODEC_CORE 1
|
||||
#define CONFIG_MSM_CDC_PINCTRL 1
|
||||
#define CONFIG_MSM_QDSP6V2_CODECS 1
|
||||
#define CONFIG_MSM_ULTRASOUND 1
|
||||
#define CONFIG_MSM_QDSP6_APRV2_RPMSG 1
|
||||
#define CONFIG_SND_SOC_MSM_QDSP6V2_INTF 1
|
||||
#define CONFIG_MSM_ADSP_LOADER 1
|
||||
#define CONFIG_REGMAP_SWR 1
|
||||
#define CONFIG_MSM_QDSP6_SSR 1
|
||||
#define CONFIG_MSM_QDSP6_PDR 1
|
||||
#define CONFIG_MSM_QDSP6_NOTIFIER 1
|
||||
#define CONFIG_SND_SOC_MSM_HOSTLESS_PCM 1
|
||||
#define CONFIG_SND_SOC_SM6150 1
|
||||
#define CONFIG_MSM_GLINK_SPI_XPRT 1
|
||||
#define CONFIG_WCD_DSP_GLINK 1
|
||||
#define CONFIG_SOUNDWIRE 1
|
||||
#define CONFIG_SOUNDWIRE_MSTR_CTRL 1
|
||||
#define CONFIG_SND_SOC_WCD_MBHC_ADC 1
|
||||
#define CONFIG_SND_SOC_QDSP6V2 1
|
||||
#define CONFIG_QTI_PP 1
|
||||
#define CONFIG_SND_HWDEP_ROUTING 1
|
||||
#define CONFIG_DTS_EAGLE 1
|
||||
#define CONFIG_DOLBY_DS2 1
|
||||
#define CONFIG_DOLBY_LICENSE 1
|
||||
#define CONFIG_DTS_SRS_TM 1
|
||||
#define CONFIG_SND_SOC_MSM_STUB 1
|
||||
#define CONFIG_MSM_AVTIMER 1
|
||||
#define CONFIG_SND_SOC_MSM_HDMI_CODEC_RX 1
|
||||
#define CONFIG_SND_SOC_BOLERO 1
|
||||
#define CONFIG_WSA_MACRO 1
|
||||
#define CONFIG_VA_MACRO 1
|
||||
#define CONFIG_RX_MACRO 1
|
||||
#define CONFIG_TX_MACRO 1
|
|
@ -30,9 +30,9 @@ ifeq ($(KERNEL_BUILD), 0)
|
|||
INCS += -include $(AUDIO_ROOT)/config/sdm670autoconf.h
|
||||
endif
|
||||
ifeq ($(CONFIG_ARCH_SM6150), y)
|
||||
include $(AUDIO_ROOT)/config/sm8150auto.conf
|
||||
include $(AUDIO_ROOT)/config/sm6150auto.conf
|
||||
export
|
||||
INCS += -include $(AUDIO_ROOT)/config/sm8150autoconf.h
|
||||
INCS += -include $(AUDIO_ROOT)/config/sm6150autoconf.h
|
||||
endif
|
||||
ifeq ($(CONFIG_ARCH_SM8150), y)
|
||||
include $(AUDIO_ROOT)/config/sm8150auto.conf
|
||||
|
|
|
@ -31,9 +31,9 @@ ifeq ($(KERNEL_BUILD), 0)
|
|||
INCS += -include $(AUDIO_ROOT)/config/sdm670autoconf.h
|
||||
endif
|
||||
ifeq ($(CONFIG_ARCH_SM6150), y)
|
||||
include $(AUDIO_ROOT)/config/sm8150auto.conf
|
||||
include $(AUDIO_ROOT)/config/sm6150auto.conf
|
||||
export
|
||||
INCS += -include $(AUDIO_ROOT)/config/sm8150autoconf.h
|
||||
INCS += -include $(AUDIO_ROOT)/config/sm6150autoconf.h
|
||||
endif
|
||||
ifeq ($(CONFIG_ARCH_SM8150), y)
|
||||
include $(AUDIO_ROOT)/config/sm8150auto.conf
|
||||
|
|
42
dsp/q6afe.c
42
dsp/q6afe.c
|
@ -837,6 +837,20 @@ int afe_sizeof_cfg_cmd(u16 port_id)
|
|||
case AFE_PORT_ID_WSA_CODEC_DMA_TX_2:
|
||||
case AFE_PORT_ID_VA_CODEC_DMA_TX_0:
|
||||
case AFE_PORT_ID_VA_CODEC_DMA_TX_1:
|
||||
case AFE_PORT_ID_RX_CODEC_DMA_RX_0:
|
||||
case AFE_PORT_ID_TX_CODEC_DMA_TX_0:
|
||||
case AFE_PORT_ID_RX_CODEC_DMA_RX_1:
|
||||
case AFE_PORT_ID_TX_CODEC_DMA_TX_1:
|
||||
case AFE_PORT_ID_RX_CODEC_DMA_RX_2:
|
||||
case AFE_PORT_ID_TX_CODEC_DMA_TX_2:
|
||||
case AFE_PORT_ID_RX_CODEC_DMA_RX_3:
|
||||
case AFE_PORT_ID_TX_CODEC_DMA_TX_3:
|
||||
case AFE_PORT_ID_RX_CODEC_DMA_RX_4:
|
||||
case AFE_PORT_ID_TX_CODEC_DMA_TX_4:
|
||||
case AFE_PORT_ID_RX_CODEC_DMA_RX_5:
|
||||
case AFE_PORT_ID_TX_CODEC_DMA_TX_5:
|
||||
case AFE_PORT_ID_RX_CODEC_DMA_RX_6:
|
||||
case AFE_PORT_ID_RX_CODEC_DMA_RX_7:
|
||||
ret_size = SIZEOF_CFG_CMD(afe_param_id_cdc_dma_cfg_t);
|
||||
break;
|
||||
case AFE_PORT_ID_PRIMARY_PCM_RX:
|
||||
|
@ -3966,6 +3980,20 @@ static int __afe_port_start(u16 port_id, union afe_port_config *afe_config,
|
|||
case AFE_PORT_ID_WSA_CODEC_DMA_TX_2:
|
||||
case AFE_PORT_ID_VA_CODEC_DMA_TX_0:
|
||||
case AFE_PORT_ID_VA_CODEC_DMA_TX_1:
|
||||
case AFE_PORT_ID_RX_CODEC_DMA_RX_0:
|
||||
case AFE_PORT_ID_TX_CODEC_DMA_TX_0:
|
||||
case AFE_PORT_ID_RX_CODEC_DMA_RX_1:
|
||||
case AFE_PORT_ID_TX_CODEC_DMA_TX_1:
|
||||
case AFE_PORT_ID_RX_CODEC_DMA_RX_2:
|
||||
case AFE_PORT_ID_TX_CODEC_DMA_TX_2:
|
||||
case AFE_PORT_ID_RX_CODEC_DMA_RX_3:
|
||||
case AFE_PORT_ID_TX_CODEC_DMA_TX_3:
|
||||
case AFE_PORT_ID_RX_CODEC_DMA_RX_4:
|
||||
case AFE_PORT_ID_TX_CODEC_DMA_TX_4:
|
||||
case AFE_PORT_ID_RX_CODEC_DMA_RX_5:
|
||||
case AFE_PORT_ID_TX_CODEC_DMA_TX_5:
|
||||
case AFE_PORT_ID_RX_CODEC_DMA_RX_6:
|
||||
case AFE_PORT_ID_RX_CODEC_DMA_RX_7:
|
||||
cfg_type = AFE_PARAM_ID_CODEC_DMA_CONFIG;
|
||||
break;
|
||||
default:
|
||||
|
@ -4557,6 +4585,20 @@ int afe_open(u16 port_id,
|
|||
case AFE_PORT_ID_WSA_CODEC_DMA_TX_2:
|
||||
case AFE_PORT_ID_VA_CODEC_DMA_TX_0:
|
||||
case AFE_PORT_ID_VA_CODEC_DMA_TX_1:
|
||||
case AFE_PORT_ID_RX_CODEC_DMA_RX_0:
|
||||
case AFE_PORT_ID_TX_CODEC_DMA_TX_0:
|
||||
case AFE_PORT_ID_RX_CODEC_DMA_RX_1:
|
||||
case AFE_PORT_ID_TX_CODEC_DMA_TX_1:
|
||||
case AFE_PORT_ID_RX_CODEC_DMA_RX_2:
|
||||
case AFE_PORT_ID_TX_CODEC_DMA_TX_2:
|
||||
case AFE_PORT_ID_RX_CODEC_DMA_RX_3:
|
||||
case AFE_PORT_ID_TX_CODEC_DMA_TX_3:
|
||||
case AFE_PORT_ID_RX_CODEC_DMA_RX_4:
|
||||
case AFE_PORT_ID_TX_CODEC_DMA_TX_4:
|
||||
case AFE_PORT_ID_RX_CODEC_DMA_RX_5:
|
||||
case AFE_PORT_ID_TX_CODEC_DMA_TX_5:
|
||||
case AFE_PORT_ID_RX_CODEC_DMA_RX_6:
|
||||
case AFE_PORT_ID_RX_CODEC_DMA_RX_7:
|
||||
cfg_type = AFE_PARAM_ID_CODEC_DMA_CONFIG;
|
||||
break;
|
||||
default:
|
||||
|
|
|
@ -318,6 +318,34 @@ int q6audio_get_port_index(u16 port_id)
|
|||
return IDX_AFE_PORT_ID_VA_CODEC_DMA_TX_0;
|
||||
case AFE_PORT_ID_VA_CODEC_DMA_TX_1:
|
||||
return IDX_AFE_PORT_ID_VA_CODEC_DMA_TX_1;
|
||||
case AFE_PORT_ID_RX_CODEC_DMA_RX_0:
|
||||
return IDX_AFE_PORT_ID_RX_CODEC_DMA_RX_0;
|
||||
case AFE_PORT_ID_TX_CODEC_DMA_TX_0:
|
||||
return IDX_AFE_PORT_ID_TX_CODEC_DMA_TX_0;
|
||||
case AFE_PORT_ID_RX_CODEC_DMA_RX_1:
|
||||
return IDX_AFE_PORT_ID_RX_CODEC_DMA_RX_1;
|
||||
case AFE_PORT_ID_TX_CODEC_DMA_TX_1:
|
||||
return IDX_AFE_PORT_ID_TX_CODEC_DMA_TX_1;
|
||||
case AFE_PORT_ID_RX_CODEC_DMA_RX_2:
|
||||
return IDX_AFE_PORT_ID_RX_CODEC_DMA_RX_2;
|
||||
case AFE_PORT_ID_TX_CODEC_DMA_TX_2:
|
||||
return IDX_AFE_PORT_ID_TX_CODEC_DMA_TX_2;
|
||||
case AFE_PORT_ID_RX_CODEC_DMA_RX_3:
|
||||
return IDX_AFE_PORT_ID_RX_CODEC_DMA_RX_3;
|
||||
case AFE_PORT_ID_TX_CODEC_DMA_TX_3:
|
||||
return IDX_AFE_PORT_ID_TX_CODEC_DMA_TX_3;
|
||||
case AFE_PORT_ID_RX_CODEC_DMA_RX_4:
|
||||
return IDX_AFE_PORT_ID_RX_CODEC_DMA_RX_4;
|
||||
case AFE_PORT_ID_TX_CODEC_DMA_TX_4:
|
||||
return IDX_AFE_PORT_ID_TX_CODEC_DMA_TX_4;
|
||||
case AFE_PORT_ID_RX_CODEC_DMA_RX_5:
|
||||
return IDX_AFE_PORT_ID_RX_CODEC_DMA_RX_5;
|
||||
case AFE_PORT_ID_TX_CODEC_DMA_TX_5:
|
||||
return IDX_AFE_PORT_ID_TX_CODEC_DMA_TX_5;
|
||||
case AFE_PORT_ID_RX_CODEC_DMA_RX_6:
|
||||
return IDX_AFE_PORT_ID_RX_CODEC_DMA_RX_6;
|
||||
case AFE_PORT_ID_RX_CODEC_DMA_RX_7:
|
||||
return IDX_AFE_PORT_ID_RX_CODEC_DMA_RX_7;
|
||||
default: return -EINVAL;
|
||||
}
|
||||
}
|
||||
|
@ -626,6 +654,34 @@ int q6audio_get_port_id(u16 port_id)
|
|||
return AFE_PORT_ID_VA_CODEC_DMA_TX_0;
|
||||
case AFE_PORT_ID_VA_CODEC_DMA_TX_1:
|
||||
return AFE_PORT_ID_VA_CODEC_DMA_TX_1;
|
||||
case AFE_PORT_ID_RX_CODEC_DMA_RX_0:
|
||||
return IDX_AFE_PORT_ID_RX_CODEC_DMA_RX_0;
|
||||
case AFE_PORT_ID_TX_CODEC_DMA_TX_0:
|
||||
return IDX_AFE_PORT_ID_TX_CODEC_DMA_TX_0;
|
||||
case AFE_PORT_ID_RX_CODEC_DMA_RX_1:
|
||||
return IDX_AFE_PORT_ID_RX_CODEC_DMA_RX_1;
|
||||
case AFE_PORT_ID_TX_CODEC_DMA_TX_1:
|
||||
return IDX_AFE_PORT_ID_TX_CODEC_DMA_TX_1;
|
||||
case AFE_PORT_ID_RX_CODEC_DMA_RX_2:
|
||||
return IDX_AFE_PORT_ID_RX_CODEC_DMA_RX_2;
|
||||
case AFE_PORT_ID_TX_CODEC_DMA_TX_2:
|
||||
return IDX_AFE_PORT_ID_TX_CODEC_DMA_TX_2;
|
||||
case AFE_PORT_ID_RX_CODEC_DMA_RX_3:
|
||||
return IDX_AFE_PORT_ID_RX_CODEC_DMA_RX_3;
|
||||
case AFE_PORT_ID_TX_CODEC_DMA_TX_3:
|
||||
return IDX_AFE_PORT_ID_TX_CODEC_DMA_TX_3;
|
||||
case AFE_PORT_ID_RX_CODEC_DMA_RX_4:
|
||||
return IDX_AFE_PORT_ID_RX_CODEC_DMA_RX_4;
|
||||
case AFE_PORT_ID_TX_CODEC_DMA_TX_4:
|
||||
return IDX_AFE_PORT_ID_TX_CODEC_DMA_TX_4;
|
||||
case AFE_PORT_ID_RX_CODEC_DMA_RX_5:
|
||||
return IDX_AFE_PORT_ID_RX_CODEC_DMA_RX_5;
|
||||
case AFE_PORT_ID_TX_CODEC_DMA_TX_5:
|
||||
return IDX_AFE_PORT_ID_TX_CODEC_DMA_TX_5;
|
||||
case AFE_PORT_ID_RX_CODEC_DMA_RX_6:
|
||||
return IDX_AFE_PORT_ID_RX_CODEC_DMA_RX_6;
|
||||
case AFE_PORT_ID_RX_CODEC_DMA_RX_7:
|
||||
return IDX_AFE_PORT_ID_RX_CODEC_DMA_RX_7;
|
||||
default:
|
||||
pr_warn("%s: Invalid port_id %d\n", __func__, port_id);
|
||||
return -EINVAL;
|
||||
|
@ -787,6 +843,20 @@ int q6audio_is_digital_pcm_interface(u16 port_id)
|
|||
case AFE_PORT_ID_WSA_CODEC_DMA_TX_2:
|
||||
case AFE_PORT_ID_VA_CODEC_DMA_TX_0:
|
||||
case AFE_PORT_ID_VA_CODEC_DMA_TX_1:
|
||||
case AFE_PORT_ID_RX_CODEC_DMA_RX_0:
|
||||
case AFE_PORT_ID_TX_CODEC_DMA_TX_0:
|
||||
case AFE_PORT_ID_RX_CODEC_DMA_RX_1:
|
||||
case AFE_PORT_ID_TX_CODEC_DMA_TX_1:
|
||||
case AFE_PORT_ID_RX_CODEC_DMA_RX_2:
|
||||
case AFE_PORT_ID_TX_CODEC_DMA_TX_2:
|
||||
case AFE_PORT_ID_RX_CODEC_DMA_RX_3:
|
||||
case AFE_PORT_ID_TX_CODEC_DMA_TX_3:
|
||||
case AFE_PORT_ID_RX_CODEC_DMA_RX_4:
|
||||
case AFE_PORT_ID_TX_CODEC_DMA_TX_4:
|
||||
case AFE_PORT_ID_RX_CODEC_DMA_RX_5:
|
||||
case AFE_PORT_ID_TX_CODEC_DMA_TX_5:
|
||||
case AFE_PORT_ID_RX_CODEC_DMA_RX_6:
|
||||
case AFE_PORT_ID_RX_CODEC_DMA_RX_7:
|
||||
case AFE_PORT_ID_PRIMARY_SPDIF_RX:
|
||||
case AFE_PORT_ID_PRIMARY_SPDIF_TX:
|
||||
case AFE_PORT_ID_SECONDARY_SPDIF_RX:
|
||||
|
@ -981,6 +1051,20 @@ int q6audio_validate_port(u16 port_id)
|
|||
case AFE_PORT_ID_WSA_CODEC_DMA_TX_2:
|
||||
case AFE_PORT_ID_VA_CODEC_DMA_TX_0:
|
||||
case AFE_PORT_ID_VA_CODEC_DMA_TX_1:
|
||||
case AFE_PORT_ID_RX_CODEC_DMA_RX_0:
|
||||
case AFE_PORT_ID_TX_CODEC_DMA_TX_0:
|
||||
case AFE_PORT_ID_RX_CODEC_DMA_RX_1:
|
||||
case AFE_PORT_ID_TX_CODEC_DMA_TX_1:
|
||||
case AFE_PORT_ID_RX_CODEC_DMA_RX_2:
|
||||
case AFE_PORT_ID_TX_CODEC_DMA_TX_2:
|
||||
case AFE_PORT_ID_RX_CODEC_DMA_RX_3:
|
||||
case AFE_PORT_ID_TX_CODEC_DMA_TX_3:
|
||||
case AFE_PORT_ID_RX_CODEC_DMA_RX_4:
|
||||
case AFE_PORT_ID_TX_CODEC_DMA_TX_4:
|
||||
case AFE_PORT_ID_RX_CODEC_DMA_RX_5:
|
||||
case AFE_PORT_ID_TX_CODEC_DMA_TX_5:
|
||||
case AFE_PORT_ID_RX_CODEC_DMA_RX_6:
|
||||
case AFE_PORT_ID_RX_CODEC_DMA_RX_7:
|
||||
{
|
||||
ret = 0;
|
||||
break;
|
||||
|
|
|
@ -1311,6 +1311,48 @@ struct adm_cmd_connect_afe_port_v5 {
|
|||
/* AFE VA Codec DMA Tx port 1 */
|
||||
#define AFE_PORT_ID_VA_CODEC_DMA_TX_1 0xB023
|
||||
|
||||
/* AFE Rx Codec DMA Rx port 0 */
|
||||
#define AFE_PORT_ID_RX_CODEC_DMA_RX_0 0xB030
|
||||
|
||||
/* AFE Tx Codec DMA Tx port 0 */
|
||||
#define AFE_PORT_ID_TX_CODEC_DMA_TX_0 0xB031
|
||||
|
||||
/* AFE Rx Codec DMA Rx port 1 */
|
||||
#define AFE_PORT_ID_RX_CODEC_DMA_RX_1 0xB032
|
||||
|
||||
/* AFE Tx Codec DMA Tx port 1 */
|
||||
#define AFE_PORT_ID_TX_CODEC_DMA_TX_1 0xB033
|
||||
|
||||
/* AFE Rx Codec DMA Rx port 2 */
|
||||
#define AFE_PORT_ID_RX_CODEC_DMA_RX_2 0xB034
|
||||
|
||||
/* AFE Tx Codec DMA Tx port 2 */
|
||||
#define AFE_PORT_ID_TX_CODEC_DMA_TX_2 0xB035
|
||||
|
||||
/* AFE Rx Codec DMA Rx port 3 */
|
||||
#define AFE_PORT_ID_RX_CODEC_DMA_RX_3 0xB036
|
||||
|
||||
/* AFE Tx Codec DMA Tx port 3 */
|
||||
#define AFE_PORT_ID_TX_CODEC_DMA_TX_3 0xB037
|
||||
|
||||
/* AFE Rx Codec DMA Rx port 4 */
|
||||
#define AFE_PORT_ID_RX_CODEC_DMA_RX_4 0xB038
|
||||
|
||||
/* AFE Tx Codec DMA Tx port 4 */
|
||||
#define AFE_PORT_ID_TX_CODEC_DMA_TX_4 0xB039
|
||||
|
||||
/* AFE Rx Codec DMA Rx port 5 */
|
||||
#define AFE_PORT_ID_RX_CODEC_DMA_RX_5 0xB03A
|
||||
|
||||
/* AFE Tx Codec DMA Tx port 5 */
|
||||
#define AFE_PORT_ID_TX_CODEC_DMA_TX_5 0xB03B
|
||||
|
||||
/* AFE Rx Codec DMA Rx port 6 */
|
||||
#define AFE_PORT_ID_RX_CODEC_DMA_RX_6 0xB03C
|
||||
|
||||
/* AFE Rx Codec DMA Rx port 7 */
|
||||
#define AFE_PORT_ID_RX_CODEC_DMA_RX_7 0xB03E
|
||||
|
||||
/* Generic pseudoport 1. */
|
||||
#define AFE_PORT_ID_PSEUDOPORT_01 0x8001
|
||||
/* Generic pseudoport 2. */
|
||||
|
|
|
@ -229,7 +229,7 @@ enum {
|
|||
IDX_AFE_PORT_ID_QUINARY_TDM_TX_6,
|
||||
IDX_AFE_PORT_ID_QUINARY_TDM_RX_7,
|
||||
IDX_AFE_PORT_ID_QUINARY_TDM_TX_7,
|
||||
/* IDX 161 to 167 */
|
||||
/* IDX 161 to 181 */
|
||||
IDX_AFE_PORT_ID_WSA_CODEC_DMA_RX_0,
|
||||
IDX_AFE_PORT_ID_WSA_CODEC_DMA_TX_0,
|
||||
IDX_AFE_PORT_ID_WSA_CODEC_DMA_RX_1,
|
||||
|
@ -237,7 +237,21 @@ enum {
|
|||
IDX_AFE_PORT_ID_WSA_CODEC_DMA_TX_2,
|
||||
IDX_AFE_PORT_ID_VA_CODEC_DMA_TX_0,
|
||||
IDX_AFE_PORT_ID_VA_CODEC_DMA_TX_1,
|
||||
/* IDX 168 to 170 */
|
||||
IDX_AFE_PORT_ID_RX_CODEC_DMA_RX_0,
|
||||
IDX_AFE_PORT_ID_TX_CODEC_DMA_TX_0,
|
||||
IDX_AFE_PORT_ID_RX_CODEC_DMA_RX_1,
|
||||
IDX_AFE_PORT_ID_TX_CODEC_DMA_TX_1,
|
||||
IDX_AFE_PORT_ID_RX_CODEC_DMA_RX_2,
|
||||
IDX_AFE_PORT_ID_TX_CODEC_DMA_TX_2,
|
||||
IDX_AFE_PORT_ID_RX_CODEC_DMA_RX_3,
|
||||
IDX_AFE_PORT_ID_TX_CODEC_DMA_TX_3,
|
||||
IDX_AFE_PORT_ID_RX_CODEC_DMA_RX_4,
|
||||
IDX_AFE_PORT_ID_TX_CODEC_DMA_TX_4,
|
||||
IDX_AFE_PORT_ID_RX_CODEC_DMA_RX_5,
|
||||
IDX_AFE_PORT_ID_TX_CODEC_DMA_TX_5,
|
||||
IDX_AFE_PORT_ID_RX_CODEC_DMA_RX_6,
|
||||
IDX_AFE_PORT_ID_RX_CODEC_DMA_RX_7,
|
||||
/* IDX 182 to 185 */
|
||||
IDX_SECONDARY_SPDIF_RX,
|
||||
IDX_PRIMARY_SPDIF_TX,
|
||||
IDX_SECONDARY_SPDIF_TX,
|
||||
|
|
|
@ -31,9 +31,9 @@ ifeq ($(KERNEL_BUILD), 0)
|
|||
INCS += -include $(AUDIO_ROOT)/config/sdm670autoconf.h
|
||||
endif
|
||||
ifeq ($(CONFIG_ARCH_SM6150), y)
|
||||
include $(AUDIO_ROOT)/config/sm8150auto.conf
|
||||
include $(AUDIO_ROOT)/config/sm6150auto.conf
|
||||
export
|
||||
INCS += -include $(AUDIO_ROOT)/config/sm8150autoconf.h
|
||||
INCS += -include $(AUDIO_ROOT)/config/sm6150autoconf.h
|
||||
endif
|
||||
ifeq ($(CONFIG_ARCH_SM8150), y)
|
||||
include $(AUDIO_ROOT)/config/sm8150auto.conf
|
||||
|
|
|
@ -48,7 +48,7 @@ KBUILD_OPTIONS += BOARD_PLATFORM=$(TARGET_BOARD_PLATFORM)
|
|||
KBUILD_OPTIONS += $(AUDIO_SELECT)
|
||||
|
||||
###########################################################
|
||||
ifeq ($(call is-board-platform-in-list,msm8953 sdm670 qcs605),true)
|
||||
ifeq ($(call is-board-platform-in-list,msm8953 sdm670 qcs605 $(MSMSTEPPE)),true)
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := $(AUDIO_CHIPSET)_pinctrl_lpi.ko
|
||||
LOCAL_MODULE_KBUILD_NAME := pinctrl_lpi_dlkm.ko
|
||||
|
|
|
@ -35,9 +35,9 @@ ifeq ($(KERNEL_BUILD), 0)
|
|||
INCS += -include $(AUDIO_ROOT)/config/sm8150autoconf.h
|
||||
endif
|
||||
ifeq ($(CONFIG_ARCH_SM6150), y)
|
||||
include $(AUDIO_ROOT)/config/sm8150auto.conf
|
||||
include $(AUDIO_ROOT)/config/sm6150auto.conf
|
||||
export
|
||||
INCS += -include $(AUDIO_ROOT)/config/sm8150autoconf.h
|
||||
INCS += -include $(AUDIO_ROOT)/config/sm6150autoconf.h
|
||||
endif
|
||||
ifeq ($(CONFIG_ARCH_SDMSHRIKE), y)
|
||||
include $(AUDIO_ROOT)/config/sm8150auto.conf
|
||||
|
|
Loading…
Add table
Reference in a new issue