1.. _efr32_radio:
2
3EFR32 Radio Boards
4##################
5
6.. toctree::
7   :maxdepth: 1
8
9   brd4104a.rst
10   brd4170a.rst
11   brd4250b.rst
12   brd4180a.rst
13   brd4255a.rst
14   brd4187c.rst
15
16Overview
17********
18
19Support for EFR32 Radio boards is provided by one of the starter kits
20
21- `SLWSTK6020B Bluetooth SoC Starter Kit`_
22- `SLWSTK6000B Mighty Gecko Wireless Starter Kit`_
23- `SLWSTK6061B Proprietary Wireless Starter Kit`_
24- `SLWSTK6006A Mighty Gecko Wireless Starter Kit`_
25
26.. figure:: efr32_slwstk6020b.jpg
27   :align: center
28   :alt: SLWSTK6020B Bluetooth SoC Starter Kit
29
30   SLWSTK6020B (image courtesy of Silicon Labs)
31
32Hardware
33********
34
35Wireless Starter Kit Mainboard:
36
37- Advanced Energy Monitoring provides real-time information about the energy
38  consumption of an application or prototype design.
39- Ultra-low power 128x128 pixel memory LCD
40- 2 user buttons and 2 LEDs
41- 20 pin expansion header
42- Si7021 Humidity and Temperature Sensor
43- On-board Segger J-Link USB and Ethernet debugger
44
45For more information about the BRD4001A board, refer to these documents:
46
47- `EFR32BG13 Blue Gecko Bluetooth Starter Kit User's Guide`_
48- `EFR32MG21 Mighty Gecko Wireless Starter Kit User's Guide`_
49- `WSTK Main Board BRD4001A Schematics`_
50
51.. _efr32_radio_supported_features:
52
53Supported Features
54==================
55
56The board configuration supports the following hardware features:
57
58+-----------+------------+-------------------------------------+
59| Interface | Controller | Driver/Component                    |
60+===========+============+=====================================+
61| MPU       | on-chip    | memory protection unit              |
62+-----------+------------+-------------------------------------+
63| NVIC      | on-chip    | nested vector interrupt controller  |
64+-----------+------------+-------------------------------------+
65| SYSTICK   | on-chip    | systick                             |
66+-----------+------------+-------------------------------------+
67| COUNTER   | on-chip    | rtcc                                |
68+-----------+------------+-------------------------------------+
69| FLASH     | on-chip    | flash memory                        |
70+-----------+------------+-------------------------------------+
71| GPIO      | on-chip    | gpio                                |
72+-----------+------------+-------------------------------------+
73| UART      | on-chip    | serial port-polling;                |
74|           |            | serial port-interrupt               |
75+-----------+------------+-------------------------------------+
76| SPI(M)    | on-chip    | spi port-polling                    |
77+-----------+------------+-------------------------------------+
78| WATCHDOG  | on-chip    | watchdog                            |
79+-----------+------------+-------------------------------------+
80
81Other hardware features are currently not supported by the port.
82
83Connections and IOs
84===================
85
86In the following table, the column **Name** contains Pin names. For example, PA2
87means Pin number 2 on PORTA, as used in the board's datasheets and manuals.
88
89+-------+-------------+-------------------------------------+
90| Name  | Function    | Usage                               |
91+=======+=============+=====================================+
92| PF4   | GPIO        | LED0                                |
93+-------+-------------+-------------------------------------+
94| PF5   | GPIO        | LED1                                |
95+-------+-------------+-------------------------------------+
96| PF6   | GPIO        | Push Button PB0                     |
97+-------+-------------+-------------------------------------+
98| PF7   | GPIO        | Push Button PB1                     |
99+-------+-------------+-------------------------------------+
100| PA5   | GPIO        | Board Controller Enable             |
101|       |             | EFM_BC_EN                           |
102+-------+-------------+-------------------------------------+
103| PA0   | USART0_TX   | UART Console EFM_BC_TX US0_TX #0    |
104+-------+-------------+-------------------------------------+
105| PA1   | USART0_RX   | UART Console EFM_BC_RX US0_RX #0    |
106+-------+-------------+-------------------------------------+
107| PC6   | SPI_MOSI    | Flash MOSI US1_TX #11               |
108+-------+-------------+-------------------------------------+
109| PC7   | SPI_MISO    | Flash MISO US1_RX #11               |
110+-------+-------------+-------------------------------------+
111| PC8   | SPI_SCLK    | Flash SCLK US1_CLK #11              |
112+-------+-------------+-------------------------------------+
113| PA4   | SPI_CS      | Flash Chip Select (GPIO)            |
114+-------+-------------+-------------------------------------+
115
116.. _efr32_radio_programming:
117
118Programming and Debugging
119*************************
120
121The BRD4001A includes an `J-Link`_ serial and debug adaptor built into the
122board. The adaptor provides:
123
124- A USB connection to the host computer, which exposes a debug interface and a
125  USB Serial Port.
126- A physical UART connection which is relayed over interface USB Serial port.
127- An Ethernet connection to support remote debugging.
128
129It is compatible with the following host debug tools:
130
131- :ref:`openocd-debug-host-tools`
132- :ref:`jlink-debug-host-tools`
133
134OpenOCD is included in the Zephyr SDK. Refer to the links above for information
135on how to install required host debug tools if you are not using the Zephyr SDK.
136
137Flashing
138========
139
140Connect the BRD4001A main board with the mounted radio module to your host
141computer using the USB port.
142
143Following example shows how to build the :ref:`hello_world` application for
144BRD4104A radio module.
145
146.. zephyr-app-commands::
147   :zephyr-app: samples/hello_world
148   :board: efr32_radio_brd4104a
149   :goals: flash
150
151Open a serial terminal (minicom, putty, etc.) with the following settings:
152
153- Speed: 115200
154- Data: 8 bits
155- Parity: None
156- Stop bits: 1
157
158Reset the board and you should see the following message in the terminal:
159
160.. code-block:: console
161
162   Hello World! efr32_radio_brd4104a
163
164
165.. _SLWSTK6020B Bluetooth SoC Starter Kit:
166   https://www.silabs.com/products/development-tools/wireless/bluetooth/blue-gecko-bluetooth-low-energy-soc-starter-kit
167
168.. _SLWSTK6000B Mighty Gecko Wireless Starter Kit:
169   https://www.silabs.com/products/development-tools/wireless/mesh-networking/mighty-gecko-starter-kit
170
171.. _SLWSTK6061B Proprietary Wireless Starter Kit:
172   https://www.silabs.com/products/development-tools/wireless/proprietary/slwstk6061b-efr32-flex-gecko-868-mhz-2-4-ghz-and-sub-ghz-starter-kit
173
174.. _SLWSTK6006A Mighty Gecko Wireless Starter Kit:
175   https://www.silabs.com/products/development-tools/wireless/efr32xg21-wireless-starter-kit
176
177.. _EFR32BG13 Blue Gecko Bluetooth Starter Kit User's Guide:
178   https://www.silabs.com/documents/public/user-guides/ug279-brd4104a-user-guide.pdf
179
180.. _EFR32MG21 Mighty Gecko Wireless Starter Kit User's Guide:
181   https://www.silabs.com/documents/public/user-guides/ug385-brd4180a-user-guide.pdf
182
183.. _EFR32MG24 Mighty Gecko Wireless Starter Kit User's Guide:
184   https://www.silabs.com/documents/public/user-guides/ug526-brd4187c-user-guide.pdf
185
186.. _WSTK Main Board BRD4001A Schematics:
187   https://www.silabs.com/documents/public/schematic-files/BRD4001A-A01-schematic.pdf
188
189.. _J-Link:
190   https://www.segger.com/jlink-debug-probes.html
191