Blame view

RIOT/boards/stm32f7discovery/include/periph_conf.h 2.79 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
  /*
   * Copyright (C) 2017 OTA keys S.A.
   *
   * 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_stm32f7discovery
   * @{
   *
   * @file
   * @brief       Peripheral MCU configuration for the stm32f769discovery6 board
   *
   * @author      Vincent Dupont <vincent@otakeys.com>
   */
  
  #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: 216MHz */
  #define CLOCK_CORECLOCK     (216000000U)
  /* 0: no external high speed crystal available
   * else: actual crystal frequency [in Hz] */
  #define CLOCK_HSE           (25000000U)
  /* 0: no external low speed crystal available,
   * 1: external crystal available (always 32.768kHz) */
  #define CLOCK_LSE           (1)
  /* 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 54MHz */
  #define CLOCK_APB1          (CLOCK_CORECLOCK / 4)
  #define CLOCK_APB2_DIV      RCC_CFGR_PPRE2_DIV2     /* max 108MHz */
  #define CLOCK_APB2          (CLOCK_CORECLOCK / 2)
  
  /* Main PLL factors */
  #define CLOCK_PLL_M          (25)
  #define CLOCK_PLL_N          (432)
  #define CLOCK_PLL_P          (2)
  #define CLOCK_PLL_Q          (9)
  /** @} */
  
  /**
   * @name    Timer configuration
   * @{
   */
  static const timer_conf_t timer_config[] = {
      {
          .dev      = TIM2,
          .max      = 0xffffffff,
          .rcc_mask = RCC_APB1ENR_TIM2EN,
          .bus      = APB1,
          .irqn     = TIM2_IRQn
      }
  };
  
  #define TIMER_0_ISR         isr_tim2
  
  #define TIMER_NUMOF         (sizeof(timer_config) / sizeof(timer_config[0]))
  /** @} */
  
  /**
   * @name    UART configuration
   * @{
   */
  static const uart_conf_t uart_config[] = {
      {
          .dev        = USART1,
          .rcc_mask   = RCC_APB2ENR_USART1EN,
          .rx_pin     = GPIO_PIN(PORT_A, 10),
          .tx_pin     = GPIO_PIN(PORT_A, 9),
          .rx_af      = GPIO_AF7,
          .tx_af      = GPIO_AF7,
          .bus        = APB2,
          .irqn       = USART1_IRQn,
  #ifdef UART_USE_DMA
          .dma_stream = 4,
          .dma_chan   = 4
  #endif
      }
  };
  
  #define UART_0_ISR          (isr_usart1)
  #define UART_0_DMA_ISR      (isr_dma1_stream4)
  
  #define UART_NUMOF          (sizeof(uart_config) / sizeof(uart_config[0]))
  /** @} */
  
  /**
   * @name    ADC configuration
   * @{
   */
  #define ADC_NUMOF           (0)
  /** @} */
  
  /**
   * @name    RTC configuration
   * @{
   */
  #define RTC_NUMOF           (1)
  /** @} */
  
  #ifdef __cplusplus
  }
  #endif
  
  #endif /* PERIPH_CONF_H */
  /** @} */