summaryrefslogtreecommitdiff
path: root/sound/soc/intel
diff options
context:
space:
mode:
authorMengdong Lin <mengdong.lin@intel.com>2014-11-21 08:09:17 (GMT)
committerMark Brown <broonie@kernel.org>2014-11-21 19:23:01 (GMT)
commitbd01fdc3aa63b7ba0b035f9196d80551ad03f5d4 (patch)
treed236010402c96e57442058ab0c0663e4fdc5b5ea /sound/soc/intel
parent026da220c512f6ab706cc9f738439f900b564967 (diff)
downloadlinux-bd01fdc3aa63b7ba0b035f9196d80551ad03f5d4.tar.xz
ASoC: Intel: add support for Cherrytrail and Braswell in SST driver
This patch add ACPI device ID and platform data for two Cherryview-based platforms, Cherrytrail and Braswell. Also reuse mfld driver ops in sst driver. Signed-off-by: Mengdong Lin <mengdong.lin@intel.com> Acked-by: Vinod Koul <vinod.koul@intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/intel')
-rw-r--r--sound/soc/intel/sst/sst.c1
-rw-r--r--sound/soc/intel/sst/sst.h1
-rw-r--r--sound/soc/intel/sst/sst_acpi.c19
3 files changed, 21 insertions, 0 deletions
diff --git a/sound/soc/intel/sst/sst.c b/sound/soc/intel/sst/sst.c
index 9e68a7c..8a8d56a 100644
--- a/sound/soc/intel/sst/sst.c
+++ b/sound/soc/intel/sst/sst.c
@@ -183,6 +183,7 @@ int sst_driver_ops(struct intel_sst_drv *sst)
switch (sst->dev_id) {
case SST_MRFLD_PCI_ID:
case SST_BYT_ACPI_ID:
+ case SST_CHV_ACPI_ID:
sst->tstamp = SST_TIME_STAMP_MRFLD;
sst->ops = &mrfld_ops;
return 0;
diff --git a/sound/soc/intel/sst/sst.h b/sound/soc/intel/sst/sst.h
index 683dc71..7f4bbfc 100644
--- a/sound/soc/intel/sst/sst.h
+++ b/sound/soc/intel/sst/sst.h
@@ -30,6 +30,7 @@
#define SST_DRV_NAME "intel_sst_driver"
#define SST_MRFLD_PCI_ID 0x119A
#define SST_BYT_ACPI_ID 0x80860F28
+#define SST_CHV_ACPI_ID 0x808622A8
#define SST_SUSPEND_DELAY 2000
#define FW_CONTEXT_MEM (64*1024)
diff --git a/sound/soc/intel/sst/sst_acpi.c b/sound/soc/intel/sst/sst_acpi.c
index f94f007..3f29721 100644
--- a/sound/soc/intel/sst/sst_acpi.c
+++ b/sound/soc/intel/sst/sst_acpi.c
@@ -129,6 +129,17 @@ static struct sst_platform_info byt_rvp_platform_data = {
.platform = "sst-mfld-platform",
};
+/* Cherryview (Cherrytrail and Braswell) uses same mrfld dpcm fw as Baytrail,
+ * so pdata is same as Baytrail.
+ */
+struct sst_platform_info chv_platform_data = {
+ .probe_data = &byt_fwparse_info,
+ .ipc_info = &byt_ipc_info,
+ .lib_info = &byt_lib_dnld_info,
+ .res_info = &byt_rvp_res_info,
+ .platform = "sst-mfld-platform",
+};
+
static int sst_platform_get_resources(struct intel_sst_drv *ctx)
{
struct resource *rsrc;
@@ -337,8 +348,16 @@ static struct sst_machines sst_acpi_bytcr[] = {
{},
};
+/* Cherryview-based platforms: CherryTrail and Braswell */
+static struct sst_machines sst_acpi_chv[] = {
+ {"10EC5670", "cht-bsw", "cht-bsw-rt5672", NULL, "fw_sst_22a8.bin",
+ &chv_platform_data },
+ {},
+};
+
static const struct acpi_device_id sst_acpi_ids[] = {
{ "80860F28", (unsigned long)&sst_acpi_bytcr},
+ { "808622A8", (unsigned long) &sst_acpi_chv},
{ },
};