1.. zephyr:board:: sltb010a
2
3SLTB010A is a development kit based on the EFR32BG22 SoC. Early revisions of
4the kit (A00 and A01) use a slightly different PCB (BRD4184A) from later
5revisions (BRD4184B).
6
7Hardware
8********
9
10- EFR32BG22 Blue Gecko Wireless SoC with upto 76.8 MHz operating frequency
11- ARM® Cortex® M33 core with 32 kB RAM and 512 kB Flash
12- Macronix ultra low power 8-Mbit SPI flash (MX25R8035F)
13- 2.4 GHz ceramic antenna for wireless transmission
14- Silicon Labs Si7021 relative humidity and temperature sensor
15- Silicon Labs Si1133 UV index and ambient light sensor (EFR32BG22-BRD4184A)
16- Vishay VEML6035 ambient light sensor (EFR32BG22-BRD4184B)
17- Silicon Labs Si7210 hall effect sensor
18- TDK InvenSense ICM-20648 6-axis inertial sensor
19- Two Knowles SPK0641HT4H-1 MEMS microphones with PDM output (EFR32BG22-BRD4184B)
20- One LED and one push button
21- Power enable signals and isolation switches for ultra low power operation
22- On-board SEGGER J-Link debugger for easy programming and debugging, which
23  includes a USB virtual COM port and Packet Trace Interface (PTI)
24- Mini Simplicity connector for access to energy profiling and advanced wireless
25  network debugging
26- Breakout pads for GPIO access and connection to external hardware
27- Reset button
28- Automatic switch-over between USB and battery power
29- CR2032 coin cell holder and external battery connector
30
31For more information about the EFR32BG SoC and Thunderboard EFR32BG22 board:
32
33- `EFR32BG22 Website`_
34- `EFR32BG22 Datasheet`_
35- `EFR32xG22 Reference Manual`_
36- `Thunderboard EFR32BG22 Website`_
37- `EFR32BG22-BRD4184A User Guide`_
38- `EFR32BG22-BRD4184B User Guide`_
39- `EFR32BG22-BRD4184A Schematics`_
40- `EFR32BG22-BRD4184B Schematics`_
41
42Supported Features
43==================
44
45The sltb010a board configuration supports the following hardware features:
46
47+-----------+------------+-------------------------------------+
48| Interface | Controller | Driver/Component                    |
49+===========+============+=====================================+
50| MPU       | on-chip    | memory protection unit              |
51+-----------+------------+-------------------------------------+
52| NVIC      | on-chip    | nested vector interrupt controller  |
53+-----------+------------+-------------------------------------+
54| SYSTICK   | on-chip    | systick                             |
55+-----------+------------+-------------------------------------+
56| COUNTER   | on-chip    | stimer                              |
57+-----------+------------+-------------------------------------+
58| SPI(M/S)  | on-chip    | spi                                 |
59+-----------+------------+-------------------------------------+
60| FLASH     | on-chip    | flash memory                        |
61+-----------+------------+-------------------------------------+
62| GPIO      | on-chip    | gpio                                |
63+-----------+------------+-------------------------------------+
64| UART      | on-chip    | serial                              |
65+-----------+------------+-------------------------------------+
66| DMA       | on-chip    | ldma                                |
67+-----------+------------+-------------------------------------+
68| WATCHDOG  | on-chip    | watchdog                            |
69+-----------+------------+-------------------------------------+
70| TRNG      | on-chip    | true random number generator        |
71+-----------+------------+-------------------------------------+
72| I2C(M/S)  | on-chip    | i2c                                 |
73+-----------+------------+-------------------------------------+
74| RADIO     | on-chip    | bluetooth                           |
75+-----------+------------+-------------------------------------+
76
77The default configuration can be found in
78:zephyr_file:`boards/silabs/dev_kits/sltb010a/sltb010a_defconfig`.
79
80Connections and IOs
81===================
82
83The EFR32BG22 SoC has four gpio controllers (PORTA, PORTB, PORTC and PORTD).
84
85There are two variants of this board, "A" and "B". Please take a look at your PCB,
86to determine which one you have, as the GPIO pin bindings vary between those two.
87
88BRD4184A (SLTB010A revision A00 and A01):
89
90+------+-------------+-----------------------------------+
91| Pin  | Function    | Usage                             |
92+======+=============+===================================+
93| PB0  | GPIO        | LED0 (YELLOW)                     |
94+------+-------------+-----------------------------------+
95| PB1  | GPIO        | SW0 Push Button PB0               |
96+------+-------------+-----------------------------------+
97| PA5  | UART_TX     | UART TX Console VCOM_TX US1_TX #1 |
98+------+-------------+-----------------------------------+
99| PA6  | UART_RX     | UART RX Console VCOM_RX US1_RX #1 |
100+------+-------------+-----------------------------------+
101
102BRD4184B (SLTB010A revision A02 and newer):
103
104+------+-------------+-----------------------------------+
105| Pin  | Function    | Usage                             |
106+======+=============+===================================+
107| PA4  | GPIO        | LED0 (YELLOW)                     |
108+------+-------------+-----------------------------------+
109| PB3  | GPIO        | SW0 Push Button PB0               |
110+------+-------------+-----------------------------------+
111| PA5  | UART_TX     | UART TX Console VCOM_TX US1_TX #1 |
112+------+-------------+-----------------------------------+
113| PA6  | UART_RX     | UART RX Console VCOM_RX US1_RX #1 |
114+------+-------------+-----------------------------------+
115
116System Clock
117============
118
119The EFR32BG22 SoC is configured to use the 38.4 MHz external oscillator on the
120board.
121
122Programming and Debugging
123=========================
124
125Flashing an application
126-----------------------
127
128Connect your device to your host computer using the USB port.
129The sample application :zephyr:code-sample:`hello_world` is used for this example.
130Build the Zephyr kernel and application, then flash it to the device:
131
132BRD4184A:
133
134.. zephyr-app-commands::
135   :zephyr-app: samples/hello_world
136   :board: sltb010a@0
137   :goals: flash
138
139BRD4184B:
140
141.. zephyr-app-commands::
142   :zephyr-app: samples/hello_world
143   :board: sltb010a@2
144   :goals: flash
145
146.. note::
147   ``west flash`` requires `SEGGER J-Link software`_ to be installed on you host
148   computer.
149
150Open a serial terminal (minicom, putty, etc.) with the following settings:
151
152- Speed: 115200
153- Data: 8 bits
154- Parity: None
155- Stop bits: 1
156
157Reset the board and you should be able to see on the corresponding Serial Port
158the following message:
159
160.. code-block:: console
161
162   Hello World! sltb010a
163
164Bluetooth
165=========
166
167To use the BLE function, run the command below to retrieve necessary binary
168blobs from the SiLabs HAL repository.
169
170.. code-block:: console
171
172   west blobs fetch hal_silabs
173
174Then build the Zephyr kernel and a Bluetooth sample with the following
175command. The :zephyr:code-sample:`bluetooth_observer` sample application is used in
176this example.
177
178BRD4184A:
179
180.. zephyr-app-commands::
181   :zephyr-app: samples/bluetooth/observer
182   :board: sltb010a@0
183   :goals: build
184
185BRD4184B:
186
187.. zephyr-app-commands::
188   :zephyr-app: samples/bluetooth/observer
189   :board: sltb010a@2
190   :goals: build
191
192
193.. _Thunderboard EFR32BG22 Website:
194   https://www.silabs.com/development-tools/thunderboard/thunderboard-bg22-kit
195
196.. _EFR32BG22-BRD4184A User Guide:
197   https://www.silabs.com/documents/public/user-guides/ug415-sltb010a-user-guide.pdf
198
199.. _EFR32BG22-BRD4184B User Guide:
200   https://www.silabs.com/documents/public/user-guides/ug464-brd4184b-user-guide.pdf
201
202.. _EFR32BG22-BRD4184A Schematics:
203   https://www.silabs.com/documents/public/schematic-files/BRD4184A-A01-schematic.pdf
204
205.. _EFR32BG22-BRD4184B Schematics:
206   https://www.silabs.com/documents/public/schematic-files/BRD4184B-A02-schematic.pdf
207
208.. _EFR32BG22 Website:
209   https://www.silabs.com/wireless/bluetooth/efr32bg22-series-2-socs
210
211.. _EFR32BG22 Datasheet:
212   https://www.silabs.com/documents/public/data-sheets/efr32bg22-datasheet.pdf
213
214.. _EFR32xG22 Reference Manual:
215   https://www.silabs.com/documents/public/reference-manuals/efr32xg22-rm.pdf
216
217.. _SEGGER J-Link software:
218   https://www.segger.com/downloads/jlink
219