diff --git a/boards/silabs/radio_boards/xg23_rb4210a/doc/index.rst b/boards/silabs/radio_boards/xg23_rb4210a/doc/index.rst index 7dff434fbb5..153ef502a7c 100644 --- a/boards/silabs/radio_boards/xg23_rb4210a/doc/index.rst +++ b/boards/silabs/radio_boards/xg23_rb4210a/doc/index.rst @@ -53,6 +53,8 @@ The board configuration supports the following hardware features: +-----------+------------+-------------------------------------+ | UART | on-chip | serial | +-----------+------------+-------------------------------------+ +| DMA | on-chip | ldma | ++-----------+------------+-------------------------------------+ | I2C | on-chip | i2c | +-----------+------------+-------------------------------------+ | SPI | on-chip | spi | diff --git a/boards/silabs/radio_boards/xg23_rb4210a/xg23_rb4210a.yaml b/boards/silabs/radio_boards/xg23_rb4210a/xg23_rb4210a.yaml index 0b0039a1349..a9229ef60b1 100644 --- a/boards/silabs/radio_boards/xg23_rb4210a/xg23_rb4210a.yaml +++ b/boards/silabs/radio_boards/xg23_rb4210a/xg23_rb4210a.yaml @@ -19,6 +19,7 @@ supported: - pinctrl - spi - uart + - dma - watchdog testing: ignore_tags: diff --git a/dts/arm/silabs/efr32xg23.dtsi b/dts/arm/silabs/efr32xg23.dtsi index f60c13ae70e..9a76b47b867 100644 --- a/dts/arm/silabs/efr32xg23.dtsi +++ b/dts/arm/silabs/efr32xg23.dtsi @@ -424,6 +424,15 @@ reg = <0x5003c440 0xbc0>; }; + dma0: dma@50040000{ + compatible = "silabs,ldma"; + reg = <0x50040000 0x4000>; + interrupts = <22 0>; + #dma-cells = <3>; + dma_channels = <8>; + status = "disabled"; + }; + wdog0: wdog@5b004000 { compatible = "silabs,gecko-wdog"; reg = <0x5b004000 0x4000>; diff --git a/tests/drivers/dma/chan_blen_transfer/boards/xg23_rb4210a.overlay b/tests/drivers/dma/chan_blen_transfer/boards/xg23_rb4210a.overlay new file mode 100644 index 00000000000..a0e0ed08366 --- /dev/null +++ b/tests/drivers/dma/chan_blen_transfer/boards/xg23_rb4210a.overlay @@ -0,0 +1,11 @@ +/* + * Copyright (c) 2024 Silicon Laboratories, Inc. + * + * SPDX-License-Identifier: Apache-2.0 + */ + +&dma0 { + status = "okay"; +}; + +tst_dma0: &dma0 { }; diff --git a/tests/drivers/dma/loop_transfer/boards/xg23_rb4210a.conf b/tests/drivers/dma/loop_transfer/boards/xg23_rb4210a.conf new file mode 100644 index 00000000000..e5e2a14a816 --- /dev/null +++ b/tests/drivers/dma/loop_transfer/boards/xg23_rb4210a.conf @@ -0,0 +1,5 @@ +# Copyright (c) 2024 Silicon Laboratories, Inc. +# SPDX-License-Identifier: Apache-2.0 + +CONFIG_DMA_LOOP_TRANSFER_CHANNEL_NR=0 +CONFIG_DMA_LOOP_TRANSFER_SIZE=2048 diff --git a/tests/drivers/dma/loop_transfer/boards/xg23_rb4210a.overlay b/tests/drivers/dma/loop_transfer/boards/xg23_rb4210a.overlay new file mode 100644 index 00000000000..a0e0ed08366 --- /dev/null +++ b/tests/drivers/dma/loop_transfer/boards/xg23_rb4210a.overlay @@ -0,0 +1,11 @@ +/* + * Copyright (c) 2024 Silicon Laboratories, Inc. + * + * SPDX-License-Identifier: Apache-2.0 + */ + +&dma0 { + status = "okay"; +}; + +tst_dma0: &dma0 { }; diff --git a/tests/drivers/dma/scatter_gather/boards/xg23_rb4210a.conf b/tests/drivers/dma/scatter_gather/boards/xg23_rb4210a.conf new file mode 100644 index 00000000000..10730aca2f7 --- /dev/null +++ b/tests/drivers/dma/scatter_gather/boards/xg23_rb4210a.conf @@ -0,0 +1,4 @@ +# Copyright (c) 2024 Silicon Laboratories, Inc. +# SPDX-License-Identifier: Apache-2.0 + +CONFIG_DMA_SG_CHANNEL_NR=0 diff --git a/tests/drivers/dma/scatter_gather/boards/xg23_rb4210a.overlay b/tests/drivers/dma/scatter_gather/boards/xg23_rb4210a.overlay new file mode 100644 index 00000000000..430bbbbd3dd --- /dev/null +++ b/tests/drivers/dma/scatter_gather/boards/xg23_rb4210a.overlay @@ -0,0 +1,15 @@ +/* + * Copyright (c) 2024 Silicon Laboratories, Inc. + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/ { + aliases { + dma0 = &dma0; + }; +}; + +&dma0 { + status = "okay"; +};