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