topology: separate ssp params from dai common params

This patch makes changes to DAI config in topology to separate out
SSP specific params from common params in preparation for other
DAI types coming soon.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
This commit is contained in:
Ranjani Sridharan 2018-05-31 10:34:43 -07:00 committed by Liam Girdwood
parent e77a8ef269
commit 56b8316e2a
18 changed files with 168 additions and 129 deletions

View File

@ -136,22 +136,40 @@ define(`DAI_TDM',
` tx_slots 'STR($3)
` rx_slots 'STR($4)
)
dnl SSP_CONFIG(format, mclk, bclk, fsync, tdm, ssp sample bits)
define(`SSP_CONFIG',
` format "'$1`"'
` '$2
` '$3
` '$4
` '$5
`}'
$6
)
dnl SSP_SAMPLE_BITS(type, idx, valid bits)
define(`SSP_SAMPLE_BITS',
`SectionVendorTuples."'N_DAI_CONFIG($1$2)`_tuples" {'
` tokens "sof_dai_tokens"'
` tuples."word" {'
` SOF_TKN_DAI_SAMPLE_BITS' STR($3)
` }'
`}'
`SectionData."'N_DAI_CONFIG($1$2)`_data" {'
` tuples "'N_DAI_CONFIG($1$2)`_tuples"'
`}'
)
dnl DAI Config)
define(`N_DAI_CONFIG', `DAICONFIG.'$1)
dnl DAI_CONFIG(type, idx, link_id, name, format, valid bits, mclk, bclk, fsync, tdm)
dnl DAI_CONFIG(type, idx, link_id, name, ssp_config)
define(`DAI_CONFIG',
`SectionHWConfig."'$1$2`" {'
`'
` id "'$2`"'
` format "'$5`"'
`'
` '$7
` '$8
` '$9
` '$10
`}'
` ifelse($1, `SSP', $5, `}')'
`SectionVendorTuples."'N_DAI_CONFIG($1$2)`_tuples_str" {'
` tokens "sof_dai_tokens"'
` tuples."string" {'
@ -161,15 +179,6 @@ define(`DAI_CONFIG',
`SectionData."'N_DAI_CONFIG($1$2)`_data_str" {'
` tuples "'N_DAI_CONFIG($1$2)`_tuples_str"'
`}'
`SectionVendorTuples."'N_DAI_CONFIG($1$2)`_tuples" {'
` tokens "sof_dai_tokens"'
` tuples."word" {'
` SOF_TKN_DAI_SAMPLE_BITS' STR($6)
` }'
`}'
`SectionData."'N_DAI_CONFIG($1$2)`_data" {'
` tuples "'N_DAI_CONFIG($1$2)`_tuples"'
`}'
`'
`SectionBE."'$4`" {'
` id "'$3`"'

View File

@ -93,8 +93,9 @@ 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, 0, NoCodec, I2S, 24,
DAI_CLOCK(mclk, 19200000, codec_mclk_in),
DAI_CONFIG(SSP, 2, 0, NoCodec,
SSP_CONFIG(I2S, DAI_CLOCK(mclk, 19200000, codec_mclk_in),
DAI_CLOCK(bclk, 2400000, codec_slave),
DAI_CLOCK(fsync, 48000, codec_slave),
DAI_TDM(2, 25, 3, 3))
DAI_TDM(2, 25, 3, 3),
SSP_SAMPLE_BITS(SSP, 2, 24)))

View File

@ -187,41 +187,49 @@ PCM_DUPLEX_ADD(Port5, 5, 5, 5, PIPELINE_PCM_9, PIPELINE_PCM_10)
#
# BE configurations - overrides config in ACPI if present
#
DAI_CONFIG(SSP, 4, 4, SSP4-Codec, DSP_B, 32,
DAI_CLOCK(mclk, 24576000, codec_mclk_in),
DAI_CONFIG(SSP, 4, 4, SSP4-Codec,
SSP_CONFIG(DSP_B, 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_TDM(8, 32, 15, 15),
SSP_SAMPLE_BITS(SSP, 4, 32)))
DAI_CONFIG(SSP, 2, 2, SSP2-Codec, I2S, 16,
DAI_CLOCK(mclk, 24576000, codec_mclk_in),
DAI_CONFIG(SSP, 2, 2, SSP2-Codec,
SSP_CONFIG(I2S, DAI_CLOCK(mclk, 24576000, codec_mclk_in),
DAI_CLOCK(bclk, 1536000, codec_slave),
DAI_CLOCK(fsync, 48000, codec_slave),
DAI_TDM(2, 16, 3, 3))
DAI_TDM(2, 16, 3, 3),
SSP_SAMPLE_BITS(SSP, 2, 16)))
DAI_CONFIG(SSP, 0, 0, SSP0-Codec, I2S, 16,
DAI_CLOCK(mclk, 24576000, codec_mclk_in),
DAI_CONFIG(SSP, 0, 0, SSP0-Codec,
SSP_CONFIG(I2S, DAI_CLOCK(mclk, 24576000, codec_mclk_in),
DAI_CLOCK(bclk, 1536000, codec_slave),
DAI_CLOCK(fsync, 48000, codec_slave),
DAI_TDM(2, 16, 3, 3))
DAI_TDM(2, 16, 3, 3),
SSP_SAMPLE_BITS(SSP, 0, 16)))
DAI_CONFIG(SSP, 1, 1, SSP1-Codec, I2S, 16,
DAI_CLOCK(mclk, 24576000, codec_mclk_in),
DAI_CONFIG(SSP, 1, 1, SSP1-Codec,
SSP_CONFIG(I2S, DAI_CLOCK(mclk, 24576000, codec_mclk_in),
DAI_CLOCK(bclk, 1536000, codec_slave),
DAI_CLOCK(fsync, 48000, codec_slave),
DAI_TDM(2, 16, 3, 3))
DAI_TDM(2, 16, 3, 3),
SSP_SAMPLE_BITS(SSP, 1, 16)))
DAI_CONFIG(SSP, 3, 3, SSP3-Codec, I2S, 16,
DAI_CLOCK(mclk, 24576000, codec_mclk_in),
DAI_CONFIG(SSP, 3, 3, SSP3-Codec,
SSP_CONFIG(I2S, DAI_CLOCK(mclk, 24576000, codec_mclk_in),
DAI_CLOCK(bclk, 1536000, codec_slave),
DAI_CLOCK(fsync, 48000, codec_slave),
DAI_TDM(2, 16, 3, 3))
DAI_TDM(2, 16, 3, 3),
SSP_SAMPLE_BITS(SSP, 3, 16)))
DAI_CONFIG(SSP, 5, 5, SSP5-Codec, I2S, 16,
DAI_CLOCK(mclk, 24576000, codec_mclk_in),
DAI_CONFIG(SSP, 5, 5, SSP5-Codec,
SSP_CONFIG(I2S, DAI_CLOCK(mclk, 24576000, codec_mclk_in),
DAI_CLOCK(bclk, 1536000, codec_slave),
DAI_CLOCK(fsync, 48000, codec_slave),
DAI_TDM(2, 16, 3, 3))
DAI_TDM(2, 16, 3, 3),
SSP_SAMPLE_BITS(SSP, 5, 16)))
VIRTUAL_DAPM_ROUTE_IN(BtHfp_ssp0_in, SSP, 0, IN, 0)
VIRTUAL_DAPM_ROUTE_OUT(BtHfp_ssp0_out, SSP, 0, OUT, 1)
@ -245,4 +253,3 @@ VIRTUAL_WIDGET(ssp3 Rx, 18)
VIRTUAL_WIDGET(ssp4 Tx, 19)
VIRTUAL_WIDGET(ssp5 Tx, 20)
VIRTUAL_WIDGET(ssp5 Rx, 21)

View File

@ -93,8 +93,9 @@ 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, 0, Codec, I2S, 24,
DAI_CLOCK(mclk, 24000000, codec_mclk_in),
DAI_CONFIG(SSP, 0, 0, Codec,
SSP_CONFIG(I2S, DAI_CLOCK(mclk, 24000000, codec_mclk_in),
DAI_CLOCK(bclk, 2400000, codec_slave),
DAI_CLOCK(fsync, 48000, codec_slave),
DAI_TDM(2, 25, 3, 3))
DAI_TDM(2, 25, 3, 3),
SSP_SAMPLE_BITS(SSP, 0, 24)))

View File

@ -93,8 +93,9 @@ 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, 0, Codec, I2S, 24,
DAI_CLOCK(mclk, 24000000, codec_mclk_in),
DAI_CONFIG(SSP, 0, 0, Codec,
SSP_CONFIG(I2S, DAI_CLOCK(mclk, 24000000, codec_mclk_in),
DAI_CLOCK(bclk, 2400000, codec_slave),
DAI_CLOCK(fsync, 48000, codec_slave),
DAI_TDM(2, 25, 3, 3))
DAI_TDM(2, 25, 3, 3),
SSP_SAMPLE_BITS(SSP, 0, 24)))

View File

@ -93,8 +93,9 @@ 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, 0, SSP2-Codec, I2S, 24,
DAI_CLOCK(mclk, 19200000, codec_mclk_in),
DAI_CONFIG(SSP, 2, 0, SSP2-Codec,
SSP_CONFIG(I2S, DAI_CLOCK(mclk, 19200000, codec_mclk_in),
DAI_CLOCK(bclk, 2400000, codec_slave),
DAI_CLOCK(fsync, 48000, codec_slave),
DAI_TDM(2, 25, 3, 3))
DAI_TDM(2, 25, 3, 3),
SSP_SAMPLE_BITS(SSP, 2, 24)))

View File

@ -93,8 +93,9 @@ 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, 0, NoCodec, I2S, 24,
DAI_CLOCK(mclk, 19200000, codec_mclk_in),
DAI_CONFIG(SSP, 2, 0, NoCodec,
SSP_CONFIG(I2S, DAI_CLOCK(mclk, 19200000, codec_mclk_in),
DAI_CLOCK(bclk, 2400000, codec_slave),
DAI_CLOCK(fsync, 48000, codec_slave),
DAI_TDM(2, 25, 3, 3))
DAI_TDM(2, 25, 3, 3),
SSP_SAMPLE_BITS(SSP, 2, 24)))

View File

@ -93,8 +93,9 @@ 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, 0, SSP2-Codec, I2S, 24,
DAI_CLOCK(mclk, 19200000, codec_mclk_in),
DAI_CONFIG(SSP, 2, 0, SSP2-Codec,
SSP_CONFIG(I2S, DAI_CLOCK(mclk, 19200000, codec_mclk_in),
DAI_CLOCK(bclk, 2400000, codec_slave),
DAI_CLOCK(fsync, 48000, codec_slave),
DAI_TDM(2, 25, 3, 3))
DAI_TDM(2, 25, 3, 3),
SSP_SAMPLE_BITS(SSP, 2, 24)))

View File

@ -93,8 +93,9 @@ 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, 0, SSP2-Codec, I2S, 24,
DAI_CLOCK(mclk, 19200000, codec_mclk_in),
DAI_CONFIG(SSP, 2, 0, SSP2-Codec,
SSP_CONFIG(I2S, DAI_CLOCK(mclk, 19200000, codec_mclk_in),
DAI_CLOCK(bclk, 2400000, codec_slave),
DAI_CLOCK(fsync, 48000, codec_slave),
DAI_TDM(2, 25, 3, 3))
DAI_TDM(2, 25, 3, 3),
SSP_SAMPLE_BITS(SSP, 2, 24)))

View File

@ -93,9 +93,9 @@ 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, 0, SSP2-Codec, I2S, 24,
DAI_CLOCK(mclk, 19200000, codec_mclk_in),
DAI_CONFIG(SSP, 2, 0, SSP2-Codec,
SSP_CONFIG(I2S, DAI_CLOCK(mclk, 19200000, codec_mclk_in),
DAI_CLOCK(bclk, 2400000, codec_slave),
DAI_CLOCK(fsync, 48000, codec_slave),
DAI_TDM(2, 25, 3, 3))
DAI_TDM(2, 25, 3, 3),
SSP_SAMPLE_BITS(SSP, 2, 24)))

View File

@ -93,8 +93,9 @@ 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, 0, SSP2-Codec, I2S, 16,
DAI_CLOCK(mclk, 19200000, codec_mclk_in),
DAI_CONFIG(SSP, 2, 0, SSP2-Codec,
SSP_CONFIG(I2S, DAI_CLOCK(mclk, 19200000, codec_mclk_in),
DAI_CLOCK(bclk, 1920000, codec_slave),
DAI_CLOCK(fsync, 48000, codec_slave),
DAI_TDM(2, 20, 3, 3))
DAI_TDM(2, 20, 3, 3),
SSP_SAMPLE_BITS(SSP, 2, 16)))

View File

@ -93,8 +93,9 @@ 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, 0, NoCodec, I2S, 24,
DAI_CLOCK(mclk, 19200000, codec_mclk_in),
DAI_CONFIG(SSP, 2, 0, NoCodec,
SSP_CONFIG(I2S, DAI_CLOCK(mclk, 19200000, codec_mclk_in),
DAI_CLOCK(bclk, 2400000, codec_slave),
DAI_CLOCK(fsync, 48000, codec_slave),
DAI_TDM(2, 25, 3, 3))
DAI_TDM(2, 25, 3, 3),
SSP_SAMPLE_BITS(SSP, 2, 24)))

View File

@ -64,11 +64,12 @@ 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, 0, SSP0-Codec, DSP_B, 24,
DAI_CLOCK(mclk, 24000000, codec_mclk_in),
DAI_CONFIG(SSP, 0, 0, SSP0-Codec,
SSP_CONFIG(DSP_B, DAI_CLOCK(mclk, 24000000, codec_mclk_in),
DAI_CLOCK(bclk, 4800000, codec_slave),
DAI_CLOCK(fsync, 48000, codec_slave),
DAI_TDM(4, 25, 3, 3))
DAI_TDM(4, 25, 3, 3),
SSP_SAMPLE_BITS(SSP, 0, 24)))
VIRTUAL_DAPM_ROUTE_OUT(codec0_out, SSP, 0, OUT, 0)
VIRTUAL_DAPM_ROUTE_OUT(codec1_out, SSP, 0, OUT, 1)

View File

@ -93,8 +93,9 @@ 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, 0, Codec, I2S, 24,
DAI_CLOCK(mclk, 24000000, codec_mclk_in),
DAI_CONFIG(SSP, 0, 0, Codec,
SSP_CONFIG(I2S, DAI_CLOCK(mclk, 24000000, codec_mclk_in),
DAI_CLOCK(bclk, 2400000, codec_slave),
DAI_CLOCK(fsync, 48000, codec_slave),
DAI_TDM(2, 25, 3, 3))
DAI_TDM(2, 25, 3, 3),
SSP_SAMPLE_BITS(SSP, 0, 24)))

View File

@ -68,8 +68,11 @@ 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_DAI_PORT
#
DAI_CONFIG(SSP, TEST_SSP_PORT, 0, TEST_DAI_LINK_NAME, TEST_SSP_MODE, TEST_SSP_DATA_BITS,
DAI_CONFIG(TEST_DAI_TYPE, TEST_DAI_PORT, 0, TEST_DAI_LINK_NAME,
SSP_CONFIG(TEST_SSP_MODE,
DAI_CLOCK(mclk, TEST_SSP_MCLK, codec_mclk_in),
DAI_CLOCK(bclk, TEST_SSP_BCLK, codec_slave),
DAI_CLOCK(fsync, 48000, codec_slave),
DAI_TDM(2, TEST_SSP_PHY_BITS, 3, 3))
DAI_TDM(2, TEST_SSP_PHY_BITS, 3, 3),
SSP_SAMPLE_BITS(TEST_DAI_TYPE, TEST_DAI_PORT,
TEST_SSP_DATA_BITS)))

View File

@ -68,8 +68,11 @@ 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_DAI_PORT
#
DAI_CONFIG(SSP, TEST_SSP_PORT, 0, TEST_DAI_LINK_NAME, TEST_SSP_MODE, TEST_SSP_DATA_BITS,
DAI_CONFIG(TEST_DAI_TYPE, TEST_DAI_PORT, 0, TEST_DAI_LINK_NAME,
SSP_CONFIG(TEST_SSP_MODE,
DAI_CLOCK(mclk, TEST_SSP_MCLK, codec_slave),
DAI_CLOCK(bclk, TEST_SSP_BCLK, codec_slave),
DAI_CLOCK(fsync, 48000, codec_slave),
DAI_TDM(2, TEST_SSP_PHY_BITS, 3, 3))
DAI_TDM(2, TEST_SSP_PHY_BITS, 3, 3),
SSP_SAMPLE_BITS(TEST_DAI_TYPE, TEST_DAI_PORT,
TEST_SSP_DATA_BITS)))

View File

@ -86,8 +86,11 @@ 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_DAI_PORT
#
DAI_CONFIG(SSP, TEST_SSP_PORT, 0, TEST_DAI_LINK_NAME, TEST_SSP_MODE, TEST_SSP_DATA_BITS,
DAI_CONFIG(TEST_DAI_TYPE, TEST_DAI_PORT, 0, TEST_DAI_LINK_NAME,
SSP_CONFIG(TEST_SSP_MODE,
DAI_CLOCK(mclk, TEST_SSP_MCLK, codec_mclk_in),
DAI_CLOCK(bclk, TEST_SSP_BCLK, codec_slave),
DAI_CLOCK(fsync, 48000, codec_slave),
DAI_TDM(2, TEST_SSP_PHY_BITS, 3, 3))
DAI_TDM(2, TEST_SSP_PHY_BITS, 3, 3),
SSP_SAMPLE_BITS(TEST_DAI_TYPE, TEST_DAI_PORT,
TEST_SSP_DATA_BITS)))

View File

@ -56,8 +56,11 @@ DAI_ADD(sof/pipe-dai-playback.m4,
#
# TEST_SSP_DATA_BITS bit I2S using TEST_SSP_PHY_BITS bit sample conatiner on SSP TEST_DAI_PORT
#
DAI_CONFIG(SSP, TEST_SSP_PORT, 0, TEST_DAI_LINK_NAME, I2S, TEST_SSP_DATA_BITS,
DAI_CONFIG(TEST_DAI_TYPE, TEST_DAI_PORT, 0, TEST_DAI_LINK_NAME,
SSP_CONFIG(TEST_SSP_MODE,
DAI_CLOCK(mclk, TEST_SSP_MCLK, codec_mclk_in),
DAI_CLOCK(bclk, TEST_SSP_BCLK, codec_slave),
DAI_CLOCK(fsync, 48000, codec_slave),
DAI_TDM(2, TEST_SSP_PHY_BITS, 3, 3))
DAI_TDM(2, TEST_SSP_PHY_BITS, 3, 3),
SSP_SAMPLE_BITS(TEST_DAI_TYPE, TEST_DAI_PORT,
TEST_SSP_DATA_BITS)))