.. _efr32_slwstk6061a:

EFR32-SLWSTK6061A
#################

Overview
********

The EFR32 Flex Gecko Wireless Starter Kit SLWSTK6061A contains a Wireless
System-On-Chip from the EFR32FG family built on an ARM® Cortex®-M4F processor
with excellent low power capabilities.

.. figure:: ./efr32_slwstk6061a.png
   :width: 375px
   :align: center
   :alt: EFR32-SLWSTK6061A

   EFR32-SLWSTK6061A (image courtesy of Silicon Labs)

Hardware
********

The SLWRB4250B radio board plugs into the Wireless Starter Kit Mainboard BRD4001A.

Wireless Starter Kit Mainboard:

- Advanced Energy Monitoring provides real-time information about the energy
  consumption of an application or prototype design.
- Ultra-low power 128x128 pixel memory LCD
- 2 user buttons and 2 LEDs
- Si7021 Humidity and Temperature Sensor
- On-board Segger J-Link USB and Ethernet debugger

Radio Board:

- EFR32FG1P133F256GM48 Flex Gecko SoC
- 8Mbit SPI NOR Flash

For more information about the EFR32FG1 SoC and EFR32-SLWSTK6061A board, refer
to these documents:

- `EFR32FG Website`_
- `EFR32FG1 Datasheet`_
- `EFR32xG1 Reference Manual`_
- `EFR32-SLWSTK6061A Website`_
- `EFR32-SLWSTK6061A User Guide`_
- `WSTK Main Board BRD4001A Schematics`_
- `EFR32FG1-BRD4250B Schematics`_


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

The efr32_slwstk6061a board configuration supports the following hardware features:

+-----------+------------+-------------------------------------+
| Interface | Controller | Driver/Component                    |
+===========+============+=====================================+
| NVIC      | on-chip    | nested vector interrupt controller  |
+-----------+------------+-------------------------------------+
| SYSTICK   | on-chip    | systick                             |
+-----------+------------+-------------------------------------+
| FLASH     | on-chip    | flash memory                        |
+-----------+------------+-------------------------------------+
| GPIO      | on-chip    | gpio                                |
+-----------+------------+-------------------------------------+
| UART      | on-chip    | serial port-polling;                |
|           |            | serial port-interrupt               |
+-----------+------------+-------------------------------------+

The default configuration can be found in the defconfig file:

	``boards/arm/efr32_slwstk6061a/efr32_slwstk6061a_defconfig``

Other hardware features are currently not supported by the port.

Connections and IOs
===================

The EFR32FG1P SoC has five GPIO controllers (PORTA to PORTD and PORTF). All of
them are enabled for the EFR32-SLWSTK6061A board.

In the following table, the column **Name** contains Pin names. For example, PA2
means Pin number 2 on PORTA, as used in the board's datasheets and manuals.

+-------+-------------+-------------------------------------+
| Name  | Function    | Usage                               |
+=======+=============+=====================================+
| PF4   | GPIO        | LED0                                |
+-------+-------------+-------------------------------------+
| PF5   | GPIO        | LED1                                |
+-------+-------------+-------------------------------------+
| PF6   | GPIO        | Push Button PB0                     |
+-------+-------------+-------------------------------------+
| PF7   | GPIO        | Push Button PB1                     |
+-------+-------------+-------------------------------------+
| PA5   | GPIO        | Board Controller Enable             |
|       |             | EFM_BC_EN                           |
+-------+-------------+-------------------------------------+
| PA0   | USART0_TX   | UART Console EFM_BC_TX US0_TX #0    |
+-------+-------------+-------------------------------------+
| PA1   | USART0_RX   | UART Console EFM_BC_RX US0_RX #0    |
+-------+-------------+-------------------------------------+

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

The EFR32FG1P SoC is configured to use the 38.4 MHz external oscillator on the
board.

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

The EFR32FG1P SoC has two USARTs and one Low Energy UARTs (LEUART).
USART0 is connected to the board controller and is used for the console.

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

.. note::
   Before using the kit the first time, you should update the J-Link firmware
   from `J-Link-Downloads`_

Flashing
========

The EFR32-SLWSTK6061A includes an `J-Link`_ serial and debug adaptor built into the
board. The adaptor provides:

- A USB connection to the host computer, which exposes a debug interface and a
  USB Serial Port.
- A physical UART connection which is relayed over interface USB Serial port.
- An Ethernet connection to support remote debugging.

Flashing an application to EFR32-SLWSTK6061A
--------------------------------------------

The sample application :ref:`hello_world` is used for this example.
Build the Zephyr kernel and application:

.. zephyr-app-commands::
   :zephyr-app: samples/hello_world
   :board: efr32_slwstk6061a
   :goals: build

Connect the EFR32-SLWSTK6061A to your host computer using the USB port and you
should see a USB Serial Port. Use `J-Link`_ or Silicon Labs Simplicity Studio
to flash the generated zephyr.bin. On a Linux host with Zephyr SDK installed you
can run:

.. code-block:: console

   ninja flash

The command is using `OpenOCD`_ runner.

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 be able to see on the corresponding Serial Port
the following message:

.. code-block:: console

   Hello World! arm


.. _EFR32-SLWSTK6061A Website:
   https://www.silabs.com/products/development-tools/wireless/proprietary/slwstk6061a-efr32-flex-gecko-868-mhz-2-4-ghz-and-sub-ghz-starter-kit

.. _EFR32-SLWSTK6061A User Guide:
   https://www.silabs.com/documents/public/user-guides/UG182-WSTK6061-User-Guide.pdf

.. _WSTK Main Board BRD4001A Schematics:
   https://www.silabs.com/documents/public/schematic-files/WSTK-Main-BRD4001A-A01-schematic.pdf

.. _EFR32FG1-BRD4250B Schematics:
   https://www.silabs.com/documents/public/schematic-files/EFR32FG1-BRD4250B-B02-schematic.pdf

.. _EFR32FG Website:
   https://www.silabs.com/products/wireless/proprietary/efr32-flex-gecko-2-4-ghz-sub-ghz

.. _EFR32FG1 Datasheet:
   https://www.silabs.com/documents/public/data-sheets/efr32fg1-datasheet.pdf

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

.. _J-Link:
   https://www.segger.com/jlink-debug-probes.html

.. _J-Link-Downloads:
   https://www.segger.com/downloads/jlink

.. _OpenOCD:
   http://openocd.org/
