Blame view

RIOT/boards/f4vi1/include/periph_conf.h 2.95 KB
fb11e647   vrobic   reseau statique a...
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
  /*
   * 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 system configuration
   * @{
   */
  #define CLOCK_HSE           (16000000U)          /* external oscillator */
  #define CLOCK_CORECLOCK     (168000000U)        /* desired core clock frequency */
  
  /* the actual PLL values are automatically generated */
  #define CLOCK_PLL_M         (CLOCK_HSE / 1000000)
  #define CLOCK_PLL_N         ((CLOCK_CORECLOCK / 1000000) * 2)
  #define CLOCK_PLL_P         (2U)
  #define CLOCK_PLL_Q         (CLOCK_PLL_N / 48)
  #define CLOCK_AHB_DIV       RCC_CFGR_HPRE_DIV1
  #define CLOCK_APB2_DIV      RCC_CFGR_PPRE2_DIV2
  #define CLOCK_APB1_DIV      RCC_CFGR_PPRE1_DIV4
  #define CLOCK_FLASH_LATENCY FLASH_ACR_LATENCY_5WS
  
  /* bus clocks for simplified peripheral initialization, UPDATE MANUALLY! */
  #define CLOCK_AHB           (CLOCK_CORECLOCK / 1)
  #define CLOCK_APB2          (CLOCK_CORECLOCK / 2)
  #define CLOCK_APB1          (CLOCK_CORECLOCK / 4)
  /** @} */
  
  /**
   * @brief   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),
          .af         = GPIO_AF8,
          .bus        = APB2,
          .irqn       = USART6_IRQn,
          .dma_stream = 14,
          .dma_chan   = 5
      },
  };
  
  /* assign ISR vector names */
  #define UART_0_ISR          isr_usart6
  #define UART_0_DMA_ISR      isr_dma2_stream6
  
  /* deduct number of defined UART interfaces */
  #define UART_NUMOF          (sizeof(uart_config) / sizeof(uart_config[0]))
  /** @} */
  
  /**
   * @brief   ADC configuration
   * @{
   */
  #define ADC_NUMOF           (0)
  /** @} */
  
  /**
   * @brief   DAC configuration
   * @{
   */
  #define DAC_NUMOF           (0)
  /** @} */
  
  #ifdef __cplusplus
  }
  #endif
  
  #endif /* PERIPH_CONF_H_ */
  /** @} */