firmware/br-ext-chip-allwinner/board/v83x/kernel/patches/00000-sound_soc_sunxi_Kconf...

363 lines
10 KiB
Diff

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