Skip to content

Commit 7168fe9

Browse files
zephyr: Use emul_dma for Virtual DAI on i.MX8MP
1 parent 3e8d6f1 commit 7168fe9

File tree

3 files changed

+19
-0
lines changed

3 files changed

+19
-0
lines changed

app/boards/imx8mp_evk_mimx8ml8_adsp.overlay

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,12 @@
1212
};
1313
};
1414

15+
/ {
16+
emul_dma: dma {
17+
compatible = "zephyr,dma-emul";
18+
};
19+
};
20+
1521
&sdma3 {
1622
status = "okay";
1723
};

zephyr/include/sof/lib/dma.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,7 @@ struct comp_dev;
9999
#define SOF_DMA_DEV_HS BIT(13) /**< connectable to ACP HS I2S */
100100
#define SOF_DMA_DEV_MICFIL BIT(14) /**< connectable to MICFIL fifo */
101101
#define SOF_DMA_DEV_SW BIT(15) /**< connectable to ACP SW */
102+
#define SOF_DMA_DEV_DAI_VIRTUAL BIT(16) /**< connectable to ACP SW */
102103

103104
/* DMA access privilege flag */
104105
#define SOF_DMA_ACCESS_EXCLUSIVE 1

zephyr/lib/dma.c

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,17 @@ SHARED_DATA struct sof_dma dma[] = {
151151
},
152152
#endif
153153
#if defined(CONFIG_SOC_MIMX8ML8_ADSP)
154+
#if CONFIG_DAI_VIRTUAL
155+
{
156+
.plat_data = {
157+
.dir = SOF_DMA_DIR_MEM_TO_MEM,
158+
.devs = SOF_DMA_DEV_DAI_VIRTUAL,
159+
.channels = 32,
160+
.period_count = 2,
161+
},
162+
.z_dev = DEVICE_DT_GET(DT_NODELABEL(emul_dma)),
163+
},
164+
#else
154165
{
155166
.plat_data = {
156167
.dir = SOF_DMA_DIR_MEM_TO_DEV | SOF_DMA_DIR_DEV_TO_MEM,
@@ -160,6 +171,7 @@ SHARED_DATA struct sof_dma dma[] = {
160171
},
161172
.z_dev = DEVICE_DT_GET(DT_NODELABEL(sdma3)),
162173
},
174+
#endif /* CONFIG_DAI_VIRTUAL */
163175
{
164176
.plat_data = {
165177
.dir = SOF_DMA_DIR_HMEM_TO_LMEM | SOF_DMA_DIR_LMEM_TO_HMEM,

0 commit comments

Comments
 (0)