Skip to content

Commit 9b32f02

Browse files
loopjcfriedt
authored andcommitted
soc: silabs: Add support for MG22 SoCs
Adds SoC definitions and DTS files for SiLabs EFR32MG22 SoCs Signed-off-by: James Smith <[email protected]>
1 parent 93620ef commit 9b32f02

File tree

10 files changed

+183
-1
lines changed

10 files changed

+183
-1
lines changed

dts/arm/silabs/xg22/efr32mg22.dtsi

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
/*
2+
* Copyright (c) 2025 Silicon Laboratories Inc.
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
#include <silabs/xg22/efr32xg22.dtsi>
8+
9+
&radio {
10+
bt_hci_silabs: bt_hci_silabs {
11+
compatible = "silabs,bt-hci-efr32";
12+
status = "disabled";
13+
};
14+
};
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
/*
2+
* Copyright (c) 2021 Sateesh Kotapati
3+
* Copyright (c) 2025 Silicon Laboratories Inc.
4+
*
5+
* SPDX-License-Identifier: Apache-2.0
6+
*/
7+
8+
#include <silabs/xg22/efr32mg22.dtsi>
9+
#include <mem.h>
10+
11+
/ {
12+
soc {
13+
compatible = "silabs,efr32mg22c224f512gn32", "silabs,efr32mg22", "silabs,xg22",
14+
"silabs,efr32", "simple-bus";
15+
model = "Silicon Labs EFR32MG22C224F512GN32 SoC";
16+
};
17+
};
18+
19+
&flash0 {
20+
reg = <0x0 DT_SIZE_K(512)>;
21+
};
22+
23+
&sram0 {
24+
reg = <0x20000000 DT_SIZE_K(32)>;
25+
};
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
/*
2+
* Copyright (c) 2021 Sateesh Kotapati
3+
* Copyright (c) 2025 Silicon Laboratories Inc.
4+
*
5+
* SPDX-License-Identifier: Apache-2.0
6+
*/
7+
8+
#include <silabs/xg22/efr32mg22.dtsi>
9+
#include <mem.h>
10+
11+
/ {
12+
soc {
13+
compatible = "silabs,efr32mg22c224f512im32", "silabs,efr32mg22", "silabs,xg22",
14+
"silabs,efr32", "simple-bus";
15+
model = "Silicon Labs EFR32MG22C224F512IM32 SoC";
16+
};
17+
};
18+
19+
&flash0 {
20+
reg = <0x0 DT_SIZE_K(512)>;
21+
};
22+
23+
&sram0 {
24+
reg = <0x20000000 DT_SIZE_K(32)>;
25+
};
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
/*
2+
* Copyright (c) 2021 Sateesh Kotapati
3+
* Copyright (c) 2025 Silicon Laboratories Inc.
4+
*
5+
* SPDX-License-Identifier: Apache-2.0
6+
*/
7+
8+
#include <silabs/xg22/efr32mg22.dtsi>
9+
#include <mem.h>
10+
11+
/ {
12+
soc {
13+
compatible = "silabs,efr32mg22c224f512im40", "silabs,efr32mg22", "silabs,xg22",
14+
"silabs,efr32", "simple-bus";
15+
model = "Silicon Labs EFR32MG22C224F512IM40 SoC";
16+
};
17+
};
18+
19+
&flash0 {
20+
reg = <0x0 DT_SIZE_K(512)>;
21+
};
22+
23+
&sram0 {
24+
reg = <0x20000000 DT_SIZE_K(32)>;
25+
};
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
/*
2+
* Copyright (c) 2021 Sateesh Kotapati
3+
* Copyright (c) 2025 Silicon Laboratories Inc.
4+
*
5+
* SPDX-License-Identifier: Apache-2.0
6+
*/
7+
8+
#include <silabs/xg22/efr32mg22.dtsi>
9+
#include <mem.h>
10+
11+
/ {
12+
soc {
13+
compatible = "silabs,efr32mg22e224f512im32", "silabs,efr32mg22", "silabs,xg22",
14+
"silabs,efr32", "simple-bus";
15+
model = "Silicon Labs EFR32MG22E224F512IM32 SoC";
16+
};
17+
};
18+
19+
&flash0 {
20+
reg = <0x0 DT_SIZE_K(512)>;
21+
};
22+
23+
&sram0 {
24+
reg = <0x20000000 DT_SIZE_K(32)>;
25+
};
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
/*
2+
* Copyright (c) 2021 Sateesh Kotapati
3+
* Copyright (c) 2025 Silicon Laboratories Inc.
4+
*
5+
* SPDX-License-Identifier: Apache-2.0
6+
*/
7+
8+
#include <silabs/xg22/efr32mg22.dtsi>
9+
#include <mem.h>
10+
11+
/ {
12+
soc {
13+
compatible = "silabs,efr32mg22e224f512im40", "silabs,efr32mg22", "silabs,xg22",
14+
"silabs,efr32", "simple-bus";
15+
model = "Silicon Labs EFR32MG22E224F512IM40 SoC";
16+
};
17+
};
18+
19+
&flash0 {
20+
reg = <0x0 DT_SIZE_K(512)>;
21+
};
22+
23+
&sram0 {
24+
reg = <0x20000000 DT_SIZE_K(32)>;
25+
};

soc/silabs/silabs_s2/xg22/Kconfig

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,14 @@ config SOC_SILABS_XG22
1212
select HAS_SWO
1313
select SOC_GECKO_GPIO
1414
select SOC_GECKO_CMU
15+
select SOC_GECKO_EMU
1516
select SOC_GECKO_CORE
1617
select SOC_GECKO_DEV_INIT
1718
select SOC_GECKO_SE
1819
select HAS_PM
1920

2021
config SOC_SERIES_EFR32BG22
2122
select SOC_GECKO_HAS_RADIO
23+
24+
config SOC_SERIES_EFR32MG22
25+
select SOC_GECKO_HAS_RADIO

soc/silabs/silabs_s2/xg22/Kconfig.soc

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,44 @@ config SOC_SERIES_EFR32BG22
1313
help
1414
Silicon Labs EFR32BG22 (Blue Gecko) Series MCU
1515

16+
config SOC_SERIES_EFR32MG22
17+
bool
18+
select SOC_SILABS_XG22
19+
help
20+
Silicon Labs EFR32MG22 (Mighty Gecko) Series MCU
21+
1622
config SOC_PART_NUMBER_EFR32BG22C224F512IM40
1723
bool
1824
select SOC_SERIES_EFR32BG22
1925

26+
config SOC_EFR32MG22C224F512IM40
27+
bool
28+
select SOC_SERIES_EFR32MG22
29+
30+
config SOC_EFR32MG22C224F512IM32
31+
bool
32+
select SOC_SERIES_EFR32MG22
33+
34+
config SOC_EFR32MG22C224F512GN32
35+
bool
36+
select SOC_SERIES_EFR32MG22
37+
38+
config SOC_EFR32MG22E224F512IM40
39+
bool
40+
select SOC_SERIES_EFR32MG22
41+
42+
config SOC_EFR32MG22E224F512IM32
43+
bool
44+
select SOC_SERIES_EFR32MG22
45+
2046
config SOC_SERIES
2147
default "efr32bg22" if SOC_SERIES_EFR32BG22
48+
default "efr32mg22" if SOC_SERIES_EFR32MG22
2249

2350
config SOC
2451
default "efr32bg22c224f512im40" if SOC_PART_NUMBER_EFR32BG22C224F512IM40
52+
default "efr32mg22c224f512im40" if SOC_EFR32MG22C224F512IM40
53+
default "efr32mg22c224f512im32" if SOC_EFR32MG22C224F512IM32
54+
default "efr32mg22c224f512gn32" if SOC_EFR32MG22C224F512GN32
55+
default "efr32mg22e224f512im40" if SOC_EFR32MG22E224F512IM40
56+
default "efr32mg22e224f512im32" if SOC_EFR32MG22E224F512IM32

soc/silabs/soc.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,13 @@ family:
4747
- name: efr32bg22
4848
socs:
4949
- name: efr32bg22c224f512im40
50+
- name: efr32mg22
51+
socs:
52+
- name: efr32mg22c224f512im40
53+
- name: efr32mg22c224f512im32
54+
- name: efr32mg22c224f512gn32
55+
- name: efr32mg22e224f512im40
56+
- name: efr32mg22e224f512im32
5057
- name: efr32mg24
5158
socs:
5259
- name: efr32mg24b220f1536im48

west.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,7 @@ manifest:
235235
groups:
236236
- hal
237237
- name: hal_silabs
238-
revision: 295caf37909d2ff01688b1c4bd34c9b3584e8333
238+
revision: 13343bccf850eb7b6541f6e71a8d2a880209850b
239239
path: modules/hal/silabs
240240
groups:
241241
- hal

0 commit comments

Comments
 (0)