Byla vydána verze projektu Sound Open Firmware 2.0 (SOF), který byl původně vytvořen společností Intel s cílem přestat dodávat uzavřené firmwary pro DSP čipy určené k zpracování zvuku. Projekt byl následně převeden pod záštitu organizace Linux Foundation a nyní se vyvíjí s pomocí komunity a za účasti společností AMD, Google a NXP. V rámci projektu se vyvíjí SDK pro zjednodušení vývoje firmwaru, zvukový ovladač pro jádro Linux a sada hotových firmwarů pro různé DSP čipy, pro které jsou také vytvářeny binární balíčky opatřené digitálním podpisem. Kód firmwaru je napsán v jazyce C s assemblerovými vložkami a je distribuován pod licencí BSD.
Díky modulární struktuře může být Sound Open Firmware portován na různé architektury DSP a hardwarové platformy. Například mezi podporovanými platformami je uvedena podpora různých čipů Intel (Broadwell, Icelake, Tigerlake, Alderlake atd.), Mediatek (mt8195), NXP (i.MX8*) a AMD (Renoir), vybavených DSP na bázi architektur Xtensa HiFi 2, 3 a 4. Během vývoje může být použit speciální emulátor nebo QEMU. Použití otevřených firmwarů pro DSP umožňuje rychlejší opravu a diagnostiku problémů ve firmwaru, a také dává uživatelům možnost přizpůsobit firmwary svým potřebám, provádět specifické optimalizace a vytvářet lehké varianty firmwarů, které obsahují pouze potřebnou funkčnost pro produkt.
Projekt poskytuje rámec pro vývoj, optimalizaci a testování řešení souvisejících se zpracováním zvuku, stejně jako pro vytváření ovladačů a programů pro interakci s DSP. Součástí jsou implementace firmwarů, nástroje pro testování firmwarů, utility pro převod ELF souborů na obrazy firmwarů vhodné pro instalaci na zařízení, ladicí nástroje, emulátor DSP, emulátor hostitelské platformy (na bázi QEMU), nástroje pro sledování firmwarů, skripty na MATLAB/Octave pro jemné ladění koeficientů pro zvukové komponenty, aplikace pro organizaci interakce a výměny dat s firmwarem a hotové příklady topologií zpracování zvuku.


Projekt také vyvíjí univerzální ovladač, který může být použit s zařízeními využívajícími firmwary na základě Sound Open Firmware. Ovladač je již součástí hlavní větve jádra Linux od vydání 5.2 a je dodáván pod dvojitou licencí - BSD a GPLv2. Ovladač je odpovědný za načítání firmwaru do paměti DSP, načítání zvukových topologií do DSP, organizaci práce se zvukovým zařízením (odpovídá za přístup aplikací k funkcím DSP) a poskytování přístupových bodů aplikací k zvukovým datům. Ovladač také poskytuje mechanismus IPC pro interakci mezi hostitelským systémem a DSP a vrstvu pro přístup k hardwarovým schopnostem DSP prostřednictvím typového API. DSP s firmwarem Sound Open Firmware se aplikacím jeví jako běžné zařízení ALSA, jehož správy lze využít běžného programového rozhraní.

Klíčové novinky ve Sound Open Firmware 2.0:
- Byla výrazně zvýšena výkonnost funkcí kopírování zvukových dat a sníženo množství operací přístupu k paměti. V některých scénářích zpracování zvuku došlo ke snížení zátěže o 40 % při zachování předchozí kvality zvuku.
- Byla zvýšena stabilita provozu na vícejadrových platformách Intel (cAVS), včetně zajištění podpory spuštění zpracovatelů na libovolném jádře DSP.
- Pro platformu Apollo Lake (APL) byla jako základ firmwaru použita prostředí Zephyr RTOS místo XTOS. Úroveň integrace OS Zephyr dosáhla parity v funkcionalitě pro některé platformy Intel. Použití Zephyr umožňuje výrazně zjednodušit a zkrátit kód aplikací Sound Open Firmware.
- Byla implementována možnost použití protokolu IPC4 pro základní podporu zachycení a reprodukce zvuku na některých zařízeních Tiger Lake (TGL) s OS Windows (podpora IPC4 umožňuje interakci s DSP na základě firmwaru Sound Open Firmware bez použití specifického ovladače).
Zdroj: opennet.ru
