[Sound-open-firmware] [PATCH] topology: dai: add link_id for dai_link matching in DAI_CONFIG
Ranjani Sridharan
ranjani.sridharan at linux.intel.com
Thu May 24 04:25:01 CEST 2018
On Thu, 2018-05-24 at 10:08 +0800, Keyon Jie wrote:
> This is used for the matching with snd_soc_dai_link.id in BE
> dai_links.
>
> Signed-off-by: Keyon Jie <yang.jie at linux.intel.com>
> ---
> Test with:
> APL-MRB with tdf8532 codec
> Linux topic/sof-v4.14: 0de0fcb1d077c3c2c3b06a6c64e85f14b7e75c0b
> SOF master: e5dab2ada6ef98dbc6224863110cc86b5839ea01
> Tool master: b4f3670870ba5a933c3ec58a51b59ff9ef8b3588
> ---
> topology/m4/dai.m4 | 11 ++++++-----
> topology/sof-apl-nocodec.m4 | 2 +-
> topology/sof-apl-tdf8532.m4 | 4 ++--
> topology/sof-bdw-rt286.m4 | 2 +-
> topology/sof-bdw-rt5640.m4 | 2 +-
> topology/sof-byt-da7213.m4 | 2 +-
> topology/sof-byt-nocodec.m4 | 2 +-
> topology/sof-byt-rt5640.m4 | 2 +-
> topology/sof-byt-rt5645.m4 | 2 +-
> topology/sof-byt-rt5651.m4 | 2 +-
> topology/sof-cht-max98090.m4 | 2 +-
> topology/sof-cht-nocodec.m4 | 2 +-
> topology/sof-cnl-rt274.m4 | 2 +-
> topology/sof-hsw-rt5640.m4 | 2 +-
> topology/test/test-capture-ssp.m4 | 2 +-
> topology/test/test-playback-ssp.m4 | 2 +-
> topology/test/test-ssp.m4 | 2 +-
> topology/test/test-tone-playback-ssp.m4 | 2 +-
> 18 files changed, 24 insertions(+), 23 deletions(-)
>
> diff --git a/topology/m4/dai.m4 b/topology/m4/dai.m4
> index 0b030af..ba6cba4 100644
> --- a/topology/m4/dai.m4
> +++ b/topology/m4/dai.m4
> @@ -140,17 +140,17 @@ define(`DAI_TDM',
> dnl DAI Config)
> define(`N_DAI_CONFIG', `DAICONFIG.'$1)
>
> -dnl DAI_CONFIG(type, idx, name, format, valid bits, mclk, bclk,
> fsync, tdm)
> +dnl DAI_CONFIG(type, idx, link_id, name, format, valid bits, mclk,
> bclk, fsync, tdm)
> define(`DAI_CONFIG',
> `SectionHWConfig."'$1$2`" {'
> `'
> ` id "'$2`"'
> -` format "'$4`"'
> +` format "'$5`"'
> `'
> -` '$6
> ` '$7
> ` '$8
> ` '$9
> +` '$10
> `}'
> `SectionVendorTuples."'N_DAI_CONFIG($1$2)`_tuples_str" {'
> ` tokens "sof_dai_tokens"'
> @@ -164,14 +164,15 @@ define(`DAI_CONFIG',
> `SectionVendorTuples."'N_DAI_CONFIG($1$2)`_tuples" {'
> ` tokens "sof_dai_tokens"'
> ` tuples."word" {'
> -` SOF_TKN_DAI_SAMPLE_BITS' STR($5)
> +` SOF_TKN_DAI_SAMPLE_BITS' STR($6)
> ` }'
> `}'
> `SectionData."'N_DAI_CONFIG($1$2)`_data" {'
> ` tuples "'N_DAI_CONFIG($1$2)`_tuples"'
> `}'
> `'
> -`SectionBE."'$3`" {'
> +`SectionBE."'$4`" {'
> +` id "'$3`"'
> ` index "0"'
> ` default_hw_conf_id "'$2`"'
> `'
> diff --git a/topology/sof-apl-nocodec.m4 b/topology/sof-apl-
> nocodec.m4
> index 9c4286b..68380e4 100644
> --- a/topology/sof-apl-nocodec.m4
> +++ b/topology/sof-apl-nocodec.m4
> @@ -93,7 +93,7 @@ PCM_DUPLEX_ADD(Low Latency, 6, 0, 0,
> PIPELINE_PCM_1, PIPELINE_PCM_2)
> #
> # BE configurations - overrides config in ACPI if present
> #
> -DAI_CONFIG(SSP, 2, NoCodec, I2S, 24,
> +DAI_CONFIG(SSP, 2, 0, NoCodec, I2S, 24,
> DAI_CLOCK(mclk, 19200000, codec_mclk_in),
> DAI_CLOCK(bclk, 2400000, codec_slave),
> DAI_CLOCK(fsync, 48000, codec_slave),
> diff --git a/topology/sof-apl-tdf8532.m4 b/topology/sof-apl-
> tdf8532.m4
> index 11299cd..b897346 100644
> --- a/topology/sof-apl-tdf8532.m4
> +++ b/topology/sof-apl-tdf8532.m4
> @@ -76,13 +76,13 @@ PCM_DUPLEX_ADD(Port2, 4, 1, 1, PIPELINE_PCM_2,
> PIPELINE_PCM_3)
> #
> # BE configurations - overrides config in ACPI if present
> #
> -DAI_CONFIG(SSP, 4, SSP4-Codec, DSP_B, 32,
> +DAI_CONFIG(SSP, 4, 4, SSP4-Codec, DSP_B, 32,
> DAI_CLOCK(mclk, 24576000, codec_mclk_in),
> DAI_CLOCK(bclk, 12288000, codec_slave),
> DAI_CLOCK(fsync, 48000, codec_slave),
> DAI_TDM(8, 32, 15, 15))
>
> -DAI_CONFIG(SSP, 2, SSP2-Codec, I2S, 16,
> +DAI_CONFIG(SSP, 2, 2, SSP2-Codec, I2S, 16,
> DAI_CLOCK(mclk, 24576000, codec_mclk_in),
> DAI_CLOCK(bclk, 1536000, codec_slave),
> DAI_CLOCK(fsync, 48000, codec_slave),
Keyon, shouldnt we be consistent here? It looks like you're using the
port number as ID when there are more than DAI definitions but 0
otherwise?
> diff --git a/topology/sof-bdw-rt286.m4 b/topology/sof-bdw-rt286.m4
> index a13a49c..098d4c8 100644
> --- a/topology/sof-bdw-rt286.m4
> +++ b/topology/sof-bdw-rt286.m4
> @@ -93,7 +93,7 @@ PCM_DUPLEX_ADD(Low Latency, 6, 0, 0,
> PIPELINE_PCM_1, PIPELINE_PCM_2)
> #
> # BE configurations - overrides config in ACPI if present
> #
> -DAI_CONFIG(SSP, 0, Codec, I2S, 24,
> +DAI_CONFIG(SSP, 0, 0, Codec, I2S, 24,
> DAI_CLOCK(mclk, 24000000, codec_mclk_in),
> DAI_CLOCK(bclk, 2400000, codec_slave),
> DAI_CLOCK(fsync, 48000, codec_slave),
> diff --git a/topology/sof-bdw-rt5640.m4 b/topology/sof-bdw-rt5640.m4
> index 007944a..bbbbbe4 100644
> --- a/topology/sof-bdw-rt5640.m4
> +++ b/topology/sof-bdw-rt5640.m4
> @@ -93,7 +93,7 @@ PCM_DUPLEX_ADD(Low Latency, 6, 0, 0,
> PIPELINE_PCM_1, PIPELINE_PCM_2)
> #
> # BE configurations - overrides config in ACPI if present
> #
> -DAI_CONFIG(SSP, 0, Codec, I2S, 24,
> +DAI_CONFIG(SSP, 0, 0, Codec, I2S, 24,
> DAI_CLOCK(mclk, 24000000, codec_mclk_in),
> DAI_CLOCK(bclk, 2400000, codec_slave),
> DAI_CLOCK(fsync, 48000, codec_slave),
> diff --git a/topology/sof-byt-da7213.m4 b/topology/sof-byt-da7213.m4
> index ecf90c6..e3c7952 100644
> --- a/topology/sof-byt-da7213.m4
> +++ b/topology/sof-byt-da7213.m4
> @@ -93,7 +93,7 @@ PCM_DUPLEX_ADD(Low Latency, 6, 0, 0,
> PIPELINE_PCM_1, PIPELINE_PCM_2)
> #
> # BE configurations - overrides config in ACPI if present
> #
> -DAI_CONFIG(SSP, 2, SSP2-Codec, I2S, 24,
> +DAI_CONFIG(SSP, 2, 0, SSP2-Codec, I2S, 24,
> DAI_CLOCK(mclk, 19200000, codec_mclk_in),
> DAI_CLOCK(bclk, 2400000, codec_slave),
> DAI_CLOCK(fsync, 48000, codec_slave),
> diff --git a/topology/sof-byt-nocodec.m4 b/topology/sof-byt-
> nocodec.m4
> index efa321b..5c65fb0 100644
> --- a/topology/sof-byt-nocodec.m4
> +++ b/topology/sof-byt-nocodec.m4
> @@ -93,7 +93,7 @@ PCM_DUPLEX_ADD(Low Latency, 6, 0, 0,
> PIPELINE_PCM_1, PIPELINE_PCM_2)
> #
> # BE configurations - overrides config in ACPI if present
> #
> -DAI_CONFIG(SSP, 2, NoCodec, I2S, 24,
> +DAI_CONFIG(SSP, 2, 0, NoCodec, I2S, 24,
> DAI_CLOCK(mclk, 19200000, codec_mclk_in),
> DAI_CLOCK(bclk, 2400000, codec_slave),
> DAI_CLOCK(fsync, 48000, codec_slave),
> diff --git a/topology/sof-byt-rt5640.m4 b/topology/sof-byt-rt5640.m4
> index ae54969..7fae6f0 100644
> --- a/topology/sof-byt-rt5640.m4
> +++ b/topology/sof-byt-rt5640.m4
> @@ -93,7 +93,7 @@ PCM_DUPLEX_ADD(Low Latency, 6, 0, 0,
> PIPELINE_PCM_1, PIPELINE_PCM_2)
> #
> # BE configurations - overrides config in ACPI if present
> #
> -DAI_CONFIG(SSP, 2, SSP2-Codec, I2S, 24,
> +DAI_CONFIG(SSP, 2, 0, SSP2-Codec, I2S, 24,
> DAI_CLOCK(mclk, 19200000, codec_mclk_in),
> DAI_CLOCK(bclk, 2400000, codec_slave),
> DAI_CLOCK(fsync, 48000, codec_slave),
> diff --git a/topology/sof-byt-rt5645.m4 b/topology/sof-byt-rt5645.m4
> index 364121f..7b81cbd 100644
> --- a/topology/sof-byt-rt5645.m4
> +++ b/topology/sof-byt-rt5645.m4
> @@ -93,7 +93,7 @@ PCM_DUPLEX_ADD(Low Latency, 6, 0, 0,
> PIPELINE_PCM_1, PIPELINE_PCM_2)
> #
> # BE configurations - overrides config in ACPI if present
> #
> -DAI_CONFIG(SSP, 2, SSP2-Codec, I2S, 24,
> +DAI_CONFIG(SSP, 2, 0, SSP2-Codec, I2S, 24,
> DAI_CLOCK(mclk, 19200000, codec_mclk_in),
> DAI_CLOCK(bclk, 2400000, codec_slave),
> DAI_CLOCK(fsync, 48000, codec_slave),
> diff --git a/topology/sof-byt-rt5651.m4 b/topology/sof-byt-rt5651.m4
> index be3d994..91324ae 100644
> --- a/topology/sof-byt-rt5651.m4
> +++ b/topology/sof-byt-rt5651.m4
> @@ -93,7 +93,7 @@ PCM_DUPLEX_ADD(Low Latency, 3, 0, 0,
> PIPELINE_PCM_1, PIPELINE_PCM_2)
> #
> # BE configurations - overrides config in ACPI if present
> #
> -DAI_CONFIG(SSP, 2, SSP2-Codec, I2S, 24,
> +DAI_CONFIG(SSP, 2, 0, SSP2-Codec, I2S, 24,
> DAI_CLOCK(mclk, 19200000, codec_mclk_in),
> DAI_CLOCK(bclk, 2400000, codec_slave),
> DAI_CLOCK(fsync, 48000, codec_slave),
> diff --git a/topology/sof-cht-max98090.m4 b/topology/sof-cht-
> max98090.m4
> index 7ba4df7..5fb7802 100644
> --- a/topology/sof-cht-max98090.m4
> +++ b/topology/sof-cht-max98090.m4
> @@ -93,7 +93,7 @@ PCM_DUPLEX_ADD(Low Latency, 6, 0, 0,
> PIPELINE_PCM_1, PIPELINE_PCM_2)
> #
> # BE configurations - overrides config in ACPI if present
> #
> -DAI_CONFIG(SSP, 2, SSP2-Codec, I2S, 16,
> +DAI_CONFIG(SSP, 2, 0, SSP2-Codec, I2S, 16,
> DAI_CLOCK(mclk, 19200000, codec_mclk_in),
> DAI_CLOCK(bclk, 1920000, codec_slave),
> DAI_CLOCK(fsync, 48000, codec_slave),
> diff --git a/topology/sof-cht-nocodec.m4 b/topology/sof-cht-
> nocodec.m4
> index a0eb9cd..bd4d969 100644
> --- a/topology/sof-cht-nocodec.m4
> +++ b/topology/sof-cht-nocodec.m4
> @@ -93,7 +93,7 @@ PCM_DUPLEX_ADD(Low Latency, 6, 0, 0,
> PIPELINE_PCM_1, PIPELINE_PCM_2)
> #
> # BE configurations - overrides config in ACPI if present
> #
> -DAI_CONFIG(SSP, 2, NoCodec, I2S, 24,
> +DAI_CONFIG(SSP, 2, 0, NoCodec, I2S, 24,
> DAI_CLOCK(mclk, 19200000, codec_mclk_in),
> DAI_CLOCK(bclk, 2400000, codec_slave),
> DAI_CLOCK(fsync, 48000, codec_slave),
> diff --git a/topology/sof-cnl-rt274.m4 b/topology/sof-cnl-rt274.m4
> index 36cd91f..01cd203 100644
> --- a/topology/sof-cnl-rt274.m4
> +++ b/topology/sof-cnl-rt274.m4
> @@ -64,7 +64,7 @@ PCM_DUPLEX_ADD(Passthrough, 3, 0, 0,
> PIPELINE_PCM_1, PIPELINE_PCM_2)
> #
> # BE configurations - overrides config in ACPI if present
> #
> -DAI_CONFIG(SSP, 0, SSP0-Codec, DSP_B, 24,
> +DAI_CONFIG(SSP, 0, 0, SSP0-Codec, DSP_B, 24,
> DAI_CLOCK(mclk, 24000000, codec_mclk_in),
> DAI_CLOCK(bclk, 4800000, codec_slave),
> DAI_CLOCK(fsync, 48000, codec_slave),
> diff --git a/topology/sof-hsw-rt5640.m4 b/topology/sof-hsw-rt5640.m4
> index 85b8209..28d5c6a 100644
> --- a/topology/sof-hsw-rt5640.m4
> +++ b/topology/sof-hsw-rt5640.m4
> @@ -93,7 +93,7 @@ PCM_DUPLEX_ADD(Low Latency, 6, 0, 0,
> PIPELINE_PCM_1, PIPELINE_PCM_2)
> #
> # BE configurations - overrides config in ACPI if present
> #
> -DAI_CONFIG(SSP, 0, Codec, I2S, 24,
> +DAI_CONFIG(SSP, 0, 0, Codec, I2S, 24,
> DAI_CLOCK(mclk, 24000000, codec_mclk_in),
> DAI_CLOCK(bclk, 2400000, codec_slave),
> DAI_CLOCK(fsync, 48000, codec_slave),
> diff --git a/topology/test/test-capture-ssp.m4 b/topology/test/test-
> capture-ssp.m4
> index 6d666dc..67f0da9 100644
> --- a/topology/test/test-capture-ssp.m4
> +++ b/topology/test/test-capture-ssp.m4
> @@ -68,7 +68,7 @@ PCM_CAPTURE_ADD(Passthrough, 3, 0, 0,
> PIPELINE_PCM_2)
> #
> # TEST_SSP_DATA_BITS bit I2S using TEST_SSP_PHY_BITS bit sample
> conatiner on SSP TEST_SSP_PORT
> #
> -DAI_CONFIG(SSP, TEST_SSP_PORT, TEST_DAI_LINK_NAME, TEST_SSP_MODE,
> TEST_SSP_DATA_BITS,
> +DAI_CONFIG(SSP, TEST_SSP_PORT, 0, TEST_DAI_LINK_NAME, TEST_SSP_MODE,
For the test m4's, could we please pass the id from tplg-build.sh. It
will be much easier if/when we want to change it.
> TEST_SSP_DATA_BITS,
> DAI_CLOCK(mclk, TEST_SSP_MCLK, codec_mclk_in),
> DAI_CLOCK(bclk, TEST_SSP_BCLK, codec_slave),
> DAI_CLOCK(fsync, 48000, codec_slave),
> diff --git a/topology/test/test-playback-ssp.m4 b/topology/test/test-
> playback-ssp.m4
> index 5ee1b53..22943b0 100644
> --- a/topology/test/test-playback-ssp.m4
> +++ b/topology/test/test-playback-ssp.m4
> @@ -68,7 +68,7 @@ PCM_PLAYBACK_ADD(Passthrough, 3, 0, 0,
> PIPELINE_PCM_1)
> #
> # TEST_SSP_DATA_BITS bit I2S using TEST_SSP_PHY_BITS bit sample
> conatiner on SSP TEST_SSP_PORT
> #
> -DAI_CONFIG(SSP, TEST_SSP_PORT, TEST_DAI_LINK_NAME, TEST_SSP_MODE,
> TEST_SSP_DATA_BITS,
> +DAI_CONFIG(SSP, TEST_SSP_PORT, 0, TEST_DAI_LINK_NAME, TEST_SSP_MODE,
> TEST_SSP_DATA_BITS,
> DAI_CLOCK(mclk, TEST_SSP_MCLK, codec_slave),
> DAI_CLOCK(bclk, TEST_SSP_BCLK, codec_slave),
> DAI_CLOCK(fsync, 48000, codec_slave),
> diff --git a/topology/test/test-ssp.m4 b/topology/test/test-ssp.m4
> index 1bdce2f..0b305e1 100644
> --- a/topology/test/test-ssp.m4
> +++ b/topology/test/test-ssp.m4
> @@ -86,7 +86,7 @@ PCM_DUPLEX_ADD(Passthrough, 3, 0, 0,
> PIPELINE_PCM_1, PIPELINE_PCM_2)
> #
> # TEST_SSP_DATA_BITS bit I2S using TEST_SSP_PHY_BITS bit sample
> conatiner on SSP TEST_SSP_PORT
> #
> -DAI_CONFIG(SSP, TEST_SSP_PORT, TEST_DAI_LINK_NAME, TEST_SSP_MODE,
> TEST_SSP_DATA_BITS,
> +DAI_CONFIG(SSP, TEST_SSP_PORT, 0, TEST_DAI_LINK_NAME, TEST_SSP_MODE,
> TEST_SSP_DATA_BITS,
> DAI_CLOCK(mclk, TEST_SSP_MCLK, codec_mclk_in),
> DAI_CLOCK(bclk, TEST_SSP_BCLK, codec_slave),
> DAI_CLOCK(fsync, 48000, codec_slave),
> diff --git a/topology/test/test-tone-playback-ssp.m4
> b/topology/test/test-tone-playback-ssp.m4
> index 069ad64..b08447a 100644
> --- a/topology/test/test-tone-playback-ssp.m4
> +++ b/topology/test/test-tone-playback-ssp.m4
> @@ -56,7 +56,7 @@ DAI_ADD(sof/pipe-dai-playback.m4,
> #
> # TEST_SSP_DATA_BITS bit I2S using TEST_SSP_PHY_BITS bit sample
> conatiner on SSP TEST_SSP_PORT
> #
> -DAI_CONFIG(SSP, TEST_SSP_PORT, TEST_DAI_LINK_NAME, I2S,
> TEST_SSP_DATA_BITS,
> +DAI_CONFIG(SSP, TEST_SSP_PORT, 0, TEST_DAI_LINK_NAME, I2S,
> TEST_SSP_DATA_BITS,
> DAI_CLOCK(mclk, TEST_SSP_MCLK, codec_mclk_in),
> DAI_CLOCK(bclk, TEST_SSP_BCLK, codec_slave),
> DAI_CLOCK(fsync, 48000, codec_slave),
More information about the Sound-open-firmware
mailing list