summaryrefslogtreecommitdiffstats
path: root/arch/x86/include/asm/platform_sst_audio.h
diff options
context:
space:
mode:
authorVinod Koul <vinod.koul@intel.com>2014-10-16 20:00:13 +0530
committerMark Brown <broonie@kernel.org>2014-10-20 12:20:34 +0100
commit163d2089d226ab184469f53561f1a63f151757c3 (patch)
treebd3d89fc4f0c37d20d200af74ac3521b21d2d01e /arch/x86/include/asm/platform_sst_audio.h
parent3750a8f7d1df5e6442e0fc537d1d37b1b48d3712 (diff)
downloadlinux-0-day-163d2089d226ab184469f53561f1a63f151757c3.tar.gz
linux-0-day-163d2089d226ab184469f53561f1a63f151757c3.tar.xz
ASoC: Intel: mrfld - add the dsp sst driver
The SST driver is the missing piece in our driver stack not upstreamed, so push it now :) This driver currently supports PCI device on Merrifield. Future updates will bring support for ACPI device as well as future update to PCI devices as well In subsequent patches support is added for DSP loading using memcpy, pcm operations and compressed ops. Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@intel.com> Signed-off-by: Vinod Koul <vinod.koul@intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'arch/x86/include/asm/platform_sst_audio.h')
-rw-r--r--arch/x86/include/asm/platform_sst_audio.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/arch/x86/include/asm/platform_sst_audio.h b/arch/x86/include/asm/platform_sst_audio.h
index 0a4e140315b6c..268a96aec77c0 100644
--- a/arch/x86/include/asm/platform_sst_audio.h
+++ b/arch/x86/include/asm/platform_sst_audio.h
@@ -16,6 +16,9 @@
#include <linux/sfi.h>
+#define MAX_NUM_STREAMS_MRFLD 25
+#define MAX_NUM_STREAMS MAX_NUM_STREAMS_MRFLD
+
enum sst_audio_task_id_mrfld {
SST_TASK_ID_NONE = 0,
SST_TASK_ID_SBA = 1,
@@ -73,6 +76,37 @@ struct sst_platform_data {
unsigned int strm_map_size;
};
+struct sst_info {
+ u32 iram_start;
+ u32 iram_end;
+ bool iram_use;
+ u32 dram_start;
+ u32 dram_end;
+ bool dram_use;
+ u32 imr_start;
+ u32 imr_end;
+ bool imr_use;
+ u32 mailbox_start;
+ bool use_elf;
+ bool lpe_viewpt_rqd;
+ unsigned int max_streams;
+ u32 dma_max_len;
+ u8 num_probes;
+};
+
+struct sst_lib_dnld_info {
+ unsigned int mod_base;
+ unsigned int mod_end;
+ unsigned int mod_table_offset;
+ unsigned int mod_table_size;
+ bool mod_ddr_dnld;
+};
+
+struct sst_platform_info {
+ const struct sst_info *probe_data;
+ const struct sst_ipc_info *ipc_info;
+ const struct sst_lib_dnld_info *lib_info;
+};
int add_sst_platform_device(void);
#endif