Statistics
| Branch: | Tag: | Revision:

amiro-os / modules / LightRing_1-0 / halconf.h @ 1dd7edc7

History | View | Annotate | Download (16.412 KB)

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

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 58fe0e0b Thomas Schöpping
#ifndef _HALCONF_H_
31
#define _HALCONF_H_
32
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
/**
200 58fe0e0b Thomas Schöpping
 * @brief   Enables the QEI subsystem.
201
 */
202
#if !defined(HAL_USE_QEI) || defined(__DOXYGEN__)
203 1e5f7648 Thomas Schöpping
#define HAL_USE_QEI                         FALSE
204
#endif
205
206
/*===========================================================================*/
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 1e5f7648 Thomas Schöpping
#define ADC_USE_WAIT                        FALSE
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 1e5f7648 Thomas Schöpping
#define ADC_USE_MUTUAL_EXCLUSION            FALSE
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 1e5f7648 Thomas Schöpping
#define MAC_USE_EVENTS                      FALSE
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 1e5f7648 Thomas Schöpping
#define MMC_NICE_WAITING                    FALSE
349
#endif
350
351
/*===========================================================================*/
352
/* QSPI driver related settings.                                             */
353
/*===========================================================================*/
354
355
/**
356
 * @brief   Enables synchronous APIs.
357
 * @note    Disabling this option saves both code and data space.
358
 */
359
#if !defined(QSPI_USE_WAIT) || defined(__DOXYGEN__)
360
#define QSPI_USE_WAIT                       TRUE
361
#endif
362
363
/**
364
 * @brief   Enables the @p qspiAcquireBus() and @p qspiReleaseBus() APIs.
365
 * @note    Disabling this option saves both code and data space.
366
 */
367
#if !defined(QSPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
368
#define QSPI_USE_MUTUAL_EXCLUSION           TRUE
369 58fe0e0b Thomas Schöpping
#endif
370
371
/*===========================================================================*/
372
/* SDC driver related settings.                                              */
373
/*===========================================================================*/
374
375
/**
376
 * @brief   Number of initialization attempts before rejecting the card.
377
 * @note    Attempts are performed at 10mS intervals.
378
 */
379
#if !defined(SDC_INIT_RETRY) || defined(__DOXYGEN__)
380 1e5f7648 Thomas Schöpping
#define SDC_INIT_RETRY                      100
381 58fe0e0b Thomas Schöpping
#endif
382
383
/**
384
 * @brief   Include support for MMC cards.
385
 * @note    MMC support is not yet implemented so this option must be kept
386
 *          at @p FALSE.
387
 */
388
#if !defined(SDC_MMC_SUPPORT) || defined(__DOXYGEN__)
389 1e5f7648 Thomas Schöpping
#define SDC_MMC_SUPPORT                     FALSE
390 58fe0e0b Thomas Schöpping
#endif
391
392
/**
393
 * @brief   Delays insertions.
394
 * @details If enabled this options inserts delays into the MMC waiting
395
 *          routines releasing some extra CPU time for the threads with
396
 *          lower priority, this may slow down the driver a bit however.
397
 */
398
#if !defined(SDC_NICE_WAITING) || defined(__DOXYGEN__)
399 1e5f7648 Thomas Schöpping
#define SDC_NICE_WAITING                    FALSE
400
#endif
401
402
/**
403
 * @brief   OCR initialization constant for V20 cards.
404
 */
405
#if !defined(SDC_INIT_OCR_V20) || defined(__DOXYGEN__)
406
#define SDC_INIT_OCR_V20                    0x50FF8000U
407
#endif
408
409
/**
410
 * @brief   OCR initialization constant for non-V20 cards.
411
 */
412
#if !defined(SDC_INIT_OCR) || defined(__DOXYGEN__)
413
#define SDC_INIT_OCR                        0x80100000U
414 58fe0e0b Thomas Schöpping
#endif
415
416
/*===========================================================================*/
417
/* SERIAL driver related settings.                                           */
418
/*===========================================================================*/
419
420
/**
421
 * @brief   Default bit rate.
422
 * @details Configuration parameter, this is the baud rate selected for the
423
 *          default configuration.
424
 */
425
#if !defined(SERIAL_DEFAULT_BITRATE) || defined(__DOXYGEN__)
426 1e5f7648 Thomas Schöpping
#define SERIAL_DEFAULT_BITRATE              115200
427 58fe0e0b Thomas Schöpping
#endif
428
429
/**
430
 * @brief   Serial buffers size.
431
 * @details Configuration parameter, you can change the depth of the queue
432
 *          buffers depending on the requirements of your application.
433 e545e620 Thomas Schöpping
 * @note    The default is 16 bytes for both the transmission and receive
434 58fe0e0b Thomas Schöpping
 *          buffers.
435
 */
436
#if !defined(SERIAL_BUFFERS_SIZE) || defined(__DOXYGEN__)
437 1e5f7648 Thomas Schöpping
#define SERIAL_BUFFERS_SIZE                 16
438 58fe0e0b Thomas Schöpping
#endif
439
440
/*===========================================================================*/
441 e545e620 Thomas Schöpping
/* SERIAL_USB driver related setting.                                        */
442
/*===========================================================================*/
443
444
/**
445
 * @brief   Serial over USB buffers size.
446
 * @details Configuration parameter, the buffer size must be a multiple of
447
 *          the USB data endpoint maximum packet size.
448
 * @note    The default is 256 bytes for both the transmission and receive
449
 *          buffers.
450
 */
451
#if !defined(SERIAL_USB_BUFFERS_SIZE) || defined(__DOXYGEN__)
452 1e5f7648 Thomas Schöpping
#define SERIAL_USB_BUFFERS_SIZE             256
453 e545e620 Thomas Schöpping
#endif
454
455
/**
456
 * @brief   Serial over USB number of buffers.
457
 * @note    The default is 2 buffers.
458
 */
459
#if !defined(SERIAL_USB_BUFFERS_NUMBER) || defined(__DOXYGEN__)
460 1e5f7648 Thomas Schöpping
#define SERIAL_USB_BUFFERS_NUMBER           2
461 e545e620 Thomas Schöpping
#endif
462
463
/*===========================================================================*/
464 58fe0e0b Thomas Schöpping
/* SPI driver related settings.                                              */
465
/*===========================================================================*/
466
467
/**
468
 * @brief   Enables synchronous APIs.
469
 * @note    Disabling this option saves both code and data space.
470
 */
471
#if !defined(SPI_USE_WAIT) || defined(__DOXYGEN__)
472 1e5f7648 Thomas Schöpping
#define SPI_USE_WAIT                        TRUE
473 58fe0e0b Thomas Schöpping
#endif
474
475
/**
476 1e5f7648 Thomas Schöpping
 * @brief   Enables circular transfers APIs.
477
 * @note    Disabling this option saves both code and data space.
478
 */
479
#if !defined(SPI_USE_CIRCULAR) || defined(__DOXYGEN__)
480
#define SPI_USE_CIRCULAR                    FALSE
481
#endif
482
483
484
/**
485 58fe0e0b Thomas Schöpping
 * @brief   Enables the @p spiAcquireBus() and @p spiReleaseBus() APIs.
486
 * @note    Disabling this option saves both code and data space.
487
 */
488
#if !defined(SPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
489 1e5f7648 Thomas Schöpping
#define SPI_USE_MUTUAL_EXCLUSION            TRUE
490
#endif
491
492
/**
493
 * @brief   Handling method for SPI CS line.
494
 * @note    Disabling this option saves both code and data space.
495
 */
496
#if !defined(SPI_SELECT_MODE) || defined(__DOXYGEN__)
497
#define SPI_SELECT_MODE                     SPI_SELECT_MODE_PAD
498 58fe0e0b Thomas Schöpping
#endif
499
500 e545e620 Thomas Schöpping
/*===========================================================================*/
501
/* UART 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(UART_USE_WAIT) || defined(__DOXYGEN__)
509 1e5f7648 Thomas Schöpping
#define UART_USE_WAIT                       FALSE
510 e545e620 Thomas Schöpping
#endif
511
512
/**
513
 * @brief   Enables the @p uartAcquireBus() and @p uartReleaseBus() APIs.
514
 * @note    Disabling this option saves both code and data space.
515
 */
516
#if !defined(UART_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
517 1e5f7648 Thomas Schöpping
#define UART_USE_MUTUAL_EXCLUSION           FALSE
518 e545e620 Thomas Schöpping
#endif
519
520
/*===========================================================================*/
521
/* USB driver related settings.                                              */
522
/*===========================================================================*/
523
524
/**
525
 * @brief   Enables synchronous APIs.
526
 * @note    Disabling this option saves both code and data space.
527
 */
528
#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
529 1e5f7648 Thomas Schöpping
#define USB_USE_WAIT                        FALSE
530 e545e620 Thomas Schöpping
#endif
531
532 58fe0e0b Thomas Schöpping
#endif /* _HALCONF_H_ */
533 3f899f5d Thomas Schöpping
534
/** @} */