Skip to content

Silabs siwx91x gpdma driver #93556

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 4 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions drivers/clock_control/clock_control_silabs_siwx91x.c
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,9 @@ static int siwx91x_clock_on(const struct device *dev, clock_control_subsys_t sys
case SIWX91X_ADC_CLK:
RSI_ADC_PowerControl(ADC_POWER_ON);
break;
case SIWX91X_CLK_GPDMA0:
RSI_CLK_PeripheralClkEnable(M4CLK, RPDMA_CLK, ENABLE_STATIC_CLK);
break;
default:
return -EINVAL;
}
Expand Down
1 change: 1 addition & 0 deletions drivers/dma/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ zephyr_library_sources_ifdef(CONFIG_DMA_SEDI dma_sedi.c)
zephyr_library_sources_ifdef(CONFIG_DMA_SI32 dma_si32.c)
zephyr_library_sources_ifdef(CONFIG_DMA_SILABS_LDMA dma_silabs_ldma.c)
zephyr_library_sources_ifdef(CONFIG_DMA_SILABS_SIWX91X dma_silabs_siwx91x.c)
zephyr_library_sources_ifdef(CONFIG_DMA_SILABS_SIWX91X_GPDMA dma_silabs_siwx91x_gpdma.c)
zephyr_library_sources_ifdef(CONFIG_DMA_SMARTBOND dma_smartbond.c)
zephyr_library_sources_ifdef(CONFIG_DMA_NXP_SOF_HOST_DMA dma_nxp_sof_host_dma.c)
zephyr_library_sources_ifdef(CONFIG_DMA_EMUL dma_emul.c)
Expand Down
16 changes: 16 additions & 0 deletions drivers/dma/Kconfig.siwx91x
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,26 @@ config DMA_SILABS_SIWX91X
help
Enable the High Power(HP)/Ultra Low Power(ULP) DMA driver for the Silabs SiWx91x SoC series.

config DMA_SILABS_SIWX91X_GPDMA
bool "Silabs SiWx91x GPDMA driver"
default y
select SYS_MEM_BLOCKS
depends on DT_HAS_SILABS_GPDMA_ENABLED
help
Enable the GDMA driver for the Silabs SiWx91x SoC series.

if DMA_SILABS_SIWX91X

config DMA_SILABS_SIWX91X_SG_BUFFER_COUNT
int "The maximum allowable number of buffers for scatter-gather transfers"
default 30

endif

if DMA_SILABS_SIWX91X_GPDMA

config GPDMA_SILABS_SIWX91X_DESCRIPTOR_COUNT
int "The maximum GPDMA descriptor count"
default 32

endif
Loading
Loading