Skip to content

Commit 29d97bd

Browse files
HongNguyen635mmahadevan108
authored andcommitted
boards: silabs: add support for xg26_dk2608a dev kit
Add xg26 dev kit (xG26-DK2608A) support. Signed-off-by: Hong Nguyen <hong.nguyen.k54@gmail.com>
1 parent 1bb916c commit 29d97bd

11 files changed

Lines changed: 616 additions & 0 deletions
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# SPDX-FileCopyrightText: Copyright The Zephyr Project Contributors
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
if BOARD_XG26_DK2608A
5+
6+
config LOG_BACKEND_SWO_FREQ_HZ
7+
default 875000
8+
depends on LOG_BACKEND_SWO
9+
10+
config FPU
11+
default y if SOC_GECKO_USE_RAIL || BT
12+
13+
if BT
14+
15+
config MAIN_STACK_SIZE
16+
default 3072 if PM
17+
default 2304
18+
19+
endif # BT
20+
21+
endif # BOARD_XG26_DK2608A
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Copyright (c) 2026 Hong Nguyen
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
config BOARD_XG26_DK2608A
5+
select SOC_EFR32MG26B510F3200IM68
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# SPDX-FileCopyrightText: Copyright The Zephyr Project Contributors
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
board_runner_args(jlink "--device=EFR32MG26BxxxF3200")
5+
include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)
6+
7+
board_runner_args(silabs_commander "--device=${CONFIG_SOC}")
8+
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: xg26_dk2608a
3+
full_name: EFR32xG26 Dev Kit (xG26-DK2608A)
4+
vendor: silabs
5+
socs:
6+
- name: efr32mg26b510f3200im68
Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
1+
.. zephyr:board:: xg26_dk2608a
2+
3+
Overview
4+
********
5+
6+
The `EFR32xG26-DK2608A Dev Kit`_ is a compact, feature-packed development platform.
7+
The development platform includes a broad range of sensors, various peripheral devices,
8+
and a Qwiic connector, allowing you to explore the endless world of Sparkfun expansion hardware. It provides the fastest path to develop and prototype wireless IoT products.
9+
10+
.. _EFR32xG26-DK2608A Dev Kit:
11+
https://www.silabs.com/development-tools/wireless/efr32xg26-dev-kit
12+
13+
Hardware
14+
********
15+
16+
- EFR32MG26B510F3200IM68 SoC
17+
- CPU core: 32-bit ARM® Cortex®-M33 with FPU
18+
- Flash memory: 3200 kB
19+
- RAM: 512 kB
20+
- Transmit power: up to +10 dBm
21+
- Operation frequency: 2.4 GHz
22+
- Crystals for LFXO (32.768 kHz) and HFXO (39 MHz) on the board.
23+
- Kit features:
24+
25+
- Silicon Labs Si7021 relative humidity and temperature sensor
26+
- Silicon Labs Si7210 hall effect sensor
27+
- TDK InvenSense ICM-40627 6-axis inertial sensor
28+
- Two ICS-43434 MEMS microphones
29+
- Bosch Sensortec BMP384 barometric pressure sensor
30+
- Ambient light sensor (VEML6035)
31+
- Macronix ultra-low-power 64 Mbit SPI flash (MX25R6435F)
32+
- RGB LED and two push buttons
33+
- U.FL connector and precise external voltage reference for ADC measurements
34+
- Power enable signals and isolation switches for ultra-low-power operation
35+
- On-board SEGGER J-Link debugger (USB virtual COM port and Packet Trace Interface)
36+
- Mini Simplicity connector for access to energy profiling and advanced wireless network debugging
37+
- Breakout pads for GPIO access and connection to external hardware
38+
- Qwiic connector for connecting external hardware from the Qwiic Connect System
39+
- Reset button
40+
- Automatic switchover between USB and battery power
41+
- CR2032 coin cell holder and external battery connector
42+
43+
For more information about the EFR32MG26 SoC and DK2608A Dev Kit, refer to these documents:
44+
45+
- `EFR32MG26 Datasheet`_
46+
- `EFR32xG26 Reference Manual`_
47+
- `xG26-DK2608A User Guide`_
48+
49+
.. _EFR32MG26 Datasheet:
50+
https://www.silabs.com/documents/public/data-sheets/efr32mg26-datasheet.pdf
51+
52+
.. _EFR32xG26 Reference Manual:
53+
https://www.silabs.com/documents/public/reference-manuals/efr32xg26-rm.pdf
54+
55+
.. _xG26-DK2608A User Guide:
56+
https://www.silabs.com/documents/public/user-guides/ug584-brd2608a-user-guide.pdf
57+
58+
Supported Features
59+
==================
60+
61+
.. zephyr:board-supported-hw::
62+
63+
System Clock
64+
============
65+
66+
The EFR32MG26 SoC is configured to use the HFRCODPLL oscillator at 78 MHz as the system clock,
67+
locked to the 39 MHz crystal oscillator on the board.
68+
69+
Serial Port
70+
===========
71+
72+
The EFR32MG26 SoC has 3 USARTs and 4 EUSARTs.
73+
USART0 is connected to the board controller and is used for the console.
74+
75+
Programming and Debugging
76+
*************************
77+
78+
.. zephyr:board-supported-runners::
79+
80+
Flashing
81+
========
82+
83+
Connect the DK2608A Dev Kit to your host computer using the USB port.
84+
85+
Here is an example for the :zephyr:code-sample:`hello_world` application.
86+
87+
.. zephyr-app-commands::
88+
:zephyr-app: samples/hello_world
89+
:board: xg26_dk2608a
90+
:goals: flash
91+
92+
Open a serial terminal (minicom, putty, etc.) with the following settings:
93+
94+
- Speed: 115200
95+
- Data: 8 bits
96+
- Parity: None
97+
- Stop bits: 1
98+
99+
Reset the board and you should see the following message in the terminal:
100+
101+
.. code-block:: console
102+
103+
Hello World! xg26_dk2608a
104+
105+
Bluetooth
106+
=========
107+
108+
To use Bluetooth functionality, run the command below to retrieve necessary binary
109+
blobs from the Silicon Labs HAL repository.
110+
111+
.. code-block:: console
112+
113+
west blobs fetch hal_silabs
114+
115+
Then build the Zephyr kernel and a Bluetooth sample with the following
116+
command. The :zephyr:code-sample:`bluetooth_observer` sample application is used in
117+
this example.
118+
119+
.. zephyr-app-commands::
120+
:zephyr-app: samples/bluetooth/observer
121+
:board: xg26_dk2608a
122+
:goals: build
20.8 KB
Loading
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: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
/*
2+
* Copyright (c) 2026 Hong Nguyen
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
#include <zephyr/dt-bindings/pinctrl/silabs/xg26-pinctrl.h>
8+
9+
&pinctrl {
10+
eusart1_default: eusart1_default {
11+
group0 {
12+
pins = <EUSART1_TX_PC3>, <EUSART1_SCLK_PC1>;
13+
drive-push-pull;
14+
output-high;
15+
};
16+
17+
group1 {
18+
pins = <EUSART1_RX_PC2>;
19+
input-enable;
20+
silabs,input-filter;
21+
};
22+
};
23+
24+
itm_default: itm_default {
25+
group0 {
26+
pins = <GPIO_SWV_PA3>;
27+
drive-push-pull;
28+
output-high;
29+
};
30+
};
31+
32+
i2c0_default: i2c0_default {
33+
group0 {
34+
pins = <I2C0_SCL_PC4>, <I2C0_SDA_PC5>;
35+
bias-pull-up;
36+
drive-open-drain;
37+
};
38+
};
39+
40+
pti_default: pti_default {
41+
group0 {
42+
pins = <PTI_DOUT_PC6>, <PTI_DFRAME_PC7>;
43+
drive-push-pull;
44+
output-high;
45+
};
46+
};
47+
48+
timer0_default: timer0_default {
49+
group0 {
50+
pins = <TIMER0_CC0_PD7>, <TIMER0_CC1_PA4>, <TIMER0_CC2_PB0>;
51+
drive-push-pull;
52+
output-high;
53+
};
54+
};
55+
56+
usart0_default: usart0_default {
57+
group0 {
58+
pins = <USART0_TX_PA5>;
59+
drive-push-pull;
60+
output-high;
61+
};
62+
63+
group1 {
64+
pins = <USART0_RX_PA6>;
65+
input-enable;
66+
silabs,input-filter;
67+
};
68+
};
69+
70+
usart1_default: usart1_default {
71+
group0 {
72+
pins = <USART1_TX_PB5>;
73+
drive-push-pull;
74+
output-high;
75+
};
76+
77+
group1 {
78+
pins = <USART1_RX_PB6>;
79+
input-enable;
80+
silabs,input-filter;
81+
};
82+
};
83+
};

0 commit comments

Comments
 (0)