forked from Minki/linux
a395bdd6b2
The recent commit [a92ea59b74
: ASoC: Intel: sst: only select sst-firmware when DW DMAC is built-in] introduced more strict kconfig dependency (depends on DW_DMAC_CORE=y) for avoiding the build failures due to dependency messes in intel-sst. This makes, however, it impossible to use this driver with the modularized systems, i.e. typically on Linux distros. The problem addressed in the commit above is that sst_dsp_new() and sst_dsp_free() includes the firmware init / finish that call dw_*() functions. Thus building it as built-in with DW_DMAC_CORE module results in the missing symbols. However, these sst_dsp functions are basically called only from the drivers that depend on DW_DMAC_CORE already. That is, once when these functions are split out, the rest can be independent from dw stuff. This patch attempts to solve the issue by the following: - Split sst-dsp stuff into two modules: snd-soc-sst-dsp and snd-soc-sst-firmware. - Move sst_dsp_new() and sst_dsp_free() to the latter module so that the former module can be independent from DW_DMAC_CORE. - Add a new kconfig SND_SOC_INTEL_SST_FIRMWARE to select the latter module by machine drivers. One only remaining pitfall is that each machine driver has to select SND_SOC_INTEL_SST_FIRMWARE carefully depending on DW_DMAC_CORE. This can't be done cleanly due to the restriction of the current kbuild. Bugzilla: https://bugzilla.opensuse.org/show_bug.cgi?id=988117 Fixes:a92ea59b74
('ASoC: Intel: sst: only select sst-firmware when DW DMAC is built-in') Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Mark Brown <broonie@kernel.org>
252 lines
7.9 KiB
Plaintext
252 lines
7.9 KiB
Plaintext
config SND_MFLD_MACHINE
|
|
tristate "SOC Machine Audio driver for Intel Medfield MID platform"
|
|
depends on INTEL_SCU_IPC
|
|
select SND_SOC_SN95031
|
|
select SND_SST_MFLD_PLATFORM
|
|
select SND_SST_IPC_PCI
|
|
help
|
|
This adds support for ASoC machine driver for Intel(R) MID Medfield platform
|
|
used as alsa device in audio substem in Intel(R) MID devices
|
|
Say Y if you have such a device.
|
|
If unsure select "N".
|
|
|
|
config SND_SST_MFLD_PLATFORM
|
|
tristate
|
|
select SND_SOC_COMPRESS
|
|
|
|
config SND_SST_IPC
|
|
tristate
|
|
|
|
config SND_SST_IPC_PCI
|
|
tristate
|
|
select SND_SST_IPC
|
|
|
|
config SND_SST_IPC_ACPI
|
|
tristate
|
|
select SND_SST_IPC
|
|
select SND_SOC_INTEL_SST
|
|
|
|
config SND_SOC_INTEL_SST
|
|
tristate
|
|
select SND_SOC_INTEL_SST_ACPI if ACPI
|
|
select SND_SOC_INTEL_SST_MATCH if ACPI
|
|
depends on (X86 || COMPILE_TEST)
|
|
|
|
# firmware stuff depends DW_DMAC_CORE; since there is no depends-on from
|
|
# the reverse selection, each machine driver needs to select
|
|
# SND_SOC_INTEL_SST_FIRMWARE carefully depending on DW_DMAC_CORE
|
|
config SND_SOC_INTEL_SST_FIRMWARE
|
|
tristate
|
|
|
|
config SND_SOC_INTEL_SST_ACPI
|
|
tristate
|
|
|
|
config SND_SOC_INTEL_SST_MATCH
|
|
tristate
|
|
|
|
config SND_SOC_INTEL_HASWELL
|
|
tristate
|
|
|
|
config SND_SOC_INTEL_BAYTRAIL
|
|
tristate
|
|
|
|
config SND_SOC_INTEL_HASWELL_MACH
|
|
tristate "ASoC Audio DSP support for Intel Haswell Lynxpoint"
|
|
depends on X86_INTEL_LPSS && I2C && I2C_DESIGNWARE_PLATFORM
|
|
depends on DW_DMAC_CORE
|
|
select SND_SOC_INTEL_SST
|
|
select SND_SOC_INTEL_SST_FIRMWARE
|
|
select SND_SOC_INTEL_HASWELL
|
|
select SND_SOC_RT5640
|
|
help
|
|
This adds support for the Lynxpoint Audio DSP on Intel(R) Haswell
|
|
Ultrabook platforms.
|
|
Say Y if you have such a device.
|
|
If unsure select "N".
|
|
|
|
config SND_SOC_INTEL_BXT_DA7219_MAX98357A_MACH
|
|
tristate "ASoC Audio driver for Broxton with DA7219 and MAX98357A in I2S Mode"
|
|
depends on X86 && ACPI && I2C
|
|
select SND_SOC_INTEL_SST
|
|
select SND_SOC_INTEL_SKYLAKE
|
|
select SND_SOC_DA7219
|
|
select SND_SOC_MAX98357A
|
|
select SND_SOC_DMIC
|
|
select SND_SOC_HDAC_HDMI
|
|
select SND_HDA_DSP_LOADER
|
|
help
|
|
This adds support for ASoC machine driver for Broxton-P platforms
|
|
with DA7219 + MAX98357A I2S audio codec.
|
|
Say Y if you have such a device.
|
|
If unsure select "N".
|
|
|
|
config SND_SOC_INTEL_BXT_RT298_MACH
|
|
tristate "ASoC Audio driver for Broxton with RT298 I2S mode"
|
|
depends on X86 && ACPI && I2C
|
|
select SND_SOC_INTEL_SST
|
|
select SND_SOC_INTEL_SKYLAKE
|
|
select SND_SOC_RT298
|
|
select SND_SOC_DMIC
|
|
select SND_SOC_HDAC_HDMI
|
|
select SND_HDA_DSP_LOADER
|
|
help
|
|
This adds support for ASoC machine driver for Broxton platforms
|
|
with RT286 I2S audio codec.
|
|
Say Y if you have such a device.
|
|
If unsure select "N".
|
|
|
|
config SND_SOC_INTEL_BYT_RT5640_MACH
|
|
tristate "ASoC Audio driver for Intel Baytrail with RT5640 codec"
|
|
depends on X86_INTEL_LPSS && I2C
|
|
depends on DW_DMAC_CORE && (SND_SST_IPC_ACPI = n)
|
|
select SND_SOC_INTEL_SST
|
|
select SND_SOC_INTEL_SST_FIRMWARE
|
|
select SND_SOC_INTEL_BAYTRAIL
|
|
select SND_SOC_RT5640
|
|
help
|
|
This adds audio driver for Intel Baytrail platform based boards
|
|
with the RT5640 audio codec. This driver is deprecated, use
|
|
SND_SOC_INTEL_BYTCR_RT5640_MACH instead for better functionality.
|
|
|
|
config SND_SOC_INTEL_BYT_MAX98090_MACH
|
|
tristate "ASoC Audio driver for Intel Baytrail with MAX98090 codec"
|
|
depends on X86_INTEL_LPSS && I2C
|
|
depends on DW_DMAC_CORE && (SND_SST_IPC_ACPI = n)
|
|
select SND_SOC_INTEL_SST
|
|
select SND_SOC_INTEL_SST_FIRMWARE
|
|
select SND_SOC_INTEL_BAYTRAIL
|
|
select SND_SOC_MAX98090
|
|
help
|
|
This adds audio driver for Intel Baytrail platform based boards
|
|
with the MAX98090 audio codec.
|
|
|
|
config SND_SOC_INTEL_BROADWELL_MACH
|
|
tristate "ASoC Audio DSP support for Intel Broadwell Wildcatpoint"
|
|
depends on X86_INTEL_LPSS && I2C && DW_DMAC && \
|
|
I2C_DESIGNWARE_PLATFORM
|
|
depends on DW_DMAC_CORE
|
|
select SND_SOC_INTEL_SST
|
|
select SND_SOC_INTEL_SST_FIRMWARE
|
|
select SND_SOC_INTEL_HASWELL
|
|
select SND_SOC_RT286
|
|
help
|
|
This adds support for the Wilcatpoint Audio DSP on Intel(R) Broadwell
|
|
Ultrabook platforms.
|
|
Say Y if you have such a device.
|
|
If unsure select "N".
|
|
|
|
config SND_SOC_INTEL_BYTCR_RT5640_MACH
|
|
tristate "ASoC Audio driver for Intel Baytrail and Baytrail-CR with RT5640 codec"
|
|
depends on X86 && I2C && ACPI
|
|
select SND_SOC_RT5640
|
|
select SND_SST_MFLD_PLATFORM
|
|
select SND_SST_IPC_ACPI
|
|
select SND_SOC_INTEL_SST_MATCH if ACPI
|
|
help
|
|
This adds support for ASoC machine driver for Intel(R) Baytrail and Baytrail-CR
|
|
platforms with RT5640 audio codec.
|
|
Say Y if you have such a device.
|
|
If unsure select "N".
|
|
|
|
config SND_SOC_INTEL_BYTCR_RT5651_MACH
|
|
tristate "ASoC Audio driver for Intel Baytrail and Baytrail-CR with RT5651 codec"
|
|
depends on X86 && I2C && ACPI
|
|
select SND_SOC_RT5651
|
|
select SND_SST_MFLD_PLATFORM
|
|
select SND_SST_IPC_ACPI
|
|
select SND_SOC_INTEL_SST_MATCH if ACPI
|
|
help
|
|
This adds support for ASoC machine driver for Intel(R) Baytrail and Baytrail-CR
|
|
platforms with RT5651 audio codec.
|
|
Say Y if you have such a device.
|
|
If unsure select "N".
|
|
|
|
config SND_SOC_INTEL_CHT_BSW_RT5672_MACH
|
|
tristate "ASoC Audio driver for Intel Cherrytrail & Braswell with RT5672 codec"
|
|
depends on X86_INTEL_LPSS && I2C && ACPI
|
|
select SND_SOC_RT5670
|
|
select SND_SST_MFLD_PLATFORM
|
|
select SND_SST_IPC_ACPI
|
|
select SND_SOC_INTEL_SST_MATCH if ACPI
|
|
help
|
|
This adds support for ASoC machine driver for Intel(R) Cherrytrail & Braswell
|
|
platforms with RT5672 audio codec.
|
|
Say Y if you have such a device.
|
|
If unsure select "N".
|
|
|
|
config SND_SOC_INTEL_CHT_BSW_RT5645_MACH
|
|
tristate "ASoC Audio driver for Intel Cherrytrail & Braswell with RT5645/5650 codec"
|
|
depends on X86_INTEL_LPSS && I2C && ACPI
|
|
select SND_SOC_RT5645
|
|
select SND_SST_MFLD_PLATFORM
|
|
select SND_SST_IPC_ACPI
|
|
select SND_SOC_INTEL_SST_MATCH if ACPI
|
|
help
|
|
This adds support for ASoC machine driver for Intel(R) Cherrytrail & Braswell
|
|
platforms with RT5645/5650 audio codec.
|
|
If unsure select "N".
|
|
|
|
config SND_SOC_INTEL_CHT_BSW_MAX98090_TI_MACH
|
|
tristate "ASoC Audio driver for Intel Cherrytrail & Braswell with MAX98090 & TI codec"
|
|
depends on X86_INTEL_LPSS && I2C && ACPI
|
|
select SND_SOC_MAX98090
|
|
select SND_SOC_TS3A227E
|
|
select SND_SST_MFLD_PLATFORM
|
|
select SND_SST_IPC_ACPI
|
|
select SND_SOC_INTEL_SST_MATCH if ACPI
|
|
help
|
|
This adds support for ASoC machine driver for Intel(R) Cherrytrail & Braswell
|
|
platforms with MAX98090 audio codec it also can support TI jack chip as aux device.
|
|
If unsure select "N".
|
|
|
|
config SND_SOC_INTEL_SKYLAKE
|
|
tristate
|
|
select SND_HDA_EXT_CORE
|
|
select SND_HDA_DSP_LOADER
|
|
select SND_SOC_TOPOLOGY
|
|
select SND_SOC_INTEL_SST
|
|
|
|
config SND_SOC_INTEL_SKL_RT286_MACH
|
|
tristate "ASoC Audio driver for SKL with RT286 I2S mode"
|
|
depends on X86 && ACPI && I2C
|
|
select SND_SOC_INTEL_SST
|
|
select SND_SOC_INTEL_SKYLAKE
|
|
select SND_SOC_RT286
|
|
select SND_SOC_DMIC
|
|
select SND_SOC_HDAC_HDMI
|
|
help
|
|
This adds support for ASoC machine driver for Skylake platforms
|
|
with RT286 I2S audio codec.
|
|
Say Y if you have such a device.
|
|
If unsure select "N".
|
|
|
|
config SND_SOC_INTEL_SKL_NAU88L25_SSM4567_MACH
|
|
tristate "ASoC Audio driver for SKL with NAU88L25 and SSM4567 in I2S Mode"
|
|
depends on X86_INTEL_LPSS && I2C
|
|
select SND_SOC_INTEL_SST
|
|
select SND_SOC_INTEL_SKYLAKE
|
|
select SND_SOC_NAU8825
|
|
select SND_SOC_SSM4567
|
|
select SND_SOC_DMIC
|
|
select SND_SOC_HDAC_HDMI
|
|
help
|
|
This adds support for ASoC Onboard Codec I2S machine driver. This will
|
|
create an alsa sound card for NAU88L25 + SSM4567.
|
|
Say Y if you have such a device.
|
|
If unsure select "N".
|
|
|
|
config SND_SOC_INTEL_SKL_NAU88L25_MAX98357A_MACH
|
|
tristate "ASoC Audio driver for SKL with NAU88L25 and MAX98357A in I2S Mode"
|
|
depends on X86_INTEL_LPSS && I2C
|
|
select SND_SOC_INTEL_SST
|
|
select SND_SOC_INTEL_SKYLAKE
|
|
select SND_SOC_NAU8825
|
|
select SND_SOC_MAX98357A
|
|
select SND_SOC_DMIC
|
|
select SND_SOC_HDAC_HDMI
|
|
help
|
|
This adds support for ASoC Onboard Codec I2S machine driver. This will
|
|
create an alsa sound card for NAU88L25 + MAX98357A.
|
|
Say Y if you have such a device.
|
|
If unsure select "N".
|