.. zephyr:board:: xg26_rb4120a

Overview
********

The `EFR32xG26 2.4 GHz +10 dBm Radio Board`_ is a plug-in board for the Wireless Starter Kit
Mainboard (BRD4001A) and the Wireless Pro Kit Mainboard (BRD4002A) based on the `EFR32MG26 SoC`_.
It supports the development of 2.4 GHz Wireless IoT devices for protocols including Bluetooth LE,
Bluetooth Mesh, Zigbee, and Matter.

See :ref:`silabs_radio_boards` for more information about the Wireless Mainboard platform.

.. _EFR32xG26 2.4 GHz +10 dBm Radio Board:
   https://www.silabs.com/development-tools/wireless/xg26-rb4120a-efr32xg26-wireless-10-dbm-radio-board

.. _EFR32MG26 SoC:
   https://www.silabs.com/wireless/zigbee/efr32mg26-series-2-socs

Hardware
********

- EFR32MG26B510F3200IM68 SoC
- CPU core: ARM Cortex®-M33 with FPU, DSP and TrustZone
- Memory: 3200 kB Flash, 512 kB RAM
- Transmit power: up to +10 dBm
- Operation frequency: 2.4 GHz
- Crystals for LFXO (32.768 kHz) and HFXO (39 MHz) on the board
- 8 Mbit SPI NOR Flash

For more information about the EFR32MG26 SoC and radio board, refer to these documents:

- `EFR32MG26 Datasheet`_
- `EFR32xG26 Reference Manual`_
- `xG26-RB4120A User Guide`_

.. _EFR32MG26 Datasheet:
   https://www.silabs.com/documents/public/data-sheets/efr32mg26-datasheet.pdf

.. _EFR32xG26 Reference Manual:
   https://www.silabs.com/documents/public/reference-manuals/efr32xg26-rm.pdf

.. _xG26-RB4120A User Guide:
   https://www.silabs.com/documents/public/user-guides/ug609-brd4120a-user-guide.pdf

Supported Features
==================

.. zephyr:board-supported-hw::

System Clock
============

The EFR32MG26 SoC is configured to use the HFRCODPLL oscillator at 78 MHz as the system clock,
locked to the 39 MHz crystal oscillator on the board.

Serial Port
===========

The EFR32MG26 SoC has 3 USARTs and 4 EUSARTs.
USART0 is connected to the board controller and is used for the console.

Programming and Debugging
*************************

.. zephyr:board-supported-runners::

Flashing
========

Connect the board to your host computer using the USB port.

Here is an example for the :zephyr:code-sample:`hello_world` application.

.. zephyr-app-commands::
   :zephyr-app: samples/hello_world
   :board: xg26_rb4120a
   :goals: flash

Open a serial terminal (minicom, putty, etc.) with the following settings:

- Speed: 115200
- Data: 8 bits
- Parity: None
- Stop bits: 1

Reset the board and you should see the following message in the terminal:

.. code-block:: console

   Hello World! xg26_rb4120a

Bluetooth
=========

To use Bluetooth functionality, run the command below to retrieve necessary binary
blobs from the Silicon Labs HAL repository.

.. code-block:: console

   west blobs fetch hal_silabs

Then build the Zephyr kernel and a Bluetooth sample with the following
command. The :zephyr:code-sample:`bluetooth_observer` sample application is used in
this example.

.. zephyr-app-commands::
   :zephyr-app: samples/bluetooth/observer
   :board: xg26_rb4120a
   :goals: build
