Skip to content

Commit

Permalink
nxp: imx93: Switch to native Zephyr drivers and timer domain
Browse files Browse the repository at this point in the history
Starting with this commit, i.MX93 now uses the timer domain
in conjunction with the Zephyr native drivers.

Signed-off-by: Laurentiu Mihalcea <[email protected]>
  • Loading branch information
LaurentiuM1234 committed Mar 11, 2024
1 parent 4fdff5a commit 49c66b8
Show file tree
Hide file tree
Showing 5 changed files with 5 additions and 14 deletions.
2 changes: 2 additions & 0 deletions app/boards/imx93_evk_mimx9352_a55.conf
Original file line number Diff line number Diff line change
Expand Up @@ -26,3 +26,5 @@ CONFIG_DMA_NXP_EDMA_ENABLE_HALFMAJOR_IRQ=y
# needed because EDMA uses same interrupt for multiple
# channels.
CONFIG_SHARED_INTERRUPTS=y

CONFIG_ZEPHYR_NATIVE_DRIVERS=y
1 change: 0 additions & 1 deletion src/platform/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,6 @@ config IMX93_A55
select BUILD_OUTPUT_BIN
select ZEPHYR_LOG
select HOST_PTABLE
select DMA_DOMAIN
help
Select if your target platform is imx93-compatible.

Expand Down
6 changes: 0 additions & 6 deletions src/platform/imx93_a55/platform.c
Original file line number Diff line number Diff line change
Expand Up @@ -118,12 +118,6 @@ int platform_init(struct sof *sof)
if (ret < 0)
return -ENODEV;

/* Initialize DMA domain */
sof->platform_dma_domain = zephyr_dma_domain_init(&sof->dma_info->dma_array[0],
1,
PLATFORM_DEFAULT_CLOCK);
zephyr_ll_scheduler_init(sof->platform_dma_domain);

/* Initialize IPC */
ipc_init(sof);

Expand Down
4 changes: 2 additions & 2 deletions tools/topology/topology1/sof-imx93-wm8962.m4
Original file line number Diff line number Diff line change
Expand Up @@ -58,14 +58,14 @@ dnl period, priority, core, time_domain)
DAI_ADD(sof/pipe-dai-playback.m4,
1, SAI, 3, sai3-wm8962,
PIPELINE_SOURCE_1, 2, s32le,
1000, 0, 0, SCHEDULE_TIME_DOMAIN_DMA)
1000, 0, 0, SCHEDULE_TIME_DOMAIN_TIMER)

# capture DAI is SAI1 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, SAI, 3, sai3-wm8962,
PIPELINE_SINK_2, 2, s32le,
1000, 0, 0)
1000, 0, 0, SCHEDULE_TIME_DOMAIN_TIMER)


# PCM Low Latency, id 0
Expand Down
6 changes: 1 addition & 5 deletions zephyr/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -323,16 +323,12 @@ if (CONFIG_SOC_MIMX9352_A55)
zephyr_library_sources(
${SOF_PLATFORM_PATH}/imx93_a55/platform.c
${SOF_PLATFORM_PATH}/imx93_a55/lib/clk.c
${SOF_PLATFORM_PATH}/imx93_a55/lib/dma.c
${SOF_PLATFORM_PATH}/imx93_a55/lib/dai.c
lib/dma.c
)

# Drivers
zephyr_library_sources(
${SOF_DRIVERS_PATH}/generic/dummy-dma.c
${SOF_DRIVERS_PATH}/imx/ipc.c
${SOF_DRIVERS_PATH}/imx/edma.c
${SOF_DRIVERS_PATH}/imx/sai.c
)

zephyr_library_sources(
Expand Down

0 comments on commit 49c66b8

Please sign in to comment.