From ed4d000c37958a0ece1e4a11653cbbe64138d813 Mon Sep 17 00:00:00 2001 From: Damian Nikodem Date: Tue, 11 Jun 2024 16:39:45 +0200 Subject: [PATCH 1/2] src: base_fw: add I2S IPC4 blob version for PTL This commit introduces a new constant 'I2S_VER_30_PTL' that describes specific I2S blob configurations for Intel ACE30 PTL. Signed-off-by: Damian Nikodem --- src/audio/base_fw_intel.c | 5 +++++ src/include/ipc4/base_fw.h | 3 +++ 2 files changed, 8 insertions(+) diff --git a/src/audio/base_fw_intel.c b/src/audio/base_fw_intel.c index d5ea9f8d4f89..83fdeb8689f1 100644 --- a/src/audio/base_fw_intel.c +++ b/src/audio/base_fw_intel.c @@ -63,6 +63,11 @@ int basefw_vendor_hw_config(uint32_t *data_offset, char *data) tuple = tlv_next(tuple); tlv_value_uint32_set(tuple, IPC4_LP_EBB_COUNT_HW_CFG, PLATFORM_LPSRAM_EBB_COUNT); +#ifdef CONFIG_SOC_INTEL_ACE30_PTL + tuple = tlv_next(tuple); + tlv_value_uint32_set(tuple, IPC4_I2S_CAPS_HW_CFG, I2S_VER_30_PTL); +#endif + tuple = tlv_next(tuple); *data_offset = (int)((char *)tuple - data); diff --git a/src/include/ipc4/base_fw.h b/src/include/ipc4/base_fw.h index 913f44a4fd06..6f6c0091cc80 100644 --- a/src/include/ipc4/base_fw.h +++ b/src/include/ipc4/base_fw.h @@ -728,4 +728,7 @@ struct schedulers_info { struct ipc4_system_time_info *basefw_get_system_time_info(void); +/* Specifies I2S IPC4 version for PTL platform */ +static const uint32_t I2S_VER_30_PTL = 0x40000; + #endif /* __SOF_IPC4_BASE_FW_H__ */ From 7ea4f27357b0d4f47507182b67f3bd447ad59351 Mon Sep 17 00:00:00 2001 From: Damian Nikodem Date: Tue, 11 Jun 2024 16:45:25 +0200 Subject: [PATCH 2/2] src: copier: update virtual index value for ssp Virtual index value for I2S on PTL contains two information: - time slot group index : 4 - i2s instance : 4 In order to correctly configure the dai api, both of the above values should be retained. Update zephyr branch to commit: a2386efbce1 drivers: ssp: update SSP driver to support Intel ACE30 PTL Signed-off-by: Damian Nikodem --- src/audio/dai-zephyr.c | 2 ++ west.yml | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/audio/dai-zephyr.c b/src/audio/dai-zephyr.c index 872a1ee9bd61..8add5f24216a 100644 --- a/src/audio/dai-zephyr.c +++ b/src/audio/dai-zephyr.c @@ -154,6 +154,8 @@ int dai_set_config(struct dai *dai, struct ipc_config_dai *common_config, cfg_params = is_blob ? spec_config : &sof_cfg->ssp; dai_set_link_hda_config(&cfg.link_config, common_config, cfg_params); + /* Store tdm slot group index*/ + cfg.tdm_slot_group = common_config->dai_index & 0xF; break; case SOF_DAI_INTEL_ALH: cfg.type = is_blob ? DAI_INTEL_ALH_NHLT : DAI_INTEL_ALH; diff --git a/west.yml b/west.yml index 8bebf78c3e6c..4fc6bf408a2c 100644 --- a/west.yml +++ b/west.yml @@ -43,7 +43,7 @@ manifest: - name: zephyr repo-path: zephyr - revision: 0a3f2f0397a86425cc7d12fa3a0c0ab8020d80e1 + revision: a2386efbce1866613f7c714b958a159364dc5f37 remote: zephyrproject # Import some projects listed in zephyr/west.yml@revision