Skip to content

Commit

Permalink
drivers: dma: siwx917: Add DMA driver
Browse files Browse the repository at this point in the history
Implement DMA driver for siwx917 using UDMA peripheral. Following Zephyr
DMA APIs are supported as part of this implementation,
1. dma_api_config
2. dma_api_reload
3. dma_api_start
4. dma_api_stop
5. dma_api_get_status

Signed-off-by: Sai Santhosh Malae <[email protected]>
  • Loading branch information
smalae authored and Martinhoff-maker committed Dec 11, 2024
1 parent fb99e51 commit 1e3784e
Show file tree
Hide file tree
Showing 16 changed files with 569 additions and 1 deletion.
9 changes: 9 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,15 @@ jobs:
run: |
west twister -s drivers.flash.common.default -p siwx917_rb4338a -x DTC_OVERLAY_FILE=$(pwd)/tests/drivers/flash/common/boards/siwx917_rb4338a.overlay -v --inline-logs
- name: Build DMA test
working-directory: zephyr-silabs
shell: bash
run: |
west twister -s drivers.dma.chan_blen_transfer -p siwx917_rb4338a -- \
-DTC_OVERLAY_FILE=$(pwd)/tests/drivers/dma/chan_blen_transfer/boards/siwx917_rb4338a.overlay \
-DEXTRA_CONF_FILE=$(pwd)/tests/drivers/dma/chan_blen_transfer/boards/siwx917_rb4338a.conf \
-v --inline-logs
- name: Build Bluetooth samples
working-directory: zephyr-silabs
shell: bash
Expand Down
9 changes: 9 additions & 0 deletions .github/workflows/upstream-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,15 @@ jobs:
run: |
west twister -s drivers.flash.common.default -p siwx917_rb4338a -x DTC_OVERLAY_FILE=$(pwd)/tests/drivers/flash/common/boards/siwx917_rb4338a.overlay -v --inline-logs
- name: Build DMA test
working-directory: zephyr-silabs
shell: bash
run: |
west twister -s drivers.dma.chan_blen_transfer -p siwx917_rb4338a -- \
-DTC_OVERLAY_FILE=$(pwd)/tests/drivers/dma/chan_blen_transfer/boards/siwx917_rb4338a.overlay \
-DEXTRA_CONF_FILE=$(pwd)/tests/drivers/dma/chan_blen_transfer/boards/siwx917_rb4338a.conf \
-v --inline-logs
- name: Build Bluetooth samples
working-directory: zephyr-silabs
shell: bash
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ toolchain:
supported:
- gpio
- i2c
- dma
- wifi
- bluetooth
- flash
Expand Down
1 change: 1 addition & 0 deletions drivers/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,5 @@ add_subdirectory(entropy)
add_subdirectory(flash)
add_subdirectory(gpio)
add_subdirectory(pinctrl)
add_subdirectory(dma)
add_subdirectory(wifi)
4 changes: 4 additions & 0 deletions drivers/dma/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Copyright (c) 2024 Silicon Laboratories Inc.
# SPDX-License-Identifier: Apache-2.0

zephyr_library_sources_ifdef(CONFIG_DMA_SILABS_SIWX917 dma_silabs_siwx917.c)
8 changes: 8 additions & 0 deletions drivers/dma/Kconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Copyright (c) 2024 Silicon Laboratories Inc.
# SPDX-License-Identifier: Apache-2.0

if DMA

rsource "Kconfig.siwx917"

endif
14 changes: 14 additions & 0 deletions drivers/dma/Kconfig.siwx917
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Copyright (c) 2024 Silicon Laboratories Inc.
# SPDX-License-Identifier: Apache-2.0

menuconfig DMA_SILABS_SIWX917
bool "Silabs SiWx917 DMA driver"
default y
depends on DT_HAS_SILABS_SIWX917_DMA_ENABLED
help
Enable the High Power(HP)/Ultra Low Power(ULP) DMA driver for the Silabs SiWx917 SoC series.

config DMA_SILABS_SIWX917_COMMON_INIT_PRIORITY
int "Common initialization priority"
depends on DMA_SILABS_SIWX917
default 42
Loading

0 comments on commit 1e3784e

Please sign in to comment.