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