Skip to content

Commit 594a781

Browse files
dts: arm/silabs: add dma node for efr32(mg2x/bg2x)
Update dts for efr32mg2x and efr32bg2x board that support silabs ldma Signed-off-by: Martin Hoff <[email protected]>
1 parent 8448860 commit 594a781

File tree

6 files changed

+60
-0
lines changed

6 files changed

+60
-0
lines changed

dts/arm/silabs/efr32bg22.dtsi

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,10 @@
5454
clocks = <&cmu CLOCK_GPIO CLOCK_BRANCH_PCLK>;
5555
};
5656

57+
&dma0 {
58+
interrupts = <21 0>;
59+
};
60+
5761
&i2c0 {
5862
interrupts = <27 0>;
5963
clocks = <&cmu CLOCK_I2C0 CLOCK_BRANCH_LSPCLK>;

dts/arm/silabs/efr32bg27.dtsi

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,3 +103,7 @@
103103
&dcdc {
104104
interrupts = <8 0>;
105105
};
106+
107+
&dma0 {
108+
interrupts = <26 0>;
109+
};

dts/arm/silabs/efr32bg2x.dtsi

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -343,6 +343,14 @@
343343
reg = <0x5003c440 0xbc0>;
344344
};
345345

346+
dma0: dma@40040000{
347+
compatible = "silabs,ldma";
348+
reg = <0x40040000 0x4000>;
349+
#dma-cells = <3>;
350+
dma_channels = <8>;
351+
status = "disabled";
352+
};
353+
346354
wdog0: wdog@4a018000 {
347355
compatible = "silabs,gecko-wdog";
348356
reg = <0x4A018000 0x3028>;

dts/arm/silabs/efr32mg21.dtsi

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -329,6 +329,15 @@
329329
status = "okay";
330330
};
331331

332+
dma0: dma@40040000{
333+
compatible = "silabs,ldma";
334+
reg = <0x40040000 0x4000>;
335+
interrupts = <21 0>;
336+
#dma-cells = <3>;
337+
dma_channels = <8>;
338+
status = "disabled";
339+
};
340+
332341
wdog0: wdog@5a018000 {
333342
compatible = "silabs,gecko-wdog";
334343
reg = <0x5a018000 0x2C>;

dts/arm/silabs/efr32mg24.dtsi

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -394,6 +394,15 @@
394394
reg = <0x5003c440 0xbc0>;
395395
};
396396

397+
dma0: dma@40040000 {
398+
compatible = "silabs,ldma";
399+
reg = <0x40040000 0x4000>;
400+
interrupts = <21 0>;
401+
#dma-cells = <3>;
402+
dma_channels = <8>;
403+
status = "disabled";
404+
};
405+
397406
wdog0: wdog@5b004000 {
398407
compatible = "silabs,gecko-wdog";
399408
reg = <0x5b004000 0x2C>;

dts/bindings/dma/silabs,ldma.yaml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# Copyright (c) 2024 Silicon Laboratories Inc.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
description: |
5+
Silabs LDMA controller
6+
7+
The Silabs LDMA is a general-purpose direct memory access controller
8+
capable of supporting 8 independent DMA channels. It supports specific
9+
functions like scatter-gather.
10+
11+
It is present on silabs radio board devices like EFR32xG21
12+
13+
compatible: "silabs,ldma"
14+
15+
include: dma-controller.yaml
16+
17+
properties:
18+
reg:
19+
required: true
20+
21+
interrupts:
22+
required: true
23+
24+
dma_channels:
25+
type: int
26+
required: true

0 commit comments

Comments
 (0)