Skip to content

Commit de1a122

Browse files
mwaskodeb-intel
authored andcommitted
arch: fw: app layer description
Application layer components description in SOF with Zephyr architecture Signed-off-by: Michal Wasko <[email protected]>
1 parent f195f55 commit de1a122

File tree

3 files changed

+109
-0
lines changed

3 files changed

+109
-0
lines changed
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
@startuml
2+
allowmixing
3+
4+
scale max 1280 width
5+
6+
package "SOF" {
7+
8+
package "Application layer" as APP_CUSTOMIZATION {
9+
10+
package "Example Loadable Components" as LOADABLE_COMPONENTS {
11+
component "3rd Party Post-Processing" as PROCESSING_3RD_PARTY
12+
component "WoV" as WOV_MODULE
13+
component "ACA" as ACA_MODULE
14+
component "Other modules" as OTHER_MODULES
15+
16+
PROCESSING_3RD_PARTY -[hidden]right- WOV_MODULE
17+
WOV_MODULE -[hidden]right- ACA_MODULE
18+
ACA_MODULE -[hidden]right- OTHER_MODULES
19+
}
20+
21+
package "Built-in Components" as BUILTIN_COMPONENTS {
22+
component "Copier" as COPIER
23+
component "SRC" as SRC
24+
component "Mixers" as MIXERS
25+
component "History Buffer/KPB" as HISTORY_BUFFER
26+
component "Probe" as PROBE
27+
28+
COPIER -[hidden]right- SRC
29+
SRC -[hidden]right- MIXERS
30+
MIXERS -[hidden]right- HISTORY_BUFFER
31+
HISTORY_BUFFER -[hidden]right- PROBE
32+
}
33+
34+
BUILTIN_COMPONENTS -[hidden]down- LOADABLE_COMPONENTS
35+
}
36+
37+
package "System Services" as SYS_SERVICES {
38+
39+
interface "System Services" as SS
40+
41+
package "Media Processing Pipelines Services extension" as KERNEL_EXTENSION {
42+
component "Communication" as COMMUNICATION
43+
component "Pipelines and Component Infrastructure" as PIPELINE_COMPONENT_INFRASTRUCTURE
44+
component "AVS Scheduling" as AVS_SCHEDULERS
45+
46+
COMMUNICATION -[hidden]right- PIPELINE_COMPONENT_INFRASTRUCTURE
47+
PIPELINE_COMPONENT_INFRASTRUCTURE -[hidden]right- AVS_SCHEDULERS
48+
}
49+
50+
package "Zephyr" as ZEPHYR {
51+
component "Services" as SERVICES
52+
}
53+
54+
SS -[hidden]down- KERNEL_EXTENSION
55+
SS -[hidden]down- ZEPHYR
56+
57+
KERNEL_EXTENSION -[hidden]right- ZEPHYR
58+
}
59+
60+
APP_CUSTOMIZATION -[hidden]down- SYS_SERVICES
61+
BUILTIN_COMPONENTS .down. SS
62+
PROCESSING_3RD_PARTY .down. SS
63+
WOV_MODULE .down. SS
64+
ACA_MODULE .down. SS
65+
OTHER_MODULES .down. SS
66+
}
67+
68+
@enduml
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
.. _app_layer:
2+
3+
Application Layer
4+
#################
5+
6+
Application Layer represents the built-in FW processing components, loadable FW
7+
components and example templates with application libraries required for
8+
components integration. Application layer content is assumed to be open source
9+
and only proprietary 3rd party components should remain private.
10+
11+
.. uml:: images/app_layer_diagram.pu
12+
:caption: Application Layer
13+
14+
Components in Application Layer
15+
*******************************
16+
17+
The built-in components are built together with base firmware and they have
18+
direct access to all firmware drivers and service APIs. When built-in module
19+
is enabled in configuration, it is guaranteed to exist in firmware binary.
20+
21+
The loadable components are built separately from base firmware and they are
22+
loaded dynamically as a separate binary, depending on the host audio
23+
configuration.
24+
25+
All the application layer components access base firmware services via System
26+
Services ABI.
27+
28+
**NOTE:** The built-in components are utility components provided by base
29+
firmware/kernel.
30+
31+
Examples of built-in components:
32+
33+
* Audio built-in components: Copiers, Mixers, Volume, SRC, etc.
34+
35+
Probe
36+
=====
37+
38+
The probe module is special module in FW infrastructure that allows to inject
39+
or extract data from a specified probe point. The traditional client
40+
platforms use HDA DMAs to transfer data in and out of such module.

architectures/firmware/sof-zephyr/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,4 @@ SOF with Zephyr Architecture
77
:maxdepth: 1
88

99
overview
10+
app_layer/index

0 commit comments

Comments
 (0)