Fix for x86_64 build fail
[platform/upstream/connectedhomeip.git] / examples / platform / efr32 / efr32mg12 / BRD4170A / hal-config.h
1 /*
2  *
3  *    Copyright (c) 2020 Project CHIP Authors
4  *    All rights reserved.
5  *
6  *    Licensed under the Apache License, Version 2.0 (the "License");
7  *    you may not use this file except in compliance with the License.
8  *    You may obtain a copy of the License at
9  *
10  *        http://www.apache.org/licenses/LICENSE-2.0
11  *
12  *    Unless required by applicable law or agreed to in writing, software
13  *    distributed under the License is distributed on an "AS IS" BASIS,
14  *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  *    See the License for the specific language governing permissions and
16  *    limitations under the License.
17  */
18 /*******************************************************************************
19  * @file
20  * @brief hal-config.h
21  *******************************************************************************
22  * # License
23  * <b>Copyright 2018 Silicon Laboratories Inc. www.silabs.com</b>
24  *******************************************************************************
25  *
26  * The licensor of this software is Silicon Laboratories Inc. Your use of this
27  * software is governed by the terms of Silicon Labs Master Software License
28  * Agreement (MSLA) available at
29  * www.silabs.com/about-us/legal/master-software-license-agreement. This
30  * software is distributed to you in Source Code format and is governed by the
31  * sections of the MSLA applicable to Source Code.
32  *
33  ******************************************************************************/
34
35 #pragma once
36
37 #include "board_features.h"
38 #include "em_device.h"
39 #include "hal-config-app-common.h"
40 #include "hal-config-types.h"
41
42 #ifndef HAL_VCOM_ENABLE
43 #define HAL_VCOM_ENABLE (1)
44 #endif
45 #ifndef HAL_I2CSENSOR_ENABLE
46 #define HAL_I2CSENSOR_ENABLE (0)
47 #endif
48
49 #ifndef HAL_SPIDISPLAY_ENABLE
50 #define HAL_SPIDISPLAY_ENABLE (1)
51 #endif
52 #define HAL_SPIDISPLAY_EXTCOMIN_CALLBACK
53 #if defined(FEATURE_IOEXPANDER)
54 #define HAL_SPIDISPLAY_EXTMODE_EXTCOMIN (0)
55 #else
56 #define HAL_SPIDISPLAY_EXTMODE_EXTCOMIN (1)
57 #endif
58 #define HAL_SPIDISPLAY_EXTMODE_SPI (0)
59 #define HAL_SPIDISPLAY_EXTCOMIN_USE_PRS (0)
60 #define HAL_SPIDISPLAY_EXTCOMIN_USE_CALLBACK (0)
61 #define HAL_SPIDISPLAY_FREQUENCY (1000000)
62
63 // $[CMU]
64 #define HAL_CLK_HFCLK_SOURCE (HAL_CLK_HFCLK_SOURCE_HFXO)
65 #define HAL_CLK_LFECLK_SOURCE (HAL_CLK_LFCLK_SOURCE_LFRCO)
66 #define HAL_CLK_LFBCLK_SOURCE (HAL_CLK_LFCLK_SOURCE_LFRCO)
67 #define HAL_CLK_LFACLK_SOURCE (HAL_CLK_LFCLK_SOURCE_LFRCO)
68 #define HAL_CLK_HFXO_AUTOSTART (HAL_CLK_HFXO_AUTOSTART_NONE)
69
70 // $[DCDC]
71 #define HAL_DCDC_BYPASS (0)
72
73 // $[PA]
74 #define HAL_PA_ENABLE (1)
75
76 // $[SERIAL]
77 #define HAL_SERIAL_USART0_ENABLE (0)
78 #define HAL_SERIAL_LEUART0_ENABLE (0)
79 #define HAL_SERIAL_USART1_ENABLE (0)
80 #define HAL_SERIAL_USART2_ENABLE (0)
81 #define HAL_SERIAL_USART3_ENABLE (0)
82 #define HAL_SERIAL_RXWAKE_ENABLE (0)
83 #define HAL_SERIAL_IDLE_WAKE_ENABLE (1)
84
85 #define HAL_SERIAL_APP_RX_QUEUE_SIZE (128UL)
86 #define HAL_SERIAL_APP_BAUD_RATE (115200UL)
87 #define HAL_SERIAL_APP_RXSTOP (16UL)
88 #define HAL_SERIAL_APP_RXSTART (16UL)
89 #define HAL_SERIAL_APP_TX_QUEUE_SIZE (128UL)
90 #define HAL_SERIAL_APP_FLOW_CONTROL (HAL_USART_FLOW_CONTROL_HWUART)
91 #define HAL_USART0_ENABLE (1)
92 #define HAL_USART0_RX_QUEUE_SIZE (128UL)
93 #define HAL_USART0_BAUD_RATE (115200UL)
94 #define HAL_USART0_RXSTOP (16UL)
95 #define HAL_USART0_RXSTART (16UL)
96 #define HAL_USART0_TX_QUEUE_SIZE (128UL)
97 #define HAL_USART0_FLOW_CONTROL (HAL_USART_FLOW_CONTROL_NONE)
98
99 // $[BTL_BUTTON]
100
101 #define BSP_BTL_BUTTON_PIN (6U)
102 #define BSP_BTL_BUTTON_PORT (gpioPortF)
103
104 // [BTL_BUTTON]$
105
106 // $[BUTTON]
107 #define BSP_BUTTON_PRESENT (1)
108
109 #define BSP_BUTTON0_PIN (6U)
110 #define BSP_BUTTON0_PORT (gpioPortF)
111
112 #define BSP_BUTTON1_PIN (7U)
113 #define BSP_BUTTON1_PORT (gpioPortF)
114
115 #define BSP_BUTTON_COUNT (2U)
116 #define BSP_BUTTON_INIT                                                                                                            \
117     {                                                                                                                              \
118         { BSP_BUTTON0_PORT, BSP_BUTTON0_PIN }, { BSP_BUTTON1_PORT, BSP_BUTTON1_PIN }                                               \
119     }
120 #define BSP_BUTTON_GPIO_DOUT (HAL_GPIO_DOUT_LOW)
121 #define BSP_BUTTON_GPIO_MODE (HAL_GPIO_MODE_INPUT)
122 // [BUTTON]$
123
124 // $[CMU]
125 #define BSP_CLK_HFXO_PRESENT (1)
126 #define BSP_CLK_HFXO_FREQ (38400000UL)
127 #define BSP_CLK_HFXO_INIT CMU_HFXOINIT_DEFAULT
128 #define BSP_CLK_HFXO_CTUNE (340)
129 #define BSP_CLK_LFXO_PRESENT (1)
130 #define BSP_CLK_LFXO_INIT CMU_LFXOINIT_DEFAULT
131 #define BSP_CLK_LFXO_FREQ (32768U)
132 #define BSP_CLK_LFXO_CTUNE (32U)
133 // [CMU]$
134
135 // $[DCDC]
136 #define BSP_DCDC_PRESENT (1)
137
138 #define BSP_DCDC_INIT EMU_DCDCINIT_DEFAULT
139 // [DCDC]$
140
141 // $[EXTFLASH]
142 #define BSP_EXTFLASH_CS_PIN (4U)
143 #define BSP_EXTFLASH_CS_PORT (gpioPortA)
144
145 #define BSP_EXTFLASH_INTERNAL (0)
146 #define BSP_EXTFLASH_USART (HAL_SPI_PORT_USART1)
147 #define BSP_EXTFLASH_MOSI_PIN (6U)
148 #define BSP_EXTFLASH_MOSI_PORT (gpioPortC)
149 #define BSP_EXTFLASH_MOSI_LOC (11U)
150
151 #define BSP_EXTFLASH_MISO_PIN (7U)
152 #define BSP_EXTFLASH_MISO_PORT (gpioPortC)
153 #define BSP_EXTFLASH_MISO_LOC (11U)
154
155 #define BSP_EXTFLASH_CLK_PIN (8U)
156 #define BSP_EXTFLASH_CLK_PORT (gpioPortC)
157 #define BSP_EXTFLASH_CLK_LOC (11U)
158
159 // [EXTFLASH]$
160
161 // $[GPIO]
162 #define PORTIO_GPIO_SWV_PIN (2U)
163 #define PORTIO_GPIO_SWV_PORT (gpioPortF)
164 #define PORTIO_GPIO_SWV_LOC (0U)
165
166 #define BSP_TRACE_SWO_PIN (2U)
167 #define BSP_TRACE_SWO_PORT (gpioPortF)
168 #define BSP_TRACE_SWO_LOC (0U)
169
170 // [GPIO]$
171
172 // $[I2C0]
173 #define PORTIO_I2C0_SCL_PIN (10U)
174 #define PORTIO_I2C0_SCL_PORT (gpioPortC)
175 #define PORTIO_I2C0_SCL_LOC (14U)
176
177 #define PORTIO_I2C0_SDA_PIN (11U)
178 #define PORTIO_I2C0_SDA_PORT (gpioPortC)
179 #define PORTIO_I2C0_SDA_LOC (16U)
180
181 #define BSP_I2C0_SCL_PIN (10U)
182 #define BSP_I2C0_SCL_PORT (gpioPortC)
183 #define BSP_I2C0_SCL_LOC (14U)
184
185 #define BSP_I2C0_SDA_PIN (11U)
186 #define BSP_I2C0_SDA_PORT (gpioPortC)
187 #define BSP_I2C0_SDA_LOC (16U)
188
189 // [I2C0]$
190
191 // $[I2CSENSOR]
192
193 #define BSP_I2CSENSOR_ENABLE_PIN (10U)
194 #define BSP_I2CSENSOR_ENABLE_PORT (gpioPortB)
195
196 #define BSP_I2CSENSOR_PERIPHERAL (HAL_I2C_PORT_I2C0)
197 #define BSP_I2CSENSOR_SCL_PIN (10U)
198 #define BSP_I2CSENSOR_SCL_PORT (gpioPortC)
199 #define BSP_I2CSENSOR_SCL_LOC (14U)
200
201 #define BSP_I2CSENSOR_SDA_PIN (11U)
202 #define BSP_I2CSENSOR_SDA_PORT (gpioPortC)
203 #define BSP_I2CSENSOR_SDA_LOC (16U)
204
205 // [I2CSENSOR]$
206
207 // $[LED]
208 #define BSP_LED_PRESENT (1)
209
210 #define BSP_LED0_PIN (4U)
211 #define BSP_LED0_PORT (gpioPortF)
212
213 #define BSP_LED1_PIN (5U)
214 #define BSP_LED1_PORT (gpioPortF)
215
216 #define BSP_LED_COUNT (2U)
217 #define BSP_LED_INIT                                                                                                               \
218     {                                                                                                                              \
219         { BSP_LED0_PORT, BSP_LED0_PIN }, { BSP_LED1_PORT, BSP_LED1_PIN }                                                           \
220     }
221 #define BSP_LED_POLARITY (1)
222 // [LED]$
223
224 // $[PA]
225
226 #define BSP_PA_VOLTAGE (3300U)
227 // [PA]$
228
229 // $[PRS]
230 #define PORTIO_PRS_CH4_PIN (13U)
231 #define PORTIO_PRS_CH4_PORT (gpioPortD)
232 #define PORTIO_PRS_CH4_LOC (4U)
233
234 // [PRS]$
235
236 // $[PTI]
237 #define PORTIO_PTI_DCLK_PIN (11U)
238 #define PORTIO_PTI_DCLK_PORT (gpioPortB)
239 #define PORTIO_PTI_DCLK_LOC (6U)
240
241 #define PORTIO_PTI_DFRAME_PIN (13U)
242 #define PORTIO_PTI_DFRAME_PORT (gpioPortB)
243 #define PORTIO_PTI_DFRAME_LOC (6U)
244
245 #define PORTIO_PTI_DOUT_PIN (12U)
246 #define PORTIO_PTI_DOUT_PORT (gpioPortB)
247 #define PORTIO_PTI_DOUT_LOC (6U)
248
249 #define BSP_PTI_DFRAME_PIN (13U)
250 #define BSP_PTI_DFRAME_PORT (gpioPortB)
251 #define BSP_PTI_DFRAME_LOC (6U)
252
253 #define BSP_PTI_DOUT_PIN (12U)
254 #define BSP_PTI_DOUT_PORT (gpioPortB)
255 #define BSP_PTI_DOUT_LOC (6U)
256
257 // [PTI]$
258
259 // $[SERIAL]
260 #define BSP_SERIAL_APP_TX_PIN (0U)
261 #define BSP_SERIAL_APP_TX_PORT (gpioPortA)
262 #define BSP_SERIAL_APP_TX_LOC (0U)
263
264 #define BSP_SERIAL_APP_RX_PIN (1U)
265 #define BSP_SERIAL_APP_RX_PORT (gpioPortA)
266 #define BSP_SERIAL_APP_RX_LOC (0U)
267
268 #define BSP_SERIAL_APP_CTS_PIN (2U)
269 #define BSP_SERIAL_APP_CTS_PORT (gpioPortA)
270 #define BSP_SERIAL_APP_CTS_LOC (30U)
271
272 #define BSP_SERIAL_APP_RTS_PIN (3U)
273 #define BSP_SERIAL_APP_RTS_PORT (gpioPortA)
274 #define BSP_SERIAL_APP_RTS_LOC (30U)
275
276 // [SERIAL]$
277
278 // $[SPIDISPLAY]
279
280 #define BSP_SPIDISPLAY_CS_PIN (14U)
281 #define BSP_SPIDISPLAY_CS_PORT (gpioPortD)
282
283 #define BSP_SPIDISPLAY_ENABLE_PIN (15U)
284 #define BSP_SPIDISPLAY_ENABLE_PORT (gpioPortD)
285
286 #define BSP_SPIDISPLAY_EXTCOMIN_PIN (13U)
287 #define BSP_SPIDISPLAY_EXTCOMIN_PORT (gpioPortD)
288 #define BSP_SPIDISPLAY_EXTCOMIN_LOC (4U)
289
290 #define BSP_SPIDISPLAY_DISPLAY (HAL_DISPLAY_SHARP_LS013B7DH03)
291 #define BSP_SPIDISPLAY_USART (HAL_SPI_PORT_USART1)
292 #define BSP_SPIDISPLAY_EXTCOMIN_CHANNEL (4)
293 #define BSP_SPIDISPLAY_MOSI_PIN (6U)
294 #define BSP_SPIDISPLAY_MOSI_PORT (gpioPortC)
295 #define BSP_SPIDISPLAY_MOSI_LOC (11U)
296
297 #define BSP_SPIDISPLAY_MISO_PIN (7U)
298 #define BSP_SPIDISPLAY_MISO_PORT (gpioPortC)
299 #define BSP_SPIDISPLAY_MISO_LOC (11U)
300
301 #define BSP_SPIDISPLAY_CLK_PIN (8U)
302 #define BSP_SPIDISPLAY_CLK_PORT (gpioPortC)
303 #define BSP_SPIDISPLAY_CLK_LOC (11U)
304
305 // [SPIDISPLAY]$
306
307 // $[SPINCP]
308 #define BSP_SPINCP_NHOSTINT_PIN (10U)
309 #define BSP_SPINCP_NHOSTINT_PORT (gpioPortD)
310
311 #define BSP_SPINCP_NWAKE_PIN (11U)
312 #define BSP_SPINCP_NWAKE_PORT (gpioPortD)
313
314 #define BSP_SPINCP_USART_PORT (HAL_SPI_PORT_USART1)
315 #define BSP_SPINCP_MOSI_PIN (6U)
316 #define BSP_SPINCP_MOSI_PORT (gpioPortC)
317 #define BSP_SPINCP_MOSI_LOC (11U)
318
319 #define BSP_SPINCP_MISO_PIN (7U)
320 #define BSP_SPINCP_MISO_PORT (gpioPortC)
321 #define BSP_SPINCP_MISO_LOC (11U)
322
323 #define BSP_SPINCP_CLK_PIN (8U)
324 #define BSP_SPINCP_CLK_PORT (gpioPortC)
325 #define BSP_SPINCP_CLK_LOC (11U)
326
327 #define BSP_SPINCP_CS_PIN (9U)
328 #define BSP_SPINCP_CS_PORT (gpioPortC)
329 #define BSP_SPINCP_CS_LOC (11U)
330
331 // [SPINCP]$
332
333 // $[UARTNCP]
334 #define BSP_UARTNCP_USART_PORT (HAL_SERIAL_PORT_USART0)
335 #define BSP_UARTNCP_TX_PIN (0U)
336 #define BSP_UARTNCP_TX_PORT (gpioPortA)
337 #define BSP_UARTNCP_TX_LOC (0U)
338
339 #define BSP_UARTNCP_RX_PIN (1U)
340 #define BSP_UARTNCP_RX_PORT (gpioPortA)
341 #define BSP_UARTNCP_RX_LOC (0U)
342
343 #define BSP_UARTNCP_CTS_PIN (2U)
344 #define BSP_UARTNCP_CTS_PORT (gpioPortA)
345 #define BSP_UARTNCP_CTS_LOC (30U)
346
347 #define BSP_UARTNCP_RTS_PIN (3U)
348 #define BSP_UARTNCP_RTS_PORT (gpioPortA)
349 #define BSP_UARTNCP_RTS_LOC (30U)
350
351 // [UARTNCP]$
352
353 // $[USART0]
354 #define PORTIO_USART0_CTS_PIN (2U)
355 #define PORTIO_USART0_CTS_PORT (gpioPortA)
356 #define PORTIO_USART0_CTS_LOC (30U)
357
358 #define PORTIO_USART0_RTS_PIN (3U)
359 #define PORTIO_USART0_RTS_PORT (gpioPortA)
360 #define PORTIO_USART0_RTS_LOC (30U)
361
362 #define PORTIO_USART0_RX_PIN (1U)
363 #define PORTIO_USART0_RX_PORT (gpioPortA)
364 #define PORTIO_USART0_RX_LOC (0U)
365
366 #define PORTIO_USART0_TX_PIN (0U)
367 #define PORTIO_USART0_TX_PORT (gpioPortA)
368 #define PORTIO_USART0_TX_LOC (0U)
369
370 #define BSP_USART0_TX_PIN (0U)
371 #define BSP_USART0_TX_PORT (gpioPortA)
372 #define BSP_USART0_TX_LOC (0U)
373
374 #define BSP_USART0_RX_PIN (1U)
375 #define BSP_USART0_RX_PORT (gpioPortA)
376 #define BSP_USART0_RX_LOC (0U)
377
378 #define BSP_USART0_CTS_PIN (2U)
379 #define BSP_USART0_CTS_PORT (gpioPortA)
380 #define BSP_USART0_CTS_LOC (30U)
381
382 #define BSP_USART0_RTS_PIN (3U)
383 #define BSP_USART0_RTS_PORT (gpioPortA)
384 #define BSP_USART0_RTS_LOC (30U)
385
386 // [USART0]$
387
388 // $[USART1]
389 #define PORTIO_USART1_CLK_PIN (8U)
390 #define PORTIO_USART1_CLK_PORT (gpioPortC)
391 #define PORTIO_USART1_CLK_LOC (11U)
392
393 #define PORTIO_USART1_CS_PIN (9U)
394 #define PORTIO_USART1_CS_PORT (gpioPortC)
395 #define PORTIO_USART1_CS_LOC (11U)
396
397 #define PORTIO_USART1_RX_PIN (7U)
398 #define PORTIO_USART1_RX_PORT (gpioPortC)
399 #define PORTIO_USART1_RX_LOC (11U)
400
401 #define PORTIO_USART1_TX_PIN (6U)
402 #define PORTIO_USART1_TX_PORT (gpioPortC)
403 #define PORTIO_USART1_TX_LOC (11U)
404
405 #define BSP_USART1_MOSI_PIN (6U)
406 #define BSP_USART1_MOSI_PORT (gpioPortC)
407 #define BSP_USART1_MOSI_LOC (11U)
408
409 #define BSP_USART1_MISO_PIN (7U)
410 #define BSP_USART1_MISO_PORT (gpioPortC)
411 #define BSP_USART1_MISO_LOC (11U)
412
413 #define BSP_USART1_CLK_PIN (8U)
414 #define BSP_USART1_CLK_PORT (gpioPortC)
415 #define BSP_USART1_CLK_LOC (11U)
416
417 #define BSP_USART1_CS_PIN (9U)
418 #define BSP_USART1_CS_PORT (gpioPortC)
419 #define BSP_USART1_CS_LOC (11U)
420
421 // [USART1]$
422
423 // $[USART3]
424 #define PORTIO_USART3_CTS_PIN (8U)
425 #define PORTIO_USART3_CTS_PORT (gpioPortD)
426 #define PORTIO_USART3_CTS_LOC (28U)
427
428 #define PORTIO_USART3_RTS_PIN (9U)
429 #define PORTIO_USART3_RTS_PORT (gpioPortD)
430 #define PORTIO_USART3_RTS_LOC (28U)
431
432 #define PORTIO_USART3_RX_PIN (5U)
433 #define PORTIO_USART3_RX_PORT (gpioPortC)
434 #define PORTIO_USART3_RX_LOC (22U)
435
436 #define PORTIO_USART3_TX_PIN (4U)
437 #define PORTIO_USART3_TX_PORT (gpioPortC)
438 #define PORTIO_USART3_TX_LOC (22U)
439
440 #define BSP_USART3_TX_PIN (4U)
441 #define BSP_USART3_TX_PORT (gpioPortC)
442 #define BSP_USART3_TX_LOC (22U)
443
444 #define BSP_USART3_RX_PIN (5U)
445 #define BSP_USART3_RX_PORT (gpioPortC)
446 #define BSP_USART3_RX_LOC (22U)
447
448 #define BSP_USART3_CTS_PIN (8U)
449 #define BSP_USART3_CTS_PORT (gpioPortD)
450 #define BSP_USART3_CTS_LOC (28U)
451
452 #define BSP_USART3_RTS_PIN (9U)
453 #define BSP_USART3_RTS_PORT (gpioPortD)
454 #define BSP_USART3_RTS_LOC (28U)
455
456 // [USART3]$
457
458 // $[VCOM]
459
460 #define BSP_VCOM_ENABLE_PIN (5U)
461 #define BSP_VCOM_ENABLE_PORT (gpioPortA)
462
463 // [VCOM]$
464
465 #if defined(_SILICON_LABS_MODULE)
466 #include "sl_module.h"
467 #endif