Skip to content

v2.13

Choose a tag to compare

@kv2019i kv2019i released this 13 Jun 12:18
· 646 commits to main since this release

v2.13

The SOF technical steering committee is pleased to announce the v2.13 release of SOF.

Signed binaries for selected platforms will be released at https://github.com/thesofproject/sof-bin/releases (sof-bin-2025.05).

🚀 Platform Support

  • Intel Panther Lake (PTL):
    • Full platform and topology support added.
  • Intel Wildcat Lake (WCL):
    • Initial support introduced with basic topology integration.
  • NXP EAP (Essential Audio Processing):
    • Support added for NXP’s EAP software library for advanced audio enhancement features.

🧱 Architecture & Topology

  • Topology2 Enhancements:
    • New topologies for AMD ACP7.0, Intel PTL/WCL/LNL/MTL and NXP i.MX8MP
    • Expanded support for SoundWire codecs and multi-channel audio.
  • Pipeline 2.0:
    • Refactored components to use API-based access.
    • Improved modularity and maintainability of audio pipelines.

🧠 DSP & Audio Processing

  • HIFI4/HIFI5 Optimizations:
    • Performance improvements for IIR, FIR, and DRC components.
    • Reduced memory usage and improved runtime efficiency.
  • NXP EAP Integration:
    • Adds support for EAP audio effects such as EQ, bass boost, loudness, and more.

🧪 Debugging & Testing

  • Telemetry & Trace:
    • Enhanced performance monitoring tools.
    • Improved trace handling in 64-bit POSIX builds.
  • Bug Fixes:
    • Improved IPC3 fuzz testing stability.

📦 Loadable Module (LLEXT) Support

  • Continued expansion of dynamic module loading.
  • Better support for modular firmware updates and customization.

🧹 Zephyr RTOS Integration

  • Replaced legacy headers with Zephyr-native abstractions.
  • Cleaned up DMA and clock interfaces for better portability.

What's Changed

  • ring_buffer: Increase buffer size to prevent a DP module starvation by @softwarecki in #9724
  • split lib/dma.h and start namespacing with DMA_ by @kv2019i in #9719
  • crossover: use audio_stream_copy for passthrough by @johnylin76 in #9726
  • west.yml: update Zephyr to 36517253160 by @LaurentiuM1234 in #9727
  • Tools: Topology2: Fix DMIC TDFB blob in sof-lnl-cs42l43-l0-2ch by @singalsu in #9733
  • PTL: add build testing (includes Zephyr west.yml update) by @lyakh in #9732
  • Misc. Zephyrization fixups by @andyross in #9731
  • [stable-v2.12] versions.json: set version to 2.12.0 by @kv2019i in #9745
  • rimage: fix resource leak by @abonislawski in #9747
  • Tools: Tplg2: cavs-sdw: Enable speaker and microphone processing by @singalsu in #9734
  • versions.json: set version to 2.12.99 by @kv2019i in #9746
  • Scripts: Add script to rebuild all configuration blobs for processing by @singalsu in #9751
  • treewide: zephyr: add sof_ prefix to dma_get/put() by @kv2019i in #9753
  • west.yml: update zephyr to 42701fdb272 by @tmleman in #9761
  • Switch to native Zephyr support for imx8MP by @dbaluta in #9608
  • [SKIP SOF-TEST] github: free some disc space by @lyakh in #9766
  • src/platform: Add "mtk" Zephyr platform for MediaTek DSPs by @andyross in #9755
  • support "cold" data and code by @lyakh in #9754
  • zephyr: fix overflow and overlap checks in memcpy_s by @tmleman in #9769
  • README.md: update Discord channel instructions by @DaveLak in #9762
  • LLEXT: build libraries by @lyakh in #9702
  • lib_manager: clean up logging by @lyakh in #9767
  • audio: chain_dma: fix incorrect format specifier for error codes by @tmleman in #9774
  • Mediatek: mt8196: add platform/core_config/build_config by @hailong-fan in #9758
  • waves: add support for IPC4 compilation, including as LLEXT by @lyakh in #9775
  • Audio: Tune: Cleanup for the setup scripts for audio processing components by @singalsu in #9749
  • Mediatek: mt8196: add platform/afe driver and force enable DRAM cache by @yefei-a in #9778
  • regions_mm: vmh_free: Prevent null pointer dereference by @softwarecki in #9776
  • ipc4: Simplify ipc response sending memory allocations by @softwarecki in #9777
  • tools: topology1: imx8mp: Switch to time domain timer by @dbaluta in #9782
  • topology2: cavs-nocodec-bt: add Intel PTL support by @kv2019i in #9781
  • topology2: Update deep buffer and BT offload for ptl rt722 topology by @udaymb in #9785
  • topology2: add sof-lnl-cs42l43-l0-cs35l56-l23-2ch by @bardliao in #9770
  • mt8196: add xtos/zephyr config overlay and topology for waves by @johnylin76 in #9789
  • Tools: Topology2: Add build of 1ch DMIC topologies by @singalsu in #9763
  • zephyr: enable HIFI_SHARING if DP scheduler is enabled with HIFI by @kv2019i in #9644
  • Scripts: Fix path in script sof-testbench-build-profile.sh by @singalsu in #9794
  • ipc4: mixin: Fix HiFi3 impl of 24-bit mixing by @serhiy-katsyuba-intel in #9792
  • DRAM data by @lyakh in #9721
  • [SKIP CI] .github/zephyr: simplify and fix the git describe performance hack by @marc-hb in #9801
  • rimage: manifest: uuid: llext: Get loadable module UUID from uuid-registry and unify module manifest uuid type by @softwarecki in #9793
  • Audio: Crossover / Multiband DRC: Change to HiFi4 and HiFi5 optimized IIR DF1 core type by @singalsu in #9806
  • ipc: move delayed IPC sending to the primary core by @lyakh in #9764
  • lib: dai: Fix dai_get_device by @dbaluta in #9807
  • ipc4: mixin: Improve HiFi3 mix with gain impl by @serhiy-katsyuba-intel in #9810
  • topology2: cavs-nocodec-bt: align Port0/1 configuration with Port2 by @kv2019i in #9796
  • ipc4: mixin: Add "mix with gain" HiFi5 impl by @serhiy-katsyuba-intel in #9795
  • scripts: gen-uuid-reg.py: Generate string identifier for toml files by @softwarecki in #9799
  • rimage: config: add ptl to generic platform toml by @abonislawski in #9815
  • Audio: Multiband DRC: Use optimized 4th order IIR filter version by @singalsu in #9808
  • Update waves codec integration for Zephyr production builds by @andyross in #9820
  • schedule: config to build LL without task rescheduling by @johnylin76 in #9816
  • tools: topology2: ace3: Add rt712-l3-rt1320-l2 and rt713-l3-rt1320-l1… by @ujfalusi in #9822
  • Tools: Testbench: Small improvements by @singalsu in #9805
  • Math: Replace exp() function with more accurate and fast version by @singalsu in #9786
  • DRAM: fast_get() cache-handling improvements by @lyakh in #9817
  • LLEXT: simple changes by @lyakh in #9818
  • Revert "topology2: Update deep buffer and BT offload for ptl rt722 to… by @ujfalusi in #9827
  • tools: demo-gui: improvements by @iuliana-prodan in #9819
  • Audio: SRC: Optimize HiFi4 and HiFi5 version code by @singalsu in #9825
  • Tools: Test: Audio: Add to src_test.m option for xt-run by @singalsu in #9826
  • zephyr: alloc: virtual_heap_free: Panic on deallocations errors by @softwarecki in #9779
  • topology2: intel: fix default BT clock for ACE1.5 and newer by @kv2019i in #9809
  • Switch to NXP PDM MICFIL Zephyr native driver on i.MX8MP by @dbaluta in #9824
  • Debug module framework by @marcinszkudlinski in #9787
  • Tools: sof-ctl: Use same blob format as UCM2/cset-tlv by @singalsu in #9760
  • smart-amp-test: remove obsolete build options by @lyakh in #9773
  • Add Soundwire support for AMD platform ACP_7_0. by @saisurya-ch in #9836
  • rimage: print cold data and text percentage by @lyakh in #9837
  • llext: remove third-party modules from SOF lib by @abonislawski in #9841
  • src: mark code as "cold" by @lyakh in #9838
  • LLEXT: persistent dependency by @lyakh in #9804
  • [SKIP SOF-TEST] audio: add Doxygen comments for cold / hot module methods by @lyakh in #9828
  • topology2: Correct DMIC information in lnl cs42l43 cs35l56 variants by @simontrimmer in #9842
  • topology2: add sof-lnl-cs42l43-l2-cs35l56x6-l13.tplg support by @bardliao in #9839
  • library_manager: llext: don't try to copy .bss by @lyakh in #9846
  • Add topology1 for CTC. by @eddy1021 in #9829
  • llext: use the new inspection API by @pillo79 in #9831
  • audio: volume: fix PEAKVOL UUID with LLEXT by @lyakh in #9851
  • llext: export symbols, needed for aria by @lyakh in #9855
  • Add DTS config and topology on MT8196 platform by @joechengxperi in #9854
  • Tools: rimage / topology2: ASRC component related fixes by @singalsu in #9849
  • llext: (cosmetic) rename a function by @lyakh in #9856
  • Pipeline2.0 step 7: Make all the code use API to access comp_buffer lists by @marcinszkudlinski in #9802
  • [SKIP SOF-TEST] llext: add a comment where builtin functions are exported by @lyakh in #9858
  • modules: toml: Use values from uuid-registry in toml files by @softwarecki in #9861
  • debug: tester: add simple DRAM execution test by @abonislawski in #9866
  • schedule: add Tasks With Budget scheduler type by @abonislawski in #9075
  • mt8196: Waves and Google CTC module integrated build by @johnylin76 in #9868
  • ASRC: move to DRAM by @lyakh in #9844
  • lib-manager: don't cast away "const" by @lyakh in #9869
  • Add support for Mediatek mt8365 (xtos) platform by @andrew-mtk in #9830
  • Topology2: add topologies for SDCA functions by @bardliao in #9668
  • Math: FIR: Optimize filter core function for HiFi5 by @singalsu in #9833
  • DRAM: add debugging for cold code violations by @lyakh in #9873
  • Use unix domain sockets for IPC in the SOF plugin by @ranj063 in #9876
  • tools/plugin: Fix broken README.md formatting by @SurajSonawane2415 in #9877
  • west.yml: update zephyr to 658f9357b87 by @tmleman in #9881
  • waves: avoid calling MaxxEffect_Message before MaxxEffect_Initialize by @barry-waves in #9882
  • Audio: ASRC: HiFi5 optimizations by @singalsu in #9875
  • Intel: FPGA: Disable SRAM Retention (FPGA only) by @serhiy-katsyuba-intel in #9889
  • mic_privacy: initial implementation by @mbukowsk in #9788
  • audio: chain_dma: don't mix link/host HDA DMA channel counts by @kv2019i in #9887
  • config: adjust log flush sleep time for ACE boards by @tmleman in #9890
  • kpb: KPB fixes by @serhiy-katsyuba-intel in #9885
  • tools: mtrace-reader.c: add C version of mtrace-reader.py by @kv2019i in #9894
  • llext: fix alignment of cold / detached sections by @lyakh in #9892
  • tools: testbench: Add missing dependencies in README.md by @SurajSonawane2415 in #9895
  • cmake/zephyr: decentralize src/schedule/ by @kv2019i in #9896
  • PTL: enable openmodules by @lyakh in #9886
  • cmake/zephyr: decentralize src/{debug/tester,math} by @kv2019i in #9901
  • tools: plugin: Fix broken OpenVINO model link in README.md by @SurajSonawane2415 in #9903
  • ipc4: handler: Kconfig option to add IPC processing timing prints by @jsarha in #9897
  • DRAM: more cold functions by @lyakh in #9850
  • cmake/zephyr: start deduplication of src/audio/CMakeLists.txt by @kv2019i in #9906
  • math: enable modular IIR, minor update for FIR by @lyakh in #9848
  • Audio: Volume: Add IPC4 native Q1.31 mode and optimize by @singalsu in #9900
  • boards: ace30: align log timestamp format with other Intel boards by @kv2019i in #9915
  • west.yml: update zephyr to 0837ad5be84 by @tmleman in #9913
  • llext: add support for PTL DRAM detached sections with MMU enabled by @abonislawski in #9893
  • cmake/zephyr: src/audio/CMakeLists.txt unification part 2 by @kv2019i in #9912
  • Audio: EQIIR: Tune: Small fixes and improvements by @singalsu in #9919
  • Math: Exp: Add contributor to sofm_exp_approx() by @singalsu in #9925
  • fix IPC timeouts by @lyakh in #9926
  • DRAM debug take 2 by @lyakh in #9907
  • rimage: configs: imx95: use SRAM instead of DRAM by @LaurentiuM1234 in #9812
  • topology2: add sof-lnl-cs42l43-l0-cs35l56-l23-4ch by @ujfalusi in #9934
  • Logging: switch to delayed work by @lyakh in #9929
  • [SKIP SOFCI-TEST] tools: plugin: Fix incorrect tilde expansion in environment variable by @SurajSonawane2415 in #9932
  • cmake/zephyr: src/audio/CMakeLists.txt unification part 3 by @kv2019i in #9918
  • [SKIP SOF-TEST] dram: (cosmetic) rename debugging with dbg_ by @lyakh in #9937
  • Tools: Topology2: Build topology sof-mtl-max98360a-rt5682 by @singalsu in #9928
  • chain-dma: move .init() and .free() into DRAM by @lyakh in #9921
  • tools: plugin: Update README for OpenVino noise suppression by @SurajSonawane2415 in #9943
  • LLEXT: fix a memory leak by @lyakh in #9946
  • intel: idc: removal of xtos related Intel IDC code. by @lgirdwood in #9944
  • Tools: Testbench: Add support for ALSA controls script by @singalsu in #9916
  • bugfix in DP/Src: some audio formats have incorrectly estimate period by @marcinszkudlinski in #9927
  • audio: move more code to DRAM by @lyakh in #9880
  • cmake/zephyr: unify cmake rules for lib, probes and... by @kv2019i in #9931
  • cmake/zephyr: unify cmake rules for src/idc by @kv2019i in #9950
  • platform: mtk: Fix crash in DEBUG build on MTK platform by @andrew-mtk in #9947
  • llext: remove unneeded data and functions by @lyakh in #9951
  • library-manager: use Kconfig for INTEL_MODULES by @lyakh in #9936
  • dram: enable on LNL by @lyakh in #9954
  • audio: drc: clean up "inline" usage in .c by @lyakh in #9948
  • llext: fix auxiliary module ordering by @lyakh in #9953
  • Topology2: add sof-mtl-rt711-2ch support by @bardliao in #9910
  • audio: volume: drop CONFIG_COMP_PEAK_VOL guards by @LaurentiuM1234 in #9960
  • maths: builtins: move all llext builtins to their own file by @lgirdwood in #9956
  • schedule: dp: (cosmetic) simplify a loop by @lyakh in #9949
  • llext: let remaining modularised components select "m" on PTL by @lyakh in #9957
  • llext: cmake: Add support for passing more config to llext build by @lgirdwood in #9955
  • Audio: SRC: Add conversions to 11.025 and 22.05 kHz by @singalsu in #9945
  • sof-docs: build out of source directory by @lgirdwood in #9878
  • west.yml: Update zephyr to 8bdf533d7647 by @dbaluta in #9961
  • scripts: vscode: add support for building SOF from vscode tasks by @lgirdwood in #9879
  • Tools: CTL: Add high-pass IIR equalizer blobs with gain by @singalsu in #9963
  • lib_manager: Set of small fixes for loadable modules (sp1) by @softwarecki in #9962
  • kconfig: staging: add support for SOF staging features by @lgirdwood in #9965
  • Tools: Topology: Fix TDFB blob for sof-mtl-rt711-2ch.tplg by @singalsu in #9966
  • scripts: xtensa build: add support to build menuconfig by @lgirdwood in #9964
  • Tools: Test: Audio: Fixes for TDFB component tests by @singalsu in #9967
  • west.yml: update zephyr to e4c2cecb7d8 by @tmleman in #9976
  • llext: export audio_stream_recalc_align() by @lyakh in #9975
  • tools: demo-gui: fix CSS styling headerbar.titlebar by @Prjbond007 in #9974
  • Topology2 sched domain support by @jsarha in #9959
  • Topology2: Add sof-ptl-rt712-l3-rt1320-l3 support by @macchian in #9704
  • Audio: template_comp: Add a new SOF template component by @singalsu in #9952
  • staging: Add tensorflow micro module. by @lgirdwood in #9938
  • audio: cadence: fix IPC4 build by @lyakh in #9986
  • audio: check for NULL buffers in case of invalid IPC flows by @lyakh in #9985
  • build: xtensa-build-zephyr.py: remove Intel ehl target by @kv2019i in #9984
  • tools: topology2: cavs-nocodec: Fix PASSTHROUGH configuration for SSPs by @ujfalusi in #9981
  • audio: cadence: ipc4: remove unused variables by @tmleman in #9989
  • Audio: Template_comp: Add note about inputs and outputs number by @singalsu in #9990
  • west.yml: update zephyr to 4aa1ac9f969 by @tmleman in #9988
  • [SKIP SOFCI-TEST] topology: build using a local ALSA install by @lgirdwood in #9870
  • ipc4: pipeline: Add notification pool and data process error notification by @softwarecki in #9972
  • audio: check buffers before calling .prepare() by @lyakh in #9987
  • [stable-2.13] ptl: library-manager: enable library authentication by @kv2019i in #10010
  • [stable-v2.13] west.yml: update zephyr to 4512cbf509cc by @kv2019i in #10015
  • [stable-v2.13] backport of PRs by @kv2019i in #10020
  • [stable-v2.13] hda-dma: Fix HDA DMA position regs going out of sync with w_ptr/r_ptr. by @kv2019i in #10023
  • [stable-v2.13] audio: mic_privacy: Fix feature functionality after D3 resume by @kv2019i in #10037
  • [stable-v2.13] audio: mic_privacy: Fix DSP panic during D3 entry with HW managed mode by @kv2019i in #10043

New Contributors

Full Changelog: v2.12...v2.13