Browse Source

soc: silabs: efr32xg23: add DMA support

Added DMA support to efr32xg23 socs and boards containing them.

Signed-off-by: Yishai Jaffe <yishai1999@gmail.com>
pull/83459/head
Yishai Jaffe 7 months ago committed by Benjamin Cabé
parent
commit
0f948fdb1c
  1. 2
      boards/silabs/radio_boards/xg23_rb4210a/doc/index.rst
  2. 1
      boards/silabs/radio_boards/xg23_rb4210a/xg23_rb4210a.yaml
  3. 9
      dts/arm/silabs/efr32xg23.dtsi
  4. 11
      tests/drivers/dma/chan_blen_transfer/boards/xg23_rb4210a.overlay
  5. 5
      tests/drivers/dma/loop_transfer/boards/xg23_rb4210a.conf
  6. 11
      tests/drivers/dma/loop_transfer/boards/xg23_rb4210a.overlay
  7. 4
      tests/drivers/dma/scatter_gather/boards/xg23_rb4210a.conf
  8. 15
      tests/drivers/dma/scatter_gather/boards/xg23_rb4210a.overlay

2
boards/silabs/radio_boards/xg23_rb4210a/doc/index.rst

@ -53,6 +53,8 @@ The board configuration supports the following hardware features: @@ -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 |

1
boards/silabs/radio_boards/xg23_rb4210a/xg23_rb4210a.yaml

@ -19,6 +19,7 @@ supported: @@ -19,6 +19,7 @@ supported:
- pinctrl
- spi
- uart
- dma
- watchdog
testing:
ignore_tags:

9
dts/arm/silabs/efr32xg23.dtsi

@ -424,6 +424,15 @@ @@ -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>;

11
tests/drivers/dma/chan_blen_transfer/boards/xg23_rb4210a.overlay

@ -0,0 +1,11 @@ @@ -0,0 +1,11 @@
/*
* Copyright (c) 2024 Silicon Laboratories, Inc.
*
* SPDX-License-Identifier: Apache-2.0
*/
&dma0 {
status = "okay";
};
tst_dma0: &dma0 { };

5
tests/drivers/dma/loop_transfer/boards/xg23_rb4210a.conf

@ -0,0 +1,5 @@ @@ -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

11
tests/drivers/dma/loop_transfer/boards/xg23_rb4210a.overlay

@ -0,0 +1,11 @@ @@ -0,0 +1,11 @@
/*
* Copyright (c) 2024 Silicon Laboratories, Inc.
*
* SPDX-License-Identifier: Apache-2.0
*/
&dma0 {
status = "okay";
};
tst_dma0: &dma0 { };

4
tests/drivers/dma/scatter_gather/boards/xg23_rb4210a.conf

@ -0,0 +1,4 @@ @@ -0,0 +1,4 @@
# Copyright (c) 2024 Silicon Laboratories, Inc.
# SPDX-License-Identifier: Apache-2.0
CONFIG_DMA_SG_CHANNEL_NR=0

15
tests/drivers/dma/scatter_gather/boards/xg23_rb4210a.overlay

@ -0,0 +1,15 @@ @@ -0,0 +1,15 @@
/*
* Copyright (c) 2024 Silicon Laboratories, Inc.
*
* SPDX-License-Identifier: Apache-2.0
*/
/ {
aliases {
dma0 = &dma0;
};
};
&dma0 {
status = "okay";
};
Loading…
Cancel
Save