rusEFI
The most advanced open source ECU
Loading...
Searching...
No Matches
hw_layer
ports
stm32
stm32f7
board.h
Go to the documentation of this file.
1
/*
2
ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio
3
4
Licensed under the Apache License, Version 2.0 (the "License");
5
you may not use this file except in compliance with the License.
6
You may obtain a copy of the License at
7
8
http://www.apache.org/licenses/LICENSE-2.0
9
10
Unless required by applicable law or agreed to in writing, software
11
distributed under the License is distributed on an "AS IS" BASIS,
12
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
See the License for the specific language governing permissions and
14
limitations under the License.
15
*/
16
17
/*
18
* This file has been automatically generated using ChibiStudio board
19
* generator plugin. Do not edit manually.
20
*/
21
22
#ifndef BOARD_H
23
#define BOARD_H
24
25
/*===========================================================================*/
26
/* Driver constants. */
27
/*===========================================================================*/
28
29
/*
30
* Board identifier.
31
*/
32
#define BOARD_ST_NUCLEO144_F767ZI
33
#define BOARD_NAME "F7 for rusEFI"
34
35
#define EFI_USB_AF 10U
36
#define EFI_USB_SERIAL_DM Gpio::A11
37
#define EFI_USB_SERIAL_DP Gpio::A12
38
39
// Ignore USB VBUS pin (we're never a host, only a device)
40
#define BOARD_OTG_NOVBUSSENS TRUE
41
42
/*
43
* Default to input mode, with internal pulldown resistor enabled.
44
*/
45
#define EFI_PIN_MODE_DEFAULT PIN_MODE_INPUT
46
#ifndef EFI_DR_DEFAULT
47
#define EFI_DR_DEFAULT PIN_PUPDR_PULLDOWN
48
#endif
49
50
// See https://github.com/rusefi/rusefi/issues/397
51
#define DEFAULT_GPIO_SPEED PIN_OSPEED_HIGH
52
53
/*
54
* Ethernet PHY type.
55
*/
56
#define BOARD_PHY_ID MII_LAN8742A_ID
57
#define BOARD_PHY_RMII
58
59
/*
60
* Default to input mode, with internal pulldown resistor enabled.
61
*/
62
#define EFI_PIN_MODE_DEFAULT PIN_MODE_INPUT
63
#ifndef EFI_DR_DEFAULT
64
#define EFI_DR_DEFAULT PIN_PUPDR_PULLDOWN
65
#endif
66
67
/*
68
* Board oscillators-related settings.
69
*/
70
#if !defined(STM32_LSECLK)
71
#define STM32_LSECLK 32768U
72
#endif
73
74
#define STM32_LSEDRV (3U << 3U)
75
76
77
/*
78
* Board voltages.
79
* Required for performance limits calculation.
80
*/
81
#define STM32_VDD 300U
82
83
/*
84
* MCU type as defined in the ST header.
85
*/
86
#ifndef STM32F767xx
87
#define STM32F767xx
88
#endif
89
90
/*
91
* IO pins assignments.
92
*/
93
#define GPIOA_SWDIO 13
94
#define GPIOA_SWCLK 14
95
96
#define GPIOB_SWO 3
97
98
/*
99
* I/O ports initial setup, this configuration is established soon after reset
100
* in the initialization code.
101
* Please refer to the STM32 Reference Manual for details.
102
*/
103
#define PIN_MODE_INPUT(n) (0U << ((n) * 2U))
104
#define PIN_MODE_OUTPUT(n) (1U << ((n) * 2U))
105
#define PIN_MODE_ALTERNATE(n) (2U << ((n) * 2U))
106
#define PIN_MODE_ANALOG(n) (3U << ((n) * 2U))
107
#define PIN_ODR_LOW(n) (0U << (n))
108
#define PIN_ODR_HIGH(n) (1U << (n))
109
#define PIN_OTYPE_PUSHPULL(n) (0U << (n))
110
#define PIN_OTYPE_OPENDRAIN(n) (1U << (n))
111
#define PIN_OSPEED_VERYLOW(n) (0U << ((n) * 2U))
112
#define PIN_OSPEED_LOW(n) (1U << ((n) * 2U))
113
#define PIN_OSPEED_MEDIUM(n) (2U << ((n) * 2U))
114
#define PIN_OSPEED_HIGH(n) (3U << ((n) * 2U))
115
#define PIN_PUPDR_FLOATING(n) (0U << ((n) * 2U))
116
#define PIN_PUPDR_PULLUP(n) (1U << ((n) * 2U))
117
#define PIN_PUPDR_PULLDOWN(n) (2U << ((n) * 2U))
118
#define PIN_AFIO_AF(n, v) ((v) << (((n) % 8U) * 4U))
119
120
#define VAL_GPIO_MODER_ALL_DEFAULT (EFI_PIN_MODE_DEFAULT(0) | \
121
EFI_PIN_MODE_DEFAULT(1) | \
122
EFI_PIN_MODE_DEFAULT(2) | \
123
EFI_PIN_MODE_DEFAULT(3) | \
124
EFI_PIN_MODE_DEFAULT(4) | \
125
EFI_PIN_MODE_DEFAULT(5) | \
126
EFI_PIN_MODE_DEFAULT(6) | \
127
EFI_PIN_MODE_DEFAULT(7) | \
128
EFI_PIN_MODE_DEFAULT(8) | \
129
EFI_PIN_MODE_DEFAULT(9) | \
130
EFI_PIN_MODE_DEFAULT(10) | \
131
EFI_PIN_MODE_DEFAULT(11) | \
132
EFI_PIN_MODE_DEFAULT(12) | \
133
EFI_PIN_MODE_DEFAULT(13) | \
134
EFI_PIN_MODE_DEFAULT(14) | \
135
EFI_PIN_MODE_DEFAULT(15))
136
137
#define VAL_GPIO_OTYPER_ALL_DEFAULT (PIN_OTYPE_PUSHPULL(0) | \
138
PIN_OTYPE_PUSHPULL(1) | \
139
PIN_OTYPE_PUSHPULL(2) | \
140
PIN_OTYPE_PUSHPULL(3) | \
141
PIN_OTYPE_PUSHPULL(4) | \
142
PIN_OTYPE_PUSHPULL(5) | \
143
PIN_OTYPE_PUSHPULL(6) | \
144
PIN_OTYPE_PUSHPULL(7) | \
145
PIN_OTYPE_PUSHPULL(8) | \
146
PIN_OTYPE_PUSHPULL(9) | \
147
PIN_OTYPE_PUSHPULL(10) | \
148
PIN_OTYPE_PUSHPULL(11) | \
149
PIN_OTYPE_PUSHPULL(12) | \
150
PIN_OTYPE_PUSHPULL(13) | \
151
PIN_OTYPE_PUSHPULL(14) | \
152
PIN_OTYPE_PUSHPULL(15))
153
154
#define VAL_GPIO_OSPEEDR_ALL_DEFAULT (DEFAULT_GPIO_SPEED(0) | \
155
DEFAULT_GPIO_SPEED(1) | \
156
DEFAULT_GPIO_SPEED(2) | \
157
DEFAULT_GPIO_SPEED(3) | \
158
DEFAULT_GPIO_SPEED(4) | \
159
DEFAULT_GPIO_SPEED(5) | \
160
DEFAULT_GPIO_SPEED(6) | \
161
DEFAULT_GPIO_SPEED(7) | \
162
DEFAULT_GPIO_SPEED(8) | \
163
DEFAULT_GPIO_SPEED(9) | \
164
DEFAULT_GPIO_SPEED(10) | \
165
DEFAULT_GPIO_SPEED(11) | \
166
DEFAULT_GPIO_SPEED(12) | \
167
DEFAULT_GPIO_SPEED(13) | \
168
DEFAULT_GPIO_SPEED(14) | \
169
DEFAULT_GPIO_SPEED(15))
170
171
#define VAL_GPIO_ODR_ALL_DEFAULT 0
172
173
#define VAL_GPIO_PUPDR_ALL_DEFAULT (EFI_DR_DEFAULT(0) | \
174
EFI_DR_DEFAULT(1) | \
175
EFI_DR_DEFAULT(2) | \
176
EFI_DR_DEFAULT(3) | \
177
EFI_DR_DEFAULT(4) | \
178
EFI_DR_DEFAULT(5) | \
179
EFI_DR_DEFAULT(6) | \
180
EFI_DR_DEFAULT(7) | \
181
EFI_DR_DEFAULT(8) | \
182
EFI_DR_DEFAULT(9) | \
183
EFI_DR_DEFAULT(10) | \
184
EFI_DR_DEFAULT(11) | \
185
EFI_DR_DEFAULT(12) | \
186
EFI_DR_DEFAULT(13) | \
187
EFI_DR_DEFAULT(14) | \
188
EFI_DR_DEFAULT(15))
189
190
#define VAL_GPIO_AF_ALL_DEFAULT (PIN_AFIO_AF(0, 0U) | \
191
PIN_AFIO_AF(1, 0U) | \
192
PIN_AFIO_AF(2, 0U) | \
193
PIN_AFIO_AF(3, 0U) | \
194
PIN_AFIO_AF(4, 0U) | \
195
PIN_AFIO_AF(5, 0U) | \
196
PIN_AFIO_AF(6, 0U) | \
197
PIN_AFIO_AF(7, 0U))
198
199
/*
200
* GPIOA setup:
201
*
202
* PA11 - OTG_FS_DM (alternate 10).
203
* PA12 - OTG_FS_DP (alternate 10).
204
* PA13 - SWDIO (alternate 0).
205
* PA14 - SWCLK (alternate 0).
206
*/
207
#define VAL_GPIOA_MODER (EFI_PIN_MODE_DEFAULT(0) | \
208
EFI_PIN_MODE_DEFAULT(1) | \
209
EFI_PIN_MODE_DEFAULT(2) | \
210
EFI_PIN_MODE_DEFAULT(3) | \
211
EFI_PIN_MODE_DEFAULT(4) | \
212
EFI_PIN_MODE_DEFAULT(5) | \
213
EFI_PIN_MODE_DEFAULT(6) | \
214
EFI_PIN_MODE_DEFAULT(7) | \
215
EFI_PIN_MODE_DEFAULT(8) | \
216
EFI_PIN_MODE_DEFAULT(9) | \
217
EFI_PIN_MODE_DEFAULT(10) | \
218
PIN_MODE_ALTERNATE(11) | \
219
PIN_MODE_ALTERNATE(12) | \
220
PIN_MODE_ALTERNATE(GPIOA_SWDIO) | \
221
PIN_MODE_ALTERNATE(GPIOA_SWCLK) | \
222
EFI_PIN_MODE_DEFAULT(15))
223
#define VAL_GPIOA_OTYPER VAL_GPIO_OTYPER_ALL_DEFAULT
224
#define VAL_GPIOA_OSPEEDR VAL_GPIO_OSPEEDR_ALL_DEFAULT
225
#define VAL_GPIOA_PUPDR VAL_GPIO_PUPDR_ALL_DEFAULT
226
#define VAL_GPIOA_ODR VAL_GPIO_ODR_ALL_DEFAULT
227
#define VAL_GPIOA_AFRL (PIN_AFIO_AF(0, 0U) | \
228
PIN_AFIO_AF(1, 0U) | \
229
PIN_AFIO_AF(2, 0U) | \
230
PIN_AFIO_AF(3, 0U) | \
231
PIN_AFIO_AF(4, 6U) | \
232
PIN_AFIO_AF(5, 5U) | \
233
PIN_AFIO_AF(6, 5U) | \
234
PIN_AFIO_AF(7, 5U))
235
#define VAL_GPIOA_AFRH VAL_GPIO_AF_ALL_DEFAULT
236
237
/*
238
* GPIOB setup:
239
*
240
* Default except SWO configured on PB3
241
*
242
*/
243
#define VAL_GPIOB_MODER (EFI_PIN_MODE_DEFAULT(0) | \
244
EFI_PIN_MODE_DEFAULT(1) | \
245
EFI_PIN_MODE_DEFAULT(2) | \
246
PIN_MODE_ALTERNATE(GPIOB_SWO) | \
247
EFI_PIN_MODE_DEFAULT(4) | \
248
EFI_PIN_MODE_DEFAULT(5) | \
249
EFI_PIN_MODE_DEFAULT(6) | \
250
EFI_PIN_MODE_DEFAULT(7) | \
251
EFI_PIN_MODE_DEFAULT(8) | \
252
EFI_PIN_MODE_DEFAULT(9) | \
253
EFI_PIN_MODE_DEFAULT(10) | \
254
EFI_PIN_MODE_DEFAULT(11) | \
255
EFI_PIN_MODE_DEFAULT(12) | \
256
EFI_PIN_MODE_DEFAULT(13) | \
257
EFI_PIN_MODE_DEFAULT(14) | \
258
EFI_PIN_MODE_DEFAULT(15))
259
#define VAL_GPIOB_OTYPER VAL_GPIO_OTYPER_ALL_DEFAULT
260
#define VAL_GPIOB_OSPEEDR VAL_GPIO_OSPEEDR_ALL_DEFAULT
261
#define VAL_GPIOB_PUPDR VAL_GPIO_PUPDR_ALL_DEFAULT
262
#define VAL_GPIOB_ODR VAL_GPIO_ODR_ALL_DEFAULT
263
#define VAL_GPIOB_AFRL (PIN_AFIO_AF(0, 0U) | \
264
PIN_AFIO_AF(1, 0U) | \
265
PIN_AFIO_AF(2, 0U) | \
266
PIN_AFIO_AF(GPIOB_SWO, 0U) | \
267
PIN_AFIO_AF(4, 0U) | \
268
PIN_AFIO_AF(5, 0U) | \
269
PIN_AFIO_AF(6, 0U) | \
270
PIN_AFIO_AF(7, 0U))
271
#define VAL_GPIOB_AFRH VAL_GPIO_AF_ALL_DEFAULT
272
273
/*
274
* GPIOC setup:
275
*/
276
#define VAL_GPIOC_MODER VAL_GPIO_MODER_ALL_DEFAULT
277
#define VAL_GPIOC_OTYPER VAL_GPIO_OTYPER_ALL_DEFAULT
278
#define VAL_GPIOC_OSPEEDR VAL_GPIO_OSPEEDR_ALL_DEFAULT
279
#define VAL_GPIOC_PUPDR VAL_GPIO_PUPDR_ALL_DEFAULT
280
#define VAL_GPIOC_ODR VAL_GPIO_ODR_ALL_DEFAULT
281
#define VAL_GPIOC_AFRL VAL_GPIO_AF_ALL_DEFAULT
282
#define VAL_GPIOC_AFRH VAL_GPIO_AF_ALL_DEFAULT
283
284
/*
285
* GPIOD setup:
286
*/
287
#define VAL_GPIOD_MODER VAL_GPIO_MODER_ALL_DEFAULT
288
#define VAL_GPIOD_OTYPER VAL_GPIO_OTYPER_ALL_DEFAULT
289
#define VAL_GPIOD_OSPEEDR VAL_GPIO_OSPEEDR_ALL_DEFAULT
290
#define VAL_GPIOD_PUPDR VAL_GPIO_PUPDR_ALL_DEFAULT
291
#define VAL_GPIOD_ODR VAL_GPIO_ODR_ALL_DEFAULT
292
#define VAL_GPIOD_AFRL VAL_GPIO_AF_ALL_DEFAULT
293
#define VAL_GPIOD_AFRH VAL_GPIO_AF_ALL_DEFAULT
294
295
/*
296
* GPIOE setup:
297
*/
298
#define VAL_GPIOE_MODER VAL_GPIO_MODER_ALL_DEFAULT
299
#define VAL_GPIOE_OTYPER VAL_GPIO_OTYPER_ALL_DEFAULT
300
#define VAL_GPIOE_OSPEEDR VAL_GPIO_OSPEEDR_ALL_DEFAULT
301
#define VAL_GPIOE_PUPDR VAL_GPIO_PUPDR_ALL_DEFAULT
302
#define VAL_GPIOE_ODR VAL_GPIO_ODR_ALL_DEFAULT
303
#define VAL_GPIOE_AFRL VAL_GPIO_AF_ALL_DEFAULT
304
#define VAL_GPIOE_AFRH VAL_GPIO_AF_ALL_DEFAULT
305
306
/*
307
* GPIOF setup:
308
*/
309
#define VAL_GPIOF_MODER VAL_GPIO_MODER_ALL_DEFAULT
310
#define VAL_GPIOF_OTYPER VAL_GPIO_OTYPER_ALL_DEFAULT
311
#define VAL_GPIOF_OSPEEDR VAL_GPIO_OSPEEDR_ALL_DEFAULT
312
#define VAL_GPIOF_PUPDR VAL_GPIO_PUPDR_ALL_DEFAULT
313
#define VAL_GPIOF_ODR VAL_GPIO_ODR_ALL_DEFAULT
314
#define VAL_GPIOF_AFRL VAL_GPIO_AF_ALL_DEFAULT
315
#define VAL_GPIOF_AFRH VAL_GPIO_AF_ALL_DEFAULT
316
317
/*
318
* GPIOG setup:
319
*/
320
#define VAL_GPIOG_MODER VAL_GPIO_MODER_ALL_DEFAULT
321
#define VAL_GPIOG_OTYPER VAL_GPIO_OTYPER_ALL_DEFAULT
322
#define VAL_GPIOG_OSPEEDR VAL_GPIO_OSPEEDR_ALL_DEFAULT
323
#define VAL_GPIOG_PUPDR VAL_GPIO_PUPDR_ALL_DEFAULT
324
#define VAL_GPIOG_ODR VAL_GPIO_ODR_ALL_DEFAULT
325
#define VAL_GPIOG_AFRL VAL_GPIO_AF_ALL_DEFAULT
326
#define VAL_GPIOG_AFRH VAL_GPIO_AF_ALL_DEFAULT
327
328
/*
329
* GPIOH setup:
330
*/
331
#define VAL_GPIOH_MODER VAL_GPIO_MODER_ALL_DEFAULT
332
#define VAL_GPIOH_OTYPER VAL_GPIO_OTYPER_ALL_DEFAULT
333
#define VAL_GPIOH_OSPEEDR VAL_GPIO_OSPEEDR_ALL_DEFAULT
334
#define VAL_GPIOH_PUPDR VAL_GPIO_PUPDR_ALL_DEFAULT
335
#define VAL_GPIOH_ODR VAL_GPIO_ODR_ALL_DEFAULT
336
#define VAL_GPIOH_AFRL VAL_GPIO_AF_ALL_DEFAULT
337
#define VAL_GPIOH_AFRH VAL_GPIO_AF_ALL_DEFAULT
338
339
/*
340
* GPIOI setup:
341
*/
342
#define VAL_GPIOI_MODER VAL_GPIO_MODER_ALL_DEFAULT
343
#define VAL_GPIOI_OTYPER VAL_GPIO_OTYPER_ALL_DEFAULT
344
#define VAL_GPIOI_OSPEEDR VAL_GPIO_OSPEEDR_ALL_DEFAULT
345
#define VAL_GPIOI_PUPDR VAL_GPIO_PUPDR_ALL_DEFAULT
346
#define VAL_GPIOI_ODR VAL_GPIO_ODR_ALL_DEFAULT
347
#define VAL_GPIOI_AFRL VAL_GPIO_AF_ALL_DEFAULT
348
#define VAL_GPIOI_AFRH VAL_GPIO_AF_ALL_DEFAULT
349
350
/*
351
* GPIOJ setup:
352
*/
353
#define VAL_GPIOJ_MODER VAL_GPIO_MODER_ALL_DEFAULT
354
#define VAL_GPIOJ_OTYPER VAL_GPIO_OTYPER_ALL_DEFAULT
355
#define VAL_GPIOJ_OSPEEDR VAL_GPIO_OSPEEDR_ALL_DEFAULT
356
#define VAL_GPIOJ_PUPDR VAL_GPIO_PUPDR_ALL_DEFAULT
357
#define VAL_GPIOJ_ODR VAL_GPIO_ODR_ALL_DEFAULT
358
#define VAL_GPIOJ_AFRL VAL_GPIO_AF_ALL_DEFAULT
359
#define VAL_GPIOJ_AFRH VAL_GPIO_AF_ALL_DEFAULT
360
361
/*
362
* GPIOK setup:
363
*/
364
#define VAL_GPIOK_MODER VAL_GPIO_MODER_ALL_DEFAULT
365
#define VAL_GPIOK_OTYPER VAL_GPIO_OTYPER_ALL_DEFAULT
366
#define VAL_GPIOK_OSPEEDR VAL_GPIO_OSPEEDR_ALL_DEFAULT
367
#define VAL_GPIOK_PUPDR VAL_GPIO_PUPDR_ALL_DEFAULT
368
#define VAL_GPIOK_ODR VAL_GPIO_ODR_ALL_DEFAULT
369
#define VAL_GPIOK_AFRL VAL_GPIO_AF_ALL_DEFAULT
370
#define VAL_GPIOK_AFRH VAL_GPIO_AF_ALL_DEFAULT
371
372
/*===========================================================================*/
373
/* External declarations. */
374
/*===========================================================================*/
375
376
#endif
/* BOARD_H */
Generated on Sat Sep 27 2025 00:10:07 for rusEFI by
1.9.8