diff options
author | Mark Brown <broonie@kernel.org> | 2021-07-14 18:29:58 +0100 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2021-07-14 18:29:58 +0100 |
commit | eb14ecca76697930ff86a3401fee198d54ea6524 (patch) | |
tree | a80a90b790216b8ca4040c8232a556c673189cae /sound/soc/intel/boards | |
parent | f28fbe57e84b4a6cfad314ea9bc3442d96f4fa08 (diff) | |
parent | 0ccac3bcf3564cbcba483dec20c7550939873f59 (diff) |
Merge series "soundwire/ASoC: add mockup codec support" from Bard Liao <yung-chuan.liao@linux.intel.com>:
Adding mockup SoundWire codec is useful to debug driver/topology changes
without having any actual device connected.
Bard Liao (2):
soundwire: stream: don't abort bank switch on Command_Ignored/-ENODATA
soundwire: stream: don't program mockup device ports
Pierre-Louis Bossart (8):
ASoC: codecs: add SoundWire mockup device support
ASoC: soc-acpi: cnl: add table for SoundWire mockup devices
ASoC: soc-acpi: tgl: add table for SoundWire mockup devices
ASoC: Intel: boards: sof_sdw: add SoundWire mockup codecs for tests
soundwire: add flag to ignore all command/control for mockup devices
soundwire: bus: squelch error returned by mockup devices
soundwire: cadence: add debugfs interface for PDI loopbacks
soundwire: cadence: override PDI configurations to create loopback
drivers/soundwire/bus.c | 10 +-
drivers/soundwire/cadence_master.c | 174 ++++++++--
drivers/soundwire/cadence_master.h | 3 +
drivers/soundwire/stream.c | 5 +-
include/linux/soundwire/sdw.h | 3 +
sound/soc/codecs/Kconfig | 18 +
sound/soc/codecs/Makefile | 2 +
sound/soc/codecs/sdw-mockup.c | 312 ++++++++++++++++++
sound/soc/intel/boards/Kconfig | 1 +
sound/soc/intel/boards/sof_sdw.c | 41 +++
sound/soc/intel/common/Makefile | 3 +-
.../intel/common/soc-acpi-intel-cnl-match.c | 15 +
.../common/soc-acpi-intel-sdw-mockup-match.c | 166 ++++++++++
.../common/soc-acpi-intel-sdw-mockup-match.h | 17 +
.../intel/common/soc-acpi-intel-tgl-match.c | 23 ++
15 files changed, 754 insertions(+), 39 deletions(-)
create mode 100644 sound/soc/codecs/sdw-mockup.c
create mode 100644 sound/soc/intel/common/soc-acpi-intel-sdw-mockup-match.c
create mode 100644 sound/soc/intel/common/soc-acpi-intel-sdw-mockup-match.h
base-commit: e73f0f0ee7541171d89f2e2491130c7771ba58d3
--
2.17.1
Diffstat (limited to 'sound/soc/intel/boards')
-rw-r--r-- | sound/soc/intel/boards/Kconfig | 1 | ||||
-rw-r--r-- | sound/soc/intel/boards/sof_sdw.c | 41 |
2 files changed, 42 insertions, 0 deletions
diff --git a/sound/soc/intel/boards/Kconfig b/sound/soc/intel/boards/Kconfig index 7e29b0d911e2..046955bf717c 100644 --- a/sound/soc/intel/boards/Kconfig +++ b/sound/soc/intel/boards/Kconfig @@ -602,6 +602,7 @@ config SND_SOC_INTEL_SOUNDWIRE_SOF_MACH select SND_SOC_DMIC select SND_SOC_INTEL_HDA_DSP_COMMON select SND_SOC_INTEL_SOF_MAXIM_COMMON + select SND_SOC_SDW_MOCKUP help Add support for Intel SoundWire-based platforms connected to MAX98373, RT700, RT711, RT1308 and RT715 diff --git a/sound/soc/intel/boards/sof_sdw.c b/sound/soc/intel/boards/sof_sdw.c index 306320f3c568..04e54b7758ae 100644 --- a/sound/soc/intel/boards/sof_sdw.c +++ b/sound/soc/intel/boards/sof_sdw.c @@ -329,6 +329,19 @@ static const struct snd_soc_ops sdw_ops = { .shutdown = sdw_shutdown, }; +static int sof_sdw_mic_codec_mockup_init(const struct snd_soc_acpi_link_adr *link, + struct snd_soc_dai_link *dai_links, + struct sof_sdw_codec_info *info, + bool playback) +{ + /* + * force DAI link to use same ID as RT715 and DMIC + * to reuse topologies + */ + dai_links->id = SDW_DMIC_DAI_ID; + return 0; +} + static struct sof_sdw_codec_info codec_info_list[] = { { .part_id = 0x700, @@ -411,6 +424,34 @@ static struct sof_sdw_codec_info codec_info_list[] = { .dai_name = "rt5682-sdw", .init = sof_sdw_rt5682_init, }, + { + .part_id = 0xaaaa, /* generic codec mockup */ + .version_id = 0, + .direction = {true, true}, + .dai_name = "sdw-mockup-aif1", + .init = NULL, + }, + { + .part_id = 0xaa55, /* headset codec mockup */ + .version_id = 0, + .direction = {true, true}, + .dai_name = "sdw-mockup-aif1", + .init = NULL, + }, + { + .part_id = 0x55aa, /* amplifier mockup */ + .version_id = 0, + .direction = {true, false}, + .dai_name = "sdw-mockup-aif1", + .init = NULL, + }, + { + .part_id = 0x5555, + .version_id = 0, + .direction = {false, true}, + .dai_name = "sdw-mockup-aif1", + .init = sof_sdw_mic_codec_mockup_init, + }, }; static inline int find_codec_info_part(u64 adr) |