6eb9003...
by
Daniel Baluta <email address hidden>
schedule: zephyr_dma_domain: Do not use a registered channel
Current implementation only checks if a channel is used with
current interrupt. But that channel might have been registered
with another interrupt earlier.
So, we need a way to skip channels already used. For this, we iterate
over all registered interrupts and check existing registered channels.
Signed-off-by: Daniel Baluta <email address hidden>
(cherry picked from commit 1a8b1bf60c349ac2f2a7e9078bc2186748424695)
99ab9b2...
by
Iuliana Prodan <email address hidden>
topology: imx: fix tdm slot width value
Set correct TDM slot width to 32 bits.
The error has been discovered after commit
0ba64e98ec7d ("SAI: use topology params").
We start using the tdm_slot_width from topology,
rather than hardcoded in code.
01f37a3...
by
Daniel Baluta <email address hidden>
drivers: imx: Select DONE bit from software
With multi-fifo we need to enable done bit from software
as we have multiple fifos.
For this we make use of sw_done_sel configurations bits and
write proper bits into SDMA_DONE0 register.
For more information see `SDMA DONE0 Configuration
(SDMAARMx_DONE0_CONFIG)` SDMA register from i.MX8 reference manual.
Signed-off-by: Daniel Baluta <email address hidden>
e8429d1...
by
Daniel Baluta <email address hidden>
drivers: sdma: Set watermark level for PDM
In order to enable PDM we need to use Multi-fifo support
and mcu_2_sai RAM script.
This script defines watermark level as follows:
r7 = Watermark
bit0~11: watermark level(wml*fifo_number)
bit15~12: to do-fifo number
bit16~19: fifo offset
bit27~24: sw done selector
bit28~31: # audio channels in one frame, 0: 1 channel,1: 2 channels
bit23: sw done enabled
Configuration parameters should come from DAI (PDM in our specific case)
but there is no easy way to forward such information so we just make
use of some default configuration, 4 fifos, 1 channel per fifo, sw done
enabled.
Signed-off-by: Daniel Baluta <email address hidden>
192d0ca...
by
Daniel Baluta <email address hidden>
platform: imx8m: dai: Set FIFO depth for PDM
On i.MX8MP PDM fifo has 32 entries (each with 4 bytes).
Signed-off-by: Daniel Baluta <email address hidden>
5c74b95...
by
Daniel Baluta <email address hidden>
drivers: imx: sdma: Enable multi-fifo script for micfil
MICFIL can support up to 8 channels. In order for this to work
we need to use multi-fifo script.
Signed-off-by: Daniel Baluta <email address hidden>
b92f401...
by
Daniel Baluta <email address hidden>
drivers: imx: sdma: Introduce new SDMA channel type
Based on this we select proper firmware in order to
support multi-fifo.
Signed-off-by: Daniel Baluta <email address hidden>