Skip to content
This repository was archived by the owner on Jan 17, 2019. It is now read-only.

Commit 933fce3

Browse files
authored
Merge pull request #79 from bardliao/apl_rvp
topology: initial topology file for APL RVP
2 parents 60c3937 + 41184b0 commit 933fce3

2 files changed

Lines changed: 108 additions & 0 deletions

File tree

topology/Makefile.am

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ MACHINES = \
3232
sof-hsw-rt5640.tplg \
3333
sof-apl-tdf8532.tplg \
3434
sof-apl-pcm512x.tplg \
35+
sof-apl-rt298.tplg \
3536
sof-apl-wm8804.tplg \
3637
sof-apl-da7219.tplg \
3738
sof-glk-da7219.tplg \
@@ -69,6 +70,7 @@ EXTRA_DIST = \
6970
sof-hsw-rt5640.m4 \
7071
sof-apl-tdf8532.m4 \
7172
sof-apl-pcm512x.m4 \
73+
sof-apl-rt298.m4 \
7274
sof-apl-wm8804.m4 \
7375
sof-apl-da7219.m4 \
7476
sof-glk-da7219.m4 \

topology/sof-apl-rt298.m4

Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
#
2+
# Topology for generic Apollolake UP^2 with pcm512x codec.
3+
#
4+
5+
# Include topology builder
6+
include(`utils.m4')
7+
include(`dai.m4')
8+
include(`pipeline.m4')
9+
include(`ssp.m4')
10+
include(`hda.m4')
11+
12+
# Include TLV library
13+
include(`common/tlv.m4')
14+
15+
# Include Token library
16+
include(`sof/tokens.m4')
17+
18+
# Include Apollolake DSP configuration
19+
include(`platform/intel/bxt.m4')
20+
21+
#
22+
# Define the pipelines
23+
#
24+
# PCM0 ----> volume -----> SSP5 (rt298)
25+
# PCM5 ----> volume (pipe 5) -----> iDisp1 (HDMI/DP playback, BE link 3)
26+
# PCM6 ----> Volume (pipe 6) -----> iDisp2 (HDMI/DP playback, BE link 4)
27+
# PCM7 ----> volume (pipe 7) -----> iDisp3 (HDMI/DP playback, BE link 5)
28+
#
29+
30+
# Low Latency playback pipeline 1 on PCM 0 using max 2 channels of s32le.
31+
# Schedule 48 frames per 1000us deadline on core 0 with priority 0
32+
PIPELINE_PCM_ADD(sof/pipe-volume-playback.m4,
33+
1, 0, 2, s32le,
34+
48, 1000, 0, 0)
35+
36+
# Low Latency playback pipeline 5 on PCM 5 using max 2 channels of s16le.
37+
# Schedule 48 frames per 1000us deadline on core 0 with priority 0
38+
PIPELINE_PCM_ADD(sof/pipe-volume-playback.m4,
39+
5, 5, 2, s16le,
40+
48, 1000, 0, 0)
41+
42+
# Low Latency playback pipeline 6 on PCM 6 using max 2 channels of s16le.
43+
# Schedule 48 frames per 1000us deadline on core 0 with priority 0
44+
PIPELINE_PCM_ADD(sof/pipe-volume-playback.m4,
45+
6, 6, 2, s16le,
46+
48, 1000, 0, 0)
47+
48+
# Low Latency playback pipeline 7 on PCM 7 using max 2 channels of s16le.
49+
# Schedule 48 frames per 1000us deadline on core 0 with priority 0
50+
PIPELINE_PCM_ADD(sof/pipe-volume-playback.m4,
51+
7, 7, 2, s16le,
52+
48, 1000, 0, 0)
53+
#
54+
# DAIs configuration
55+
#
56+
57+
# playback DAI is SSP5 using 2 periods
58+
# Buffers use s24le format, with 48 frame per 1000us on core 0 with priority 0
59+
DAI_ADD(sof/pipe-dai-playback.m4,
60+
1, SSP, 5, SSP5-Codec,
61+
PIPELINE_SOURCE_1, 2, s24le,
62+
48, 1000, 0, 0)
63+
64+
# playback DAI is iDisp1 using 2 periods
65+
# Buffers use s16le format, with 48 frame per 1000us on core 0 with priority 0
66+
DAI_ADD(sof/pipe-dai-playback.m4,
67+
5, HDA, 3, iDisp1,
68+
PIPELINE_SOURCE_5, 2, s32le,
69+
48, 1000, 0, 0)
70+
71+
# playback DAI is iDisp2 using 2 periods
72+
# Buffers use s16le format, with 48 frame per 1000us on core 0 with priority 0
73+
DAI_ADD(sof/pipe-dai-playback.m4,
74+
6, HDA, 4, iDisp2,
75+
PIPELINE_SOURCE_6, 2, s32le,
76+
48, 1000, 0, 0)
77+
78+
# playback DAI is iDisp3 using 2 periods
79+
# Buffers use s16le format, with 48 frame per 1000us on core 0 with priority 0
80+
DAI_ADD(sof/pipe-dai-playback.m4,
81+
7, HDA, 5, iDisp3,
82+
PIPELINE_SOURCE_7, 2, s32le,
83+
48, 1000, 0, 0)
84+
85+
# PCM Low Latency, id 0
86+
PCM_PLAYBACK_ADD(Port5, 0, PIPELINE_PCM_1)
87+
PCM_PLAYBACK_ADD(HDMI1, 5, PIPELINE_PCM_5)
88+
PCM_PLAYBACK_ADD(HDMI2, 6, PIPELINE_PCM_6)
89+
PCM_PLAYBACK_ADD(HDMI3, 7, PIPELINE_PCM_7)
90+
91+
#
92+
# BE configurations - overrides config in ACPI if present
93+
#
94+
#
95+
# 3 HDMI/DP outputs (ID: 3,4,5)
96+
DAI_CONFIG(SSP, 5, 0, SSP5-Codec,
97+
SSP_CONFIG(I2S, SSP_CLOCK(mclk, 24576000, codec_mclk_in),
98+
SSP_CLOCK(bclk, 3072000, codec_slave),
99+
SSP_CLOCK(fsync, 48000, codec_slave),
100+
SSP_TDM(2, 32, 3, 3),
101+
SSP_CONFIG_DATA(SSP, 5, 24)))
102+
103+
HDA_DAI_CONFIG(3, 3, iDisp1)
104+
HDA_DAI_CONFIG(4, 4, iDisp2)
105+
HDA_DAI_CONFIG(5, 5, iDisp3)
106+

0 commit comments

Comments
 (0)