Statistics
| Branch: | Tag: | Revision:

amiro-os / modules / NUCLEO-F767ZI / board.h @ ad898009

History | View | Annotate | Download (114.676 KB)

1 21e5be0b Thomas Schöpping
/*
2
AMiRo-OS is an operating system designed for the Autonomous Mini Robot (AMiRo) platform.
3
Copyright (C) 2016..2019  Thomas Schöpping et al.
4

5
This program is free software: you can redistribute it and/or modify
6
it under the terms of the GNU General Public License as published by
7
the Free Software Foundation, either version 3 of the License, or
8
(at your option) any later version.
9

10
This program is distributed in the hope that it will be useful,
11
but WITHOUT ANY WARRANTY; without even the implied warranty of
12
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
GNU General Public License for more details.
14

15
You should have received a copy of the GNU General Public License
16
along with this program.  If not, see <http://www.gnu.org/licenses/>.
17
*/
18
19
#ifndef BOARD_H
20
#define BOARD_H
21
22
/*===========================================================================*/
23
/* Driver constants.                                                         */
24
/*===========================================================================*/
25
26
/*
27
 * Setup for STMicroelectronics STM32 Nucleo144-F767ZI board.
28
 */
29
30
/*
31
 * Board identifier.
32
 */
33
#define BOARD_ST_NUCLEO144_F767ZI
34
#define BOARD_NAME                  "STMicroelectronics STM32 Nucleo144-F767ZI"
35
36
/*
37
 * Ethernet PHY type.
38
 */
39
#define BOARD_PHY_ID                MII_LAN8742A_ID
40
#define BOARD_PHY_RMII
41
42
/*
43
 * Board oscillators-related settings.
44
 */
45
#if !defined(STM32_LSECLK)
46
#define STM32_LSECLK                32768U
47
#endif
48
49
#define STM32_LSEDRV                (3U << 3U)
50
51
#if !defined(STM32_HSECLK)
52
#define STM32_HSECLK                8000000U
53
#endif
54
55
#define STM32_HSE_BYPASS
56
57
/*
58
 * Board voltages.
59
 * Required for performance limits calculation.
60
 */
61
#define STM32_VDD                   300U
62
63
/*
64
 * MCU type as defined in the ST header.
65
 */
66
#define STM32F767xx
67
68
/*
69
 * IO pins assignments.
70
 */
71
#define GPIOA_ZIO_D32               0U
72
#define GPIOA_TIM2_CH1              0U
73
#define GPIOA_RMII_REF_CLK          1U
74
#define GPIOA_RMII_MDIO             2U
75
#define GPIOA_ARD_A0                3U
76
#define GPIOA_ADC123_IN3            3U
77
#define GPIOA_ZIO_D24               4U
78
#define GPIOA_SPI3_NSS              4U
79
#define GPIOA_ARD_D13               5U
80
#define GPIOA_SPI1_SCK              5U
81
#define GPIOA_ARD_D12               6U
82
#define GPIOA_SPI1_MISO             6U
83
#define GPIOA_ARD_D11               7U
84
#define GPIOA_SPI1_MOSI             7U
85
#define GPIOA_ZIO_D71               7U
86
#define GPIOA_RMII_RX_DV            7U
87
#define GPIOA_USB_SOF               8U
88
#define GPIOA_USB_VBUS              9U
89
#define GPIOA_USB_ID                10U
90
#define GPIOA_USB_DM                11U
91
#define GPIOA_USB_DP                12U
92
#define GPIOA_SWDIO                 13U
93
#define GPIOA_SWCLK                 14U
94
#define GPIOA_ZIO_D20               15U
95
#define GPIOA_I2S3_WS               15U
96
97
#define GPIOB_ZIO_D33               0U
98
#define GPIOB_TIM3_CH3              0U
99
#define GPIOB_LED1                  0U
100
#define GPIOB_ZIO_A6                1U
101
#define GPIOB_ADC12_IN9             1U
102
#define GPIOB_ZIO_D27               2U
103
#define GPIOB_QSPI_CLK              2U
104
#define GPIOB_ZIO_D23               3U
105
#define GPIOB_I2S3_CK               3U
106
#define GPIOB_ZIO_D25               4U
107
#define GPIOB_SPI3_MISO             4U
108
#define GPIOB_ZIO_D22               5U
109
#define GPIOB_I2S3_SD               5U
110
#define GPIOB_ZIO_D26               6U
111
#define GPIOB_QSPI_BK1_NCS          6U
112
#define GPIOB_LED2                  7U
113
#define GPIOB_ARD_D15               8U
114
#define GPIOB_I2C1_SCL              8U
115
#define GPIOB_ARD_D14               9U
116
#define GPIOB_I2C1_SDA              9U
117
#define GPIOB_ZIO_D36               10U
118
#define GPIOB_TIM2_CH3              10U
119
#define GPIOB_ZIO_D35               11U
120
#define GPIOB_TIM2_CH4              11U
121
#define GPIOB_ZIO_D19               12U
122
#define GPIOB_I2S2_WS               12U
123
#define GPIOB_ZIO_D18               13U
124
#define GPIOB_I2S2_CK               13U
125
#define GPIOB_RMII_TXD1             13U
126
#define GPIOB_LED3                  14U
127
#define GPIOB_ZIO_D17               15U
128
#define GPIOB_I2S2_SD               15U
129
130
#define GPIOC_ARD_A1                0U
131
#define GPIOC_ADC123_IN10           0U
132
#define GPIOC_RMII_MDC              1U
133
#define GPIOC_ZIO_A7                2U
134
#define GPIOC_ADC123_IN12           2U
135
#define GPIOC_ARD_A2                3U
136
#define GPIOC_ADC123_IN13           3U
137
#define GPIOC_RMII_RXD0             4U
138
#define GPIOC_RMII_RXD1             5U
139
#define GPIOC_ZIO_D16               6U
140
#define GPIOC_I2S2_MCK              6U
141
#define GPIOC_ZIO_D21               7U
142
#define GPIOC_I2S3_MCK              7U
143
#define GPIOC_ZIO_D43               8U
144
#define GPIOC_SDMMC_D0              8U
145
#define GPIOC_ZIO_D44               9U
146
#define GPIOC_SDMMC_D1              9U
147
#define GPIOC_ZIO_D45               10U
148
#define GPIOC_SDMMC_D2              10U
149
#define GPIOC_ZIO_D46               11U
150
#define GPIOC_SDMMC_D3              11U
151
#define GPIOC_ZIO_D47               12U
152
#define GPIOC_SDMMC_CK              12U
153
#define GPIOC_BUTTON                13U
154
#define GPIOC_OSC32_IN              14U
155
#define GPIOC_OSC32_OUT             15U
156
157
#define GPIOD_ZIO_D67               0U
158
#define GPIOD_CAN1_RX               0U
159
#define GPIOD_ZIO_D66               1U
160
#define GPIOD_CAN1_TX               1U
161
#define GPIOD_ZIO_D48               2U
162
#define GPIOD_SDMMC_CMD             2U
163
#define GPIOD_ZIO_D55               3U
164
#define GPIOD_USART2_CTS            3U
165
#define GPIOD_ZIO_D54               4U
166
#define GPIOD_USART2_RTS            4U
167
#define GPIOD_ZIO_D53               5U
168
#define GPIOD_USART2_TX             5U
169
#define GPIOD_ZIO_D52               6U
170
#define GPIOD_USART2_RX             6U
171
#define GPIOD_ZIO_D51               7U
172
#define GPIOD_USART2_SCLK           7U
173
#define GPIOD_USART3_RX             8U
174
#define GPIOD_STLK_RX               8U
175
#define GPIOD_USART3_TX             9U
176
#define GPIOD_STLK_TX               9U
177
#define GPIOD_PIN10                 10U
178
#define GPIOD_ZIO_D30               11U
179
#define GPIOD_QSPI_BK1_IO0          11U
180
#define GPIOD_ZIO_D29               12U
181
#define GPIOD_QSPI_BK1_IO1          12U
182
#define GPIOD_ZIO_D28               13U
183
#define GPIOD_QSPI_BK1_IO3          13U
184
#define GPIOD_ARD_D10               14U
185
#define GPIOD_SPI1_NSS              14U
186
#define GPIOD_ARD_D9                15U
187
#define GPIOD_TIM4_CH4              15U
188
189
#define GPIOE_ZIO_D34               0U
190
#define GPIOE_TIM4_ETR              0U
191
#define GPIOE_PIN1                  1U
192
#define GPIOE_ZIO_D31               2U
193
#define GPIOE_ZIO_D56               2U
194
#define GPIOE_SAI1_MCLK_A           2U
195
#define GPIOE_ZIO_D60               3U
196
#define GPIOE_SAI1_SD_B             3U
197
#define GPIOE_ZIO_D57               4U
198
#define GPIOE_SAI1_FS_A             4U
199
#define GPIOE_ZIO_D58               5U
200
#define GPIOE_SAI1_SCK_A            5U
201
#define GPIOE_ZIO_D59               6U
202
#define GPIOE_SAI1_SD_A             6U
203
#define GPIOE_ZIO_D41               7U
204
#define GPIOE_TIM1_ETR              7U
205
#define GPIOE_ZIO_D42               8U
206
#define GPIOE_TIM1_CH1N             8U
207
#define GPIOE_ARD_D6                9U
208
#define GPIOE_TIM1_CH1              9U
209
#define GPIOE_ZIO_D40               10U
210
#define GPIOE_TIM1_CH2N             10U
211
#define GPIOE_ARD_D5                11U
212
#define GPIOE_TIM1_CH2              11U
213
#define GPIOE_ZIO_D39               12U
214
#define GPIOE_TIM1_CH3N             12U
215
#define GPIOE_ARD_D3                13U
216
#define GPIOE_TIM1_CH3              13U
217
#define GPIOE_ZIO_D38               14U
218
#define GPIOE_ZIO_D37               15U
219
#define GPIOE_TIM1_BKIN1            15U
220
221
#define GPIOF_ZIO_D68               0U
222
#define GPIOF_I2C2_SDA              0U
223
#define GPIOF_ZIO_D69               1U
224
#define GPIOF_I2C2_SCL              1U
225
#define GPIOF_ZIO_D70               2U
226
#define GPIOF_I2C2_SMBA             2U
227
#define GPIOF_ARD_A3                3U
228
#define GPIOF_ADC3_IN9              3U
229
#define GPIOF_ZIO_A8                4U
230
#define GPIOF_ADC3_IN14             4U
231
#define GPIOF_ARD_A4                5U
232