Skip to content

topology2, ace15: enable SSP2-BT hardware offload and ACE 1.5 LP-GPDMA FIFO partition - #11432

Draft
lgirdwood wants to merge 3 commits into
thesofproject:mainfrom
lgirdwood:topic/sof-bt-offload
Draft

lgirdwood wants to merge 3 commits into
thesofproject:mainfrom
lgirdwood:topic/sof-bt-offload

Conversation

@lgirdwood

Copy link
Copy Markdown
Member

Summary

This series enables full-duplex Bluetooth SSP (SSP2-BT) hardware audio offload topologies and fixes ACE 1.5 LP-GPDMA FIFO partitioning required for SSP2-BT streaming on Arrow Lake / Meteor Lake:

  1. topology2: bt-ssp-config: enable rx_slots on 48 kHz stereo hw_config.3 (9a9c33be0):
    • Sets rx_slots = 3 alongside tx_slots = 3 on hw_config.3 (48 kHz 2-channel TDM) so full-duplex 48 kHz Bluetooth SSP offload streams can capture and play back simultaneously.
  2. topology2: hda-generic: enable SSP2-BT offload in sof-hda-generic topologies (a24503603):
    • Includes <ssp.conf>, <intel/hw_config_cardinal_clk.conf>, <bt-default.conf>, and platform/intel/bt-generic.conf in sof-hda-generic.conf and enables SSP2-BT (BT_PCM_ID=20, BT_ID=8, BT_PCM_NAME=Bluetooth, ADD_BT=true) in sof-hda-generic and sof-hda-generic-ace3-* topologies.
  3. app/boards: ace15_mtpm: enable CONFIG_DMA_DW_FIFO_PARTITION for LP-GPDMA (562969f5d):
    • Enables CONFIG_DMA_DW_FIFO_PARTITION=y in app/boards/intel_adsp_ace15_mtpm.conf (matching intel_adsp_cavs25.conf) so dw_dma_setup() partitions the LP-GPDMA hardware FIFO (0x16807f) instead of leaving FIFO partition sizes at zero, preventing immediate SSP2 GATEWAY_UNDERRUN_DETECTED errors on ACE 1.5 (mtl / arl-s).

Hardware Validation

  • Arrow Lake (dragon-fly, ACE 1.5): Verified live over-the-air A2DP (SBC & AAC at 48 kHz stereo) and HFP/eSCO (mSBC 16 kHz & CVSD 8 kHz full-duplex) hardware offload on SSP2-BT (hw:0,20).
  • Wildcat Lake (ladybird, ACE 3.0) & Panther Lake (damsel-fly, ACE 3.0): Verified full-duplex SSP2-BT (hw:0,20) playback and capture.

Enable rx_slots=3 alongside tx_slots=3 on the 48 kHz 2-channel SSP2-BT hardware configuration (hw_config.3) so full-duplex 48 kHz Bluetooth SSP offload streams can capture and play back simultaneously.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
…ologies

Include SSP and Bluetooth offload definitions in sof-hda-generic.conf
and enable SSP2-BT (BT_PCM_ID=20, BT_ID=8, BT_PCM_NAME=Bluetooth,
ADD_BT=true) with ACE 3.0 NHLT pre-processing in sof-hda-generic and
sof-hda-generic-ace3-* topologies.

Signed-off-by: Liam Girdwood <liam.r.girdwood@intel.com>
Enable CONFIG_DMA_DW_FIFO_PARTITION=y on ACE 1.5 (MTL/ARL-S) matching CAVS 2.5 so dw_dma_setup() partitions the LP-GPDMA hardware FIFO instead of leaving FIFO partition sizes at zero (which causes immediate SSP2-BT GATEWAY_UNDERRUN_DETECTED errors).

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>

@lgirdwood lgirdwood left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pls check commit messages have correct line wrapping.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants