Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 21 additions & 10 deletions getting_started/intel_debug/introduction.rst
Original file line number Diff line number Diff line change
Expand Up @@ -120,28 +120,35 @@ configuration issue.
Linux SOF will look up firmware files at the following paths:

.. list-table:: Firmware look-up paths per Intel platform
:widths: 50 50 25
:widths: 55 5 50 25
:header-rows: 1

* - Platform
- IPC type
- Firmware load path
- Notes
* - Raptor Lake and older
- IPC3
- /lib/firmware/intel/sof/sof-PLAT.ri
- PLAT = glk, cml, ..., rpl
* - Raptor Lake and older (community signed)
- IPC3
- /lib/firmware/intel/sof/community/sof-PLAT.ri
- PLAT = glk, cml, ..., rpl
* - Meteor Lake and newer
* - Tiger Lake and newer
- IPC4
- /lib/firmware/intel/sof-ipc4/PLAT/sof-PLAT.ri
- PLAT = mtl, lnl, ...
* - Meteor Lake and newer (community signed)
- PLAT = tgl, adl, rpl, mtl, lnl, ...
* - Tiger Lake and newer (community signed)
- IPC4
- /lib/firmware/intel/sof-ipc4/PLAT/community/sof-PLAT.ri
- PLAT = mtl, lnl, ...
* - Meteor Lake and newer Loadable Module
- PLAT = tgl, adl, rpl, mtl, lnl, ...
* - Tiger Lake and newer Loadable Module
- IPC4
- /lib/firmware/intel/sof-ipc4-lib/PLAT/UUID.bin
- PLAT as above, UUID = UUID of the module
* - Meteor Lake and newer Loadable Module (community signed)
* - Tiger Lake and newer Loadable Module (community signed)
- IPC4
- /lib/firmware/intel/sof-ipc4-lib/PLAT/community/UUID.bin
- PLAT as above, UUID = UUID of the module

Expand All @@ -158,20 +165,24 @@ be instantiated by the SOF driver. The topology can be regenerated and
reconfigured with tools but requires expert knowledge of the ALSA/ASoC/topology frameworks.

.. list-table:: Firmware topology file look-up paths per Intel platform
:widths: 50 50 25
:widths: 50 5 50 25
:header-rows: 1

* - Platform
- IPC type
- Topology load path
- Notes
* - Raptor Lake and older
- IPC3
- /lib/firmware/intel/sof-tplg/sof-CONFIG.tplg
- CONFIG = topology variant needed for detected hardware configuration
* - Meteor Lake and newer
- /lib/firmware/intel/sof-ace-tplg/sof-CONFIG.tplg
* - Tiger Lake and newer
- IPC4
- /lib/firmware/intel/sof-ipc4-tplg/sof-CONFIG.tplg
- CONFIG = topology variant needed for detected hardware configuration

Important notices:
- For compatibility reasons for **Meteor Lake and newer** ``/lib/firmware/intel/sof-ace-tplg`` must be symlinked to ``/lib/firmware/intel/sof-ipc4-tplg``
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@marc-hb @ujfalusi Just for the records, SOF-2.8 and sof-bin-2023.12 releases do NOT follow this yet, so not sure we can depend on this (as the multipple releases are already out which are NOT following this).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@kv2019i, see my proposal at thesofproject/sof#8683 (comment)

I will create an update for the docs, then I will also add a --deployable-build flag to the topology building to create the structure under tools/build_tools/topology/target/ for easy packaging, deployment. Then we can update the sof-bin.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

then I will also add a --deployable-build flag to the topology building to create the structure under tools/build_tools/topology/target/ for easy packaging, deployment.

Unlike IPC4 firmware, the directory structure of topologies was always supposed to be: 1. simple, 2. deployable. Also, there's no python script that you can easily hack for topologies, it's just CMake and moving some directories. Let's please not create a new script there: if some topologies are in the wrong directory then just move them in git.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

They are in correct directories in terms of separation, the names are not that great fort he future, I would prefer a script to move them out or rename them:
tools/topology/topology2/avs-tplg -> tools/topology/topology2/cavs2.5
tools/topology/topology2/sof-ace-tplg -> tools/topology/topology2/ace1

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tools/topology/topology2/avs-tplg -> tools/topology/topology2/cavs2.5
tools/topology/topology2/sof-ace-tplg -> tools/topology/topology2/ace1

As long as file contents stay identical git is pretty good at tracking files across renames. So if you think renaming these directories helps then please just go and do it.

- 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.
- The topology folder and filename can be overridden with "tplg_path" and "tplg_filename" `snd_sof_pci` kernel parameters.

Expand Down