Blame view

RIOT/boards/yunjia-nrf51822/include/periph_conf.h 2.92 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
  /*
   * Copyright (C) 2014 Freie Universitรคt Berlin
   *
   * 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_yunjia-nrf51822
   * @{
   *
   * @file
   * @brief       Peripheral MCU configuration for the Yunjia NRF51822 board
   *
   * @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         (0)             /* 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
   * @{
   */
  #define UART_NUMOF          (1U)
  /* UART pin configuration */
  #define UART_PIN_RX         1
  #define UART_PIN_TX         2
  /** @} */
  
  /**
   * @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 = 19,
          .mosi = 17,
          .miso = 18
      },
      {
          .dev  = NRF_SPI1,
          .sclk = 22,
          .mosi = 20,
          .miso = 21
      }
  };
  
  #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 = 23,
          .pin_sda = 24,
          .ppi     = 0
      }
  };
  
  #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          {4, 5, 6, 7}
  #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
  }
  #endif
  
  #endif /* PERIPH_CONF_H */