Statistics
| Branch: | Tag: | Revision:

amiro-os / modules / NUCLEO-L476RG / halconf.h @ a193bcf1

History | View | Annotate | Download (17.087 KB)

1 27d0378b Simon Welzel
/*
2 8543d0d9 Thomas Schöpping
AMiRo-OS is an operating system designed for the Autonomous Mini Robot (AMiRo) platform.
3
Copyright (C) 2016..2019  Thomas Schöpping et al.
4 27d0378b Simon Welzel

5 8543d0d9 Thomas Schöpping
This program is free software: you can redistribute it and/or modify
6
it under the terms of the GNU General Public License as published by
7
the Free Software Foundation, either version 3 of the License, or
8
(at your option) any later version.
9 27d0378b Simon Welzel

10 8543d0d9 Thomas Schöpping
This program is distributed in the hope that it will be useful,
11
but WITHOUT ANY WARRANTY; without even the implied warranty of
12
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
GNU General Public License for more details.
14 27d0378b Simon Welzel

15 8543d0d9 Thomas Schöpping
You should have received a copy of the GNU General Public License
16
along with this program.  If not, see <http://www.gnu.org/licenses/>.
17 27d0378b Simon Welzel
*/
18
19
/**
20 7da800ab Thomas Schöpping
 * @file
21 126ace3c Thomas Schöpping
 * @brief   HAL configuration header for the NUCLEO-L476RG module.
22 27d0378b Simon Welzel
 * @details HAL configuration file, this file allows to enable or disable the
23
 *          various device drivers from your application. You may also use
24
 *          this file in order to override the device drivers default settings.
25
 *
26 126ace3c Thomas Schöpping
 * @addtogroup NUCLEO-L476RG_HAL_CONF
27 27d0378b Simon Welzel
 * @{
28
 */
29
30 6ff06bbf Thomas Schöpping
#ifndef HALCONF_H
31
#define HALCONF_H
32 27d0378b Simon Welzel
33
#define _CHIBIOS_HAL_CONF_
34 732a4657 Thomas Schöpping
#define _CHIBIOS_HAL_CONF_VER_7_0_
35 27d0378b Simon Welzel
36 126ace3c Thomas Schöpping
#include <alldconf.h>
37 27d0378b Simon Welzel
#include "mcuconf.h"
38
39
/**
40
 * @brief   Enables the PAL subsystem.
41
 */
42
#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__)
43
#define HAL_USE_PAL                         TRUE
44
#endif
45
46
/**
47
 * @brief   Enables the ADC subsystem.
48
 */
49
#if !defined(HAL_USE_ADC) || defined(__DOXYGEN__)
50
#define HAL_USE_ADC                         FALSE
51
#endif
52
53
/**
54
 * @brief   Enables the CAN subsystem.
55
 */
56
#if !defined(HAL_USE_CAN) || defined(__DOXYGEN__)
57 8543d0d9 Thomas Schöpping
#define HAL_USE_CAN                         FALSE
58 27d0378b Simon Welzel
#endif
59
60
/**
61
 * @brief   Enables the cryptographic subsystem.
62
 */
63
#if !defined(HAL_USE_CRY) || defined(__DOXYGEN__)
64
#define HAL_USE_CRY                         FALSE
65
#endif
66
67
/**
68
 * @brief   Enables the DAC subsystem.
69
 */
70
#if !defined(HAL_USE_DAC) || defined(__DOXYGEN__)
71
#define HAL_USE_DAC                         FALSE
72
#endif
73
74
/**
75
 * @brief   Enables the GPT subsystem.
76
 */
77
#if !defined(HAL_USE_GPT) || defined(__DOXYGEN__)
78
#define HAL_USE_GPT                         FALSE
79
#endif
80
81
/**
82
 * @brief   Enables the I2C subsystem.
83
 */
84
#if !defined(HAL_USE_I2C) || defined(__DOXYGEN__)
85 126ace3c Thomas Schöpping
// enable if MPU6050 demo is enabled
86
#if defined(AMIROLLD_CFG_MPU6050)
87
#define HAL_USE_I2C                         TRUE
88
#else
89 a0301104 Thomas Schöpping
#define HAL_USE_I2C                         FALSE
90 27d0378b Simon Welzel
#endif
91 126ace3c Thomas Schöpping
#endif
92 27d0378b Simon Welzel
93
/**
94
 * @brief   Enables the I2S subsystem.
95
 */
96
#if !defined(HAL_USE_I2S) || defined(__DOXYGEN__)
97
#define HAL_USE_I2S                         FALSE
98
#endif
99
100
/**
101
 * @brief   Enables the ICU subsystem.
102
 */
103
#if !defined(HAL_USE_ICU) || defined(__DOXYGEN__)
104
#define HAL_USE_ICU                         FALSE
105
#endif
106
107
/**
108
 * @brief   Enables the MAC subsystem.
109
 */
110
#if !defined(HAL_USE_MAC) || defined(__DOXYGEN__)
111
#define HAL_USE_MAC                         FALSE
112
#endif
113
114
/**
115
 * @brief   Enables the MMC_SPI subsystem.
116
 */
117
#if !defined(HAL_USE_MMC_SPI) || defined(__DOXYGEN__)
118
#define HAL_USE_MMC_SPI                     FALSE
119
#endif
120
121
/**
122
 * @brief   Enables the PWM subsystem.
123
 */
124
#if !defined(HAL_USE_PWM) || defined(__DOXYGEN__)
125
#define HAL_USE_PWM                         FALSE
126
#endif
127
128
/**
129 8543d0d9 Thomas Schöpping
 * @brief   Enables the QEI subsystem.
130
 */
131
#if !defined(HAL_USE_QEI) || defined(__DOXYGEN__)
132
#define HAL_USE_QEI                         FALSE
133
#endif
134
135
/**
136 27d0378b Simon Welzel
 * @brief   Enables the RTC subsystem.
137
 */
138
#if !defined(HAL_USE_RTC) || defined(__DOXYGEN__)
139
#define HAL_USE_RTC                         TRUE
140
#endif
141
142
/**
143
 * @brief   Enables the SDC subsystem.
144
 */
145
#if !defined(HAL_USE_SDC) || defined(__DOXYGEN__)
146
#define HAL_USE_SDC                         FALSE
147
#endif
148
149
/**
150
 * @brief   Enables the SERIAL subsystem.
151
 */
152
#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__)
153
#define HAL_USE_SERIAL                      TRUE
154
#endif
155
156
/**
157
 * @brief   Enables the SERIAL over USB subsystem.
158
 */
159
#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
160
#define HAL_USE_SERIAL_USB                  FALSE
161
#endif
162
163
/**
164 732a4657 Thomas Schöpping
 * @brief   Enables the SIO subsystem.
165
 */
166
#if !defined(HAL_USE_SIO) || defined(__DOXYGEN__)
167
#define HAL_USE_SIO                         FALSE
168
#endif
169
170
/**
171 27d0378b Simon Welzel
 * @brief   Enables the SPI subsystem.
172
 */
173
#if !defined(HAL_USE_SPI) || defined(__DOXYGEN__)
174
#define HAL_USE_SPI                         FALSE
175
#endif
176
177
/**
178 732a4657 Thomas Schöpping
 * @brief   Enables the TRNG subsystem.
179
 */
180
#if !defined(HAL_USE_TRNG) || defined(__DOXYGEN__)
181
#define HAL_USE_TRNG                        FALSE
182
#endif
183
184
/**
185 27d0378b Simon Welzel
 * @brief   Enables the UART subsystem.
186
 */
187
#if !defined(HAL_USE_UART) || defined(__DOXYGEN__)
188
#define HAL_USE_UART                        FALSE
189
#endif
190
191
/**
192
 * @brief   Enables the USB subsystem.
193
 */
194
#if !defined(HAL_USE_USB) || defined(__DOXYGEN__)
195
#define HAL_USE_USB                         FALSE
196
#endif
197
198
/**
199
 * @brief   Enables the WDG subsystem.
200
 */
201
#if !defined(HAL_USE_WDG) || defined(__DOXYGEN__)
202
#define HAL_USE_WDG                         FALSE
203
#endif
204
205 732a4657 Thomas Schöpping
/**
206
 * @brief   Enables the WSPI subsystem.
207
 */
208
#if !defined(HAL_USE_WSPI) || defined(__DOXYGEN__)
209
#define HAL_USE_WSPI                        FALSE
210
#endif
211
212 27d0378b Simon Welzel
/*===========================================================================*/
213
/* PAL driver related settings.                                              */
214
/*===========================================================================*/
215
216
/**
217
 * @brief   Enables synchronous APIs.
218
 * @note    Disabling this option saves both code and data space.
219
 */
220
#if !defined(PAL_USE_CALLBACKS) || defined(__DOXYGEN__)
221
#define PAL_USE_CALLBACKS                   TRUE
222
#endif
223
224
/**
225
 * @brief   Enables synchronous APIs.
226
 * @note    Disabling this option saves both code and data space.
227
 */
228
#if !defined(PAL_USE_WAIT) || defined(__DOXYGEN__)
229
#define PAL_USE_WAIT                        FALSE
230
#endif
231
232
/*===========================================================================*/
233
/* ADC driver related settings.                                              */
234
/*===========================================================================*/
235
236
/**
237
 * @brief   Enables synchronous APIs.
238
 * @note    Disabling this option saves both code and data space.
239
 */
240
#if !defined(ADC_USE_WAIT) || defined(__DOXYGEN__)
241
#define ADC_USE_WAIT                        TRUE
242
#endif
243
244
/**
245
 * @brief   Enables the @p adcAcquireBus() and @p adcReleaseBus() APIs.
246
 * @note    Disabling this option saves both code and data space.
247
 */
248
#if !defined(ADC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
249
#define ADC_USE_MUTUAL_EXCLUSION            TRUE
250
#endif
251
252
/*===========================================================================*/
253
/* CAN driver related settings.                                              */
254
/*===========================================================================*/
255
256
/**
257
 * @brief   Sleep mode related APIs inclusion switch.
258
 */
259
#if !defined(CAN_USE_SLEEP_MODE) || defined(__DOXYGEN__)
260 8543d0d9 Thomas Schöpping
#define CAN_USE_SLEEP_MODE                  TRUE
261 27d0378b Simon Welzel
#endif
262
263
/**
264
 * @brief   Enforces the driver to use direct callbacks rather than OSAL events.
265
 */
266
#if !defined(CAN_ENFORCE_USE_CALLBACKS) || defined(__DOXYGEN__)
267
#define CAN_ENFORCE_USE_CALLBACKS           FALSE
268
#endif
269
270
/*===========================================================================*/
271
/* CRY driver related settings.                                              */
272
/*===========================================================================*/
273
274
/**
275
 * @brief   Enables the SW fall-back of the cryptographic driver.
276
 * @details When enabled, this option, activates a fall-back software
277
 *          implementation for algorithms not supported by the underlying
278
 *          hardware.
279
 * @note    Fall-back implementations may not be present for all algorithms.
280
 */
281
#if !defined(HAL_CRY_USE_FALLBACK) || defined(__DOXYGEN__)
282
#define HAL_CRY_USE_FALLBACK                FALSE
283
#endif
284
285
/**
286
 * @brief   Makes the driver forcibly use the fall-back implementations.
287
 */
288
#if !defined(HAL_CRY_ENFORCE_FALLBACK) || defined(__DOXYGEN__)
289
#define HAL_CRY_ENFORCE_FALLBACK            FALSE
290
#endif
291
292
/*===========================================================================*/
293
/* DAC driver related settings.                                              */
294
/*===========================================================================*/
295
296
/**
297
 * @brief   Enables synchronous APIs.
298
 * @note    Disabling this option saves both code and data space.
299
 */
300
#if !defined(DAC_USE_WAIT) || defined(__DOXYGEN__)
301
#define DAC_USE_WAIT                        TRUE
302
#endif
303
304
/**
305
 * @brief   Enables the @p dacAcquireBus() and @p dacReleaseBus() APIs.
306
 * @note    Disabling this option saves both code and data space.
307
 */
308
#if !defined(DAC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
309
#define DAC_USE_MUTUAL_EXCLUSION            TRUE
310
#endif
311
312
/*===========================================================================*/
313
/* I2C driver related settings.                                              */
314
/*===========================================================================*/
315
316
/**
317
 * @brief   Enables the mutual exclusion APIs on the I2C bus.
318
 */
319
#if !defined(I2C_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
320
#define I2C_USE_MUTUAL_EXCLUSION            TRUE
321
#endif
322
323
/*===========================================================================*/
324
/* MAC driver related settings.                                              */
325
/*===========================================================================*/
326
327
/**
328
 * @brief   Enables the zero-copy API.
329
 */
330
#if !defined(MAC_USE_ZERO_COPY) || defined(__DOXYGEN__)
331
#define MAC_USE_ZERO_COPY                   FALSE
332
#endif
333
334
/**
335
 * @brief   Enables an event sources for incoming packets.
336
 */
337
#if !defined(MAC_USE_EVENTS) || defined(__DOXYGEN__)
338 8543d0d9 Thomas Schöpping
#define MAC_USE_EVENTS                      TRUE
339 27d0378b Simon Welzel
#endif
340
341
/*===========================================================================*/
342
/* MMC_SPI driver related settings.                                          */
343
/*===========================================================================*/
344
345
/**
346
 * @brief   Delays insertions.
347
 * @details If enabled this options inserts delays into the MMC waiting
348
 *          routines releasing some extra CPU time for the threads with
349
 *          lower priority, this may slow down the driver a bit however.
350
 *          This option is recommended also if the SPI driver does not
351
 *          use a DMA channel and heavily loads the CPU.
352
 */
353
#if !defined(MMC_NICE_WAITING) || defined(__DOXYGEN__)
354 8543d0d9 Thomas Schöpping
#define MMC_NICE_WAITING                    TRUE
355 27d0378b Simon Welzel
#endif
356
357
/*===========================================================================*/
358
/* SDC driver related settings.                                              */
359
/*===========================================================================*/
360
361
/**
362
 * @brief   Number of initialization attempts before rejecting the card.
363
 * @note    Attempts are performed at 10mS intervals.
364
 */
365
#if !defined(SDC_INIT_RETRY) || defined(__DOXYGEN__)
366
#define SDC_INIT_RETRY                      100
367
#endif
368
369
/**
370
 * @brief   Include support for MMC cards.
371
 * @note    MMC support is not yet implemented so this option must be kept
372
 *          at @p FALSE.
373
 */
374
#if !defined(SDC_MMC_SUPPORT) || defined(__DOXYGEN__)
375
#define SDC_MMC_SUPPORT                     FALSE
376
#endif
377
378
/**
379
 * @brief   Delays insertions.
380
 * @details If enabled this options inserts delays into the MMC waiting
381
 *          routines releasing some extra CPU time for the threads with
382
 *          lower priority, this may slow down the driver a bit however.
383
 */
384
#if !defined(SDC_NICE_WAITING) || defined(__DOXYGEN__)
385 8543d0d9 Thomas Schöpping
#define SDC_NICE_WAITING                    TRUE
386 27d0378b Simon Welzel
#endif
387
388
/**
389
 * @brief   OCR initialization constant for V20 cards.
390
 */
391
#if !defined(SDC_INIT_OCR_V20) || defined(__DOXYGEN__)
392
#define SDC_INIT_OCR_V20                    0x50FF8000U
393
#endif
394
395
/**
396
 * @brief   OCR initialization constant for non-V20 cards.
397
 */
398
#if !defined(SDC_INIT_OCR) || defined(__DOXYGEN__)
399
#define SDC_INIT_OCR                        0x80100000U
400
#endif
401
402
/*===========================================================================*/
403
/* SERIAL driver related settings.                                           */
404
/*===========================================================================*/
405
406
/**
407
 * @brief   Default bit rate.
408
 * @details Configuration parameter, this is the baud rate selected for the
409
 *          default configuration.
410
 */
411
#if !defined(SERIAL_DEFAULT_BITRATE) || defined(__DOXYGEN__)
412 8543d0d9 Thomas Schöpping
#define SERIAL_DEFAULT_BITRATE              115200
413 27d0378b Simon Welzel
#endif
414
415
/**
416
 * @brief   Serial buffers size.
417
 * @details Configuration parameter, you can change the depth of the queue
418
 *          buffers depending on the requirements of your application.
419
 * @note    The default is 16 bytes for both the transmission and receive
420
 *          buffers.
421
 */
422
#if !defined(SERIAL_BUFFERS_SIZE) || defined(__DOXYGEN__)
423
#define SERIAL_BUFFERS_SIZE                 16
424
#endif
425
426
/*===========================================================================*/
427
/* SERIAL_USB driver related setting.                                        */
428
/*===========================================================================*/
429
430
/**
431
 * @brief   Serial over USB buffers size.
432
 * @details Configuration parameter, the buffer size must be a multiple of
433
 *          the USB data endpoint maximum packet size.
434
 * @note    The default is 256 bytes for both the transmission and receive
435
 *          buffers.
436
 */
437
#if !defined(SERIAL_USB_BUFFERS_SIZE) || defined(__DOXYGEN__)
438
#define SERIAL_USB_BUFFERS_SIZE             256
439
#endif
440
441
/**
442
 * @brief   Serial over USB number of buffers.
443
 * @note    The default is 2 buffers.
444
 */
445
#if !defined(SERIAL_USB_BUFFERS_NUMBER) || defined(__DOXYGEN__)
446
#define SERIAL_USB_BUFFERS_NUMBER           2
447
#endif
448
449
/*===========================================================================*/
450
/* SPI driver related settings.                                              */
451
/*===========================================================================*/
452
453
/**
454
 * @brief   Enables synchronous APIs.
455
 * @note    Disabling this option saves both code and data space.
456
 */
457
#if !defined(SPI_USE_WAIT) || defined(__DOXYGEN__)
458
#define SPI_USE_WAIT                        TRUE
459
#endif
460
461
/**
462
 * @brief   Enables circular transfers APIs.
463
 * @note    Disabling this option saves both code and data space.
464
 */
465
#if !defined(SPI_USE_CIRCULAR) || defined(__DOXYGEN__)
466
#define SPI_USE_CIRCULAR                    FALSE
467
#endif
468
469
470
/**
471
 * @brief   Enables the @p spiAcquireBus() and @p spiReleaseBus() APIs.
472
 * @note    Disabling this option saves both code and data space.
473
 */
474
#if !defined(SPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
475
#define SPI_USE_MUTUAL_EXCLUSION            TRUE
476
#endif
477
478
/**
479
 * @brief   Handling method for SPI CS line.
480
 * @note    Disabling this option saves both code and data space.
481
 */
482
#if !defined(SPI_SELECT_MODE) || defined(__DOXYGEN__)
483
#define SPI_SELECT_MODE                     SPI_SELECT_MODE_PAD
484
#endif
485
486
/*===========================================================================*/
487
/* UART driver related settings.                                             */
488
/*===========================================================================*/
489
490
/**
491
 * @brief   Enables synchronous APIs.
492
 * @note    Disabling this option saves both code and data space.
493
 */
494
#if !defined(UART_USE_WAIT) || defined(__DOXYGEN__)
495
#define UART_USE_WAIT                       FALSE
496
#endif
497
498
/**
499
 * @brief   Enables the @p uartAcquireBus() and @p uartReleaseBus() APIs.
500
 * @note    Disabling this option saves both code and data space.
501
 */
502
#if !defined(UART_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
503
#define UART_USE_MUTUAL_EXCLUSION           FALSE
504
#endif
505
506
/*===========================================================================*/
507
/* USB driver related settings.                                              */
508
/*===========================================================================*/
509
510
/**
511
 * @brief   Enables synchronous APIs.
512
 * @note    Disabling this option saves both code and data space.
513
 */
514
#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
515
#define USB_USE_WAIT                        FALSE
516
#endif
517
518 732a4657 Thomas Schöpping
/*===========================================================================*/
519
/* WSPI driver related settings.                                             */
520
/*===========================================================================*/
521
522
/**
523
 * @brief   Enables synchronous APIs.
524
 * @note    Disabling this option saves both code and data space.
525
 */
526
#if !defined(WSPI_USE_WAIT) || defined(__DOXYGEN__)
527
#define WSPI_USE_WAIT                       TRUE
528
#endif
529
530
/**
531
 * @brief   Enables the @p wspiAcquireBus() and @p wspiReleaseBus() APIs.
532
 * @note    Disabling this option saves both code and data space.
533
 */
534
#if !defined(WSPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
535
#define WSPI_USE_MUTUAL_EXCLUSION           TRUE
536
#endif
537
538 6ff06bbf Thomas Schöpping
#endif /* HALCONF_H */
539 27d0378b Simon Welzel
540
/** @} */