Statistics
| Branch: | Tag: | Revision:

amiro-os / modules / LightRing_1-0 / halconf.h @ 4b8243d7

History | View | Annotate | Download (16.403 KB)

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