Blame view

RIOT/boards/airfy-beacon/include/periph_conf.h 3.08 KB
a752c7ab   elopes   add first test an...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
  /*
   * Copyright (C) 2014 Christian Mehlis <mehlis@inf.fu-berlin.de>
   *
   * This file is subject to the terms and conditions of the GNU Lesser
   * General Public License v2.1. See the file LICENSE in the top level
   * directory for more details.
   */
  
  /**
   * @ingroup     boards_airfy-beacon
   * @{
   *
   * @file
   * @brief       Peripheral MCU configuration for the Airfy Beacon board
   *
   * @author      Christian Mehlis <mehlis@inf.fu-berlin.de>
   * @author      Hauke Petersen <hauke.petersen@fu-berlin.de>
   */
  
  #ifndef PERIPH_CONF_H
  #define PERIPH_CONF_H
  
  #include "periph_cpu.h"
  
  #ifdef __cplusplus
   extern "C" {
  #endif
  
  /**
   * @name    Clock configuration
   *
   * @note    The radio will not work with the internal RC oscillator!
   *
   * @{
   */
  #define CLOCK_HFCLK         (16U)           /* set to  0: internal RC oscillator
                                                        16: 16MHz crystal
                                                        32: 32MHz crystal */
  #define CLOCK_LFCLK         (1)             /* set to  0: internal RC oscillator
                                               *         1: 32.768 kHz crystal
                                               *         2: derived from HFCLK */
  /** @} */
  
  /**
   * @name    Timer configuration
   * @{
   */
  static const timer_conf_t timer_config[] = {
      /* dev, channels, width */
      { NRF_TIMER0, 3, TIMER_BITMODE_BITMODE_24Bit, TIMER0_IRQn }
  };
  
  #define TIMER_0_ISR         isr_timer0
  
  #define TIMER_NUMOF         (sizeof(timer_config) / sizeof(timer_config[0]))
  /** @} */
  
  /**
   * @name    UART configuration
   *
   *          The CPU only supports one UART device, so we keep it simple
   * @{
   */
  #define UART_NUMOF          (1U)
  #define UART_PIN_RX         17
  #define UART_PIN_TX         18
  /** @} */
  
  /**
   * @name    Real time counter configuration
   * @{
   */
  #define RTT_NUMOF           (1U)
  #define RTT_DEV             (1)             /* NRF_RTC1 */
  #define RTT_MAX_VALUE       (0x00ffffff)
  #define RTT_FREQUENCY       (1024)
  /** @} */
  
  /**
   * @name    SPI configuration
   * @{
   */
  static const spi_conf_t spi_config[] = {
      {
          .dev  = NRF_SPI0,
          .sclk = 15,
          .mosi = 13,
          .miso = 14
      }
  };
  
  #define SPI_NUMOF           (sizeof(spi_config) / sizeof(spi_config[0]))
  /** @} */
  
  /**
   * @name    I2C (TWI) configuration
   * @{
   */
  static const i2c_conf_t i2c_config[] = {
      {
          .dev     = NRF_TWI0,
          .pin_scl = 7,
          .pin_sda = 8,
          .ppi     = 0
      },
      {
          .dev     = NRF_TWI1,
          .pin_scl = 9,
          .pin_sda = 10,
          .ppi     = 1
      }
  };
  
  #define I2C_NUMOF           (sizeof(i2c_config) / sizeof(i2c_config[0]))
  /** @} */
  
  /**
   * @name    ADC configuration
   *
   * The configuration consists simply of a list of channels that should be used
   * @{
   */
  #define ADC_CONFIG          {3, 4, 5, 6}
  #define ADC_NUMOF           (4)
  /** @} */
  
  /**
   * @name    Radio device configuration
   *
   * The radio is not guarded by a NUMOF define, as the radio is selected by its
   * own module in the build system.
   * @{
   */
  #define RADIO_IRQ_PRIO      1
  /** @} */
  
  #ifdef __cplusplus
  } /* end extern "C" */
  #endif
  
  #endif /* PERIPH_CONF_H */