Skip to content

Commit 6dc3504

Browse files
brentlumwasko
authored andcommitted
topology1: sof-jsl-rt5650: support ALC5650
Add a new topology sof-jsl-rt5650 for ALC5650 which supports SSP0 for headset and SSP1 for speakers since this codec implements two I2S interfaces. DAI format changed to mclk: 24.576MHz, bclk: 3.072MHz, sample bits: 24-bit to avoid using ASRC function on codec side. Signed-off-by: Brent Lu <brent.lu@intel.com>
1 parent 7dfe578 commit 6dc3504

3 files changed

Lines changed: 18 additions & 0 deletions

File tree

tools/topology/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,7 @@ set(TPLGS
148148
"sof-jsl-rt5682\;sof-jsl-rt5682-mx98360a\;-DHEADPHONE=rt5682\;-DPLATFORM=jsl-dedede"
149149
"sof-jsl-rt5682\;sof-jsl-cs42l42-mx98360a\;-DHEADPHONE=cs42l42\;-DPLATFORM=jsl-dedede"
150150
"sof-jsl-rt5682\;sof-jsl-rt5682\;-DHEADPHONE=rt5682\;-DPLATFORM=icl\;-DNO_AMP"
151+
"sof-jsl-rt5682\;sof-jsl-rt5650\;-DHEADPHONE=rt5650\;-DPLATFORM=jsl-rt1015"
151152
)
152153

153154
add_custom_target(topologies ALL)

tools/topology/platform/intel/jsl-rt1015.m4

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,18 @@ define(`SPK_NAME', `SSP1-Codec')
1010
undefine(`SPK_DATA_FORMAT')
1111
define(`SPK_DATA_FORMAT', `s24le')
1212

13+
ifelse(HEADPHONE, `rt5650', `
14+
define(`SET_SSP_CONFIG',
15+
`SSP_CONFIG(I2S, SSP_CLOCK(mclk, 24576000, codec_mclk_in),
16+
SSP_CLOCK(bclk, 3072000, codec_slave),
17+
SSP_CLOCK(fsync, 48000, codec_slave),
18+
SSP_TDM(2, 32, 3, 3),
19+
SSP_CONFIG_DATA(SSP, 1, 24, 0, 0, 0, SSP_CC_MCLK_AON))')
20+
', `
1321
define(`SET_SSP_CONFIG',
1422
`SSP_CONFIG(I2S, SSP_CLOCK(mclk, 24000000, codec_mclk_in),
1523
SSP_CLOCK(bclk, 3072000, codec_slave),
1624
SSP_CLOCK(fsync, 48000, codec_slave),
1725
SSP_TDM(2, 32, 3, 3),
1826
SSP_CONFIG_DATA(SSP, 1, 24))')
27+
')

tools/topology/sof-jsl-rt5682.m4

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,14 @@ DAI_CONFIG(SSP, 0, 0, SSP0-Codec,
195195
SSP_CLOCK(fsync, 48000, codec_slave),
196196
SSP_TDM(2, 25, 3, 3),
197197
SSP_CONFIG_DATA(SSP, 0, 24, 0, 0, 0, SSP_CC_BCLK_ES)))
198+
', HEADPHONE, `rt5650', `
199+
# SSP 0 (ID: 0) ALC5650-I2S1
200+
DAI_CONFIG(SSP, 0, 0, SSP0-Codec,
201+
SSP_CONFIG(I2S, SSP_CLOCK(mclk, 24576000, codec_mclk_in),
202+
SSP_CLOCK(bclk, 3072000, codec_slave),
203+
SSP_CLOCK(fsync, 48000, codec_slave),
204+
SSP_TDM(2, 32, 3, 3),
205+
SSP_CONFIG_DATA(SSP, 0, 24, 0, 0, 0, SSP_CC_MCLK_AON)))
198206
', )
199207

200208
ifdef(`NO_AMP',`',`

0 commit comments

Comments
 (0)