drivers: ssp: Ignore link clock_source for non-ACE platforms

Ignore the link clock_source for non-ACE platforms instead of throwing
an error when it is set in the topology.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
This commit is contained in:
Ranjani Sridharan 2023-04-03 14:32:41 -07:00 committed by Carles Cufí
commit c56f5d53b7

View file

@ -1559,10 +1559,12 @@ static int dai_ssp_check_aux_data(struct ssp_intel_aux_tlv *aux_tlv, int aux_len
case SSP_DMA_CLK_CONTROLS_EXT: case SSP_DMA_CLK_CONTROLS_EXT:
size = sizeof(struct ssp_intel_ext_ctl); size = sizeof(struct ssp_intel_ext_ctl);
break; break;
#ifdef CONFIG_SOC_SERIES_INTEL_ACE
case SSP_LINK_CLK_SOURCE: case SSP_LINK_CLK_SOURCE:
#ifdef CONFIG_SOC_SERIES_INTEL_ACE
size = sizeof(struct ssp_intel_link_ctl); size = sizeof(struct ssp_intel_link_ctl);
break; break;
#else
return 0;
#endif #endif
default: default:
LOG_ERR("%s undefined aux data type %u", __func__, aux_tlv->type); LOG_ERR("%s undefined aux data type %u", __func__, aux_tlv->type);
@ -1648,16 +1650,16 @@ static int dai_ssp_parse_aux_data(struct dai_intel_ssp *dp, const void *spec_con
ext = (struct ssp_intel_ext_ctl *)&aux_tlv->val; ext = (struct ssp_intel_ext_ctl *)&aux_tlv->val;
LOG_INF("%s ext ext_data %u", __func__, ext->ext_data); LOG_INF("%s ext ext_data %u", __func__, ext->ext_data);
break; break;
#ifdef CONFIG_SOC_SERIES_INTEL_ACE
case SSP_LINK_CLK_SOURCE: case SSP_LINK_CLK_SOURCE:
#ifdef CONFIG_SOC_SERIES_INTEL_ACE
link = (struct ssp_intel_link_ctl *)&aux_tlv->val; link = (struct ssp_intel_link_ctl *)&aux_tlv->val;
sys_write32(sys_read32(dai_ip_base(dp) + I2SLCTL_OFFSET) | sys_write32(sys_read32(dai_ip_base(dp) + I2SLCTL_OFFSET) |
I2CLCTL_MLCS(link->clock_source), dai_ip_base(dp) + I2CLCTL_MLCS(link->clock_source), dai_ip_base(dp) +
I2SLCTL_OFFSET); I2SLCTL_OFFSET);
LOG_INF("%s link clock_source %u", __func__, link->clock_source); LOG_INF("%s link clock_source %u", __func__, link->clock_source);
break;
#endif #endif
break;
default: default:
LOG_ERR("%s undefined aux data type %u", __func__, aux_tlv->type); LOG_ERR("%s undefined aux data type %u", __func__, aux_tlv->type);
return -EINVAL; return -EINVAL;