[Sound-open-firmware] [PATCH] topology: dai: add link_id for dai_link matching in DAI_CONFIG
This is used for the matching with snd_soc_dai_link.id in BE dai_links.
Signed-off-by: Keyon Jie yang.jie@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), 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, 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),
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@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),
On 2018年05月24日 10:25, Ranjani Sridharan wrote:
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@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?
it should be aligned with the definition in machine driver. it do be consistent in machine driver, and they are also same with SSP port number in machine driver(although they could be different, such as the change in this same patch for byt...).
another point is, I am planing to add PCMs for all 6 SSP ports soon, after that, you will still see that the ids here are exactly same with port number.
Thanks, ~Keyon
/* Back End DAI links */ { /* SSP0 - BT */ .name = "SSP0-Codec", .id = 0, .cpu_dai_name = "SSP0 Pin", .codec_name = "snd-soc-dummy", .codec_dai_name = "snd-soc-dummy-dai", .platform_name = "0000:00:0e.0", .ignore_suspend = 1, .dpcm_capture = 1, .dpcm_playback = 1, .no_pcm = 1, }, { /* SSP1 - HDMI-In */ .name = "SSP1-Codec", .id = 1, .cpu_dai_name = "SSP1 Pin", .codec_name = "snd-soc-dummy", .codec_dai_name = "snd-soc-dummy-dai", .platform_name = "0000:00:0e.0", .ignore_suspend = 1, .dpcm_capture = 1, .no_pcm = 1, }, { /* SSP2 - Dirana */ .name = "SSP2-Codec", .id = 2, .cpu_dai_name = "SSP2 Pin", .codec_name = "snd-soc-dummy", .codec_dai_name = "snd-soc-dummy-dai", .platform_name = "0000:00:0e.0", .ignore_suspend = 1, .dpcm_capture = 1, .dpcm_playback = 1, .no_pcm = 1, .be_hw_params_fixup = bxt_tdf8532_ssp2_fixup, }, { /* SSP3 - Modem */ .name = "SSP3-Codec", .id = 3, .cpu_dai_name = "SSP3 Pin", .codec_name = "snd-soc-dummy", .codec_dai_name = "snd-soc-dummy-dai", .platform_name = "0000:00:0e.0", .ignore_suspend = 1, .dpcm_capture = 1, .dpcm_playback = 1, .no_pcm = 1, }, { /* SSP4 - Amplifier */ .name = "SSP4-Codec", .id = 4, .cpu_dai_name = "SSP4 Pin", .codec_name = "i2c-INT34C3:00", .codec_dai_name = "tdf8532-hifi", .platform_name = "0000:00:0e.0", .ignore_suspend = 1, .dpcm_playback = 1, .no_pcm = 1, }, { /* SSP5 - TestPin */ .name = "SSP5-Codec", .id = 5, .cpu_dai_name = "SSP5 Pin", .codec_name = "snd-soc-dummy", .codec_dai_name = "snd-soc-dummy-dai", .platform_name = "0000:00:0e.0", .ignore_suspend = 1, .dpcm_capture = 1, .dpcm_playback = 1, .no_pcm = 1, },
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),
On Thu, 2018-05-24 at 10:35 +0800, Keyon Jie wrote:
it should be aligned with the definition in machine driver. it do be consistent in machine driver, and they are also same with SSP port number in machine driver(although they could be different, such as the change in this same patch for byt...).
another point is, I am planing to add PCMs for all 6 SSP ports soon, after that, you will still see that the ids here are exactly same with port number.
Ok, we can upstream once this is working on a device with > 1 port e.g 1 SSP and 1 DMIC Unless you have already tested ? Do we need driver patches too ?
You need to add more detail in the commit message too. What you are adding and why it will match Ids.
Liam
Thanks, ~Keyon
-----Original Message----- From: sound-open-firmware-bounces@alsa-project.org [mailto:sound-open- firmware-bounces@alsa-project.org] On Behalf Of Liam Girdwood Sent: Thursday, May 24, 2018 6:28 PM To: Keyon Jie yang.jie@linux.intel.com; Ranjani Sridharan ranjani.sridharan@linux.intel.com; sound-open-firmware@alsa-project.org Subject: Re: [Sound-open-firmware] [PATCH] topology: dai: add link_id for dai_link matching in DAI_CONFIG
On Thu, 2018-05-24 at 10:35 +0800, Keyon Jie wrote:
it should be aligned with the definition in machine driver. it do be consistent in machine driver, and they are also same with SSP port number in machine driver(although they could be different, such as the change in this same patch for byt...).
another point is, I am planing to add PCMs for all 6 SSP ports soon, after that, you will still see that the ids here are exactly same with port number.
Ok, we can upstream once this is working on a device with > 1 port e.g 1 SSP and 1 DMIC Unless you have already tested ? Do we need driver patches too ?
Yes, I have tested with GPMRB sof-apl-tdf8532.m4, which enable SSP2 and SSP4 at the same time.
We need make sure this link_id should be same value with the .id of the corresponding BE dai_link(SSP) in machine driver.
e.g. for bxt_tdf8532.c, they are already same so no driver patches needed.
For nocodec machine driver, we have only one BE dai_link at the moment, we may need figure out how to add BE dai_link for it dynamically, during topology parsing. (maybe we can refer to add_dai_link which is used to add FE dai_link according to topology settings).
You need to add more detail in the commit message too. What you are adding and why it will match Ids.
Similar to other section member, we can find that in topology ABI, SectionBE.id will be generated as BE dai_link.id, that is why it will match.
Thanks, ~Keyon
Liam _______________________________________________ Sound-open-firmware mailing list Sound-open-firmware@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/sound-open-firmware
participants (4)
-
Jie, Yang
-
Keyon Jie
-
Liam Girdwood
-
Ranjani Sridharan