Skip to content

Commit

Permalink
topology2: add split topologies description
Browse files Browse the repository at this point in the history
Describe what are split topologies and how to create it.

Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
  • Loading branch information
bardliao committed Jan 16, 2025
1 parent 6eee88f commit ec88ac1
Showing 1 changed file with 44 additions and 0 deletions.
44 changes: 44 additions & 0 deletions developer_guides/topology2/topology2.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1332,6 +1332,50 @@ You can use the ``-P`` switch to convert a 2.0 configuration file to the 1.0 con
alsatplg <-D args=values> -P input.conf -o output.conf
Split topologies
****************

Linux kernel can load multiple topologies, a topology for a single function.
This feature is useful when a single device is disabled in specific productuds. To achieve this, you need to split
the topology into multiple tplg files. The split topology files should be named as follows:

.. code-block:: bash
sof-<platform>-<function>-id<BE id number>.tplg
Where <platform> should be the platform name like mtl, lnl, etc.

Where <function> should be one of
.. code-block:: bash
sdca-jack
sdca-<n>amp where n is the amp link numbers
sdca-mic
dmic-<n>ch where n is the channel numbers. Currently, only 2ch and 4ch are supported.
sdca-hdmi
For example

.. code-block:: bash
sof-arl-sdca-2amp-id2.tplg
sof-arl-sdca-mic-id4.tplg
sof-arl-dmic-2ch-id5.tplg
sof-arl-sdca-hdmi-id7.tgpl
The split topologies are the subset of the monolithic topology. Usually, you just need to add a description with proper
macro settings to disable the features that you don't need and set the first BE ID that in the topology in the cmake file
to generate the split topologies.

For example

.. code-block:: bash
"cavs-sdw\;sof-arl-sdca-2amp-id2\;PLATFORM=mtl,NUM_SDW_AMP_LINKS=2,SDW_JACK=false,\
SDW_AMP_FEEDBACK=false,SDW_SPK_STREAM=Playback-SmartAmp,NUM_HDMIS=0"
Topology reminders
******************

Expand Down

0 comments on commit ec88ac1

Please sign in to comment.