ASoC: SOF: Intel: ICL add Icelake chip info struct
authorZhu Yingjiang <yingjiang.zhu@linux.intel.com>
Thu, 9 May 2019 20:10:27 +0000 (15:10 -0500)
committerMark Brown <broonie@kernel.org>
Mon, 13 May 2019 11:43:13 +0000 (12:43 +0100)
Icelake has different count of SSP other than CNL, using
the new defined ICL SSP count, and copy other parameters
from CNL chip info.

Signed-off-by: Zhu Yingjiang <yingjiang.zhu@linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sof/intel/cnl.c
sound/soc/sof/intel/hda.h
sound/soc/sof/sof-pci-dev.c

index 08a1a3d..c059d11 100644 (file)
@@ -266,3 +266,22 @@ const struct sof_intel_dsp_desc cnl_chip_info = {
        .ssp_base_offset = CNL_SSP_BASE_OFFSET,
 };
 EXPORT_SYMBOL(cnl_chip_info);
+
+const struct sof_intel_dsp_desc icl_chip_info = {
+       /* Icelake */
+       .cores_num = 4,
+       .init_core_mask = 1,
+       .cores_mask = HDA_DSP_CORE_MASK(0) |
+                               HDA_DSP_CORE_MASK(1) |
+                               HDA_DSP_CORE_MASK(2) |
+                               HDA_DSP_CORE_MASK(3),
+       .ipc_req = CNL_DSP_REG_HIPCIDR,
+       .ipc_req_mask = CNL_DSP_REG_HIPCIDR_BUSY,
+       .ipc_ack = CNL_DSP_REG_HIPCIDA,
+       .ipc_ack_mask = CNL_DSP_REG_HIPCIDA_DONE,
+       .ipc_ctl = CNL_DSP_REG_HIPCCTL,
+       .rom_init_timeout       = 300,
+       .ssp_count = ICL_SSP_COUNT,
+       .ssp_base_offset = CNL_SSP_BASE_OFFSET,
+};
+EXPORT_SYMBOL(icl_chip_info);
index 15ea50a..4550466 100644 (file)
@@ -580,5 +580,6 @@ extern const struct snd_sof_dsp_ops sof_skl_ops;
 extern const struct sof_intel_dsp_desc apl_chip_info;
 extern const struct sof_intel_dsp_desc cnl_chip_info;
 extern const struct sof_intel_dsp_desc skl_chip_info;
+extern const struct sof_intel_dsp_desc icl_chip_info;
 
 #endif
index d736806..e2b1978 100644 (file)
@@ -157,7 +157,7 @@ static const struct sof_dev_desc icl_desc = {
        .resindex_imr_base      = -1,
        .irqindex_host_ipc      = -1,
        .resindex_dma_base      = -1,
-       .chip_info = &cnl_chip_info,
+       .chip_info = &icl_chip_info,
        .default_fw_path = "intel/sof",
        .default_tplg_path = "intel/sof-tplg",
        .nocodec_fw_filename = "sof-icl.ri",