The INTEL_IPC4 protocol and firmware architecture will rely on different sets of firmware binary and topology files. Some platforms will only support INTEL_IPC4, some will support both INTEL_IPC4 and SOF_IPC for development, and some will stay with the existing SOF_IPC.
This patchset adds new IPC definitions, and search paths for firmware and topology files, along with means to override the default IPC type and search paths for development. The firmware binary names are aligned with those used by the Intel AVS driver to avoid duplicate firmware installs, but the topology will have to differ due to driver architecture differences.
In addition, this patchset adds basic hardware support for SKL/KBL with HDaudio codecs, which requires a dedicated code loader and manifest support. Plain HDAudio was tested on Dell XPS 9350 and Intel NUC devices. HDAudio+DMIC support was tested on more recent UpExtreme (WHL and TGL variants).
Pierre-Louis Bossart (12): ASoC: SOF: add definitions for different IPC types ASoC: SOF: add path indirection to each IPC type ASoC: SOF: add default IPC capability and file paths ASoC: SOF: add IPC-dependent file names ASoC: SOF: sof-pci-dev: add parameter to override firmware filename ASoC: SOF: sof-pci-dev: add parameter to override topology filename ASoC: SOF: sof-audio: preserve topology filename override in nocodec mode ASoC: SOF: remove const qualifier for 'struct snd_sof_dsp_ops' ASoC: SOF: Intel: hda: use common ops across platforms ASoC: SOF: Intel: hda: use BIT() macros for consistency ASoC: SOF: Intel: add initial SKL/KBL hardware support ASoC: SOF: Intel: add IP identifier
Ranjani Sridharan (4): ASoC: SOF: Intel: move HDA_CL_STREAM_FORMAT definition to header ASoC: SOF: Intel: hda: define check_ipc_irq op ASoC: SOF: Intel: hda: Define rom_status_reg in sof_intel_dsp_desc ASoC: SOF: Intel: hda: expose some codeloader functions
include/sound/sof.h | 23 +- sound/soc/sof/amd/acp.h | 2 +- sound/soc/sof/amd/pci-rn.c | 14 +- sound/soc/sof/amd/renoir.c | 2 +- sound/soc/sof/core.c | 6 + sound/soc/sof/debug.c | 2 +- sound/soc/sof/imx/imx8.c | 32 +- sound/soc/sof/imx/imx8m.c | 16 +- sound/soc/sof/intel/Kconfig | 24 + sound/soc/sof/intel/Makefile | 6 +- sound/soc/sof/intel/apl.c | 107 +---- sound/soc/sof/intel/bdw.c | 17 +- sound/soc/sof/intel/byt.c | 48 +- sound/soc/sof/intel/cnl.c | 112 ++--- sound/soc/sof/intel/hda-common-ops.c | 107 +++++ sound/soc/sof/intel/hda-dsp.c | 4 +- sound/soc/sof/intel/hda-ipc.c | 8 + sound/soc/sof/intel/hda-loader-skl.c | 583 +++++++++++++++++++++++++ sound/soc/sof/intel/hda-loader.c | 43 +- sound/soc/sof/intel/hda.c | 25 +- sound/soc/sof/intel/hda.h | 42 +- sound/soc/sof/intel/icl.c | 111 +---- sound/soc/sof/intel/pci-apl.c | 36 +- sound/soc/sof/intel/pci-cnl.c | 54 ++- sound/soc/sof/intel/pci-icl.c | 36 +- sound/soc/sof/intel/pci-skl.c | 89 ++++ sound/soc/sof/intel/pci-tgl.c | 91 +++- sound/soc/sof/intel/pci-tng.c | 17 +- sound/soc/sof/intel/shim.h | 16 +- sound/soc/sof/intel/skl.c | 70 +++ sound/soc/sof/intel/tgl.c | 120 ++--- sound/soc/sof/mediatek/mt8195/mt8195.c | 16 +- sound/soc/sof/ops.h | 8 + sound/soc/sof/pcm.c | 2 +- sound/soc/sof/sof-acpi-dev.c | 6 +- sound/soc/sof/sof-audio.c | 3 +- sound/soc/sof/sof-of-dev.c | 6 +- sound/soc/sof/sof-pci-dev.c | 47 +- 38 files changed, 1465 insertions(+), 486 deletions(-) create mode 100644 sound/soc/sof/intel/hda-common-ops.c create mode 100644 sound/soc/sof/intel/hda-loader-skl.c create mode 100644 sound/soc/sof/intel/pci-skl.c create mode 100644 sound/soc/sof/intel/skl.c