Statistics
| Branch: | Tag: | Revision:

amiro-os / modules / LightRing_1-0 / halconf.h @ 55a84503

History | View | Annotate | Download (16.255 KB)

1 e545e620 Thomas Schöpping
/*
2
AMiRo-OS is an operating system designed for the Autonomous Mini Robot (AMiRo) platform.
3 84f0ce9e Thomas Schöpping
Copyright (C) 2016..2019  Thomas Schöpping et al.
4 e545e620 Thomas Schöpping

5
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

10
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

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