[Sound-open-firmware] [PATCH v3] topology: apl-tdf8532: create m4 file for gpmrb platform
Wu Zhigang
zhigang.wu at linux.intel.com
Wed Mar 21 11:49:31 CET 2018
Here add topology file for apollolake GP-MRB platform,
it is initial version, we only support one playback
and one capture PCM pipeline at the moment,
with SSP/DAI set to tdm8-32le-48kHz
(active on first 4 slots for both transmit and receive).
Signed-off-by: Wu Zhigang <zhigang.wu at linux.intel.com>
Reviewed-by: Keyon Jie <yang.jie at linux.intel.com>
---
v3:
change tplg file to support output 4-slot.
v2:
update the topology based on latest version.
v1:
create the m4 file for gpmrb platform.
---
Tested with
apl-gpmrb board
kernel: https://github.com/plbossart/sound.git branch: topic/sof-v4.14
4881a4bd906f8b52bebd209b88ff920005550d53
firmware: git://git.alsa-project.org/sound-open-firmware.git branch: 1.1-stable
ffd9093267aa8d3deeffeb09b73c8b0789ad4071
tools: branch: 1.1-stable
cc91c73aa3e91eea35abdeb76d578b97f718feff
---
topology/Makefile.am | 6 ++--
topology/reef-apl-tdf8532.m4 | 71 ++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 75 insertions(+), 2 deletions(-)
create mode 100644 topology/reef-apl-tdf8532.m4
diff --git a/topology/Makefile.am b/topology/Makefile.am
index f161ba2..a7e86fd 100644
--- a/topology/Makefile.am
+++ b/topology/Makefile.am
@@ -28,7 +28,8 @@ MACHINES = \
reef-byt-rt5651.tplg \
reef-byt-da7213.tplg \
reef-cnl-rt274.tplg \
- reef-hsw-rt5640.tplg
+ reef-hsw-rt5640.tplg \
+ reef-apl-tdf8532.tplg
# Uncomment the following line if you want to debug conf files
.PRECIOUS: %.conf
@@ -58,4 +59,5 @@ EXTRA_DIST = \
reef-byt-rt5651.m4 \
reef-byt-da7213.m4 \
reef-cnl-rt274.m4 \
- reef-hsw-rt5640.m4
+ reef-hsw-rt5640.m4 \
+ reef-apl-tdf8532.m4
diff --git a/topology/reef-apl-tdf8532.m4 b/topology/reef-apl-tdf8532.m4
new file mode 100644
index 0000000..eaddac9
--- /dev/null
+++ b/topology/reef-apl-tdf8532.m4
@@ -0,0 +1,71 @@
+#
+# Topology for generic Apollolake board with TDF8532
+#
+
+# Include topology builder
+include(`utils.m4')
+include(`dai.m4')
+include(`pipeline.m4')
+
+# Include TLV library
+include(`common/tlv.m4')
+
+# Include Token library
+include(`sof/tokens.m4')
+
+# Include Apollolake DSP configuration
+include(`dsps/bxt.m4')
+
+#
+# Define the pipelines
+#
+# PCM0 ----> volume -----> SSP4
+#
+# PCM1 <---- Volume <----- SSP4
+#
+
+# 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-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.
+# 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)
+
+#
+# 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
+DAI_ADD(sof/pipe-dai-playback.m4,
+ 1, SSP, 4, SSP4-Codec,
+ 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
+DAI_ADD(sof/pipe-dai-capture.m4,
+ 2, SSP, 4, SSP4-Codec,
+ PIPELINE_SINK_2, 2, s32le,
+ 48, 1000, 0, 0)
+
+# PCM Low Latency
+PCM_DUPLEX_ADD(Passthrough, 3, 0, 0, PIPELINE_PCM_1, PIPELINE_PCM_2)
+
+#
+# BE configurations - overrides config in ACPI if present
+#
+DAI_CONFIG(SSP, 4, SSP4-Codec, DSP_B, 32,
+ DAI_CLOCK(mclk, 24576000, slave),
+ DAI_CLOCK(bclk, 12288000, slave),
+ DAI_CLOCK(fsync, 48000, slave),
+ DAI_TDM(8, 32, 15, 15))
--
2.11.0
More information about the Sound-open-firmware
mailing list