From 8cdb8a783fbe310b70071855cc192d9430b09a3f Mon Sep 17 00:00:00 2001 From: Bard Liao Date: Thu, 2 Apr 2020 10:38:37 +0800 Subject: [PATCH] Topology: Add HDA config We need to config HDA rate and channels. Signed-off-by: Bard Liao --- src/include/kernel/tokens.h | 4 +++ tools/topology/m4/dai.m4 | 4 +-- tools/topology/platform/common/hda.m4 | 25 +++++++++++++++++++ tools/topology/sof-apl-da7219.m4 | 10 +++++--- tools/topology/sof-apl-demux-pcm512x.m4 | 10 +++++--- tools/topology/sof-apl-pcm512x.m4 | 10 +++++--- tools/topology/sof-apl-rt298.m4 | 10 +++++--- tools/topology/sof-cml-demux-rt5682.m4 | 10 +++++--- tools/topology/sof-cml-rt5682-kwd.m4 | 10 +++++--- tools/topology/sof-cml-rt5682.m4 | 10 +++++--- tools/topology/sof-cml-rt700.m4 | 10 +++++--- tools/topology/sof-cml-src-rt5682.m4 | 10 +++++--- tools/topology/sof-ehl-rt5660.m4 | 13 +++++++--- tools/topology/sof-glk-da7219-kwd.m4 | 10 +++++--- tools/topology/sof-glk-da7219.m4 | 10 +++++--- tools/topology/sof-glk-rt5682.m4 | 10 +++++--- tools/topology/sof-hda-asrc.m4 | 16 ++++++++---- tools/topology/sof-hda-generic-idisp.m4 | 10 +++++--- tools/topology/sof-hda-generic-kwd.m4 | 16 ++++++++---- tools/topology/sof-hda-generic.m4 | 16 ++++++++---- tools/topology/sof-icl-rt700.m4 | 10 +++++--- .../sof-icl-rt711-rt1308-rt715-hdmi.m4 | 10 +++++--- tools/topology/sof-jsl-da7219.m4 | 10 +++++--- tools/topology/sof-tgl-max98357a-rt5682.m4 | 13 +++++++--- tools/topology/sof-tgl-max98373-rt5682.m4 | 13 +++++++--- tools/topology/sof-tgl-rt5682.m4 | 13 +++++++--- tools/topology/sof-tgl-rt711-i2s-rt1308.m4 | 13 +++++++--- tools/topology/sof-tgl-rt711-rt1308.m4 | 13 +++++++--- tools/topology/sof/tokens.m4 | 5 ++++ 29 files changed, 235 insertions(+), 89 deletions(-) create mode 100644 tools/topology/platform/common/hda.m4 diff --git a/src/include/kernel/tokens.h b/src/include/kernel/tokens.h index 6e2509c6901a..e09178d722ac 100644 --- a/src/include/kernel/tokens.h +++ b/src/include/kernel/tokens.h @@ -123,4 +123,8 @@ #define SOF_TKN_INTEL_ALH_RATE 1400 #define SOF_TKN_INTEL_ALH_CH 1401 +/* HDA */ +#define SOF_TKN_INTEL_HDA_RATE 1500 +#define SOF_TKN_INTEL_HDA_CH 1501 + #endif /* __KERNEL_TOKENS_H__ */ diff --git a/tools/topology/m4/dai.m4 b/tools/topology/m4/dai.m4 index cc845e8c0e2c..f8bbd1b240cf 100644 --- a/tools/topology/m4/dai.m4 +++ b/tools/topology/m4/dai.m4 @@ -133,7 +133,7 @@ define(`DO_DAI_CONFIG', `' ` id "'$3`"' `' -` ifelse($1, `SSP', $5, $1, `ALH', $5, $1, `ESAI', $5, $1, `SAI', $5, `}')' +` ifelse($1, `SSP', $5, $1, `HDA', $5, $1, `ALH', $5, $1, `ESAI', $5, $1, `SAI', $5, `}')' `ifelse($1, `DMIC', $5, `')' `SectionVendorTuples."'N_DAI_CONFIG($1$2)`_tuples_common" {' ` tokens "sof_dai_tokens"' @@ -157,7 +157,7 @@ define(`DO_DAI_CONFIG', ` "'$1$2`"' ` ]' ` data [' -` ifelse($1, `HDA', `', `"'N_DAI_CONFIG($1$2)`_data"')' +` "'N_DAI_CONFIG($1$2)`_data"' ` "'N_DAI_CONFIG($1$2)`_data_common"' `ifelse($1, `DMIC',` "'N_DAI_CONFIG($1$2)`_pdm_data"', `')' ` ]' diff --git a/tools/topology/platform/common/hda.m4 b/tools/topology/platform/common/hda.m4 new file mode 100644 index 000000000000..cfdd30b990af --- /dev/null +++ b/tools/topology/platform/common/hda.m4 @@ -0,0 +1,25 @@ +divert(-1) + +dnl HDA related macros + +dnl HDA_CONFIG(hda_config_data) +define(`HDA_CONFIG', +`}' +$1 +) + +dnl HDA_CONFIG_DATA(type, idx, rate, channels) +define(`HDA_CONFIG_DATA', +`SectionVendorTuples."'N_DAI_CONFIG($1$2)`_tuples" {' +` tokens "sof_hda_tokens"' +` tuples."word" {' +` SOF_TKN_INTEL_HDA_RATE' STR($3) +` SOF_TKN_INTEL_HDA_CH' STR($4) +` }' +`}' +`SectionData."'N_DAI_CONFIG($1$2)`_data" {' +` tuples "'N_DAI_CONFIG($1$2)`_tuples"' +`}' +) + +divert(0)dnl diff --git a/tools/topology/sof-apl-da7219.m4 b/tools/topology/sof-apl-da7219.m4 index 0c687dea8b52..20ce7eab5aab 100644 --- a/tools/topology/sof-apl-da7219.m4 +++ b/tools/topology/sof-apl-da7219.m4 @@ -7,6 +7,7 @@ include(`utils.m4') include(`dai.m4') include(`pipeline.m4') include(`ssp.m4') +include(`hda.m4') # Include TLV library include(`common/tlv.m4') @@ -181,9 +182,12 @@ DAI_CONFIG(DMIC, 0, 2, dmic01, PDM_CONFIG(DMIC, 0, STEREO_PDM0))) # 3 HDMI/DP outputs (ID: 3,4,5) -DAI_CONFIG(HDA, 3, 3, iDisp1) -DAI_CONFIG(HDA, 4, 4, iDisp2) -DAI_CONFIG(HDA, 5, 5, iDisp3) +DAI_CONFIG(HDA, 3, 3, iDisp1, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 3, 48000, 2))) +DAI_CONFIG(HDA, 4, 4, iDisp2, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 4, 48000, 2))) +DAI_CONFIG(HDA, 5, 5, iDisp3, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 5, 48000, 2))) ## remove warnings with SST hard-coded routes diff --git a/tools/topology/sof-apl-demux-pcm512x.m4 b/tools/topology/sof-apl-demux-pcm512x.m4 index 02db458102de..6422698273dc 100644 --- a/tools/topology/sof-apl-demux-pcm512x.m4 +++ b/tools/topology/sof-apl-demux-pcm512x.m4 @@ -8,6 +8,7 @@ include(`dai.m4') include(`pipeline.m4') include(`ssp.m4') include(`muxdemux.m4') +include(`hda.m4') # Include TLV library include(`common/tlv.m4') @@ -185,8 +186,11 @@ DAI_CONFIG(SSP, 5, 0, SSP5-Codec, SSP_CONFIG_DATA(SSP, 5, 24))) # 3 HDMI/DP outputs (ID: 3,4,5) -DAI_CONFIG(HDA, 0, 3, iDisp1) -DAI_CONFIG(HDA, 1, 4, iDisp2) -DAI_CONFIG(HDA, 2, 5, iDisp3) +DAI_CONFIG(HDA, 0, 3, iDisp1, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 0, 48000, 2))) +DAI_CONFIG(HDA, 1, 4, iDisp2, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 1, 48000, 2))) +DAI_CONFIG(HDA, 2, 5, iDisp3, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 2, 48000, 2))) DEBUG_END diff --git a/tools/topology/sof-apl-pcm512x.m4 b/tools/topology/sof-apl-pcm512x.m4 index 5c1d85ab8b57..cc85de53d699 100644 --- a/tools/topology/sof-apl-pcm512x.m4 +++ b/tools/topology/sof-apl-pcm512x.m4 @@ -7,6 +7,7 @@ include(`utils.m4') include(`dai.m4') include(`pipeline.m4') include(`ssp.m4') +include(`hda.m4') # Include TLV library include(`common/tlv.m4') @@ -215,8 +216,11 @@ DAI_CONFIG(DMIC, 1, 2, dmic16k, PDM_CONFIG(DMIC, 1, STEREO_PDM0))) # 3 HDMI/DP outputs (ID: 3,4,5) -DAI_CONFIG(HDA, 0, 3, iDisp1) -DAI_CONFIG(HDA, 1, 4, iDisp2) -DAI_CONFIG(HDA, 2, 5, iDisp3) +DAI_CONFIG(HDA, 0, 3, iDisp1, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 0, 48000, 2))) +DAI_CONFIG(HDA, 1, 4, iDisp2, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 1, 48000, 2))) +DAI_CONFIG(HDA, 2, 5, iDisp3, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 2, 48000, 2))) DEBUG_END diff --git a/tools/topology/sof-apl-rt298.m4 b/tools/topology/sof-apl-rt298.m4 index 9aed26fae18b..3027a828df85 100644 --- a/tools/topology/sof-apl-rt298.m4 +++ b/tools/topology/sof-apl-rt298.m4 @@ -7,6 +7,7 @@ include(`utils.m4') include(`dai.m4') include(`pipeline.m4') include(`ssp.m4') +include(`hda.m4') # Include TLV library include(`common/tlv.m4') @@ -114,7 +115,10 @@ DAI_CONFIG(SSP, 5, 0, SSP5-Codec, SSP_TDM(2, 32, 3, 3), SSP_CONFIG_DATA(SSP, 5, 24))) -DAI_CONFIG(HDA, 3, 3, iDisp1) -DAI_CONFIG(HDA, 4, 4, iDisp2) -DAI_CONFIG(HDA, 5, 5, iDisp3) +DAI_CONFIG(HDA, 3, 3, iDisp1, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 3, 48000, 2))) +DAI_CONFIG(HDA, 4, 4, iDisp2, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 4, 48000, 2))) +DAI_CONFIG(HDA, 5, 5, iDisp3, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 5, 48000, 2))) diff --git a/tools/topology/sof-cml-demux-rt5682.m4 b/tools/topology/sof-cml-demux-rt5682.m4 index 091da96935d9..3ea8b03d4d8c 100644 --- a/tools/topology/sof-cml-demux-rt5682.m4 +++ b/tools/topology/sof-cml-demux-rt5682.m4 @@ -8,6 +8,7 @@ include(`dai.m4') include(`pipeline.m4') include(`ssp.m4') include(`muxdemux.m4') +include(`hda.m4') # Include TLV library include(`common/tlv.m4') @@ -216,9 +217,12 @@ DAI_CONFIG(DMIC, 0, 1, dmic01, PDM_CONFIG(DMIC, 0, FOUR_CH_PDM0_PDM1))) # 3 HDMI/DP outputs (ID: 3,4,5) -DAI_CONFIG(HDA, 0, 3, iDisp1) -DAI_CONFIG(HDA, 1, 4, iDisp2) -DAI_CONFIG(HDA, 2, 5, iDisp3) +DAI_CONFIG(HDA, 0, 3, iDisp1, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 0, 48000, 2))) +DAI_CONFIG(HDA, 1, 4, iDisp2, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 1, 48000, 2))) +DAI_CONFIG(HDA, 2, 5, iDisp3, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 2, 48000, 2))) DEBUG_END diff --git a/tools/topology/sof-cml-rt5682-kwd.m4 b/tools/topology/sof-cml-rt5682-kwd.m4 index 478ec6bafe23..4de4238dddd5 100644 --- a/tools/topology/sof-cml-rt5682-kwd.m4 +++ b/tools/topology/sof-cml-rt5682-kwd.m4 @@ -7,6 +7,7 @@ include(`utils.m4') include(`dai.m4') include(`pipeline.m4') include(`ssp.m4') +include(`hda.m4') # Include TLV library include(`common/tlv.m4') @@ -209,8 +210,11 @@ DAI_CONFIG(DMIC, 1, 2, dmic16k, PDM_CONFIG(DMIC, 1, STEREO_PDM0))) # 3 HDMI/DP outputs (ID: 3,4,5) -DAI_CONFIG(HDA, 0, 3, iDisp1) -DAI_CONFIG(HDA, 1, 4, iDisp2) -DAI_CONFIG(HDA, 2, 5, iDisp3) +DAI_CONFIG(HDA, 0, 3, iDisp1, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 0, 48000, 2))) +DAI_CONFIG(HDA, 1, 4, iDisp2, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 1, 48000, 2))) +DAI_CONFIG(HDA, 2, 5, iDisp3, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 2, 48000, 2))) DEBUG_END diff --git a/tools/topology/sof-cml-rt5682.m4 b/tools/topology/sof-cml-rt5682.m4 index 1c8432d12fde..c50463b56b50 100644 --- a/tools/topology/sof-cml-rt5682.m4 +++ b/tools/topology/sof-cml-rt5682.m4 @@ -7,6 +7,7 @@ include(`utils.m4') include(`dai.m4') include(`pipeline.m4') include(`ssp.m4') +include(`hda.m4') # Include TLV library include(`common/tlv.m4') @@ -185,8 +186,11 @@ DAI_CONFIG(DMIC, 1, 2, dmic16k, PDM_CONFIG(DMIC, 1, STEREO_PDM0))) # 3 HDMI/DP outputs (ID: 3,4,5) -DAI_CONFIG(HDA, 0, 3, iDisp1) -DAI_CONFIG(HDA, 1, 4, iDisp2) -DAI_CONFIG(HDA, 2, 5, iDisp3) +DAI_CONFIG(HDA, 0, 3, iDisp1, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 0, 48000, 2))) +DAI_CONFIG(HDA, 1, 4, iDisp2, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 1, 48000, 2))) +DAI_CONFIG(HDA, 2, 5, iDisp3, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 2, 48000, 2))) DEBUG_END diff --git a/tools/topology/sof-cml-rt700.m4 b/tools/topology/sof-cml-rt700.m4 index 84903df89e3f..86c5a3493759 100644 --- a/tools/topology/sof-cml-rt700.m4 +++ b/tools/topology/sof-cml-rt700.m4 @@ -7,6 +7,7 @@ include(`utils.m4') include(`dai.m4') include(`pipeline.m4') include(`alh.m4') +include(`hda.m4') # Include TLV library include(`common/tlv.m4') @@ -180,8 +181,11 @@ DAI_CONFIG(DMIC, 1, 3, dmic16k, PDM_CONFIG(DMIC, 1, STEREO_PDM0))) # 3 HDMI/DP outputs (ID: 4,5,6) -DAI_CONFIG(HDA, 0, 4, iDisp1) -DAI_CONFIG(HDA, 1, 5, iDisp2) -DAI_CONFIG(HDA, 2, 6, iDisp3) +DAI_CONFIG(HDA, 0, 4, iDisp1, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 0, 48000, 2))) +DAI_CONFIG(HDA, 1, 5, iDisp2, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 1, 48000, 2))) +DAI_CONFIG(HDA, 2, 6, iDisp3, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 2, 48000, 2))) DEBUG_END diff --git a/tools/topology/sof-cml-src-rt5682.m4 b/tools/topology/sof-cml-src-rt5682.m4 index a3b9b5d8a44d..43e6cada0986 100644 --- a/tools/topology/sof-cml-src-rt5682.m4 +++ b/tools/topology/sof-cml-src-rt5682.m4 @@ -7,6 +7,7 @@ include(`utils.m4') include(`dai.m4') include(`pipeline.m4') include(`ssp.m4') +include(`hda.m4') # Include TLV library include(`common/tlv.m4') @@ -156,9 +157,12 @@ DAI_CONFIG(DMIC, 0, 1, dmic01, PDM_CONFIG(DMIC, 0, FOUR_CH_PDM0_PDM1))) # 3 HDMI/DP outputs (ID: 2,3,4) -DAI_CONFIG(HDA, 0, 2, iDisp1) -DAI_CONFIG(HDA, 1, 3, iDisp2) -DAI_CONFIG(HDA, 2, 4, iDisp3) +DAI_CONFIG(HDA, 0, 2, iDisp1, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 0, 48000, 2))) +DAI_CONFIG(HDA, 1, 3, iDisp2, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 1, 48000, 2))) +DAI_CONFIG(HDA, 2, 4, iDisp3, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 2, 48000, 2))) DEBUG_END diff --git a/tools/topology/sof-ehl-rt5660.m4 b/tools/topology/sof-ehl-rt5660.m4 index 9d3ec8a37647..9873da279ce2 100644 --- a/tools/topology/sof-ehl-rt5660.m4 +++ b/tools/topology/sof-ehl-rt5660.m4 @@ -7,6 +7,7 @@ include(`utils.m4') include(`dai.m4') include(`pipeline.m4') include(`ssp.m4') +include(`hda.m4') # Include TLV library include(`common/tlv.m4') @@ -208,10 +209,14 @@ DAI_CONFIG(DMIC, 1, 2, dmic16k, ifelse(HDMI, `1', ` # 4 HDMI/DP outputs (ID: 5,6,7,8) -DAI_CONFIG(HDA, 0, 5, iDisp1) -DAI_CONFIG(HDA, 1, 6, iDisp2) -DAI_CONFIG(HDA, 2, 7, iDisp3) -DAI_CONFIG(HDA, 3, 8, iDisp4) +DAI_CONFIG(HDA, 0, 5, iDisp1, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 0, 48000, 2))) +DAI_CONFIG(HDA, 1, 6, iDisp2, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 1, 48000, 2))) +DAI_CONFIG(HDA, 2, 7, iDisp3, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 2, 48000, 2))) +DAI_CONFIG(HDA, 3, 8, iDisp4, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 3, 48000, 2))) ') DEBUG_END diff --git a/tools/topology/sof-glk-da7219-kwd.m4 b/tools/topology/sof-glk-da7219-kwd.m4 index 99c3bb4afd61..5e5019263dac 100644 --- a/tools/topology/sof-glk-da7219-kwd.m4 +++ b/tools/topology/sof-glk-da7219-kwd.m4 @@ -8,6 +8,7 @@ include(`utils.m4') include(`dai.m4') include(`pipeline.m4') include(`ssp.m4') +include(`hda.m4') # Include TLV library include(`common/tlv.m4') @@ -223,9 +224,12 @@ DAI_CONFIG(DMIC, 0, 2, dmic01, PDM_CONFIG(DMIC, 0, FOUR_CH_PDM0_PDM1))) # 3 HDMI/DP outputs (ID: 3,4,5) -DAI_CONFIG(HDA, HDMI0_INDEX, 3, iDisp1) -DAI_CONFIG(HDA, HDMI1_INDEX, 4, iDisp2) -DAI_CONFIG(HDA, HDMI2_INDEX, 5, iDisp3) +DAI_CONFIG(HDA, HDMI0_INDEX, 3, iDisp1, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, HDMI0_INDEX, 48000, 2))) +DAI_CONFIG(HDA, HDMI1_INDEX, 4, iDisp2, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, HDMI1_INDEX, 48000, 2))) +DAI_CONFIG(HDA, HDMI2_INDEX, 5, iDisp3, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, HDMI2_INDEX, 48000, 2))) # dmic16k (ID: 6) DAI_CONFIG(DMIC, 1, 6, dmic16k, diff --git a/tools/topology/sof-glk-da7219.m4 b/tools/topology/sof-glk-da7219.m4 index 0ed197eb8325..14f8f9cfbded 100644 --- a/tools/topology/sof-glk-da7219.m4 +++ b/tools/topology/sof-glk-da7219.m4 @@ -7,6 +7,7 @@ include(`utils.m4') include(`dai.m4') include(`pipeline.m4') include(`ssp.m4') +include(`hda.m4') # Include TLV library include(`common/tlv.m4') @@ -183,9 +184,12 @@ DAI_CONFIG(DMIC, 0, 2, dmic01, PDM_CONFIG(DMIC, 0, FOUR_CH_PDM0_PDM1))) # 3 HDMI/DP outputs (ID: 3,4,5) -DAI_CONFIG(HDA, 3, 3, iDisp1) -DAI_CONFIG(HDA, 4, 4, iDisp2) -DAI_CONFIG(HDA, 5, 5, iDisp3) +DAI_CONFIG(HDA, 3, 3, iDisp1, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 3, 48000, 2))) +DAI_CONFIG(HDA, 4, 4, iDisp2, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 4, 48000, 2))) +DAI_CONFIG(HDA, 5, 5, iDisp3, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 5, 48000, 2))) ## remove warnings with SST hard-coded routes diff --git a/tools/topology/sof-glk-rt5682.m4 b/tools/topology/sof-glk-rt5682.m4 index fcd66a9bb9de..0a3ded31d446 100644 --- a/tools/topology/sof-glk-rt5682.m4 +++ b/tools/topology/sof-glk-rt5682.m4 @@ -10,6 +10,7 @@ include(`utils.m4') include(`dai.m4') include(`pipeline.m4') include(`ssp.m4') +include(`hda.m4') # Include TLV library include(`common/tlv.m4') @@ -183,9 +184,12 @@ DAI_CONFIG(DMIC, 0, 2, dmic01, PDM_CONFIG(DMIC, 0, FOUR_CH_PDM0_PDM1))) # 3 HDMI/DP outputs (ID: 3,4,5) -DAI_CONFIG(HDA, 3, 3, iDisp1) -DAI_CONFIG(HDA, 4, 4, iDisp2) -DAI_CONFIG(HDA, 5, 5, iDisp3) +DAI_CONFIG(HDA, 3, 3, iDisp1, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 3, 48000, 2))) +DAI_CONFIG(HDA, 4, 4, iDisp2, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 4, 48000, 2))) +DAI_CONFIG(HDA, 5, 5, iDisp3, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 5, 48000, 2))) ## remove warnings with SST hard-coded routes diff --git a/tools/topology/sof-hda-asrc.m4 b/tools/topology/sof-hda-asrc.m4 index b12a30f08be9..bfdf947b4795 100644 --- a/tools/topology/sof-hda-asrc.m4 +++ b/tools/topology/sof-hda-asrc.m4 @@ -6,6 +6,7 @@ include(`utils.m4') include(`dai.m4') include(`pipeline.m4') +include(`hda.m4') # Include TLV library include(`common/tlv.m4') @@ -153,12 +154,17 @@ PCM_PLAYBACK_ADD(HDMI3, 5, PIPELINE_PCM_9) # # HDA outputs -DAI_CONFIG(HDA, 0, 4, Analog Playback and Capture) -DAI_CONFIG(HDA, 1, 5, Digital Playback and Capture) +DAI_CONFIG(HDA, 0, 4, Analog Playback and Capture, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 0, 48000, 2))) +DAI_CONFIG(HDA, 1, 5, Digital Playback and Capture, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 1, 48000, 2))) # 3 HDMI/DP outputs (ID: 3,4,5) -DAI_CONFIG(HDA, 4, 1, iDisp1) -DAI_CONFIG(HDA, 5, 2, iDisp2) -DAI_CONFIG(HDA, 6, 3, iDisp3) +DAI_CONFIG(HDA, 4, 1, iDisp1, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 4, 48000, 2))) +DAI_CONFIG(HDA, 5, 2, iDisp2, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 5, 48000, 2))) +DAI_CONFIG(HDA, 6, 3, iDisp3, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 6, 48000, 2))) VIRTUAL_DAPM_ROUTE_IN(codec0_in, HDA, 1, IN, 1) diff --git a/tools/topology/sof-hda-generic-idisp.m4 b/tools/topology/sof-hda-generic-idisp.m4 index 5a97b253580c..6dd8e8efcb4c 100644 --- a/tools/topology/sof-hda-generic-idisp.m4 +++ b/tools/topology/sof-hda-generic-idisp.m4 @@ -6,6 +6,7 @@ include(`utils.m4') include(`dai.m4') include(`pipeline.m4') +include(`hda.m4') # Include TLV library include(`common/tlv.m4') @@ -104,9 +105,12 @@ PCM_PLAYBACK_ADD(HDMI3, 3, PIPELINE_PCM_4) # # 3 HDMI/DP outputs (ID: 1,2,3) -DAI_CONFIG(HDA, 0, 1, iDisp1) -DAI_CONFIG(HDA, 1, 2, iDisp2) -DAI_CONFIG(HDA, 2, 3, iDisp3) +DAI_CONFIG(HDA, 0, 1, iDisp1, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 0, 48000, 2))) +DAI_CONFIG(HDA, 1, 2, iDisp2, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 1, 48000, 2))) +DAI_CONFIG(HDA, 2, 3, iDisp3, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 2, 48000, 2))) VIRTUAL_DAPM_ROUTE_OUT(iDisp1_out, HDA, 0, OUT, 2) VIRTUAL_DAPM_ROUTE_OUT(iDisp2_out, HDA, 1, OUT, 3) diff --git a/tools/topology/sof-hda-generic-kwd.m4 b/tools/topology/sof-hda-generic-kwd.m4 index 0bc24d74445c..9cdc840353d9 100644 --- a/tools/topology/sof-hda-generic-kwd.m4 +++ b/tools/topology/sof-hda-generic-kwd.m4 @@ -5,6 +5,7 @@ include(`utils.m4') include(`dai.m4') include(`pipeline.m4') +include(`hda.m4') # Include TLV library include(`common/tlv.m4') @@ -164,12 +165,17 @@ PCM_PLAYBACK_ADD(HDMI3, 5, PIPELINE_PCM_9) # # HDA outputs -DAI_CONFIG(HDA, 0, 4, Analog Playback and Capture) -DAI_CONFIG(HDA, 1, 5, Digital Playback and Capture) +DAI_CONFIG(HDA, 0, 4, Analog Playback and Capture, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 0, 48000, 2))) +DAI_CONFIG(HDA, 1, 5, Digital Playback and Capture, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 1, 48000, 2))) # 3 HDMI/DP outputs (ID: 3,4,5) -DAI_CONFIG(HDA, 4, 1, iDisp1) -DAI_CONFIG(HDA, 5, 2, iDisp2) -DAI_CONFIG(HDA, 6, 3, iDisp3) +DAI_CONFIG(HDA, 4, 1, iDisp1, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 4, 48000, 2))) +DAI_CONFIG(HDA, 5, 2, iDisp2, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 5, 48000, 2))) +DAI_CONFIG(HDA, 6, 3, iDisp3, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 6, 48000, 2))) VIRTUAL_DAPM_ROUTE_IN(codec0_in, HDA, 1, IN, 1) diff --git a/tools/topology/sof-hda-generic.m4 b/tools/topology/sof-hda-generic.m4 index 5d7d9b3dffc5..9a412e088297 100644 --- a/tools/topology/sof-hda-generic.m4 +++ b/tools/topology/sof-hda-generic.m4 @@ -5,6 +5,7 @@ include(`utils.m4') include(`dai.m4') include(`pipeline.m4') +include(`hda.m4') # Include TLV library include(`common/tlv.m4') @@ -156,12 +157,17 @@ PCM_PLAYBACK_ADD(HDMI3, 5, PIPELINE_PCM_9) # # HDA outputs -DAI_CONFIG(HDA, 0, 4, Analog Playback and Capture) -DAI_CONFIG(HDA, 1, 5, Digital Playback and Capture) +DAI_CONFIG(HDA, 0, 4, Analog Playback and Capture, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 0, 48000, 2))) +DAI_CONFIG(HDA, 1, 5, Digital Playback and Capture, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 1, 48000, 2))) # 3 HDMI/DP outputs (ID: 3,4,5) -DAI_CONFIG(HDA, 4, 1, iDisp1) -DAI_CONFIG(HDA, 5, 2, iDisp2) -DAI_CONFIG(HDA, 6, 3, iDisp3) +DAI_CONFIG(HDA, 4, 1, iDisp1, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 4, 48000, 2))) +DAI_CONFIG(HDA, 5, 2, iDisp2, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 5, 48000, 2))) +DAI_CONFIG(HDA, 6, 3, iDisp3, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 6, 48000, 2))) VIRTUAL_DAPM_ROUTE_IN(codec0_in, HDA, 1, IN, 1) diff --git a/tools/topology/sof-icl-rt700.m4 b/tools/topology/sof-icl-rt700.m4 index 694e319263c8..cd0a189bfd6c 100644 --- a/tools/topology/sof-icl-rt700.m4 +++ b/tools/topology/sof-icl-rt700.m4 @@ -7,6 +7,7 @@ include(`utils.m4') include(`dai.m4') include(`pipeline.m4') include(`alh.m4') +include(`hda.m4') # Include TLV library include(`common/tlv.m4') @@ -180,8 +181,11 @@ DAI_CONFIG(DMIC, 1, 3, dmic16k, PDM_CONFIG(DMIC, 1, STEREO_PDM0))) # 3 HDMI/DP outputs (ID: 4,5,6) -DAI_CONFIG(HDA, 0, 4, iDisp1) -DAI_CONFIG(HDA, 1, 5, iDisp2) -DAI_CONFIG(HDA, 2, 6, iDisp3) +DAI_CONFIG(HDA, 0, 4, iDisp1, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 0, 48000, 2))) +DAI_CONFIG(HDA, 1, 5, iDisp2, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 1, 48000, 2))) +DAI_CONFIG(HDA, 2, 6, iDisp3, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 2, 48000, 2))) DEBUG_END diff --git a/tools/topology/sof-icl-rt711-rt1308-rt715-hdmi.m4 b/tools/topology/sof-icl-rt711-rt1308-rt715-hdmi.m4 index 806946711113..4d09270252ba 100644 --- a/tools/topology/sof-icl-rt711-rt1308-rt715-hdmi.m4 +++ b/tools/topology/sof-icl-rt711-rt1308-rt715-hdmi.m4 @@ -8,6 +8,7 @@ include(`dai.m4') include(`pipeline.m4') include(`alh.m4') include(`muxdemux.m4') +include(`hda.m4') # Include TLV library include(`common/tlv.m4') @@ -263,8 +264,11 @@ DAI_CONFIG(ALH, 0x302, 4, SDW3-Capture, ALH_CONFIG(ALH_CONFIG_DATA(ALH, 0x302, 48000, 2))) # 3 HDMI/DP outputs (ID: 5,6,7) -DAI_CONFIG(HDA, 0, 5, iDisp1) -DAI_CONFIG(HDA, 1, 6, iDisp2) -DAI_CONFIG(HDA, 2, 7, iDisp3) +DAI_CONFIG(HDA, 0, 5, iDisp1, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 0, 48000, 2))) +DAI_CONFIG(HDA, 1, 6, iDisp2, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 1, 48000, 2))) +DAI_CONFIG(HDA, 2, 7, iDisp3, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 2, 48000, 2))) DEBUG_END diff --git a/tools/topology/sof-jsl-da7219.m4 b/tools/topology/sof-jsl-da7219.m4 index d8214671f657..b0b01c1ac3c4 100644 --- a/tools/topology/sof-jsl-da7219.m4 +++ b/tools/topology/sof-jsl-da7219.m4 @@ -7,6 +7,7 @@ include(`utils.m4') include(`dai.m4') include(`pipeline.m4') include(`ssp.m4') +include(`hda.m4') # Include TLV library include(`common/tlv.m4') @@ -173,6 +174,9 @@ DAI_CONFIG(SSP, 0, 1, SSP0-Codec, SSP_CONFIG_DATA(SSP, 0, 16))) # 3 HDMI/DP outputs (ID: 3,4,5) -DAI_CONFIG(HDA, 0, 3, iDisp1) -DAI_CONFIG(HDA, 1, 4, iDisp2) -DAI_CONFIG(HDA, 2, 5, iDisp3) +DAI_CONFIG(HDA, 0, 3, iDisp1, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 0, 48000, 2))) +DAI_CONFIG(HDA, 1, 4, iDisp2, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 1, 48000, 2))) +DAI_CONFIG(HDA, 2, 5, iDisp3, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 2, 48000, 2))) diff --git a/tools/topology/sof-tgl-max98357a-rt5682.m4 b/tools/topology/sof-tgl-max98357a-rt5682.m4 index 3fe863ed13f8..15614301d4a5 100644 --- a/tools/topology/sof-tgl-max98357a-rt5682.m4 +++ b/tools/topology/sof-tgl-max98357a-rt5682.m4 @@ -7,6 +7,7 @@ include(`utils.m4') include(`dai.m4') include(`pipeline.m4') include(`ssp.m4') +include(`hda.m4') # Include TLV library include(`common/tlv.m4') @@ -195,9 +196,13 @@ DAI_CONFIG(SSP, 0, 0, SSP0-Codec, SSP_CONFIG_DATA(SSP, 0, 24))) # 4 HDMI/DP outputs (ID: 3,4,5,6) -DAI_CONFIG(HDA, 0, 3, iDisp1) -DAI_CONFIG(HDA, 1, 4, iDisp2) -DAI_CONFIG(HDA, 2, 5, iDisp3) -DAI_CONFIG(HDA, 3, 6, iDisp4) +DAI_CONFIG(HDA, 0, 3, iDisp1, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 0, 48000, 2))) +DAI_CONFIG(HDA, 1, 4, iDisp2, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 1, 48000, 2))) +DAI_CONFIG(HDA, 2, 5, iDisp3, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 2, 48000, 2))) +DAI_CONFIG(HDA, 3, 6, iDisp4, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 3, 48000, 2))) DEBUG_END diff --git a/tools/topology/sof-tgl-max98373-rt5682.m4 b/tools/topology/sof-tgl-max98373-rt5682.m4 index ebc120fb45bf..87e14bb224ac 100644 --- a/tools/topology/sof-tgl-max98373-rt5682.m4 +++ b/tools/topology/sof-tgl-max98373-rt5682.m4 @@ -7,6 +7,7 @@ include(`utils.m4') include(`dai.m4') include(`pipeline.m4') include(`ssp.m4') +include(`hda.m4') # Include TLV library include(`common/tlv.m4') @@ -202,9 +203,13 @@ DAI_CONFIG(SSP, 0, 0, SSP0-Codec, SSP_CONFIG_DATA(SSP, 0, 24))) # 4 HDMI/DP outputs (ID: 3,4,5,6) -DAI_CONFIG(HDA, 0, 3, iDisp1) -DAI_CONFIG(HDA, 1, 4, iDisp2) -DAI_CONFIG(HDA, 2, 5, iDisp3) -DAI_CONFIG(HDA, 3, 6, iDisp4) +DAI_CONFIG(HDA, 0, 3, iDisp1, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 0, 48000, 2))) +DAI_CONFIG(HDA, 1, 4, iDisp2, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 1, 48000, 2))) +DAI_CONFIG(HDA, 2, 5, iDisp3, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 2, 48000, 2))) +DAI_CONFIG(HDA, 3, 6, iDisp4, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 3, 48000, 2))) DEBUG_END diff --git a/tools/topology/sof-tgl-rt5682.m4 b/tools/topology/sof-tgl-rt5682.m4 index 8967860d6a1c..3a6bc8763950 100644 --- a/tools/topology/sof-tgl-rt5682.m4 +++ b/tools/topology/sof-tgl-rt5682.m4 @@ -7,6 +7,7 @@ include(`utils.m4') include(`dai.m4') include(`pipeline.m4') include(`alh.m4') +include(`hda.m4') # Include TLV library include(`common/tlv.m4') @@ -216,10 +217,14 @@ DAI_CONFIG(DMIC, 1, 3, dmic16k, ifelse(HDMI, `1', ` # 4 HDMI/DP outputs (ID: 4,5,6,7) -DAI_CONFIG(HDA, 0, 4, iDisp1) -DAI_CONFIG(HDA, 1, 5, iDisp2) -DAI_CONFIG(HDA, 2, 6, iDisp3) -DAI_CONFIG(HDA, 3, 7, iDisp4) +DAI_CONFIG(HDA, 0, 4, iDisp1, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 0, 48000, 2))) +DAI_CONFIG(HDA, 1, 5, iDisp2, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 1, 48000, 2))) +DAI_CONFIG(HDA, 2, 6, iDisp3, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 2, 48000, 2))) +DAI_CONFIG(HDA, 3, 7, iDisp4, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 3, 48000, 2))) ') DEBUG_END diff --git a/tools/topology/sof-tgl-rt711-i2s-rt1308.m4 b/tools/topology/sof-tgl-rt711-i2s-rt1308.m4 index f4089d1b8350..2b7b89af291d 100644 --- a/tools/topology/sof-tgl-rt711-i2s-rt1308.m4 +++ b/tools/topology/sof-tgl-rt711-i2s-rt1308.m4 @@ -8,6 +8,7 @@ include(`dai.m4') include(`pipeline.m4') include(`ssp.m4') include(`alh.m4') +include(`hda.m4') # Include TLV library include(`common/tlv.m4') @@ -241,10 +242,14 @@ DAI_CONFIG(DMIC, 1, 4, dmic16k, ifelse(HDMI, `1', ` # 4 HDMI/DP outputs (ID: 5,6,7,8) -DAI_CONFIG(HDA, 0, 5, iDisp1) -DAI_CONFIG(HDA, 1, 6, iDisp2) -DAI_CONFIG(HDA, 2, 7, iDisp3) -DAI_CONFIG(HDA, 3, 8, iDisp4) +DAI_CONFIG(HDA, 0, 5, iDisp1, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 0, 48000, 2))) +DAI_CONFIG(HDA, 1, 6, iDisp2, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 1, 48000, 2))) +DAI_CONFIG(HDA, 2, 7, iDisp3, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 2, 48000, 2))) +DAI_CONFIG(HDA, 3, 8, iDisp4, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 3, 48000, 2))) ') DEBUG_END diff --git a/tools/topology/sof-tgl-rt711-rt1308.m4 b/tools/topology/sof-tgl-rt711-rt1308.m4 index fdcf931a7654..a255d40be278 100644 --- a/tools/topology/sof-tgl-rt711-rt1308.m4 +++ b/tools/topology/sof-tgl-rt711-rt1308.m4 @@ -7,6 +7,7 @@ include(`utils.m4') include(`dai.m4') include(`pipeline.m4') include(`alh.m4') +include(`hda.m4') include(`platform/intel/dmic.m4') # Include TLV library @@ -214,9 +215,13 @@ DAI_CONFIG(DMIC, 1, 4, dmic16k, PDM_CONFIG(DMIC, 1, STEREO_PDM0))) # 3 HDMI/DP outputs (ID: 5,6,7) -DAI_CONFIG(HDA, 0, 5, iDisp1) -DAI_CONFIG(HDA, 1, 6, iDisp2) -DAI_CONFIG(HDA, 2, 7, iDisp3) -DAI_CONFIG(HDA, 3, 8, iDisp4) +DAI_CONFIG(HDA, 0, 5, iDisp1, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 0, 48000, 2))) +DAI_CONFIG(HDA, 1, 6, iDisp2, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 1, 48000, 2))) +DAI_CONFIG(HDA, 2, 7, iDisp3, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 2, 48000, 2))) +DAI_CONFIG(HDA, 3, 8, iDisp4, + HDA_CONFIG(HDA_CONFIG_DATA(HDA, 3, 48000, 2))) DEBUG_END diff --git a/tools/topology/sof/tokens.m4 b/tools/topology/sof/tokens.m4 index 5c665fec4595..d407bb0435ce 100644 --- a/tools/topology/sof/tokens.m4 +++ b/tools/topology/sof/tokens.m4 @@ -123,3 +123,8 @@ SectionVendorTokens."sof_alh_tokens" { SOF_TKN_INTEL_ALH_RATE "1400" SOF_TKN_INTEL_ALH_CH "1401" } + +SectionVendorTokens."sof_hda_tokens" { + SOF_TKN_INTEL_HDA_RATE "1500" + SOF_TKN_INTEL_HDA_CH "1501" +}