diff -drupN a/sound/soc/sunxi/Kconfig b/sound/soc/sunxi/Kconfig --- a/sound/soc/sunxi/Kconfig 2018-08-06 17:23:04.000000000 +0300 +++ b/sound/soc/sunxi/Kconfig 2022-06-12 05:28:14.000000000 +0300 @@ -1,29 +1,349 @@ +# Embedded Codec and Affiliated +config SND_SUNXI_SOC_RWFUNC + bool + +config SND_SUNXI_SOC_INTER_I2S + bool + +# CPU DAI module +config SND_SUNXI_SOC_CPUDAI + bool + +# HDMI Module +config SND_SUNXI_SOC_HDMI + tristate + +# Digital Audio(I2S/PCM/TDM) +config SND_SUNXI_SOC_DAUDIO + tristate + +# SPDIF Audio Interface +config SND_SUNXI_SOC_SPDIF + tristate + +# DMIC Audio Interface +config SND_SUNXI_SOC_DMIC + tristate + +# SUNXI Platform DMA +config SND_SUNXI_SOC + tristate + +# SUNXI Codec Embedded +config SND_SUN50IW1_CODEC + tristate + +config SND_SUN50IW3_CODEC + tristate + +config SND_SUN50IW8_CODEC + tristate + +config SND_SUN50IW9_CODEC + tristate + +config SND_SUN50IW10_CODEC + tristate +config SND_SUN8IW11_CODEC + tristate + +config SND_SUN8IW15_CODEC + tristate + +config SND_SUN8IW16_CODEC + tristate + +config SND_SUN8IW17_CODEC + tristate + +config SND_SUN8IW18_CODEC + tristate + +config SND_SUN8IW19_CODEC + tristate + +config SND_SUN8IW18_CPUDAI + tristate + +config SUNXI_ADC_DAUDIO_SYNC + bool + +# for AHUB design should use pll_auio * 4 +config AHUB_FREQ_REQ + bool + menu "Allwinner SoC Audio support" depends on ARCH_SUNXI || COMPILE_TEST +source "sound/soc/sunxi/sun8iw8/Kconfig" +source "sound/soc/sunxi/sun50iw11/Kconfig" + +# Codec/Other to I2S PCM DMA module +config SND_CORE_SUNXI_PCM_DMA + bool "Allwinner I2S PCM DMA MAP Support" + select REGMAP_MMIO + depends on ARCH_SUN8IW18 + help + Say Y or M if you want to using mad module. + +# MAD module +config SND_SUNXI_MAD + tristate "Allwinner Mad Support" + select REGMAP_MMIO + depends on ARCH_SUN50IW8 || ARCH_SUN8IW18 + help + Say Y or M if you want to using mad module. + +# Card Machine Select config SND_SUN4I_CODEC tristate "Allwinner A10 Codec Support" select SND_SOC_GENERIC_DMAENGINE_PCM select REGMAP_MMIO + depends on ARCH_SUN4IW1 + help + Select Y or M to add support for the Codec embedded in the Allwinner + SUN4IW1 and affiliated SoCs. + +config SND_SUNXI_SOC_SUN50IW1_CODEC + tristate "Allwinner Sun50iw1 Codec Support" + select SND_SUNXI_SOC + select SND_SOC_GENERIC_DMAENGINE_PCM + select REGMAP_MMIO + select SND_SUN50IW1_CODEC + select SND_SUNXI_SOC_RWFUNC + select SND_SUNXI_SOC_INTER_I2S + depends on ARCH_SUN50IW1 + help + Select Y or M to add support for the Codec embedded in the Allwinner + SUN50IW1 and affiliated SoCs. + +config SND_SUNXI_SOC_SUN50IW3_CODEC + tristate "Allwinner Sun50iw3 Codec Support" + select SND_SUNXI_SOC + select SND_SOC_GENERIC_DMAENGINE_PCM + select REGMAP_MMIO + select SND_SUN50IW3_CODEC + select SND_SUNXI_SOC_RWFUNC + select SND_SUNXI_SOC_INTER_I2S + depends on ARCH_SUN50IW3 + help + Select Y or M to add support for the Codec embedded in the Allwinner + SUN50IW3 and affiliated SoCs. + +config SND_SUNXI_SOC_SUN50IW8_CODEC + tristate "Allwinner Sun50iw8 Codec Support" + select SND_SUNXI_SOC + select SND_SOC_GENERIC_DMAENGINE_PCM + select REGMAP_MMIO + select SND_SUN50IW8_CODEC + select SND_SUNXI_SOC_RWFUNC + select SND_SUNXI_SOC_INTER_I2S + depends on ARCH_SUN50IW8 + help + Select Y or M to add support for the Codec embedded in the Allwinner + SUN50IW8 and affiliated SoCs. + +config SND_SUNXI_SOC_SUN50IW9_CODEC + tristate "Allwinner Sun50iw9 Codec Support" + select SND_SUNXI_SOC + select SND_SOC_GENERIC_DMAENGINE_PCM + select REGMAP_MMIO + select SND_SUN50IW9_CODEC + select SND_SUNXI_SOC_RWFUNC + select SND_SUNXI_SOC_CPUDAI + depends on ARCH_SUN50IW9 + help + Select Y or M to add support for the Codec embedded in the Allwinner + SUN50IW9 and affiliated SoCs. + +config SND_SUNXI_SOC_SUN50IW10_CODEC + tristate "Allwinner Sun50iw10 Codec Support" + select SND_SUNXI_SOC + select SND_SOC_GENERIC_DMAENGINE_PCM + select REGMAP_MMIO + select SND_SUN50IW10_CODEC + select SND_SUNXI_SOC_RWFUNC + depends on ARCH_SUN50IW10 + help + Select Y or M to add support for the Codec embedded in the Allwinner + SUN50IW10 and affiliated SoCs. + +config SND_SUNXI_SOC_SUN8IW11_CODEC + tristate "Allwinner Sun8iw11 Codec Support" + select SND_SUNXI_SOC + select SND_SOC_GENERIC_DMAENGINE_PCM + select REGMAP_MMIO + select SND_SUN8IW11_CODEC + select SND_SUNXI_SOC_CPUDAI + select SND_SUNXI_SOC_RWFUNC + depends on ARCH_SUN8IW11 + help + Select Y or M to add support for the Codec embedded in the Allwinner + SUN8IW11 and affiliated SoCs. + +config SND_SUNXI_SOC_SUN8IW15_CODEC + tristate "Allwinner Sun8iw15 Codec Support" + select SND_SUNXI_SOC + select SND_SOC_GENERIC_DMAENGINE_PCM + select REGMAP_MMIO + select SND_SUN8IW15_CODEC + select SND_SUNXI_SOC_RWFUNC + select SND_SUNXI_SOC_INTER_I2S + depends on ARCH_SUN8IW15 + help + Select Y or M to add support for the Codec embedded in the Allwinner + SUN8IW15 and affiliated SoCs. + +config SND_SUNXI_SOC_SUN8IW15_JACK + bool "Allwinner sun8iw15 jack support" + depends on SND_SUNXI_SOC_SUN8IW15_CODEC + default y help - Select Y or M to add support for the Codec embedded in the Allwinner - A10 and affiliated SoCs. + Say Y to add support SUN8IW15 jack. +config SND_SUNXI_SOC_SUN8IW16_CODEC + tristate "Allwinner Sun8iw16 Codec Support" + select SND_SUNXI_SOC + select SND_SOC_GENERIC_DMAENGINE_PCM + select REGMAP_MMIO + select SND_SUN8IW16_CODEC + select SND_SUNXI_SOC_RWFUNC + select SND_SUNXI_SOC_INTER_I2S + depends on ARCH_SUN8IW16 + help + Select Y or M to add support for the Codec embedded in the Allwinner + SUN8IW16 and affiliated SoCs. + +config SND_SUNXI_SOC_SUN8IW17_CODEC + tristate "Allwinner Sun8iw17 Codec Support" + select SND_SUNXI_SOC + select SND_SOC_GENERIC_DMAENGINE_PCM + select REGMAP_MMIO + select SND_SUNXI_SOC_RWFUNC + select SND_SUNXI_SOC_CPUDAI + select SND_SUN8IW17_CODEC + depends on ARCH_SUN8IW17 + help + Select Y or M to add support for the Codec embedded in the Allwinner + SUN8IW17 and affiliated SoCs. + +config SND_SUNXI_SOC_SUN8IW18_CODEC + tristate "Allwinner Sun8iw18 Codec Support" + select SND_SUNXI_SOC + select SND_SOC_GENERIC_DMAENGINE_PCM + select REGMAP_MMIO + select SND_SUN8IW18_CPUDAI + select SND_SUNXI_SOC_RWFUNC + select SND_SUN8IW18_CODEC + depends on ARCH_SUN8IW18 + help + Select Y or M to add support for the Codec embedded in the Allwinner + SUN8IW18 and affiliated SoCs. + +config SND_SUNXI_SOC_SUN8IW19_CODEC + tristate "Allwinner Sun8iw19 Codec Support" + select SND_SUNXI_SOC + select SND_SOC_GENERIC_DMAENGINE_PCM + select REGMAP_MMIO + select SND_SUN8IW19_CODEC + depends on ARCH_SUN8IW19 + help + Select Y or M to add support for the Codec embedded in the Allwinner + SUN8IW19 and affiliated SoCs. + +# HDMI Machine Select +config SND_SUNXI_SOC_SUNXI_HDMIAUDIO + tristate "Allwinner HDMI Audio Support" + select SND_SUNXI_SOC + select SND_SOC_GENERIC_DMAENGINE_PCM + select SND_SUNXI_SOC_DAUDIO if !SND_SUNXI_SOC_AHUB + select SND_SUNXI_SOC_HDMI + select REGMAP_MMIO + depends on ARCH_SUN50IW1 || ARCH_SUN50IW6 || ARCH_SUN50IW9 || ARCH_SUN8IW6 || ARCH_SUN8IW11 || ARCH_SUN8IW12 || ARCH_SUN8IW16 + help + Select Y or M to add support for the HDMI Audio Module in the Allwinner + SoCs. + +# Daudio Machine Select config SND_SUN4I_I2S tristate "Allwinner A10 I2S Support" select SND_SOC_GENERIC_DMAENGINE_PCM select REGMAP_MMIO - help - Say Y or M if you want to add support for codecs attached to - the Allwinner A10 I2S. You will also need to select the - individual machine drivers to support below. + depends on ARCH_SUN4IW1 + help + Select Y or M to add support for I2S/PCM/TDM Module in the + Allwinner SoCs. + +config SND_SUNXI_SOC_SUNXI_DAUDIO + tristate "Allwinner Digital Audio Support" + select SND_SUNXI_SOC + select SND_SOC_GENERIC_DMAENGINE_PCM + select SND_SUNXI_SOC_DAUDIO if !SND_SUNXI_SOC_AHUB + select REGMAP_MMIO + depends on ARCH_SUN50IW1 || ARCH_SUN50IW3 || ARCH_SUN50IW6 || ARCH_SUN50IW9 || ARCH_SUN50IW10 || ARCH_SUN8IW15 || ARCH_SUN8IW11 || ARCH_SUN8IW16 || ARCH_SUN8IW17 || ARCH_SUN8IW18 || ARCH_SUN8IW19 || ARCH_SUN50IW8 + help + Select Y or M to add support for I2S/PCM/TDM Module in the + Allwinner SoCs. +# SPDIF Machine Select config SND_SUN4I_SPDIF tristate "Allwinner A10 SPDIF Support" - depends on OF select SND_SOC_GENERIC_DMAENGINE_PCM select REGMAP_MMIO + depends on ARCH_SUN4IW1 + help + Select Y or M to add support SPDIF Module in Allwinner + SoCs. + +config SND_SUNXI_SOC_SUNXI_SPDIF + tristate "Allwinner SPDIF Support" + select SND_SUNXI_SOC + select SND_SOC_GENERIC_DMAENGINE_PCM + select SND_SUNXI_SOC_SPDIF + select REGMAP_MMIO + depends on ARCH_SUN50IW1 || ARCH_SUN50IW6 || ARCH_SUN50IW8 || ARCH_SUN50IW9 || ARCH_SUN50IW10 || ARCH_SUN8IW11 || ARCH_SUN8IW17 || ARCH_SUN8IW18 + help + Select Y or M to add support SPDIF Module in Allwinner + SoCs. + +# DMIC Machine Select +config SND_SUNXI_SOC_SUNXI_DMIC + tristate "Allwinner DMIC Support" + select SND_SUNXI_SOC + select SND_SOC_GENERIC_DMAENGINE_PCM + select SND_SUNXI_SOC_DMIC + select REGMAP_MMIO + select SND_SOC_DMIC + depends on ARCH_SUN50IW3 || ARCH_SUN50IW6 || ARCH_SUN50IW8 || ARCH_SUN50IW9 || ARCH_SUN50IW10 || ARCH_SUN8IW15 || ARCH_SUN8IW16 || ARCH_SUN8IW17 || ARCH_SUN8IW18 + help + Select Y or M to add support DMIC Module in Allwinner + SoCs. + +config SND_SUNXI_SOC_AHUB + tristate "Allwinner Audio Hub Support for ASoc" + select SND_SUNXI_SOC + select SND_SOC_GENERIC_DMAENGINE_PCM + select AHUB_FREQ_REQ + select REGMAP_MMIO + depends on ARCH_SUN50IW6 || ARCH_SUN50IW9 help - Say Y or M to add support for the S/PDIF audio block in the Allwinner - A10 and affiliated SoCs. + Say Y or M if you want to using ahub module. + +config SUNXI_ADC_DAUDIO_SYNC_MODE + bool "Allwinner ADC and Daudio Sync Support for ASoc" + select SUNXI_ADC_DAUDIO_SYNC + depends on ARCH_SUN8IW19 && SND_SUN8IW19_CODEC && SND_SUNXI_SOC_DAUDIO + help + Say Y if you want to using adc and i2s sync mode. + +# SUNXI Debug Select +source "sound/soc/sunxi/sunxi-aio/Kconfig" + +config SUNXI_AUDIO_DEBUG + bool "Allwinner Audio Debug Support" + depends on SND_SUNXI_SOC + help + Select Y to enable debug information of allwinner audio driver + If you not sure, Just not select it. + endmenu