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