Skip to content

Commit 155fa2a

Browse files
committed
intel_debug: introduction: Split firmware lookup table for single/modular firmare release
Separate the firmware lookup table for single and modular SOF release to be able to document the locations and file names the firmware will be looking for the individual files. Extend the description of the two type of SOF release and convert the list-table to a normal table for better descriptions for the configurations. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
1 parent ef63f89 commit 155fa2a

File tree

1 file changed

+57
-44
lines changed

1 file changed

+57
-44
lines changed

getting_started/intel_debug/introduction.rst

Lines changed: 57 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ configuration issue.
127127

128128
An IPC4 library is a container of a single or multiple modules (bundle) which
129129
can be loaded to the firmware after it is booted up.
130-
Library loading is supported on Meteor Lake (ACE1) or newer platforms.
130+
Library loading is supported on Meteor Lake (ACE1) or newer platforms.
131131

132132
Background information: the base firmware always resides in DSP SRAM while the
133133
loaded library is stored in DRAM memory and only the needed code is copied to
@@ -137,20 +137,28 @@ topology.
137137

138138
See :ref:`llext_modules` for technical details.
139139

140-
1.3. Monolithic and modular SOF releases
141-
----------------------------------------
140+
1.3. Single and modular firmware releases
141+
-----------------------------------------
142142

143-
SOF project releases for Intel platforms are either monolithic (only a single firmware binary) or modular (base firmware and external libraries).
143+
SOF project releases for Intel platforms are either a single firmware or modular firmware based.
144144

145-
1.3.1. Modular SOF releases
146-
---------------------------
145+
1.3.1. Single firmware releases
146+
-------------------------------
147147

148-
See :ref:`loadable-libraries` for details about library support in general.
148+
The release contains:
149+
- **sof-PLAT.ri** : The firmware binary
150+
- **UUID.bin** : On demand loadable library identified by UUID. If the library contains multiple modules then a UUID symlink must be provided for each one. Optional, only supported with IPC4 and on Meteor Lake and newer platforms.
151+
152+
1.3.2. Modular firmware releases
153+
--------------------------------
149154

150-
The released libraries are:
155+
The release contains:
156+
- **sof-PLAT.ri** : The base firmware
151157
- **sof-PLAT-openmodules.ri** : the bundle contains modules for audio processing not included in the base firmware
152158
- **sof-PLAT-debug.ri** : the bundle contains modules that are needed for firmware debugging and profiling. Used by developers and for bug reporting if needed
153-
- **UUID.bin** : Mainly 3rd party libraries identified by UUID. If the library contains multiple modules then a UUID symlink must be provided for each one.
159+
- **UUID.bin** : On demand loadable library identified by UUID. If the library contains multiple modules then a UUID symlink must be provided for each one.
160+
161+
See :ref:`loadable-libraries` for details about library support in general.
154162

155163
Notes:
156164
- The Kernel will attempt to load \*-openmodules.ri followed by \*-debug.ri from the library path after the base firmware boot if they exist.
@@ -160,41 +168,46 @@ Notes:
160168
1.4 Firmware lookup paths
161169
-------------------------
162170

163-
Linux SOF will look up firmware files at the following paths:
164-
165-
.. _intel_firmware_paths:
166-
.. list-table:: Firmware look-up paths per Intel platform
167-
:widths: 55 5 50 25
168-
:header-rows: 1
169-
170-
* - Platform
171-
- IPC type
172-
- Firmware load path
173-
- Notes
174-
* - Raptor Lake and older
175-
- IPC3
176-
- /lib/firmware/intel/sof/sof-PLAT.ri
177-
- PLAT = glk, cml, ..., rpl
178-
* - Raptor Lake and older (community signed)
179-
- IPC3
180-
- /lib/firmware/intel/sof/community/sof-PLAT.ri
181-
- PLAT = glk, cml, ..., rpl
182-
* - Tiger Lake and newer
183-
- IPC4
184-
- /lib/firmware/intel/sof-ipc4/PLAT/sof-PLAT.ri
185-
- PLAT = tgl, adl, rpl, mtl, lnl, ...
186-
* - Tiger Lake and newer (community signed)
187-
- IPC4
188-
- /lib/firmware/intel/sof-ipc4/PLAT/community/sof-PLAT.ri
189-
- PLAT = tgl, adl, rpl, mtl, lnl, ...
190-
* - Meteor Lake and newer Loadable libraries
191-
- IPC4
192-
- /lib/firmware/intel/sof-ipc4-lib/PLAT/
193-
- PLAT = mtl, lnl, ...
194-
* - Meteor Lake and newer Loadable libraries (community signed)
195-
- IPC4
196-
- /lib/firmware/intel/sof-ipc4-lib/PLAT/community/
197-
- PLAT = mtl, lnl, ...
171+
Linux SOF will look up firmware files at the following paths.
172+
173+
Look-up paths per Intel platform for **single firmware releases**
174+
175+
.. _intel_monolithic_firmware_paths:
176+
177+
+-----------------------------------------------------------+--------+------------------------------------------------+-----------+-----------------------------------+
178+
|Platform |IPC type|Load path |File name |Notes |
179+
+===========================================================+========+================================================+===========+===================================+
180+
|Raptor Lake and older |IPC3 |/lib/firmware/intel/sof/ |sof-PLAT.ri|PLAT = glk, cml, ..., rpl |
181+
+-----------------------------------------------------------+ +------------------------------------------------+ | |
182+
|Raptor Lake and older (community signed) | |/lib/firmware/intel/sof/community/ | | |
183+
+-----------------------------------------------------------+--------+------------------------------------------------+ +-----------------------------------+
184+
|Tiger Lake and newer |IPC4 |/lib/firmware/intel/sof-ipc4/PLAT/ | |PLAT = tgl, adl, rpl, mtl, lnl, ...|
185+
+-----------------------------------------------------------+ +------------------------------------------------+ | |
186+
|Tiger Lake and newer (community signed) | |/lib/firmware/intel/sof-ipc4/PLAT/community/ | | |
187+
+-----------------------------------------------------------+--------+------------------------------------------------+-----------+-----------------------------------+
188+
|Meteor Lake and newer Loadable libraries |IPC4 |/lib/firmware/intel/sof-ipc4-lib/PLAT/ |UUID.bin |PLAT = mtl, lnl, ... |
189+
+-----------------------------------------------------------+ +------------------------------------------------+ | |
190+
|Meteor Lake and newer Loadable libraries (community signed)| |/lib/firmware/intel/sof-ipc4-lib/PLAT/community/| | |
191+
+-----------------------------------------------------------+--------+------------------------------------------------+-----------+-----------------------------------+
192+
193+
Look-up paths per Intel platform for **modular firmware releases (IPC4 only)**
194+
195+
.. _intel_modular_firmware_paths:
196+
197+
+------------------------------------------------------------+------------------------------------------------+-------------------------+---------------+
198+
|Platform |Load path |File name |Notes |
199+
+============================================================+================================================+=========================+===============+
200+
|Panther Lake and newer |/lib/firmware/intel/sof-ipc4/PLAT/ || |PLAT = ptl, ...|
201+
| | || sof-PLAT.ri | |
202+
| | || sof-PLAT-openmodules.ri| |
203+
| | || sof-PLAT-debug.ri | |
204+
+------------------------------------------------------------+------------------------------------------------+ | -- |
205+
|Panther Lake and newer (community signed) |/lib/firmware/intel/sof-ipc4/PLAT/community/ | | |
206+
+------------------------------------------------------------+------------------------------------------------+-------------------------+ -- |
207+
|Panther Lake and newer Loadable libraries |/lib/firmware/intel/sof-ipc4-lib/PLAT/ |UUID.bin | |
208+
+------------------------------------------------------------+------------------------------------------------+ | -- |
209+
|Panther Lake and newer Loadable libraries (community signed)|/lib/firmware/intel/sof-ipc4-lib/PLAT/community/| | |
210+
+------------------------------------------------------------+------------------------------------------------+-------------------------+---------------+
198211

199212
Important notices:
200213
- The standard Linux firmware search path and order is followed. The above table covers the base "/lib/firmware" case. See https://docs.kernel.org/driver-api/firmware/fw_search_path.html for more information.

0 commit comments

Comments
 (0)