Blame view

RIOT/boards/f4vi1/include/periph_conf.h 3.02 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
  /*
   * 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_f4vi1
   * @{
   *
   * @file
   * @name       Peripheral MCU configuration for the F4VI1 board
   *
   * @author      Stefan Pfeiffer <pfeiffer@inf.fu-berlin.de>
   * @author      Hauke Petersen <hauke.petersen@fu-berlin.de>
   * @author      Peter Kietzmann <peter.kietzmann@haw-hamburg.de>
   */
  
  #ifndef PERIPH_CONF_H
  #define PERIPH_CONF_H
  
  #include "periph_cpu.h"
  
  #ifdef __cplusplus
  extern "C" {
  #endif
  
  /**
   * @name    Clock settings
   *
   * @note    This is auto-generated from
   *          `cpu/stm32_common/dist/clk_conf/clk_conf.c`
   * @{
   */
  /* give the target core clock (HCLK) frequency [in Hz],
   * maximum: 168MHz */
  #define CLOCK_CORECLOCK     (168000000U)
  /* 0: no external high speed crystal available
   * else: actual crystal frequency [in Hz] */
  #define CLOCK_HSE           (16000000U)
  /* 0: no external low speed crystal available,
   * 1: external crystal available (always 32.768kHz) */
  #define CLOCK_LSE           (0)
  /* peripheral clock setup */
  #define CLOCK_AHB_DIV       RCC_CFGR_HPRE_DIV1
  #define CLOCK_AHB           (CLOCK_CORECLOCK / 1)
  #define CLOCK_APB1_DIV      RCC_CFGR_PPRE1_DIV4     /* max 42MHz */
  #define CLOCK_APB1          (CLOCK_CORECLOCK / 4)
  #define CLOCK_APB2_DIV      RCC_CFGR_PPRE2_DIV2     /* max 84MHz */
  #define CLOCK_APB2          (CLOCK_CORECLOCK / 2)
  
  /* Main PLL factors */
  #define CLOCK_PLL_M          (8)
  #define CLOCK_PLL_N          (168)
  #define CLOCK_PLL_P          (2)
  #define CLOCK_PLL_Q          (7)
  /** @} */
  
  /**
   * @name    Timer configuration
   * @{
   */
  static const timer_conf_t timer_config[] = {
      {
          .dev      = TIM2,
          .max      = 0xffffffff,
          .rcc_mask = RCC_APB1ENR_TIM2EN,
          .bus      = APB1,
          .irqn     = TIM2_IRQn
      },
      {
          .dev      = TIM5,
          .max      = 0xffffffff,
          .rcc_mask = RCC_APB1ENR_TIM5EN,
          .bus      = APB1,
          .irqn     = TIM5_IRQn
      }
  };
  
  #define TIMER_0_ISR         isr_tim2
  #define TIMER_1_ISR         isr_tim5
  
  #define TIMER_NUMOF         (sizeof(timer_config) / sizeof(timer_config[0]))
  /** @} */
  
  /**
   * @name    UART configuration
   * @{
   */
  static const uart_conf_t uart_config[] = {
      {
          .dev        = USART6,
          .rcc_mask   = RCC_APB2ENR_USART6EN,
          .rx_pin     = GPIO_PIN(PORT_C, 7),
          .tx_pin     = GPIO_PIN(PORT_C, 6),
          .rx_af      = GPIO_AF8,
          .tx_af      = GPIO_AF8,
          .bus        = APB2,
          .irqn       = USART6_IRQn
  #ifdef UART_USE_DMA
          .dma_stream = 14,
          .dma_chan   = 5
  #endif
      }
  };
  
  #define UART_0_ISR          (isr_usart6)
  #define UART_0_DMA_ISR      (isr_dma2_stream6)
  
  #define UART_NUMOF          (sizeof(uart_config) / sizeof(uart_config[0]))
  /** @} */
  
  /**
   * @name    ADC configuration
   * @{
   */
  #define ADC_NUMOF           (0)
  /** @} */
  
  #ifdef __cplusplus
  }
  #endif
  
  #endif /* PERIPH_CONF_H */
  /** @} */