Releases: thesofproject/sof
v1.5-rc1
v1.4.2
Stable release. Fixes since v1.4.1
66a5ae97 - Tomasz Lauda : sof: align sof structure to cache line size
1c600970 - Janusz Jankowski : github: fix link to bug tracking docs
917d75e9 - Janusz Jankowski : cmake: version: consider unannotated tags
5023ab42 - Paul Olaru : alloc: Fix bug in handling first_free member of the block map
96a6b076 - Tomasz Lauda : ll_schedule: fix task insertion
dca78870 - Tomasz Lauda : eq_fir: set fir_delay pointer to NULL when freed
9ddadf6e - Tomasz Lauda : eq_iir: set iir_delay pointer to NULL when freed
9eda078a - Dragos Tarcatu : cmake: Use correct config option for GDB_DEBUG
9f57fb14 - Dragos Tarcatu : gdb: ringbuffer: Fix void pointer arithmetic
e305697a - Pan Xiuli : platform: bdw: fix SSP clock setting
1b5398e1 - Pan Xiuli : platform: bdw: fix bdw DMA timer
7013662a - Curtis Malainey : platform: cht: reset ssp clk M/N dividers on boot
0f24dd26 - Seppo Ingalsuo : Volume: Fix handling of mute and unmute control
4243192a - Tomasz Lauda : alloc: fix modulo zero bug
93b84ec1 - Tomasz Lauda : alloc: invalidate uncached memory
39de2721 - WojciechX Wittbrodt : Topology: Fix DAI_ADD function call in sof-cml-rt1011-rt5682 topology
9c90af86 - Paul Olaru : sof: clk: Remove specificity on clock notifier change ID
c821f9ea - Pan Xiuli : memory: modify bootloader for xcc build
d7581cbf - Pan Xiuli : haswell: fix _memmap_vecbase_reset address
6d53f054 - Pan Xiuli : arch: string: enable vec_memcpy only with HIFI3
ccd09c1e - Guido Roncarolo : drivers: imx: sai: fix minor log issue
66c3784e - Jaska Uimonen : topology: intel-generic-dmic.m4: fix dai parameters
551fa115 - Marcin Maka : pm: cavs: fix literal dcache lock in power down
68c84c7b - Paul Olaru : sof: lib: notifier: Do not break build on platforms without CLK_SSP
Recommended Linux recipe for HD-Audio and internal DMIC support:
Linux kernel 5.5.9 or newer , 5.6.3 or newer
alsa-lib 1.2.1.2 or newer
alsa-ucm-conf 1.2.1.2 or newer
Pulseaudio 13 or newer is nice to have, but not mandatory as long as it is built against new enough alsa-lib.
v1.4.1
v1.4.1
Fixes since v1.4
Interrupt stack alignment
Boot loader trace now working.
Various fixes for imx8
IRQ alignment for cascaded IRQs.
Features
Support for Intel Tigerlake platform.
Continued support for NXP i.MX8 platform.
Support for Key Phrase Detection.
Initial infrastructure to support Soundwire.
HiFi3 optimisations for various compomemts including EQ.
Support for IPC fuzzing.
Scheduler improvements.
IRQ support for multiple controller levels.
v1.4
Features
Support for Intel Tigerlake platform.
Continued support for NXP i.MX8 platform.
Support for Key Phrase Detection.
Initial infrastructure to support Soundwire.
HiFi3 optimisations for various compomemts including EQ.
Support for IPC fuzzing.
Scheduler improvements.
IRQ support for multiple controller levels.
Known Issues
https://github.com/thesofproject/sof/milestone/5
Test Results
git | Case | BYT MinnowBoard | APL UP2 | GLK Chrome | CML Chrome | CML Mantis | CFL-S RVP | ICL-U RVP | CML Helios |
---|---|---|---|---|---|---|---|---|---|
nocodec | I2S RT5682 | nocodec | I2S PCM512x | I2S DA7219 | I2S RT5682 | HDA ALC3204 | HDA ALC700 | HDA ALC700 | I2S RT5682 |
Base | Verify firmware presense | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Verify kernel model load probe | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Verify SOF firmware load | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Verify topology binary | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Verify PCM device list | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Check SOF logger | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Check ipc flood | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Play an audio for 10 sec | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Capture an audio for 10 sec | Passed | Passed | Passed | N/A | Passed | Passed | Passed | Passed | Passed |
Pause/Resume playback - 10 times | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Pause/Resume capture - 10 times | Passed | Passed | Passed | N/A | Passed | Passed | Passed | Passed | Passed |
Speaker test | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Check Runtime PM status | N/A | N/A | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Multiple pipeline playback | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Multiple pipeline capture | N/A | N/A | Passed | N/A | Passed | Passed | Passed | Passed | Passed |
Simultaneous playback capture | Passed | Passed | Passed | N/A | Passed | Passed | Passed | Passed | Passed |
Volume basic test | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Repeat 3 times playback | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Repeat 3 times capture | Passed | Passed | Passed | N/A | Passed | Passed | Passed | Passed | Passed |
Alsabat playback test | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
check-kmod-load-unload | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
check-kmod-load-unload-after-playback | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Beyond Base(Test in all pipeline) | stop/resume playback / capture | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Playing /Capturing-> pause -> s3 -> wakeup -> resume | N/A | N/A | Passed | Passed | Failed (#1387) | Failed (#1387) | Failed (#1387) | Passed | Failed (#1387) |
Plug and unplug headset/HDMI/DP during playback/capture | N/A | Passed | N/A | Passed | Passed | Passed | Passed | Passed | Passed |
Plug and unplug headset /HDMI/DP during idle, check jack detect in idle and audio output when starting play | N/A | N/A | N/A | Failed (#1440) | Passed | Passed | Passed | Failed (#1440) | Passed |
Suspend & Resume device during audio playback / capture | N/A | N/A | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Change volume during playback / capture, ensure audio quality | Passed | Passed | Passed | Failed (#1463) | Passed | Passed | Passed | Passed | FW_failed (#1756) |
Do playback and capture at same time_ensure pause/stop no effect for each other | Passed | Passed | Passed | N/A | Passed | Passed | Passed | Passed | Passed |
2 aplay_Analogue + Media Playback_ensure pause/stop no effect for each other | Passed | Passed | Passed | Passed | N/A | Passed | N/A | N/A | N/A |
2 aplay_Analogue + HDMI_ensure pause/stop no effect for each other | N/A | N/A | N/A | Passed | Passed | Passed | Passed | Passed | Passed |
DPMST test | N/A | N/A | N/A | Passed | Passed | N/T | Passed | Passed | Passed |
EQ test | N/A | N/A | N/A | Passed | N/A | N/A | N/A | N/A | N/A |
Check the audio channel via speaker-test: L output L, R output R | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Suspend & Resume device without audio playback or capture | N/A | N/A | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
paplay - Play an audio with high-level audio player | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
parecord - Record an audio with high-level audio recorder | Passed | Passed | Passed | N/A | Passed | Passed | Passed | Passed | Passed |
Modules reload - 100 times_Test after disable PA | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
S3 & Resume without playback_300 times | N/A | N/A | Passed | Passed | Passed | N/A | Passed | Passed | Passed |
S3 & Resume with I2S / Analog HDA playback_300 times | N/A | N/A | Passed | Passed | Passed | N/A | Passed | Passed | Passed |
S3 & Resume with HDMI playback_300 times | N/A | N/A | N/A | Passed | Passed | N/A | Passed | Passed | Passed |
S0ix --Check S0ix -100 times | N/A | N/A | N/A | N/A | Passed | Passed | N/A | N/A | N/A |
volume change without playback/capture -1000 times | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Pause/Resume DMIC capture - 1000 times | N/A | N/A | Passed | N/A | Passed | Passed | Passed | Passed | Passed |
attempt to open speaker playback device 500 times | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Test Recipe | |||||||||
linux (topic/sof-dev) | 0e1a961 | ||||||||
sof (master) | b27b218a | ||||||||
topology | File | Applicable Platforms | |||||||
sof-byt-nocodec.tplg | BYT - nocodec | ||||||||
sof-byt-rt5682.tplg | BYT - RT5682 | ||||||||
sof-apl-nocodec.tplg | APL - nocodec | ||||||||
sof-apl-pcm512x.tplg | APL - PCM512 | ||||||||
sof-hda-generic-4ch.tplg | CFL-S RVP (HDA) | ICL-U RVP(HDA) | |||||||
sof-hda-generic-2ch.tplg | CML Mantis (HDA) | ||||||||
sof-glk-da7219.tplg | GLK Chrome (I2S) | ||||||||
sof-cml-rt5682-max98357a.tplg | CML Chrome (I2S) | ||||||||
sof-cml-rt1011-rt5682.tplg |
v1.4rc1
First RC for v1.4.
QA results failrly good, but there is a gap on Braswell/Cherrytrail and some outstanding issues. RC window should be short.
Features (list not final or complete yet).
- Initial support for Intel Tigerlake platform.
- Continued support for NXP i.MX8 platform.
- Support for Key Phrase Detection.
- Initial infrastructure to support Soundwire.
- HiFi3 optimisations for various compomemts including EQ.
- Support for IPC fuzzing.
- Scheduler improvements.
- IRQ support for multiple controller levels.
Known Issues
https://github.com/thesofproject/sof/milestone/5
QA results.
v | Case | BYT MinnowBoard | APL UP2 | GLK Chrome | CML Chrome | CML Mantis | CFL-S RVP | ICL-U RVP |
---|---|---|---|---|---|---|---|---|
nocodec | I2S RT5682 | nocodec | nocodec(xcc) | I2S PCM512x | I2S PCM512x(xcc) | I2S DA7219 | I2S RT5682 | HDA ALC3204 |
Base | Verify firmware presense | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Verify kernel model load probe | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Verify SOF firmware load | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Verify topology binary | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Verify PCM device list | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Check SOF logger | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Check ipc flood | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Play an audio for 10 sec | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Capture an audio for 10 sec | Passed | Passed | Passed | Passed | N/A | N/A | Passed | Passed |
Pause/Resume playback - 10 times | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Pause/Resume capture - 10 times | FW_failed (#1578) | Passed | Passed | Passed | N/A | N/A | FW_failed (#1578) | Passed |
Speaker test | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Check Runtime PM status | N/A | N/A | Passed | Passed | Passed | Passed | Passed | Passed |
Multiple pipeline playback | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Multiple pipeline capture | N/A | N/A | Passed | Passed | N/A | N/A | Passed | Passed |
Simultaneous playback capture | Passed | Passed | Passed | Passed | N/A | N/A | Passed | Passed |
Volume basic test | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Repeat 3 times playback | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Repeat 3 times capture | N/A | N/A | Passed | Passed | N/A | N/A | Passed | Passed |
Alsabat playback test | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Beyond Base(Test in all pipeline) | stop/resume playback / capture | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Playing /Capturing-> pause -> s3 -> wakeup -> resume | N/A | N/A | Passed | Passed | Passed | Passed | Passed | N/A |
Plug and unplug headset during playback/capture | N/A | Passed | N/A | N/A | Passed | Passed | Passed | Passed |
Plug and unplug headset during idle, check jack detect in idle and audio output when starting play | N/A | Passed | N/A | N/A | Passed | Passed | Passed | Passed |
Suspend & Resume device during audio playback / capture | N/A | N/A | Passed | Passed | Passed | Passed | Passed | Passed |
Change volume during playback / capture, ensure audio quality | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Do playback and capture at same time_ensure pause/stop no effect for each other | Passed | Passed | Passed | Passed | N/A | N/A | Passed | FW_failed (#1762) |
2 aplay_Analogue + Media Playback_ensure pause/stop no effect for each other | FW_failed (#1726) | Passed | Passed | Passed | Passed | Passed | N/A | N/A |
2 aplay_Analogue + HDMI_ensure pause/stop no effect for each other | N/A | N/A | N/A | N/A | Passed | Passed | Passed | Passed |
DPMST test | N/A | N/A | N/A | N/A | Passed | Passed | Passed | Passed |
EQ test | N/A | N/A | N/A | N/A | Passed | Passed | N/A | N/A |
Check the audio channel via speaker-test: L output L, R output R | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Suspend & Resume device without audio playback or capture | N/A | N/A | Passed | Passed | Passed | Passed | Passed | Passed |
paplay - Play an audio with high-level audio player | Passed | Passed | Passed | Passed | Passed | Passed | Passed | FW_failed (#1762) |
parecord - Record an audio with high-level audio recorder | Passed | Passed | Passed | Passed | N/A | N/A | Passed | FW_failed (#1762) |
Modules reload_Test after disable PA | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Modules reload - 100 times_Test after disable PA | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
S3 & Resume without playback_300 times | N/A | N/A | Passed | Passed | Passed | Passed | N/A | N/A |
S3 & Resume with I2S / Analog HDA playback_300 times | N/A | N/A | Passed | Passed | Passed | Passed | N/A | N/A |
S3 & Resume with HDMI playback_300 times | N/A | N/A | N/A | N/A | Passed | Passed | N/A | N/A |
S0ix --Check S0ix -100 times | N/A | N/A | N/A | N/A | N/A | N/A | Passed | Passed |
volume change without playback/capture -1000 times | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
attempt to open playback device for 500 times | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Test Recipe | ||||||||
linux (topic/sof-dev) | f95e4eb | |||||||
sof (master) | 7791303 | |||||||
topology | File | Applicable Platforms | ||||||
sof-byt-nocodec.tplg | BYT - nocodec | |||||||
sof-byt-rt5682.tplg | BYT - RT5682 | |||||||
sof-apl-nocodec.tplg | APL - nocodec | |||||||
sof-apl-pcm512x.tplg | APL - PCM512 | |||||||
sof-hda-generic-4ch.tplg | CFL-S RVP (HDA) | ICL-U RVP(HDA) | ||||||
sof-hda-generic-2ch.tplg | CML Mantis (HDA) | |||||||
sof-glk-da7219.tplg | GLK Chrome (I2S) | |||||||
sof-cml-rt5682-max98357a.tplg | CML Chrome (I2S) | |||||||
kconfig | File | Applicable Platforms | ||||||
http://sof-ci-storage.sh.intel.com/daily/20190830/linux-f95e4ebf-1/config-daily-nocodec-20190830.txt | BTY - nocodec | APL - nocodec | APL - nocodec (xcc) | |||||
http://sof-ci-storage.sh.intel.com/daily/20190830/linux-f95e4ebf-1/config-daily-20190830.txt | BTY - RT5651 | APL - pcm512x | APL - pcm512x (xcc) | GLK Chrome (I2S) | ||||
http://sof-ci-storage.sh.intel.com/daily/20190830/linux-f95e4ebf-1/config-daily-hda-20190830.txt | CFL-S RVP(HDA) | ICL-U RVP(HDA) | CML Mantis (HDA) |
SOF TGL 1st Drop
Note: Release only for Tiger Lake
New Features
- Basic playback on I2S
- Basic capture on I2S
- Basic capture on DMIC
Fixed Issues
- None
Known Issues
- None
v1.3
SOF v1.3
SOF version 1.3 is now released and brings many new features alongside improved stability and bug fixes. This release also coincides with the SOF Linux driver being merged into the upstream Linux kernel.
Future releases will follow a faster cadence and will be aligned with Linux kernel releases. i.e. they will be approximately every 8 - 10 weeks.
Signed binaries now attached using the Intel production key. Unsigned binaries alos attached alongside binaries built by GCC. Binaries to be upstreamed now.
New Features
kconfig and cmake support added.
Support for HDMI and HDA
PM support for S3, S0iX
EDF and Low Latency scheduler updates.
DW DMA updates and fixes.
GDB support
Initial iMX8 support added.
Initial Keyword detection framework added.
v1.3-rc3
v1.3-rc2
Release candidate 2 for SOF 1.3
Features (WIP)
kconfig and cmake support added.
Support for HDMI and HDA
PM support for S3, S0iX
EDF and Low Latency scheduler updates.
DW DMA updates and fixes.
GDB support
Results (courtesy of @stevyan)
DUT | Device Codec | Driver loaded | PCM devices list | HDMI/DP playback | Analogue playback | Analogue capture | DMIC capture | Volume Change | Unload/reload(100 iterations) | Runtime PM | S3 w/o playback(100 iterations) | S3 w/I2S playback(100 iterations) | S3 w/HDMI playback(100 iterations) | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
BYT MinnowBoard | nocodec | Passed | Passed | N/A | Passed | Passed | N/A | Passed | Passed | N/A | N/A | N/A | N/A | ||
rt5651 | Passed | Passed | N/A | Passed | Passed | N/A | Passed | Passed | N/A | N/A | N/A | N/A | |||
APL UP2 | nocodec | Passed | Passed | N/A | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed | N/A | ||
nocodec(xcc) | - | - | N/A | - | - | - | - | - | - | - | - | N/A | |||
pcm512x | Passed | Passed | Passed | Passed | N/A | N/A | Passed | Passed | Passed | Passed | Passed | Failed | 1 (#489) | |||
pcm512x(xcc) | - | - | - | - | N/A | N/A | - | - | - | - | - | - |
Test case:
FW loading and version check
Channel test
Check the left/right channel with different input frequency.
Tplg loading
Playback test
Check playback with supported format and frequency, also check with the period size(4m, 192) and buffer size(384)
Capture test
Check playback with supported format and frequency, also check with the period size(4m, 192) and buffer size(384)
Pause/resume test
Pause/release during playback/capture/playback+capture.
Modules reloadable test
Modules reload for 100 times
Simultaneous playback and capture test
Do playback and capture at same time
Nocodec DMIC
Check with nocodec dmic tplg
Suspend/resume
Check the runtime_PM status and S3
SRC
Check audio playback with 8K/16K/32K/48K (16bit/32bit) audio wav files.
v1.3-rc1
Release candidate 1 for SOF 1.3
Features (WIP)
- kconfig and cmake support added.
- Support for HDMI and HDA
- PM support for S3, S0iX
Results
DUT | Device Codec | Driver loaded | PCM devices list | HDMI/DP playback | Analogy playback | Analogy capture | DMIC capture | Volume Change | Unload/reload(100 iterations) | Runtime PM | S3/S0ix w/o playback(50 iterations) | S3/S0ix w/I2C playback(50 iterations) | S3/S0ix w/HDMI playback(50 iterations) | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
BYT MinnowBoard | nocodec | Passed | Passed | N/A | Passed | Passed | N/A | Passed | Passed | N/A | N/A | N/A | N/A | ||
rt5651 | Passed | Passed | N/A | Passed | Passed | N/A | Passed | Passed | N/A | N/A | N/A | N/A | |||
APL UP2 | nocodec | Passed | Passed | N/A | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed | N/A | ||
nocodec(xcc) | Passed | Passed | N/A | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed | N/A | |||
pcm512x | Passed | Passed | Passed | Passed | N/A | N/A | Passed | Passed | Passed | Passed | Passed | Failed (#489) | |||
pcm512x(xcc) | Passed | Passed | Passed | Passed | N/A | N/A | Passed | Passed | Passed | Passed | Passed | Failed (#489) |
Test case:
FW loading and version check
Channel test
Check the left/right channel with different input frequency.
Tplg loading
Playback test
Check playback with supported format and frequency, also check with the period size(4m, 192) and buffer size(384)
Capture test
Check playback with supported format and frequency, also check with the period size(4m, 192) and buffer size(384)
Pause/resume test
Pause/release during playback/capture/playback+capture.
Modules reloadable test
Modules reload for 100 times
Simultaneous playback and capture test
Do playback and capture at same time
Nocodec DMIC
Check with nocodec dmic tplg
Suspend/resume
Check the runtime_PM status and S3
SRC Check audio playback with 8K/16K/32K/48K (16bit/32bit) audio wav files.