1.. zephyr:board:: sltb004a 2 3Overview 4******** 5 6The EFR32MG12 Thunderboard (a.k.a Thunderboard Sense 2) contains an MCU 7from the EFR32MG12 family built on ARM® Cortex®-M4F processor with low 8power capabilities. 9 10Hardware 11******** 12 13- EFR32MG12 Mighty Gecko Wireless SoC with 38.4 MHz operating frequency 14- ARM® Cortex® M4 core with 256 kB RAM and 1024 kB Flash 15- Macronix ultra low power 8-Mbit SPI flash (MX25R8035F) 16- 2.4 GHz ceramic antenna for wireless transmission 17- Silicon Labs Si7021 relative humidity and temperature sensor 18- Silicon Labs Si1133 UV index and ambient light sensor 19- Silicon Labs Si7210 hall effect sensor 20- Bosch Sensortec BMP280 barometric pressure sensor 21- ams CCS811 indoor air quality gas sensor 22- TDK InvenSense ICM-20648 6-axis inertial sensor 23- TDK InvenSense ICS-43434 MEMS microphone 24- Four high brightness RGB LEDs from Broadcom Limited (ASMT-YTB7-0AA02) 25- One bi-color LED and two push buttons 26- Power enable signals for fine grained power-control 27- On-board SEGGER J-Link debugger for easy programming and debugging, which 28 includes a USB virtual COM port 29- Mini Simplicity connector for access to energy profiling and advanced wireless 30 network debugging 31- Breakout pads for GPIO access and connection to external hardware 32- Reset button 33- Automatic switch-over between USB and battery power 34- CR2032 coin cell holder and external battery connector 35 36For more information about the EFR32MG12 SoC and Thunderboard Sense 2 board: 37 38- `EFR32MG12 Datasheet`_ 39- `EFR32MG12 Reference Manual`_ 40- `SLTB004A User Guide`_ 41- `SLTB004A Schematics`_ 42 43Supported Features 44================== 45 46The sltb004a board configuration supports the following hardware features: 47 48+-----------+------------+-------------------------------------+ 49| Interface | Controller | Driver/Component | 50+===========+============+=====================================+ 51| MPU | on-chip | memory protection unit | 52+-----------+------------+-------------------------------------+ 53| NVIC | on-chip | nested vector interrupt controller | 54+-----------+------------+-------------------------------------+ 55| SYSTICK | on-chip | systick | 56+-----------+------------+-------------------------------------+ 57| COUNTER | on-chip | rtcc | 58+-----------+------------+-------------------------------------+ 59| FLASH | on-chip | flash memory | 60+-----------+------------+-------------------------------------+ 61| GPIO | on-chip | gpio | 62+-----------+------------+-------------------------------------+ 63| UART | on-chip | serial port-polling; | 64| | | serial port-interrupt | 65+-----------+------------+-------------------------------------+ 66| I2C | on-chip | i2c port-polling | 67+-----------+------------+-------------------------------------+ 68| SPI(M) | on-chip | spi port-polling | 69+-----------+------------+-------------------------------------+ 70| WATCHDOG | on-chip | watchdog | 71+-----------+------------+-------------------------------------+ 72| TRNG | on-chip | true random number generator | 73+-----------+------------+-------------------------------------+ 74 75The default configuration can be found in 76:zephyr_file:`boards/silabs/dev_kits/sltb004a/sltb004a_defconfig` 77 78Other hardware features are currently not supported by the port. 79 80Connections and IOs 81=================== 82 83The EFR32MG12 SoC has eight gpio controllers (PORTA, PORTB, PORTC, PORTD, 84PORTF, PORTI, PORTJ and PORTK). 85 86In the following table, the column Name contains Pin names. For example, PE2 87means Pin number 2 on PORTE and #27 represents the location bitfield , as used 88in the board's and microcontroller's datasheets and manuals. 89 90+------+-------------+-----------------------------------+ 91| Name | Function | Usage | 92+======+=============+===================================+ 93| PD8 | GPIO | LED0 (RED) | 94+------+-------------+-----------------------------------+ 95| PD9 | GPIO | LED1 (GREEN) | 96+------+-------------+-----------------------------------+ 97| PD14 | GPIO | SW0 Push Button PB0 | 98+------+-------------+-----------------------------------+ 99| PD15 | GPIO | Push Button PB1 | 100+------+-------------+-----------------------------------+ 101| PA0 | UART_TX | UART TX Console VCOM_TX US0_TX #0 | 102+------+-------------+-----------------------------------+ 103| PA1 | UART_RX | UART RX Console VCOM_RX US0_RX #0 | 104+------+-------------+-----------------------------------+ 105| PF3 | UART_TX | EXP12_UART_TX LEU0_TX #27 | 106+------+-------------+-----------------------------------+ 107| PF4 | UART_RX | EXP14_UART_RX LEU0_RX #27 | 108+------+-------------+-----------------------------------+ 109| PC10 | I2C_SDA | EXP16_I2C_SDA I2C0_SDA #15 | 110+------+-------------+-----------------------------------+ 111| PC11 | I2C_SCL | EXP15_I2C_SCL I2C0_SCL #15 | 112+------+-------------+-----------------------------------+ 113| PB6 | I2C_SDA | CCS811_I2C_SDA I2C1_SDA #6 | 114+------+-------------+-----------------------------------+ 115| PB7 | I2C_SCL | CCS811_I2C_SCL I2C1_SCL #6 | 116+------+-------------+-----------------------------------+ 117| PK0 | SPI_MOSI | Flash MOSI US2_TX #29 | 118+------+-------------+-----------------------------------+ 119| PK2 | SPI_MISO | Flash MISO US2_RX #30 | 120+------+-------------+-----------------------------------+ 121| PF7 | SPI_SCLK | Flash SCLK US2_CLK #18 | 122+------+-------------+-----------------------------------+ 123| PK1 | SPI_CS | Flash Chip Select (GPIO) | 124+------+-------------+-----------------------------------+ 125 126System Clock 127============ 128 129The EFR32MG12 SoC is configured to use the 38.4 MHz external oscillator on the 130board. 131 132Serial Port 133=========== 134 135The EFR32MG12 SoC has four USARTs and one Low Energy UARTs (LEUART with 9600 136maximum baudrate). USART0 is configured as the Zephyr console and is connected 137to the On-Board J-Link Debugger that presents a virtual COM port for general 138purpose application serial data transfer with this interface. 139 140Programming and Debugging 141************************* 142 143.. note:: 144 Before using the kit the first time, you should update the J-Link firmware 145 in Simplicity Studio. 146 147Flashing 148======== 149 150The SLTB004A includes an `J-Link`_ serial and debug adaptor built into the 151board. The adaptor provides: 152 153- A USB connection to the host computer, which exposes a Mass Storage and a 154 USB Serial Port. 155- A Serial Flash device, which implements the USB flash disk file storage. 156- A physical UART connection which is relayed over interface USB Serial port. 157 158Flashing an application to SLTB004A 159----------------------------------- 160 161The sample application :zephyr:code-sample:`hello_world` is used for this example. 162Build the Zephyr kernel and application: 163 164.. zephyr-app-commands:: 165 :zephyr-app: samples/hello_world 166 :board: sltb004a 167 :goals: build 168 169Connect the SLTB004A to your host computer using the USB port and you 170should see a USB connection which exposes a Mass Storage (TB004) and a 171USB Serial Port. Copy the generated zephyr.bin in the SLTB004A drive. 172 173Open a serial terminal (minicom, putty, etc.) with the following settings: 174 175- Speed: 115200 176- Data: 8 bits 177- Parity: None 178- Stop bits: 1 179 180Reset the board and you should be able to see on the corresponding Serial Port 181the following message: 182 183.. code-block:: console 184 185 Hello World! sltb004a 186 187 188.. _SLTB004A User Guide: 189 https://www.silabs.com/documents/public/user-guides/ug309-sltb004a-user-guide.pdf 190 191.. _SLTB004A Schematics: 192 https://www.silabs.com/documents/public/schematic-files/BRD4166A-D00-schematic.pdf 193 194.. _EFR32MG12 Datasheet: 195 https://www.silabs.com/documents/public/data-sheets/efr32mg12-datasheet.pdf 196 197.. _EFR32MG12 Reference Manual: 198 https://www.silabs.com/documents/public/reference-manuals/efr32xg12-rm.pdf 199 200.. _J-Link: 201 https://www.segger.com/jlink-debug-probes.html 202