Skip to content

Commit 2b9fe1f

Browse files
committed
Add support for SiLabs EFR32ZG28 SoC
1 parent d5201e1 commit 2b9fe1f

File tree

25 files changed

+5653
-9
lines changed

25 files changed

+5653
-9
lines changed

boards/silabs/radio_boards/xg23_rb4210a/xg23_rb4210a.dts

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -246,14 +246,8 @@
246246
reg = <0x00040000 DT_SIZE_K(208)>;
247247
};
248248

249-
/* Reserve 32 kB for the scratch partition */
250-
scratch_partition: partition@74000 {
251-
label = "image-scratch";
252-
reg = <0x00074000 DT_SIZE_K(32)>;
253-
};
254-
255249
/* Set 16 kB of storage at the end of the 1536 kB of flash */
256-
storage_partition: partition@7c000 {
250+
storage_partition: partition@74000 {
257251
label = "storage";
258252
reg = <0x0007c000 DT_SIZE_K(16)>;
259253
};
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Copyright (c) 2025 Shontal Biton
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
if BOARD_XG28_RB4401C
5+
6+
config LOG_BACKEND_SWO_FREQ_HZ
7+
default 875000
8+
depends on LOG_BACKEND_SWO
9+
10+
if SOC_GECKO_USE_RAIL
11+
12+
config FPU
13+
default y
14+
15+
endif # SOC_GECKO_USE_RAIL
16+
17+
endif # BOARD_XG28_RB4401C
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Copyright (c) 2025 Shontal Biton
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
config BOARD_XG28_RB4401C
5+
select SOC_PART_NUMBER_EFR32ZG28B322F1024IM68
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# SPDX-License-Identifier: Apache-2.0
2+
3+
board_runner_args(jlink "--device=EFR32ZG28BxxxF1024")
4+
include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)
5+
6+
board_runner_args(openocd)
7+
include(${ZEPHYR_BASE}/boards/common/openocd.board.cmake)
8+
9+
board_runner_args(silabs_commander "--device=EFR32ZG28B322F1024IM68")
10+
include(${ZEPHYR_BASE}/boards/common/silabs_commander.board.cmake)
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
board:
2+
name: xg28_rb4401c
3+
full_name: EFR32xG28 868-915 MHz 20 dBm (xG28-RB4401C)
4+
vendor: silabs
5+
socs:
6+
- name: efr32zg28b322f1024im68
Loading

boards/silabs/radio_boards/xg28_rb4401c/doc/index.rst

Whitespace-only changes.
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Copyright (c) 2021 Linaro Limited
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
# SPI is implemented via usart so node name isn't spi@...
5+
list(APPEND EXTRA_DTC_FLAGS "-Wno-spi_bus_bridge")
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
if {[info exists env(OPENOCD_INTERFACE)]} {
2+
set INTERFACE $env(OPENOCD_INTERFACE)
3+
} else {
4+
# By default connect over Debug USB port using the J-Link interface
5+
set INTERFACE "jlink"
6+
}
7+
8+
source [find interface/$INTERFACE.cfg]
9+
10+
transport select swd
11+
12+
set CHIPNAME efr32
13+
14+
source [find target/efm32.cfg]
15+
16+
$_TARGETNAME configure -event gdb-attach {
17+
echo "Debugger attaching: halting execution"
18+
reset halt
19+
gdb_breakpoint_override hard
20+
}
21+
22+
$_TARGETNAME configure -event gdb-detach {
23+
echo "Debugger detaching: resuming execution"
24+
resume
25+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
/*
2+
* Copyright (c) 2025 Shontal Biton
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
#include <dt-bindings/pinctrl/silabs/xg28-pinctrl.h>
8+
9+
&pinctrl {
10+
usart0_default: usart0_default {
11+
group0 {
12+
pins = <USART0_TX_PD11>;
13+
drive-push-pull;
14+
output-high;
15+
};
16+
17+
group1 {
18+
pins = <USART0_RX_PD12>;
19+
input-enable;
20+
silabs,input-filter;
21+
};
22+
};
23+
};

0 commit comments

Comments
 (0)