Skip to content

Commit bbab560

Browse files
jxstelterdeb-intel
authored andcommitted
arch: fw: IADK modules adapter description
IADK module adapter provides interface between SOF components API and IADK Framework developed modules. Signed-off-by: Jarosław Stelter <[email protected]>
1 parent 8fc025b commit bbab560

File tree

3 files changed

+63
-1
lines changed

3 files changed

+63
-1
lines changed
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
.. _iadk-modules:
2+
3+
IADK Modules Adapter
4+
####################
5+
6+
IADK Modules
7+
============
8+
9+
An IADK module is a software component that can be represented by a processing
10+
block with some input pins and output pins capable to transport a digital
11+
signal into the block or out of the block. Processing is applied on an input
12+
signal or a combination of input signals, some input signals may only be used
13+
as reference signals that influence the processing on other input signals.
14+
The result of the processing is written into the output signals. The behavior
15+
of the block can be controlled using a configuration parameter interface.
16+
17+
An IADK module communicates with base firmware and other modules through
18+
ProcessingModuleInterface API and access base firmware services via
19+
System Service API.
20+
21+
22+
IADK Module Adapter
23+
===================
24+
25+
The IADK Module Adapter is an extension to SOF component infrastructure that
26+
allows to integrate modules developed under IADK (Intel Audio Development Kit)
27+
Framework.
28+
IADK modules uses uniform set of interfaces and are linked into separate
29+
library. These modules are loaded in runtime through Library Manager and then
30+
after registration into SOF component infrastructure are interfaced through
31+
module adapter API.
32+
Since IADK modules uses ProcessingModuleInterface API to control/data transfer
33+
and SystemService API to use base FW services from internal module code, there
34+
is a communication shim layer defined.
35+
36+
The SOF IADK Module Adapter is designed to interact with IADK modules without
37+
their code modification. Therefore C++ function, structures and variables
38+
definition are here kept with original form from IADK Framework.
39+
This provides binary compatibility with already developed 3rd party modules.
40+
41+
There are three entities in IADK Module Adapter Package:
42+
* System Agent - A mediator to allow the custom module to interact with the
43+
base SOF FW. It calls IADK module entry point and provides all necessary
44+
information to connect both sides of ProcessingModuleInterface and
45+
System Service.
46+
* System Service - exposes of SOF base FW services to the module.
47+
* Processing Module Adapter - SOF base FW side of ProcessingModuleInterface
48+
API
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
.. _ace-architecture-intel:
2+
3+
Intel ACE Architecture
4+
######################
5+
6+
The details below are specific to Intel products with an audio DSP ACE
7+
architecture using SOF. Intel ACE is a next generation of Intel Audio DSP
8+
solution that replaces Intel cAVS architecture.
9+
10+
.. toctree::
11+
:maxdepth: 1
12+
13+
iadk_modules

architectures/firmware/intel/index.rst

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,5 @@ generic SOF architecture.
1010
.. toctree::
1111
:maxdepth: 1
1212

13-
cavs/index
13+
cavs/index
14+
ace/index

0 commit comments

Comments
 (0)