Merge pull request #4 from ranj063/dai_changes

DAI updates - topology changes
This commit is contained in:
Liam Girdwood 2018-06-26 12:19:29 +01:00 committed by GitHub
commit 308cf3d140
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
34 changed files with 267 additions and 227 deletions

View File

@ -20,7 +20,9 @@ AC_OUTPUT([
rmbox/Makefile
topology/Makefile
topology/common/Makefile
topology/dsps/Makefile
topology/platform/Makefile
topology/platform/intel/Makefile
topology/platform/common/Makefile
topology/m4/Makefile
topology/sof/Makefile
topology/test/Makefile

View File

@ -3,10 +3,11 @@
# Dependencies
#
SUBDIRS = test m4 sof common dsps
SUBDIRS = test m4 sof common platform
DEPS = \
dsps/*.m4 \
platform/intel/*.m4 \
platform/common/*.m4 \
common/*.m4 \
m4/*.m4 \
sof/*.m4
@ -34,7 +35,7 @@ MACHINES = \
.PRECIOUS: %.conf
%.conf : %.m4 ${DEPS}
m4 -I m4 -I common $< > $@
m4 -I m4 -I common -I platform/common $< > $@
%.tplg : %.conf
alsatplg -v 1 -c $< -o $@

View File

@ -121,98 +121,6 @@ define(`D_DAI', `SectionDAI."'N_DAI`" {'
` capture "'$3`"'
`}')
dnl DAI_CLOCK(clock, freq, codec_master)
define(`DAI_CLOCK',
$1 STR($3)
$1_freq STR($2))
dnl DAI_TDM(slots, width, tx_mask, rx_mask)
define(`DAI_TDM',
`tdm_slots 'STR($1)
` tdm_slot_width 'STR($2)
` 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 PDM_TUPLES(pdm ctrl id, mic_a_enable, mic_b_enable, polarity_a, polarity_b,
dnl clk_egde, skew)
define(`PDM_TUPLES',
` tuples."short.pdm$1" {'
` SOF_TKN_INTEL_DMIC_PDM_CTRL_ID' STR($1)
` SOF_TKN_INTEL_DMIC_PDM_MIC_A_Enable' STR($2)
` SOF_TKN_INTEL_DMIC_PDM_MIC_B_Enable' STR($3)
` SOF_TKN_INTEL_DMIC_PDM_POLARITY_A' STR($4)
` SOF_TKN_INTEL_DMIC_PDM_POLARITY_B' STR($5)
` SOF_TKN_INTEL_DMIC_PDM_CLK_EDGE' STR($6)
` SOF_TKN_INTEL_DMIC_PDM_SKEW' STR($7)
` }'
)
dnl PDM_CONFIG(type, idx, pdm tuples list)
define(`PDM_CONFIG',
`SectionVendorTuples."'N_DAI_CONFIG($1$2)`_pdm_tuples" {'
` tokens "sof_dmic_pdm_tokens"'
$3
`}'
)
dnl DMIC currently only supports 16 bit or 32-bit word length
dnl DMIC_WORD_LENGTH(frame format)
define(`DMIC_WORD_LENGTH',
`ifelse($1, `s16le', 16, $1, `s32le', 32, `')')
dnl DMIC_CONFIG(driver_version, clk_min, clk_mac, duty_min, duty_max,
dnl req pdm count, sample_rate,
dnl fifo word length, type, idx, pdm controller config)
define(`DMIC_CONFIG',
`SectionVendorTuples."'N_DAI_CONFIG($9$10)`_dmic_tuples" {'
` tokens "sof_dmic_tokens"'
` tuples."word" {'
` SOF_TKN_INTEL_DMIC_DRIVER_VERSION' STR($1)
` SOF_TKN_INTEL_DMIC_CLK_MIN' STR($2)
` SOF_TKN_INTEL_DMIC_CLK_MAX' STR($3)
` SOF_TKN_INTEL_DMIC_DUTY_MIN' STR($4)
` SOF_TKN_INTEL_DMIC_DUTY_MAX' STR($5)
` SOF_TKN_INTEL_DMIC_NUM_PDM_ACTIVE' STR($6)
` SOF_TKN_INTEL_DMIC_SAMPLE_RATE' STR($7)
` SOF_TKN_INTEL_DMIC_FIFO_WORD_LENGTH' STR($8)
` }'
`}'
dnl PDM config for the number of active PDM controllers
$11
`SectionData."'N_DAI_CONFIG($9$10)`_pdm_data" {'
` tuples "'N_DAI_CONFIG($9$10)`_pdm_tuples"'
`}'
`SectionData."'N_DAI_CONFIG($9$10)`_data" {'
` tuples "'N_DAI_CONFIG($9$10)`_dmic_tuples"'
`}'
)
dnl DAI Config)
define(`N_DAI_CONFIG', `DAICONFIG.'$1)

View File

@ -0,0 +1 @@
SUBDIRS = intel common

View File

@ -0,0 +1,2 @@
EXTRA_DIST = \
ssp.m4

View File

@ -0,0 +1,46 @@
divert(-1)
dnl SSP related macros
dnl SSP_CLOCK(clock, freq, codec_master)
define(`SSP_CLOCK',
$1 STR($3)
$1_freq STR($2))
dnl SSP_TDM(slots, width, tx_mask, rx_mask)
define(`SSP_TDM',
`tdm_slots 'STR($1)
` tdm_slot_width 'STR($2)
` tx_slots 'STR($3)
` rx_slots 'STR($4)
)
dnl SSP_CONFIG(format, mclk, bclk, fsync, tdm, ssp_config_data)
define(`SSP_CONFIG',
` format "'$1`"'
` '$2
` '$3
` '$4
` '$5
`}'
$6
)
dnl SSP_CONFIG_DATA(type, idx, valid bits, mclk_id)
dnl mclk_id is optional
define(`SSP_CONFIG_DATA',
`SectionVendorTuples."'N_DAI_CONFIG($1$2)`_tuples" {'
` tokens "sof_ssp_tokens"'
` tuples."word" {'
` SOF_TKN_INTEL_SSP_SAMPLE_BITS' STR($3)
` }'
` tuples."short" {'
` SOF_TKN_INTEL_SSP_MCLK_ID' ifelse($4, `', "0", STR($4))
` }'
`}'
`SectionData."'N_DAI_CONFIG($1$2)`_data" {'
` tuples "'N_DAI_CONFIG($1$2)`_tuples"'
`}'
)
divert(0)dnl

View File

@ -4,5 +4,6 @@ EXTRA_DIST = \
byt.m4 \
cht.m4 \
hsw.m4 \
cnl.m4
cnl.m4 \
dmic.m4

View File

@ -0,0 +1,60 @@
divert(-1)
dnl DMIC related macros
dnl PDM_TUPLES(pdm ctrl id, mic_a_enable, mic_b_enable, polarity_a, polarity_b,
dnl clk_egde, skew)
define(`PDM_TUPLES',
` tuples."short.pdm$1" {'
` SOF_TKN_INTEL_DMIC_PDM_CTRL_ID' STR($1)
` SOF_TKN_INTEL_DMIC_PDM_MIC_A_Enable' STR($2)
` SOF_TKN_INTEL_DMIC_PDM_MIC_B_Enable' STR($3)
` SOF_TKN_INTEL_DMIC_PDM_POLARITY_A' STR($4)
` SOF_TKN_INTEL_DMIC_PDM_POLARITY_B' STR($5)
` SOF_TKN_INTEL_DMIC_PDM_CLK_EDGE' STR($6)
` SOF_TKN_INTEL_DMIC_PDM_SKEW' STR($7)
` }'
)
dnl PDM_CONFIG(type, idx, pdm tuples list)
define(`PDM_CONFIG',
`SectionVendorTuples."'N_DAI_CONFIG($1$2)`_pdm_tuples" {'
` tokens "sof_dmic_pdm_tokens"'
$3
`}'
)
dnl DMIC currently only supports 16 bit or 32-bit word length
dnl DMIC_WORD_LENGTH(frame format)
define(`DMIC_WORD_LENGTH',
`ifelse($1, `s16le', 16, $1, `s32le', 32, `')')
dnl DMIC_CONFIG(driver_version, clk_min, clk_mac, duty_min, duty_max,
dnl req pdm count, sample_rate,
dnl fifo word length, type, idx, pdm controller config)
define(`DMIC_CONFIG',
`SectionVendorTuples."'N_DAI_CONFIG($9$10)`_dmic_tuples" {'
` tokens "sof_dmic_tokens"'
` tuples."word" {'
` SOF_TKN_INTEL_DMIC_DRIVER_VERSION' STR($1)
` SOF_TKN_INTEL_DMIC_CLK_MIN' STR($2)
` SOF_TKN_INTEL_DMIC_CLK_MAX' STR($3)
` SOF_TKN_INTEL_DMIC_DUTY_MIN' STR($4)
` SOF_TKN_INTEL_DMIC_DUTY_MAX' STR($5)
` SOF_TKN_INTEL_DMIC_NUM_PDM_ACTIVE' STR($6)
` SOF_TKN_INTEL_DMIC_SAMPLE_RATE' STR($7)
` SOF_TKN_INTEL_DMIC_FIFO_WORD_LENGTH' STR($8)
` }'
`}'
dnl PDM config for the number of active PDM controllers
$11
`SectionData."'N_DAI_CONFIG($9$10)`_pdm_data" {'
` tuples "'N_DAI_CONFIG($9$10)`_pdm_tuples"'
`}'
`SectionData."'N_DAI_CONFIG($9$10)`_data" {'
` tuples "'N_DAI_CONFIG($9$10)`_dmic_tuples"'
`}'
)
divert(0)dnl

View File

@ -6,6 +6,7 @@
include(`pipeline.m4')
include(`utils.m4')
include(`dai.m4')
include(`ssp.m4')
# Include TLV library
include(`common/tlv.m4')
@ -14,7 +15,7 @@ include(`common/tlv.m4')
include(`sof/tokens.m4')
# Include Apollolake DSP configuration
include(`dsps/bxt.m4')
include(`platform/intel/bxt.m4')
#
# Define the pipelines
@ -91,8 +92,8 @@ 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,
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),
SSP_SAMPLE_BITS(SSP, 2, 24)))
SSP_CONFIG(I2S, SSP_CLOCK(mclk, 19200000, codec_mclk_in),
SSP_CLOCK(bclk, 2400000, codec_slave),
SSP_CLOCK(fsync, 48000, codec_slave),
SSP_TDM(2, 25, 3, 3),
SSP_CONFIG_DATA(SSP, 2, 24)))

View File

@ -6,6 +6,7 @@
include(`utils.m4')
include(`dai.m4')
include(`pipeline.m4')
include(`ssp.m4')
# Include TLV library
include(`common/tlv.m4')
@ -14,7 +15,7 @@ include(`common/tlv.m4')
include(`sof/tokens.m4')
# Include Apollolake DSP configuration
include(`dsps/bxt.m4')
include(`platform/intel/bxt.m4')
#
# Define the pipelines
@ -179,46 +180,46 @@ PCM_DUPLEX_ADD(Port5, 5, 5, 5, PIPELINE_PCM_9, PIPELINE_PCM_10)
#
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),
SSP_SAMPLE_BITS(SSP, 4, 32)))
SSP_CONFIG(DSP_B, SSP_CLOCK(mclk, 24576000, codec_mclk_in),
SSP_CLOCK(bclk, 12288000, codec_slave),
SSP_CLOCK(fsync, 48000, codec_slave),
SSP_TDM(8, 32, 15, 15),
SSP_CONFIG_DATA(SSP, 4, 32)))
DAI_CONFIG(SSP, 2, 2, SSP2-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(2, 32, 255, 255),
SSP_SAMPLE_BITS(SSP, 2, 32)))
SSP_CONFIG(DSP_B, SSP_CLOCK(mclk, 24576000, codec_mclk_in),
SSP_CLOCK(bclk, 12288000, codec_slave),
SSP_CLOCK(fsync, 48000, codec_slave),
SSP_TDM(2, 32, 255, 255),
SSP_CONFIG_DATA(SSP, 2, 32)))
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),
SSP_SAMPLE_BITS(SSP, 0, 16)))
SSP_CONFIG(I2S, SSP_CLOCK(mclk, 24576000, codec_mclk_in),
SSP_CLOCK(bclk, 1536000, codec_slave),
SSP_CLOCK(fsync, 48000, codec_slave),
SSP_TDM(2, 16, 3, 3),
SSP_CONFIG_DATA(SSP, 0, 16)))
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),
SSP_SAMPLE_BITS(SSP, 1, 16)))
SSP_CONFIG(I2S, SSP_CLOCK(mclk, 24576000, codec_mclk_in),
SSP_CLOCK(bclk, 1536000, codec_slave),
SSP_CLOCK(fsync, 48000, codec_slave),
SSP_TDM(2, 16, 3, 3),
SSP_CONFIG_DATA(SSP, 1, 16)))
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),
SSP_SAMPLE_BITS(SSP, 3, 16)))
SSP_CONFIG(I2S, SSP_CLOCK(mclk, 24576000, codec_mclk_in),
SSP_CLOCK(bclk, 1536000, codec_slave),
SSP_CLOCK(fsync, 48000, codec_slave),
SSP_TDM(2, 16, 3, 3),
SSP_CONFIG_DATA(SSP, 3, 16)))
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),
SSP_SAMPLE_BITS(SSP, 5, 16)))
SSP_CONFIG(I2S, SSP_CLOCK(mclk, 24576000, codec_mclk_in),
SSP_CLOCK(bclk, 1536000, codec_slave),
SSP_CLOCK(fsync, 48000, codec_slave),
SSP_TDM(2, 16, 3, 3),
SSP_CONFIG_DATA(SSP, 5, 16)))
VIRTUAL_DAPM_ROUTE_IN(BtHfp_ssp0_in, SSP, 0, IN, 0)

View File

@ -6,6 +6,7 @@
include(`pipeline.m4')
include(`utils.m4')
include(`dai.m4')
include(`ssp.m4')
# Include TLV library
include(`common/tlv.m4')
@ -14,7 +15,7 @@ include(`common/tlv.m4')
include(`sof/tokens.m4')
# Include Broadwell DSP configuration
include(`dsps/bdw.m4')
include(`platform/intel/bdw.m4')
#
# Define the pipelines
@ -91,8 +92,8 @@ 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,
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),
SSP_SAMPLE_BITS(SSP, 0, 24)))
SSP_CONFIG(I2S, SSP_CLOCK(mclk, 24000000, codec_mclk_in),
SSP_CLOCK(bclk, 2400000, codec_slave),
SSP_CLOCK(fsync, 48000, codec_slave),
SSP_TDM(2, 25, 3, 3),
SSP_CONFIG_DATA(SSP, 0, 24)))

View File

@ -6,6 +6,7 @@
include(`utils.m4')
include(`dai.m4')
include(`pipeline.m4')
include(`ssp.m4')
# Include TLV library
include(`common/tlv.m4')
@ -14,7 +15,7 @@ include(`common/tlv.m4')
include(`sof/tokens.m4')
# Include Broadwell DSP configuration
include(`dsps/bdw.m4')
include(`platform/intel/bdw.m4')
#
# Define the pipelines
@ -91,8 +92,8 @@ 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,
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),
SSP_SAMPLE_BITS(SSP, 0, 24)))
SSP_CONFIG(I2S, SSP_CLOCK(mclk, 24000000, codec_mclk_in),
SSP_CLOCK(bclk, 2400000, codec_slave),
SSP_CLOCK(fsync, 48000, codec_slave),
SSP_TDM(2, 25, 3, 3),
SSP_CONFIG_DATA(SSP, 0, 24)))

View File

@ -6,6 +6,7 @@
include(`utils.m4')
include(`dai.m4')
include(`pipeline.m4')
include(`ssp.m4')
# Include TLV library
include(`common/tlv.m4')
@ -14,7 +15,7 @@ include(`common/tlv.m4')
include(`sof/tokens.m4')
# Include Baytrail DSP configuration
include(`dsps/byt.m4')
include(`platform/intel/byt.m4')
#
# Define the pipelines
@ -91,8 +92,8 @@ 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,
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),
SSP_SAMPLE_BITS(SSP, 2, 24)))
SSP_CONFIG(I2S, SSP_CLOCK(mclk, 19200000, codec_mclk_in),
SSP_CLOCK(bclk, 2400000, codec_slave),
SSP_CLOCK(fsync, 48000, codec_slave),
SSP_TDM(2, 25, 3, 3),
SSP_CONFIG_DATA(SSP, 2, 24)))

View File

@ -6,6 +6,7 @@
include(`pipeline.m4')
include(`utils.m4')
include(`dai.m4')
include(`ssp.m4')
# Include TLV library
include(`common/tlv.m4')
@ -14,7 +15,7 @@ include(`common/tlv.m4')
include(`sof/tokens.m4')
# Include Baytrail DSP configuration
include(`dsps/byt.m4')
include(`platform/intel/byt.m4')
#
# Define the pipelines
@ -91,8 +92,8 @@ 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,
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),
SSP_SAMPLE_BITS(SSP, 2, 24)))
SSP_CONFIG(I2S, SSP_CLOCK(mclk, 19200000, codec_mclk_in),
SSP_CLOCK(bclk, 2400000, codec_slave),
SSP_CLOCK(fsync, 48000, codec_slave),
SSP_TDM(2, 25, 3, 3),
SSP_CONFIG_DATA(SSP, 2, 24)))

View File

@ -6,6 +6,7 @@
include(`utils.m4')
include(`dai.m4')
include(`pipeline.m4')
include(`ssp.m4')
# Include TLV library
include(`common/tlv.m4')
@ -14,7 +15,7 @@ include(`common/tlv.m4')
include(`sof/tokens.m4')
# Include Baytrail DSP configuration
include(`dsps/byt.m4')
include(`platform/intel/byt.m4')
#
# Define the pipelines
@ -91,8 +92,8 @@ 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,
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),
SSP_SAMPLE_BITS(SSP, 2, 24)))
SSP_CONFIG(I2S, SSP_CLOCK(mclk, 19200000, codec_mclk_in),
SSP_CLOCK(bclk, 2400000, codec_slave),
SSP_CLOCK(fsync, 48000, codec_slave),
SSP_TDM(2, 25, 3, 3),
SSP_CONFIG_DATA(SSP, 2, 24)))

View File

@ -6,6 +6,7 @@
include(`utils.m4')
include(`dai.m4')
include(`pipeline.m4')
include(`ssp.m4')
# Include TLV library
include(`common/tlv.m4')
@ -14,7 +15,7 @@ include(`common/tlv.m4')
include(`sof/tokens.m4')
# Include Baytrail DSP configuration
include(`dsps/byt.m4')
include(`platform/intel/byt.m4')
#
# Define the pipelines
@ -91,8 +92,8 @@ 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,
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),
SSP_SAMPLE_BITS(SSP, 2, 24)))
SSP_CONFIG(I2S, SSP_CLOCK(mclk, 19200000, codec_mclk_in),
SSP_CLOCK(bclk, 2400000, codec_slave),
SSP_CLOCK(fsync, 48000, codec_slave),
SSP_TDM(2, 25, 3, 3),
SSP_CONFIG_DATA(SSP, 2, 24)))

View File

@ -6,6 +6,7 @@
include(`utils.m4')
include(`dai.m4')
include(`pipeline.m4')
include(`ssp.m4')
# Include TLV library
include(`common/tlv.m4')
@ -14,7 +15,7 @@ include(`common/tlv.m4')
include(`sof/tokens.m4')
# Include Baytrail DSP configuration
include(`dsps/byt.m4')
include(`platform/intel/byt.m4')
#
# Define the pipelines
@ -91,8 +92,8 @@ 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,
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),
SSP_SAMPLE_BITS(SSP, 2, 24)))
SSP_CONFIG(I2S, SSP_CLOCK(mclk, 19200000, codec_mclk_in),
SSP_CLOCK(bclk, 2400000, codec_slave),
SSP_CLOCK(fsync, 48000, codec_slave),
SSP_TDM(2, 25, 3, 3),
SSP_CONFIG_DATA(SSP, 2, 24)))

View File

@ -6,6 +6,7 @@
include(`utils.m4')
include(`dai.m4')
include(`pipeline.m4')
include(`ssp.m4')
# Include TLV library
include(`common/tlv.m4')
@ -14,7 +15,7 @@ include(`common/tlv.m4')
include(`sof/tokens.m4')
# Include Cherrytrail DSP configuration
include(`dsps/cht.m4')
include(`platform/intel/cht.m4')
#
# Define the pipelines
@ -91,8 +92,8 @@ 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,
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),
SSP_SAMPLE_BITS(SSP, 2, 16)))
SSP_CONFIG(I2S, SSP_CLOCK(mclk, 19200000, codec_mclk_in),
SSP_CLOCK(bclk, 1920000, codec_slave),
SSP_CLOCK(fsync, 48000, codec_slave),
SSP_TDM(2, 20, 3, 3),
SSP_CONFIG_DATA(SSP, 2, 16)))

View File

@ -6,6 +6,7 @@
include(`pipeline.m4')
include(`utils.m4')
include(`dai.m4')
include(`ssp.m4')
# Include TLV library
include(`common/tlv.m4')
@ -14,7 +15,7 @@ include(`common/tlv.m4')
include(`sof/tokens.m4')
# Include CherryTrail DSP configuration
include(`dsps/cht.m4')
include(`platform/intel/cht.m4')
#
# Define the pipelines
@ -91,8 +92,8 @@ 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,
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),
SSP_SAMPLE_BITS(SSP, 2, 24)))
SSP_CONFIG(I2S, SSP_CLOCK(mclk, 19200000, codec_mclk_in),
SSP_CLOCK(bclk, 2400000, codec_slave),
SSP_CLOCK(fsync, 48000, codec_slave),
SSP_TDM(2, 25, 3, 3),
SSP_CONFIG_DATA(SSP, 2, 24)))

View File

@ -6,6 +6,7 @@
include(`utils.m4')
include(`dai.m4')
include(`pipeline.m4')
include(`ssp.m4')
# Include TLV library
include(`common/tlv.m4')
@ -14,7 +15,7 @@ include(`common/tlv.m4')
include(`sof/tokens.m4')
# Include Apollolake DSP configuration
include(`dsps/cnl.m4')
include(`platform/intel/cnl.m4')
#
# Define the pipelines
@ -63,11 +64,11 @@ 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,
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),
SSP_SAMPLE_BITS(SSP, 0, 24)))
SSP_CONFIG(DSP_B, SSP_CLOCK(mclk, 24000000, codec_mclk_in),
SSP_CLOCK(bclk, 4800000, codec_slave),
SSP_CLOCK(fsync, 48000, codec_slave),
SSP_TDM(4, 25, 3, 3),
SSP_CONFIG_DATA(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

@ -6,6 +6,7 @@
include(`utils.m4')
include(`dai.m4')
include(`pipeline.m4')
include(`ssp.m4')
# Include TLV library
include(`common/tlv.m4')
@ -14,7 +15,7 @@ include(`common/tlv.m4')
include(`sof/tokens.m4')
# Include Haswell DSP configuration
include(`dsps/hsw.m4')
include(`platform/intel/hsw.m4')
#
# Define the pipelines
@ -91,8 +92,8 @@ 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,
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),
SSP_SAMPLE_BITS(SSP, 0, 24)))
SSP_CONFIG(I2S, SSP_CLOCK(mclk, 24000000, codec_mclk_in),
SSP_CLOCK(bclk, 2400000, codec_slave),
SSP_CLOCK(fsync, 48000, codec_slave),
SSP_TDM(2, 25, 3, 3),
SSP_CONFIG_DATA(SSP, 0, 24)))

View File

@ -18,7 +18,6 @@ SectionVendorTokens."sof_dai_tokens" {
SOF_TKN_DAI_DMAC_CONFIG "153"
SOF_TKN_DAI_TYPE "154"
SOF_TKN_DAI_INDEX "155"
SOF_TKN_DAI_SAMPLE_BITS "156"
}
SectionVendorTokens."sof_sched_tokens" {
@ -55,6 +54,8 @@ SectionVendorTokens."sof_ssp_tokens" {
SOF_TKN_INTEL_SSP_MCLK_KEEP_ACTIVE "500"
SOF_TKN_INTEL_SSP_BCLK_KEEP_ACTIVE "501"
SOF_TKN_INTEL_SSP_FS_KEEP_ACTIVE "502"
SOF_TKN_INTEL_SSP_MCLK_ID "503"
SOF_TKN_INTEL_SSP_SAMPLE_BITS "504"
}
SectionVendorTokens."sof_dmic_tokens" {

View File

@ -8,7 +8,7 @@ export USE_XARGS=yes
endif
DEPS = \
../dsps/*.m4 \
../platform/intel/*.m4 \
../common/*.m4 \
../m4/*.m4 \
../sof/*.m4

View File

@ -4,6 +4,7 @@
# Include topology builder
include(`dai.m4')
include(`ssp.m4')
include(`utils.m4')
include(`pipeline.m4')
@ -14,7 +15,7 @@ include(`common/tlv.m4')
include(`sof/tokens.m4')
# Include Baytrail DSP configuration
include(`dsps/byt.m4')
include(`byt.m4')
#
# Machine Specific Config - !! MUST BE SET TO MATCH TEST MACHINE DRIVER !!
@ -86,9 +87,9 @@ PCM_DUPLEX_ADD(Passthrough, 3, 0, 0, PIPELINE_PCM_1, PIPELINE_PCM_2)
#
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),
SSP_SAMPLE_BITS(TEST_DAI_TYPE, TEST_DAI_PORT,
SSP_CLOCK(mclk, TEST_SSP_MCLK, codec_mclk_in),
SSP_CLOCK(bclk, TEST_SSP_BCLK, codec_slave),
SSP_CLOCK(fsync, 48000, codec_slave),
SSP_TDM(2, TEST_SSP_PHY_BITS, 3, 3),
SSP_CONFIG_DATA(TEST_DAI_TYPE, TEST_DAI_PORT,
TEST_SSP_DATA_BITS)))

View File

@ -4,6 +4,8 @@
# Include topology builder
include(`dai.m4')
include(`ssp.m4')
include(`dmic.m4')
include(`utils.m4')
include(`pipeline.m4')
@ -14,7 +16,7 @@ include(`common/tlv.m4')
include(`sof/tokens.m4')
# Include Baytrail DSP configuration
include(`dsps/byt.m4')
include(`byt.m4')
#
# Machine Specific Config - !! MUST BE SET TO MATCH TEST MACHINE DRIVER !!
@ -70,11 +72,11 @@ PCM_CAPTURE_ADD(Passthrough, 3, 0, 0, PIPELINE_PCM_2)
DAI_CONFIG(TEST_DAI_TYPE, TEST_DAI_PORT, 0, TEST_DAI_LINK_NAME,
ifelse(TEST_DAI_TYPE, `SSP',
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),
SSP_SAMPLE_BITS(TEST_DAI_TYPE, TEST_DAI_PORT,
SSP_CLOCK(mclk, TEST_SSP_MCLK, codec_mclk_in),
SSP_CLOCK(bclk, TEST_SSP_BCLK, codec_slave),
SSP_CLOCK(fsync, 48000, codec_slave),
SSP_TDM(2, TEST_SSP_PHY_BITS, 3, 3),
SSP_CONFIG_DATA(TEST_DAI_TYPE, TEST_DAI_PORT,
TEST_SSP_DATA_BITS)),
TEST_DAI_TYPE, `DMIC',
DMIC_CONFIG(TEST_DMIC_DRIVER_VERSION,TEST_DMIC_CLK_MIN,

View File

@ -5,6 +5,7 @@
# Include topology builder
include(`pipeline.m4')
include(`dai.m4')
include(`ssp.m4')
include(`utils.m4')
# Include TLV library
@ -14,7 +15,7 @@ include(`common/tlv.m4')
include(`sof/tokens.m4')
# Include Baytrail DSP configuration
include(`dsps/byt.m4')
include(`byt.m4')
#
# Machine Specific Config - !! MUST BE SET TO MATCH TEST MACHINE DRIVER !!
@ -69,9 +70,9 @@ PCM_PLAYBACK_ADD(Passthrough, 3, 0, 0, PIPELINE_PCM_1)
#
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),
SSP_SAMPLE_BITS(TEST_DAI_TYPE, TEST_DAI_PORT,
SSP_CLOCK(mclk, TEST_SSP_MCLK, codec_slave),
SSP_CLOCK(bclk, TEST_SSP_BCLK, codec_slave),
SSP_CLOCK(fsync, 48000, codec_slave),
SSP_TDM(2, TEST_SSP_PHY_BITS, 3, 3),
SSP_CONFIG_DATA(TEST_DAI_TYPE, TEST_DAI_PORT,
TEST_SSP_DATA_BITS)))

View File

@ -5,6 +5,7 @@
# Include topology builder
include(`pipeline.m4')
include(`dai.m4')
include(`ssp.m4')
include(`utils.m4')
# Include TLV library
@ -14,7 +15,7 @@ include(`common/tlv.m4')
include(`sof/tokens.m4')
# Include Baytrail DSP configuration
include(`dsps/byt.m4')
include(`byt.m4')
#
# Machine Specific Config - !! MUST BE SET TO MATCH TEST MACHINE DRIVER !!
@ -61,9 +62,9 @@ DAI_ADD(sof/pipe-dai-playback.m4,
#
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),
SSP_SAMPLE_BITS(TEST_DAI_TYPE, TEST_DAI_PORT,
SSP_CLOCK(mclk, TEST_SSP_MCLK, codec_mclk_in),
SSP_CLOCK(bclk, TEST_SSP_BCLK, codec_slave),
SSP_CLOCK(fsync, 48000, codec_slave),
SSP_TDM(2, TEST_SSP_PHY_BITS, 3, 3),
SSP_CONFIG_DATA(TEST_DAI_TYPE, TEST_DAI_PORT,
TEST_SSP_DATA_BITS)))

View File

@ -8,7 +8,7 @@
set -e
# M4 preprocessor flags
export M4PATH="../:../m4:../common"
export M4PATH="../:../m4:../common:../platform/intel:../platform/common"
# Simple component test cases
# can be used on components with 1 sink and 1 source.