[Sound-open-firmware] [PATCH] topology: apl-tdf8532: add support for SSP2-Codec

Keyon Jie yang.jie at linux.intel.com
Wed Mar 28 16:11:18 CEST 2018


Signed-off-by: Keyon Jie <yang.jie at linux.intel.com>
---
 topology/reef-apl-tdf8532.m4 | 48 ++++++++++++++++++++++++++++++--------------
 1 file changed, 33 insertions(+), 15 deletions(-)

diff --git a/topology/reef-apl-tdf8532.m4 b/topology/reef-apl-tdf8532.m4
index eaddac9..50023f0 100644
--- a/topology/reef-apl-tdf8532.m4
+++ b/topology/reef-apl-tdf8532.m4
@@ -20,8 +20,8 @@ include(`dsps/bxt.m4')
 # Define the pipelines
 #
 # PCM0 ----> volume -----> SSP4
-#
-# PCM1 <---- Volume <----- SSP4
+# PCM1 ----> volume -----> SSP2
+# PCM2 <---- Volume <----- SSP2
 #
 
 # Low Latency playback pipeline 1 on PCM 0 using max 4 channels of s32le.
@@ -31,18 +31,22 @@ PIPELINE_PCM_DAI_ADD(sof/pipe-volume-playback.m4,
 	1, 0, 4, s32le,
 	48, 1000, 0, 0, 0, 1, SSP, 4, s32le, 2)
 
-# Low Latency capture pipeline 2 on PCM 0 using max 4 channels of s32le.
+# Low Latency playback pipeline 3 on PCM 1 using max 4 channels of s32le.
 # Schedule 48 frames per 1000us deadline on core 0 with priority 0
-# Use DMAC 0 channel 2 for PCM audio capture data
-PIPELINE_PCM_DAI_ADD(sof/pipe-volume-capture.m4,
-	2, 0, 4, s32le,
-	48, 1000, 0, 0, 0, 1, SSP, 4, s32le, 2)
+# Use DMAC 0 channel 1 for PCM audio playback data
+PIPELINE_PCM_DAI_ADD(sof/pipe-volume-playback.m4,
+	2, 1, 2, s16le,
+	48, 1000, 0, 0, 0, 1, SSP, 2, s16le, 2)
 
+# Low Latency playback pipeline 1 on PCM 0 using max 4 channels of s32le.
+# Schedule 48 frames per 1000us deadline on core 0 with priority 0
+# Use DMAC 0 channel 1 for PCM audio playback data
+PIPELINE_PCM_DAI_ADD(sof/pipe-volume-capture.m4,
+	3, 1, 2, s16le,
+	48, 1000, 0, 0, 0, 1, SSP, 2, s16le, 2)
 #
 # DAI configuration
 #
-# SSP port 4 is our only pipeline DAI
-#
 
 # playback DAI is SSP4 using 2 periods
 # Buffers use s32le format, with 48 frame per 1000us on core 0 with priority 0
@@ -51,15 +55,23 @@ DAI_ADD(sof/pipe-dai-playback.m4,
 	PIPELINE_SOURCE_1, 2, s32le,
 	48, 1000, 0, 0)
 
-# capture DAI is SSP4 using 2 periods
-# Buffers use s32le format, with 48 frame per 1000us on core 0 with priority 0
+# playback DAI is SSP2 using 2 periods
+# Buffers use s16le format, with 48 frame per 1000us on core 0 with priority 0
+DAI_ADD(sof/pipe-dai-playback.m4,
+	2, SSP, 2, SSP2-Codec,
+	PIPELINE_SOURCE_2, 2, s16le,
+	48, 1000, 0, 0)
+
+# capture DAI is SSP2 using 2 periods
+# Buffers use s16le format, with 48 frame per 1000us on core 0 with priority 0
 DAI_ADD(sof/pipe-dai-capture.m4,
-	2, SSP, 4, SSP4-Codec,
-	PIPELINE_SINK_2, 2, s32le,
+	3, SSP, 2, SSP2-Codec,
+	PIPELINE_SINK_3, 2, s16le,
 	48, 1000, 0, 0)
 
-# PCM Low Latency
-PCM_DUPLEX_ADD(Passthrough, 3, 0, 0, PIPELINE_PCM_1, PIPELINE_PCM_2)
+# PCM Low Latency, id 0
+PCM_PLAYBACK_ADD(Port4, 1, 0, 0, PIPELINE_PCM_1)
+PCM_DUPLEX_ADD(Port2, 4, 1, 1, PIPELINE_PCM_2, PIPELINE_PCM_3)
 
 #
 # BE configurations - overrides config in ACPI if present
@@ -69,3 +81,9 @@ DAI_CONFIG(SSP, 4, SSP4-Codec, DSP_B, 32,
 	DAI_CLOCK(bclk, 12288000, slave),
 	DAI_CLOCK(fsync, 48000, slave),
 	DAI_TDM(8, 32, 15, 15))
+
+DAI_CONFIG(SSP, 2, SSP2-Codec, I2S, 16,
+	DAI_CLOCK(mclk, 24576000, slave),
+	DAI_CLOCK(bclk, 1536000, slave),
+	DAI_CLOCK(fsync, 48000, slave),
+	DAI_TDM(2, 16, 3, 3))
-- 
2.14.1



More information about the Sound-open-firmware mailing list