1.. _efm32gg_sltb009a:
2
3EFM32GG12 Thunderboard Kit
4##########################
5
6Overview
7********
8
9The EFM32GG12 Thunderboard Kit (SLTB009A) is an evaluation platform for the EFM32GG12 GiantGecko Microcontroller,
10featuring an ARM Cortex-M4 with FPU, 1024kB flash, and 192kB RAM.
11
12.. figure:: efm32gg12-thunderboard-kit.jpg
13   :align: center
14   :alt: SLTB009A
15
16   SLTB009A (Credit: Silicon Labs)
17
18Hardware
19********
20
21- PDM stereo microphones
22- USB connectivity
23- On-board Segger J-Link USB debugger
24- 2 user buttons and 2 LEDs
25- USB C connector
26
27For more information about the WGM160P and SLTB009A board:
28
29- `SLTB009A Website`_
30- `SLTB009A User Guide`_
31- `EFM32GG12 Datasheet`_
32- `EFM32GG12 Reference Manual`_
33
34Supported Features
35==================
36
37The efm32gg_sltb009a board configuration supports the following hardware
38features:
39
40+-----------+------------+-------------------------------------+
41| Interface | Controller | Driver/Component                    |
42+===========+============+=====================================+
43| MPU       | on-chip    | memory protection unit              |
44+-----------+------------+-------------------------------------+
45| COUNTER   | on-chip    | rtcc                                |
46+-----------+------------+-------------------------------------+
47| FLASH     | on-chip    | flash memory                        |
48+-----------+------------+-------------------------------------+
49| GPIO      | on-chip    | gpio                                |
50+-----------+------------+-------------------------------------+
51| I2C       | on-chip    | i2c port-polling                    |
52+-----------+------------+-------------------------------------+
53| NVIC      | on-chip    | nested vector interrupt controller  |
54+-----------+------------+-------------------------------------+
55| UART      | on-chip    | serial port-polling;                |
56|           |            | serial port-interrupt               |
57+-----------+------------+-------------------------------------+
58
59The default configuration can be found in the defconfig file:
60
61	``boards/arm/efm32gg_sltb009a/efm32gg_sltb009a_defconfig``
62
63
64Connections and IOs
65===================
66
67The EFM32GG12 MCU has six GPIO controllers (PORTA to PORTF), all of which are
68currently enabled for the SLTB009A board.
69
70In the following table, the column **Name** contains pin names. For example, PE1
71means pin number 1 on PORTE, as used in the board's datasheets and manuals.
72
73+-------+-------------+-------------------------------------+
74| Name  | Function    | Usage                               |
75+=======+=============+=====================================+
76| PE12  | GPIO        | LED0                                |
77+-------+-------------+-------------------------------------+
78| PA13  | GPIO        | LED1                                |
79+-------+-------------+-------------------------------------+
80| PD5   | GPIO        | Push Button PB0                     |
81+-------+-------------+-------------------------------------+
82| PD8   | GPIO        | Push Button PB1                     |
83+-------+-------------+-------------------------------------+
84| PE7   | UART_TX     | UART TX Console VCOM_TX US0_TX #1   |
85+-------+-------------+-------------------------------------+
86| PE6   | UART_RX     | UART RX Console VCOM_RX US0_RX #1   |
87+-------+-------------+-------------------------------------+
88| PC0   | I2C_SDA     | SENSOR_I2C_SDA I2C0_SDA #1          |
89+-------+-------------+-------------------------------------+
90| PC1   | I2C_SCL     | SENSOR_I2C_SCL I2C0_SCL #1          |
91+-------+-------------+-------------------------------------+
92| PC4   | I2C_SDA     | SENSOR_I2C_SDA I2C1_SDA #1          |
93+-------+-------------+-------------------------------------+
94| PC5   | I2C_SCL     | SENSOR_I2C_SCL I2C1_SCL #1          |
95+-------+-------------+-------------------------------------+
96
97
98System Clock
99============
100
101The EFM32GG12 MCU is configured to work at 72 MHz.
102
103Serial Port
104===========
105
106The EFM32GG12 SoC has five USARTs, two UARTs and two Low Energy UARTs (LEUART).
107USART0 is connected to the board controller and is used for the console.
108
109Programming and Debugging
110*************************
111
112.. note::
113   Before using the kit the first time, you should update the J-Link firmware
114   from `J-Link-Downloads`_
115
116Flashing
117========
118
119The SLTB009A includes an `J-Link`_ serial and debug adaptor built into the
120board. The adaptor provides:
121
122- A USB connection to the host computer
123- A physical UART connection which is relayed over interface USB serial port.
124
125Flashing an application to SLTB009A
126--------------------------------------
127
128Connect the SLTB009A to your host computer using the USB port.
129
130Here is an example to build and flash the :ref:`hello_world` application.
131
132.. zephyr-app-commands::
133   :zephyr-app: samples/hello_world
134   :board: efm32gg_stb009a
135   :goals: flash
136
137Open a serial terminal (minicom, putty, etc.) with the following settings:
138
139- Speed: 115200
140- Data: 8 bits
141- Parity: None
142- Stop bits: 1
143
144Reset the board and you'll see the following message on the corresponding serial port
145terminal session:
146
147.. code-block:: console
148
149   Hello World! efm32gg_sltb009a
150
151.. _SLTB009A Website:
152   https://www.silabs.com/development-tools/thunderboard/thunderboard-gg12-kit
153
154.. _SLTB009A User Guide:
155   https://www.silabs.com/documents/public/user-guides/ug371-sltb009a-user-guide.pdf
156
157.. _EFM32GG12 Datasheet:
158   https://www.silabs.com/documents/public/data-sheets/efm32gg12-datasheet.pdf
159
160.. _EFM32GG12 Reference Manual:
161   https://www.silabs.com/documents/public/reference-manuals/efm32gg12-rm.pdf
162
163.. _J-Link:
164   https://www.segger.com/jlink-debug-probes.html
165
166.. _J-Link-Downloads:
167   https://www.segger.com/downloads/jlink
168