.. zephyr:board:: xg27_rb4194a

Overview
********

The EFR32xG27 2.4 GHz 8 dBm Radio Board is a plug-in board for the Wireless Starter Kit Mainboard
(BRD4001A) and the Wireless Pro Kit Mainboard (BRD4002A). It is a complete reference design for the
EFR32xG27 Wireless SoC, with matching network and a PCB antenna for 8 dBm output power in the 2.4
GHz band.

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

Hardware
********

- EFR32MG27C140F768IM40 SoC
- CPU core: ARM Cortex®-M33 with FPU, DSP and TrustZone
- Memory: 768 kB Flash, 64 kB RAM
- Transmit power: up to +8 dBm
- Operation frequency: 2.4 GHz
- Crystals for LFXO (32.768 kHz) and HFXO (38.4 MHz)
- 8 Mbit SPI NOR Flash

For more information about the EFR32MG27 SoC and BRD4194A board, refer to these documents:

- `xG27-RB4194A Website <https://www.silabs.com/development-tools/wireless/xg27-rb4194a-efr32xg27-8-dbm-wireless-radio-board>`__
- `xG27-RB4194A User Guide <https://www.silabs.com/documents/public/user-guides/ug551-brd4194a-user-guide.pdf>`__
- `EFR32MG27 Website <https://www.silabs.com/wireless/zigbee/efr32mg27-series-2-socs>`__
- `EFR32MG27 Datasheet <https://www.silabs.com/documents/public/data-sheets/efr32mg27-datasheet.pdf>`__
- `EFR32xG27 Reference Manual <https://www.silabs.com/documents/public/reference-manuals/efr32xg27-rm.pdf>`__

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

.. zephyr:board-supported-hw::

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

The EFR32MG27 SoC is configured to use the HFRCODPLL oscillator at 76.8 MHz as the system
clock, locked to the 38.4 MHz external crystal oscillator on the board.

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

The EFR32MG27 SoC has two USARTs and one EUSART.
USART1 is connected to the board controller and is used for the console.

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

.. zephyr:board-supported-runners ::

Connect the BRD4002A mainboard with a mounted BRD4194A radio 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: xg27_rb4194a
   :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! xg27_rb4194a

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: xg27_rb4194a
   :goals: build
