Skip to content

Commit 6b04629

Browse files
ujfalusitiwai
authored andcommitted
ASoC: SOF: Intel: add initial support for WCL
Clone PTL and adjust the number of cores from 5 to 3. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com> Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.dev> Acked-by: Mark Brown <broonie@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de> Link: https://patch.msgid.link/20250519080855.16977-4-peter.ujfalusi@linux.intel.com
1 parent 4c2f4d7 commit 6b04629

File tree

3 files changed

+54
-0
lines changed

3 files changed

+54
-0
lines changed

sound/soc/sof/intel/hda.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -935,6 +935,7 @@ extern const struct sof_intel_dsp_desc mtl_chip_info;
935935
extern const struct sof_intel_dsp_desc arl_s_chip_info;
936936
extern const struct sof_intel_dsp_desc lnl_chip_info;
937937
extern const struct sof_intel_dsp_desc ptl_chip_info;
938+
extern const struct sof_intel_dsp_desc wcl_chip_info;
938939

939940
/* Probes support */
940941
#if IS_ENABLED(CONFIG_SND_SOC_SOF_HDA_PROBES)

sound/soc/sof/intel/pci-ptl.c

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,10 +55,40 @@ static const struct sof_dev_desc ptl_desc = {
5555
.ops_init = sof_ptl_ops_init,
5656
};
5757

58+
static const struct sof_dev_desc wcl_desc = {
59+
.use_acpi_target_states = true,
60+
.machines = snd_soc_acpi_intel_ptl_machines,
61+
.alt_machines = snd_soc_acpi_intel_ptl_sdw_machines,
62+
.resindex_lpe_base = 0,
63+
.resindex_pcicfg_base = -1,
64+
.resindex_imr_base = -1,
65+
.irqindex_host_ipc = -1,
66+
.chip_info = &wcl_chip_info,
67+
.ipc_supported_mask = BIT(SOF_IPC_TYPE_4),
68+
.ipc_default = SOF_IPC_TYPE_4,
69+
.dspless_mode_supported = true,
70+
.default_fw_path = {
71+
[SOF_IPC_TYPE_4] = "intel/sof-ipc4/wcl",
72+
},
73+
.default_lib_path = {
74+
[SOF_IPC_TYPE_4] = "intel/sof-ipc4-lib/wcl",
75+
},
76+
.default_tplg_path = {
77+
[SOF_IPC_TYPE_4] = "intel/sof-ipc4-tplg",
78+
},
79+
.default_fw_filename = {
80+
[SOF_IPC_TYPE_4] = "sof-wcl.ri",
81+
},
82+
.nocodec_tplg_filename = "sof-ptl-nocodec.tplg",
83+
.ops = &sof_ptl_ops,
84+
.ops_init = sof_ptl_ops_init,
85+
};
86+
5887
/* PCI IDs */
5988
static const struct pci_device_id sof_pci_ids[] = {
6089
{ PCI_DEVICE_DATA(INTEL, HDA_PTL, &ptl_desc) }, /* PTL */
6190
{ PCI_DEVICE_DATA(INTEL, HDA_PTL_H, &ptl_desc) }, /* PTL-H */
91+
{ PCI_DEVICE_DATA(INTEL, HDA_WCL, &wcl_desc) }, /* WCL */
6292
{ 0, }
6393
};
6494
MODULE_DEVICE_TABLE(pci, sof_pci_ids);

sound/soc/sof/intel/ptl.c

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,29 @@ const struct sof_intel_dsp_desc ptl_chip_info = {
126126
.hw_ip_version = SOF_INTEL_ACE_3_0,
127127
};
128128

129+
const struct sof_intel_dsp_desc wcl_chip_info = {
130+
.cores_num = 3,
131+
.init_core_mask = BIT(0),
132+
.host_managed_cores_mask = BIT(0),
133+
.ipc_req = MTL_DSP_REG_HFIPCXIDR,
134+
.ipc_req_mask = MTL_DSP_REG_HFIPCXIDR_BUSY,
135+
.ipc_ack = MTL_DSP_REG_HFIPCXIDA,
136+
.ipc_ack_mask = MTL_DSP_REG_HFIPCXIDA_DONE,
137+
.ipc_ctl = MTL_DSP_REG_HFIPCXCTL,
138+
.rom_status_reg = LNL_DSP_REG_HFDSC,
139+
.rom_init_timeout = 300,
140+
.ssp_count = MTL_SSP_COUNT,
141+
.d0i3_offset = MTL_HDA_VS_D0I3C,
142+
.read_sdw_lcount = hda_sdw_check_lcount_ext,
143+
.check_sdw_irq = lnl_dsp_check_sdw_irq,
144+
.check_sdw_wakeen_irq = lnl_sdw_check_wakeen_irq,
145+
.check_ipc_irq = mtl_dsp_check_ipc_irq,
146+
.cl_init = mtl_dsp_cl_init,
147+
.power_down_dsp = mtl_power_down_dsp,
148+
.disable_interrupts = lnl_dsp_disable_interrupts,
149+
.hw_ip_version = SOF_INTEL_ACE_3_0,
150+
};
151+
129152
MODULE_IMPORT_NS("SND_SOC_SOF_INTEL_MTL");
130153
MODULE_IMPORT_NS("SND_SOC_SOF_INTEL_LNL");
131154
MODULE_IMPORT_NS("SND_SOC_SOF_HDA_MLINK");

0 commit comments

Comments
 (0)