ASoC: SOF: Intel: hda: refine SSP count support
authorPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Mon, 19 Sep 2022 11:53:47 +0000 (13:53 +0200)
committerMark Brown <broonie@kernel.org>
Mon, 19 Sep 2022 17:11:44 +0000 (18:11 +0100)
The SSP count is incorrect for TGL and MTL devices, the SSP count is
limited to 3 (I2SPC parameter in the Integration HAS).

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com>
Link: https://lore.kernel.org/r/20220919115350.43104-2-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sof/intel/hda.h
sound/soc/sof/intel/mtl.c
sound/soc/sof/intel/tgl.c

index ba6feb1b0d3b4672ddbdac32aabee264a5e548dc..bb9d2af06530eff573bfc342d4f9872db44a77be 100644 (file)
 #define APL_SSP_COUNT          6
 #define CNL_SSP_COUNT          3
 #define ICL_SSP_COUNT          6
+#define TGL_SSP_COUNT          3
+#define MTL_SSP_COUNT          3
 
 /* SSP Registers */
 #define SSP_SSC1_OFFSET                0x4
index 1cc1398336e1ff09091dadd374e4456d7a732d8a..efc91feb83e9e1484543592bccbdd43b9e5466ba 100644 (file)
@@ -784,7 +784,7 @@ const struct sof_intel_dsp_desc mtl_chip_info = {
        .ipc_ctl = MTL_DSP_REG_HFIPCXCTL,
        .rom_status_reg = MTL_DSP_ROM_STS,
        .rom_init_timeout       = 300,
-       .ssp_count = ICL_SSP_COUNT,
+       .ssp_count = MTL_SSP_COUNT,
        .ssp_base_offset = CNL_SSP_BASE_OFFSET,
        .sdw_shim_base = SDW_SHIM_BASE_ACE,
        .sdw_alh_base = SDW_ALH_BASE_ACE,
index 017bf331ed5a615719555637d6f15f67ade7823a..5135e1c7e6cf4c5f10dd91ce63fef310a7dbb10a 100644 (file)
@@ -123,7 +123,7 @@ const struct sof_intel_dsp_desc tgl_chip_info = {
        .ipc_ctl = CNL_DSP_REG_HIPCCTL,
        .rom_status_reg = HDA_DSP_SRAM_REG_ROM_STATUS,
        .rom_init_timeout       = 300,
-       .ssp_count = ICL_SSP_COUNT,
+       .ssp_count = TGL_SSP_COUNT,
        .ssp_base_offset = CNL_SSP_BASE_OFFSET,
        .sdw_shim_base = SDW_SHIM_BASE,
        .sdw_alh_base = SDW_ALH_BASE,
@@ -146,7 +146,7 @@ const struct sof_intel_dsp_desc tglh_chip_info = {
        .ipc_ctl = CNL_DSP_REG_HIPCCTL,
        .rom_status_reg = HDA_DSP_SRAM_REG_ROM_STATUS,
        .rom_init_timeout       = 300,
-       .ssp_count = ICL_SSP_COUNT,
+       .ssp_count = TGL_SSP_COUNT,
        .ssp_base_offset = CNL_SSP_BASE_OFFSET,
        .sdw_shim_base = SDW_SHIM_BASE,
        .sdw_alh_base = SDW_ALH_BASE,
@@ -169,7 +169,7 @@ const struct sof_intel_dsp_desc ehl_chip_info = {
        .ipc_ctl = CNL_DSP_REG_HIPCCTL,
        .rom_status_reg = HDA_DSP_SRAM_REG_ROM_STATUS,
        .rom_init_timeout       = 300,
-       .ssp_count = ICL_SSP_COUNT,
+       .ssp_count = TGL_SSP_COUNT,
        .ssp_base_offset = CNL_SSP_BASE_OFFSET,
        .sdw_shim_base = SDW_SHIM_BASE,
        .sdw_alh_base = SDW_ALH_BASE,
@@ -192,7 +192,7 @@ const struct sof_intel_dsp_desc adls_chip_info = {
        .ipc_ctl = CNL_DSP_REG_HIPCCTL,
        .rom_status_reg = HDA_DSP_SRAM_REG_ROM_STATUS,
        .rom_init_timeout       = 300,
-       .ssp_count = ICL_SSP_COUNT,
+       .ssp_count = TGL_SSP_COUNT,
        .ssp_base_offset = CNL_SSP_BASE_OFFSET,
        .sdw_shim_base = SDW_SHIM_BASE,
        .sdw_alh_base = SDW_ALH_BASE,