rusEFI
The most advanced open source ECU
Loading...
Searching...
No Matches
config
boards
subaru_eg33
board_io.h
Go to the documentation of this file.
1
/**
2
* @file boards/subaru_eg33/board_io.c
3
*
4
* @date Feb 06, 2021
5
* @author Andrey Gusakov, 2021
6
*/
7
8
#ifndef BOARD_IO_H
9
#define BOARD_IO_H
10
11
/*
12
* I/O ports initial setup, this configuration is established soon after reset
13
* in the initialization code.
14
* Please refer to the STM32 Reference Manual for details.
15
*/
16
#define PIN_MODE_INPUT(n) (0U << ((n) * 2U))
17
#define PIN_MODE_OUTPUT(n) (1U << ((n) * 2U))
18
#define PIN_MODE_ALTERNATE(n) (2U << ((n) * 2U))
19
#define PIN_MODE_ANALOG(n) (3U << ((n) * 2U))
20
21
#define PIN_ODR_LOW(n) (0U << (n))
22
#define PIN_ODR_HIGH(n) (1U << (n))
23
24
#define PIN_OTYPE_PUSHPULL(n) (0U << (n))
25
#define PIN_OTYPE_OPENDRAIN(n) (1U << (n))
26
27
#define PIN_OSPEED_VERYLOW(n) (0U << ((n) * 2U))
28
#define PIN_OSPEED_LOW(n) (1U << ((n) * 2U))
29
#define PIN_OSPEED_MEDIUM(n) (2U << ((n) * 2U))
30
#define PIN_OSPEED_HIGH(n) (3U << ((n) * 2U))
31
32
#define PIN_PUPDR_FLOATING(n) (0U << ((n) * 2U))
33
#define PIN_PUPDR_PULLUP(n) (1U << ((n) * 2U))
34
#define PIN_PUPDR_PULLDOWN(n) (2U << ((n) * 2U))
35
36
#define PIN_AFIO_AF(n, v) ((v) << (((n) % 8U) * 4U))
37
38
// See https://github.com/rusefi/rusefi/issues/397
39
#define DEFAULT_GPIO_SPEED PIN_OSPEED_HIGH
40
41
/*
42
* GPIOA setup:
43
*
44
* PA0 - n.u.
45
* PA1 - ignition current sensor for cyl 1, 3, 5, 7
46
* PA2 - ignition current sensor for cyl 2, 4, 6, 8
47
* PA3 - MAF sensor input
48
* PA4 - n.u.
49
* PA5 - n.u.
50
* PA6 - battery voltage input
51
* PA7 - knock sensor input
52
* PA8 - knock IC clock out
53
* PA9 - USART1_TX - boot/console - TTL level on XP4.2
54
* PA10 - USART1_RX - boot/console - TTL level on XP4.3
55
* PA11 - USB_FS_D- - boot/console/TS - XS3
56
* PA12 - USB_FS_D+ - boot/console/TS - XS3
57
* PA13 - SWDIO
58
* PA14 - SWCLK
59
* PA15 - bluetooth/wifi module reset gpio
60
*/
61
#define VAL_GPIOA_MODER (PIN_OTYPE_PUSHPULL(1) | \
62
PIN_MODE_ANALOG(2) | \
63
PIN_MODE_ANALOG(2) | \
64
PIN_MODE_ANALOG(3) | \
65
PIN_OTYPE_PUSHPULL(4) | \
66
PIN_OTYPE_PUSHPULL(5) | \
67
PIN_MODE_ANALOG(6) | \
68
PIN_MODE_ANALOG(7) | \
69
PIN_MODE_ALTERNATE(8) | \
70
PIN_MODE_ALTERNATE(9) | \
71
PIN_MODE_ALTERNATE(10) | \
72
PIN_MODE_ALTERNATE(11) | \
73
PIN_MODE_ALTERNATE(12) | \
74
PIN_MODE_ALTERNATE(13) | \
75
PIN_MODE_ALTERNATE(14) | \
76
PIN_MODE_OUTPUT(15))
77
#define VAL_GPIOA_OTYPER (PIN_OTYPE_PUSHPULL( 0) | \
78
PIN_OTYPE_PUSHPULL( 1) | \
79
PIN_OTYPE_PUSHPULL( 2) | \
80
PIN_OTYPE_PUSHPULL( 3) | \
81
PIN_OTYPE_PUSHPULL( 4) | \
82
PIN_OTYPE_PUSHPULL( 5) | \
83
PIN_OTYPE_PUSHPULL( 6) | \
84
PIN_OTYPE_PUSHPULL( 7) | \
85
PIN_OTYPE_PUSHPULL( 8) | \
86
PIN_OTYPE_PUSHPULL( 9) | \
87
PIN_OTYPE_PUSHPULL(10) | \
88
PIN_OTYPE_PUSHPULL(11) | \
89
PIN_OTYPE_PUSHPULL(12) | \
90
PIN_OTYPE_PUSHPULL(13) | \
91
PIN_OTYPE_PUSHPULL(14) | \
92
PIN_OTYPE_PUSHPULL(15))
93
#define VAL_GPIOA_OSPEEDR (DEFAULT_GPIO_SPEED( 0) | \
94
DEFAULT_GPIO_SPEED( 1) | \
95
DEFAULT_GPIO_SPEED( 2) | \
96
DEFAULT_GPIO_SPEED( 3) | \
97
DEFAULT_GPIO_SPEED( 4) | \
98
DEFAULT_GPIO_SPEED( 5) | \
99
DEFAULT_GPIO_SPEED( 6) | \
100
DEFAULT_GPIO_SPEED( 7) | \
101
DEFAULT_GPIO_SPEED( 8) | \
102
DEFAULT_GPIO_SPEED( 9) | \
103
DEFAULT_GPIO_SPEED(10) | \
104
DEFAULT_GPIO_SPEED(11) | \
105
DEFAULT_GPIO_SPEED(12) | \
106
DEFAULT_GPIO_SPEED(13) | \
107
DEFAULT_GPIO_SPEED(14) | \
108
DEFAULT_GPIO_SPEED(15))
109
#define VAL_GPIOA_PUPDR (PIN_PUPDR_FLOATING( 0) | \
110
PIN_PUPDR_FLOATING( 1) | \
111
PIN_PUPDR_FLOATING( 2) | \
112
PIN_PUPDR_FLOATING( 3) | \
113
PIN_PUPDR_FLOATING( 4) | \
114
PIN_PUPDR_FLOATING( 5) | \
115
PIN_PUPDR_FLOATING( 6) | \
116
PIN_PUPDR_FLOATING( 7) | \
117
PIN_PUPDR_FLOATING( 8) | \
118
PIN_PUPDR_PULLUP( 9) | \
119
PIN_PUPDR_PULLUP(10) | \
120
PIN_PUPDR_FLOATING(11) | \
121
PIN_PUPDR_FLOATING(12) | \
122
PIN_PUPDR_PULLUP(13) | \
123
PIN_PUPDR_PULLDOWN(14) | \
124
PIN_PUPDR_PULLUP(15))
125
#define VAL_GPIOA_ODR (PIN_ODR_LOW(0) | \
126
PIN_ODR_LOW(4) | \
127
PIN_ODR_LOW(5) | \
128
PIN_ODR_LOW(15))
129
#define VAL_GPIOA_AFRL (PIN_AFIO_AF( 0, 1U) | \
130
PIN_AFIO_AF( 1, 1U) | \
131
PIN_AFIO_AF( 2, 0U) | \
132
PIN_AFIO_AF( 3, 0U) | \
133
PIN_AFIO_AF( 4, 0U) | \
134
PIN_AFIO_AF( 5, 0U) | \
135
PIN_AFIO_AF( 6, 0U) | \
136
PIN_AFIO_AF( 7, 0U))
137
#define VAL_GPIOA_AFRH (PIN_AFIO_AF( 8, 0U) | \
138
PIN_AFIO_AF( 9, 7U) | \
139
PIN_AFIO_AF(10, 7U) | \
140
PIN_AFIO_AF(11, 10U) | \
141
PIN_AFIO_AF(12, 10U) | \
142
PIN_AFIO_AF(13, 0U) | \
143
PIN_AFIO_AF(14, 0U) | \
144
PIN_AFIO_AF(15, 0U))
145
146
/*
147
* GPIOB setup:
148
*
149
* PB0 - oxygen sensor #2
150
* PB1 - EGR t sensor
151
* PB2 - boot mode - pulled low
152
* PB3 - ignition #4
153
* PB4 - ignition #3
154
* PB5 - ignition #7
155
* PB6 - QSPI CS
156
* PB7 - ignition (1, 3, 5, 7) spark duration input
157
* PB8 - ignition #5
158
* PB9 - injector #7
159
* PB10 - VR diagnostic (crank #2 and cam)
160
* PB11 - n.u.
161
* PB12 - USB HS ID
162
* PB13 - USB HS VBus
163
* PB14 - USB HS DM
164
* PB15 - USB HS DP
165
*/
166
#define VAL_GPIOB_MODER (PIN_MODE_ANALOG(0) | \
167
PIN_MODE_ANALOG(1) | \
168
PIN_MODE_INPUT(2) | \
169
PIN_MODE_OUTPUT(3) | \
170
PIN_MODE_OUTPUT(4) | \
171
PIN_MODE_OUTPUT(5) | \
172
PIN_MODE_ALTERNATE(6) | \
173
PIN_MODE_INPUT(7) | \
174
PIN_MODE_OUTPUT(8) | \
175
PIN_MODE_OUTPUT(9) | \
176
PIN_MODE_OUTPUT(10) | \
177
PIN_MODE_OUTPUT(11) | \
178
PIN_MODE_ALTERNATE(12) | \
179
PIN_MODE_INPUT(13) | \
180
PIN_MODE_ALTERNATE(14) | \
181
PIN_MODE_ALTERNATE(15))
182
#define VAL_GPIOB_OTYPER (PIN_OTYPE_PUSHPULL( 0) | \
183
PIN_OTYPE_PUSHPULL( 1) | \
184
PIN_OTYPE_PUSHPULL( 2) | \
185
PIN_OTYPE_PUSHPULL( 3) | \
186
PIN_OTYPE_PUSHPULL( 4) | \
187
PIN_OTYPE_PUSHPULL( 5) | \
188
PIN_OTYPE_PUSHPULL( 6) | \
189
PIN_OTYPE_PUSHPULL( 7) | \
190
PIN_OTYPE_PUSHPULL( 8) | \
191
PIN_OTYPE_PUSHPULL( 9) | \
192
PIN_OTYPE_PUSHPULL(10) | \
193
PIN_OTYPE_PUSHPULL(11) | \
194
PIN_OTYPE_PUSHPULL(12) | \
195
PIN_OTYPE_PUSHPULL(13) | \
196
PIN_OTYPE_PUSHPULL(14) | \
197
PIN_OTYPE_PUSHPULL(15))
198
#define VAL_GPIOB_OSPEEDR (DEFAULT_GPIO_SPEED( 0) | \
199
DEFAULT_GPIO_SPEED( 1) | \
200
DEFAULT_GPIO_SPEED( 2) | \
201
DEFAULT_GPIO_SPEED( 3) | \
202
DEFAULT_GPIO_SPEED( 4) | \
203
DEFAULT_GPIO_SPEED( 5) | \
204
PIN_OSPEED_HIGH( 6) | \
205
DEFAULT_GPIO_SPEED( 7) | \
206
DEFAULT_GPIO_SPEED( 8) | \
207
DEFAULT_GPIO_SPEED( 9) | \
208
DEFAULT_GPIO_SPEED(10) | \
209
DEFAULT_GPIO_SPEED(11) | \
210
DEFAULT_GPIO_SPEED(12) | \
211
DEFAULT_GPIO_SPEED(13) | \
212
DEFAULT_GPIO_SPEED(14) | \
213
DEFAULT_GPIO_SPEED(15))
214
#define VAL_GPIOB_PUPDR (PIN_PUPDR_FLOATING( 0) | \
215
PIN_PUPDR_FLOATING( 1) | \
216
PIN_PUPDR_PULLDOWN( 2) | \
217
PIN_PUPDR_FLOATING( 3) | \
218
PIN_PUPDR_FLOATING( 4) | \
219
PIN_PUPDR_FLOATING( 5) | \
220
PIN_PUPDR_FLOATING( 6) | \
221
PIN_PUPDR_PULLUP( 7) | \
222
PIN_PUPDR_FLOATING( 8) | \
223
PIN_PUPDR_FLOATING( 9) | \
224
PIN_PUPDR_FLOATING(10) | \
225
PIN_PUPDR_FLOATING(11) | \
226
PIN_PUPDR_FLOATING(12) | \
227
PIN_PUPDR_FLOATING(13) | \
228
PIN_PUPDR_PULLDOWN(14) | \
229
PIN_PUPDR_FLOATING(15))
230
#define VAL_GPIOB_ODR (PIN_ODR_LOW(3) | \
231
PIN_ODR_LOW(4) | \
232
PIN_ODR_LOW(5) | \
233
PIN_ODR_LOW(8) | \
234
PIN_ODR_LOW(9) | \
235
PIN_ODR_LOW(10) | \
236
PIN_ODR_LOW(11) | \
237
PIN_ODR_LOW(13))
238
#define VAL_GPIOB_AFRL (PIN_AFIO_AF( 0, 0U) | \
239
PIN_AFIO_AF( 1, 0U) | \
240
PIN_AFIO_AF( 2, 0U) | \
241
PIN_AFIO_AF( 3, 0U) | \
242
PIN_AFIO_AF( 4, 0U) | \
243
PIN_AFIO_AF( 5, 0U) | \
244
PIN_AFIO_AF( 6, 10U) | \
245
PIN_AFIO_AF( 7, 0U))
246
#define VAL_GPIOB_AFRH (PIN_AFIO_AF( 8, 0U) | \
247
PIN_AFIO_AF( 9, 0U) | \
248
PIN_AFIO_AF(10, 0U) | \
249
PIN_AFIO_AF(11, 0U) | \
250
PIN_AFIO_AF(12, 12U) | \
251
PIN_AFIO_AF(13, 0U) | \
252
PIN_AFIO_AF(14, 12U) | \
253
PIN_AFIO_AF(15, 12U))
254
255
/*
256
* GPIOC setup:
257
*
258
* PC0 - Atm P input
259
* PC1 - Aux0 input
260
* PC2 - Throtle input
261
* PC3 - mc33972 analog input
262
* PC4 - coolant T input
263
* PC5 - oxygen #1 input
264
* PC6 - idle open
265
* PC7 - USB HS power enable
266
* PC8 - idle close
267
* PC9 - USB HS overcurrent input
268
* PC10 - UART4 TX
269
* PC11 - UART4 Rx
270
* PC12 - bluetooth/wifi mode
271
* PC13 - ignition #1 (TODO: move to other pin, this pin is weak and may be powered from Vbat)
272
* PC14 - ignition #2 (TODO: move to other pin, this pin is weak and may be powered from Vbat, also may be used for OSC32)
273
* PC15 - ignition #6 (TODO: move to other pin, this pin is weak and may be powered from Vbat, also may be used for OSC32)
274
*/
275
#define VAL_GPIOC_MODER (PIN_MODE_ANALOG(0) | \
276
PIN_MODE_ANALOG(1) | \
277
PIN_MODE_ANALOG(2) | \
278
PIN_MODE_ANALOG(3) | \
279
PIN_MODE_ANALOG(4) | \
280
PIN_MODE_ANALOG(5) | \
281
PIN_MODE_OUTPUT(6) | \
282
PIN_MODE_OUTPUT(7) | \
283
PIN_MODE_OUTPUT(8) | \
284
PIN_MODE_INPUT(9) | \
285
PIN_MODE_ALTERNATE(10) | \
286
PIN_MODE_ALTERNATE(11) | \
287
PIN_MODE_OUTPUT(12) | \
288
PIN_MODE_OUTPUT(13) | \
289
PIN_MODE_OUTPUT(14) | \
290
PIN_MODE_OUTPUT(15))
291
#define VAL_GPIOC_OTYPER (PIN_OTYPE_PUSHPULL( 0) | \
292
PIN_OTYPE_PUSHPULL( 1) | \
293
PIN_OTYPE_PUSHPULL( 2) | \
294
PIN_OTYPE_PUSHPULL( 3) | \
295
PIN_OTYPE_PUSHPULL( 4) | \
296
PIN_OTYPE_PUSHPULL( 5) | \
297
PIN_OTYPE_PUSHPULL( 6) | \
298
PIN_OTYPE_PUSHPULL( 7) | \
299
PIN_OTYPE_PUSHPULL( 8) | \
300
PIN_OTYPE_PUSHPULL( 9) | \
301
PIN_OTYPE_PUSHPULL(10) | \
302
PIN_OTYPE_PUSHPULL(11) | \
303
PIN_OTYPE_PUSHPULL(12) | \
304
PIN_OTYPE_PUSHPULL(13) | \
305
PIN_OTYPE_PUSHPULL(14) | \
306
PIN_OTYPE_PUSHPULL(15))
307
#define VAL_GPIOC_OSPEEDR (DEFAULT_GPIO_SPEED( 0) | \
308
DEFAULT_GPIO_SPEED( 1) | \
309
DEFAULT_GPIO_SPEED( 2) | \
310
DEFAULT_GPIO_SPEED( 3) | \
311
DEFAULT_GPIO_SPEED( 4) | \
312
DEFAULT_GPIO_SPEED( 5) | \
313
DEFAULT_GPIO_SPEED( 6) | \
314
DEFAULT_GPIO_SPEED( 7) | \
315
DEFAULT_GPIO_SPEED( 8) | \
316
DEFAULT_GPIO_SPEED( 9) | \
317
DEFAULT_GPIO_SPEED(10) | \
318
DEFAULT_GPIO_SPEED(11) | \
319
DEFAULT_GPIO_SPEED(12) | \
320
PIN_OSPEED_VERYLOW(13) | \
321
PIN_OSPEED_VERYLOW(14) | \
322
PIN_OSPEED_VERYLOW(15))
323
#define VAL_GPIOC_PUPDR (PIN_PUPDR_FLOATING( 0) | \
324
PIN_PUPDR_FLOATING( 1) | \
325
PIN_PUPDR_FLOATING( 2) | \
326
PIN_PUPDR_FLOATING( 3) | \
327
PIN_PUPDR_FLOATING( 4) | \
328
PIN_PUPDR_FLOATING( 5) | \
329
PIN_PUPDR_FLOATING( 6) | \
330
PIN_PUPDR_FLOATING( 7) | \
331
PIN_PUPDR_FLOATING( 8) | \
332
PIN_PUPDR_PULLUP( 9) | \
333
PIN_PUPDR_FLOATING(10) | \
334
PIN_PUPDR_PULLUP(11) | \
335
PIN_PUPDR_FLOATING(12) | \
336
PIN_PUPDR_FLOATING(13) | \
337
PIN_PUPDR_FLOATING(14) | \
338
PIN_PUPDR_FLOATING(15))
339
#define VAL_GPIOC_ODR (PIN_ODR_LOW(6) | \
340
PIN_ODR_LOW(7) | \
341
PIN_ODR_LOW(8) | \
342
PIN_ODR_LOW(12) | \
343
PIN_ODR_LOW(13) | \
344
PIN_ODR_LOW(14) | \
345
PIN_ODR_LOW(15))
346
#define VAL_GPIOC_AFRL (PIN_AFIO_AF( 0, 0U) | \
347
PIN_AFIO_AF( 1, 0U) | \
348
PIN_AFIO_AF( 2, 0U) | \
349
PIN_AFIO_AF( 3, 0U) | \
350
PIN_AFIO_AF( 4, 0U) | \
351
PIN_AFIO_AF( 5, 0U) | \
352
PIN_AFIO_AF( 6, 0U) | \
353
PIN_AFIO_AF( 7, 0U))
354
#define VAL_GPIOC_AFRH (PIN_AFIO_AF( 8, 0U) | \
355
PIN_AFIO_AF( 9, 0U) | \
356
PIN_AFIO_AF(10, 8U) | \
357
PIN_AFIO_AF(11, 8U) | \
358
PIN_AFIO_AF(12, 0U) | \
359
PIN_AFIO_AF(13, 0U) | \
360
PIN_AFIO_AF(14, 0U) | \
361
PIN_AFIO_AF(15, 0U))
362
363
/*
364
* GPIOD setup:
365
*
366
* PD0 - CAN1 Rx
367
* PD1 - CAN1 Tx
368
* PD2 - E-Thtot #2 direction
369
* PD3 - E-Thtot #2 PWM
370
* PD4 - E-Thtot #1 direction
371
* PD5 - E-Thtot #1 PWM
372
* PD6 - MMC clk
373
* PD7 - MMC cmd
374
* PD8 - UART3 Tx
375
* PD9 - UART3 Rx
376
* PD10 - Power hold to PMIC
377
* PD11 - QSPI IO0
378
* PD12 - QSPI IO1
379
* PD13 - QSPI IO3
380
* PD14 - Speed sensor input
381
* PD15 - LIN RTS
382
*/
383
#define VAL_GPIOD_MODER (PIN_MODE_ALTERNATE(0) | \
384
PIN_MODE_ALTERNATE(1) | \
385
PIN_MODE_OUTPUT(2) | \
386
PIN_MODE_OUTPUT(3) | \
387
PIN_MODE_OUTPUT(4) | \
388
PIN_MODE_OUTPUT(5) | \
389
PIN_MODE_ALTERNATE(6) | \
390
PIN_MODE_ALTERNATE(7) | \
391
PIN_MODE_ALTERNATE(8) | \
392
PIN_MODE_ALTERNATE(9) | \
393
PIN_MODE_OUTPUT(10) | \
394
PIN_MODE_ALTERNATE(11) | \
395
PIN_MODE_ALTERNATE(12) | \
396
PIN_MODE_ALTERNATE(13) | \
397
PIN_MODE_INPUT(14) | \
398
PIN_MODE_ALTERNATE(15))
399
#define VAL_GPIOD_OTYPER (PIN_OTYPE_PUSHPULL( 0) | \
400
PIN_OTYPE_PUSHPULL( 1) | \
401
PIN_OTYPE_PUSHPULL( 2) | \
402
PIN_OTYPE_PUSHPULL( 3) | \
403
PIN_OTYPE_PUSHPULL( 4) | \
404
PIN_OTYPE_PUSHPULL( 5) | \
405
PIN_OTYPE_PUSHPULL( 6) | \
406
PIN_OTYPE_PUSHPULL( 7) | \
407
PIN_OTYPE_PUSHPULL( 8) | \
408
PIN_OTYPE_PUSHPULL( 9) | \
409
PIN_OTYPE_PUSHPULL(10) | \
410
PIN_OTYPE_PUSHPULL(11) | \
411
PIN_OTYPE_PUSHPULL(12) | \
412
PIN_OTYPE_PUSHPULL(13) | \
413
PIN_OTYPE_PUSHPULL(14) | \
414
PIN_OTYPE_PUSHPULL(15))
415
#define VAL_GPIOD_OSPEEDR (DEFAULT_GPIO_SPEED( 0) | \
416
DEFAULT_GPIO_SPEED( 1) | \
417
DEFAULT_GPIO_SPEED( 2) | \
418
DEFAULT_GPIO_SPEED( 3) | \
419
DEFAULT_GPIO_SPEED( 4) | \
420
DEFAULT_GPIO_SPEED( 5) | \
421
PIN_OSPEED_HIGH( 6) | \
422
PIN_OSPEED_HIGH( 7) | \
423
DEFAULT_GPIO_SPEED( 8) | \
424
DEFAULT_GPIO_SPEED( 9) | \
425
DEFAULT_GPIO_SPEED(10) | \
426
PIN_OSPEED_HIGH(11) | \
427
PIN_OSPEED_HIGH(12) | \
428
PIN_OSPEED_HIGH(13) | \
429
DEFAULT_GPIO_SPEED(14) | \
430
DEFAULT_GPIO_SPEED(15))
431
#define VAL_GPIOD_PUPDR (PIN_PUPDR_PULLUP( 0) | \
432
PIN_PUPDR_FLOATING( 1) | \
433
PIN_PUPDR_FLOATING( 2) | \
434
PIN_PUPDR_FLOATING( 3) | \
435
PIN_PUPDR_FLOATING( 4) | \
436
PIN_PUPDR_FLOATING( 5) | \
437
PIN_PUPDR_FLOATING( 6) | \
438
PIN_PUPDR_PULLUP( 7) | \
439
PIN_PUPDR_FLOATING( 8) | \
440
PIN_PUPDR_PULLUP( 9) | \
441
PIN_PUPDR_FLOATING(10) | \
442
PIN_PUPDR_PULLUP(11) | \
443
PIN_PUPDR_PULLUP(12) | \
444
PIN_PUPDR_PULLUP(13) | \
445
PIN_PUPDR_FLOATING(14) | \
446
PIN_PUPDR_FLOATING(15))
447
#define VAL_GPIOD_ODR (PIN_ODR_LOW(2) | \
448
PIN_ODR_LOW(3) | \
449
PIN_ODR_LOW(4) | \
450
PIN_ODR_LOW(5) | \
451
PIN_ODR_HIGH(10))
452
#define VAL_GPIOD_AFRL (PIN_AFIO_AF( 0, 9U) | \
453
PIN_AFIO_AF( 1, 9U) | \
454
PIN_AFIO_AF( 2, 0U) | \
455
PIN_AFIO_AF( 3, 0U) | \
456
PIN_AFIO_AF( 4, 0U) | \
457
PIN_AFIO_AF( 5, 0U) | \
458
PIN_AFIO_AF( 6, 11U) | \
459
PIN_AFIO_AF( 7, 11U))
460
#define VAL_GPIOD_AFRH (PIN_AFIO_AF( 8, 7U) | \
461
PIN_AFIO_AF( 9, 7U) | \
462
PIN_AFIO_AF(10, 0U) | \
463
PIN_AFIO_AF(11, 9U) | \
464
PIN_AFIO_AF(12, 9U) | \
465
PIN_AFIO_AF(13, 9U) | \
466
PIN_AFIO_AF(14, 0U) | \
467
PIN_AFIO_AF(15, 8U))
468
469
/*
470
* GPIOE setup:
471
*
472
* PE0 - LIN Rx
473
* PE1 - LIN Tx
474
* PE2 - QSPI IO2
475
* PE3 - injector #2
476
* PE4 - injector #4
477
* PE5 - injector #6
478
* PE6 - injector %8
479
* PE7 - n.u.
480
* PE8 - n.u.
481
* PE9 - Crank position sensor #2
482
* PE10 - SPI4 CS2 (5V pulled)
483
* PE11 - SPI4 CS1 (5V pulled)
484
* PE12 - SPI4 SCK (5V pulled)
485
* PE13 - SPI4 MISO (5V pulled)
486
* PE14 - SPI4 MOSI (5V pulled)
487
* PE15 - SPI4 CS0 (5V pulled)
488
*/
489
#define VAL_GPIOE_MODER (PIN_MODE_ALTERNATE(0) | \
490
PIN_MODE_ALTERNATE(1) | \
491
PIN_MODE_ALTERNATE(2) | \
492
PIN_MODE_OUTPUT(3) | \
493
PIN_MODE_OUTPUT(4) | \
494
PIN_MODE_OUTPUT(5) | \
495
PIN_MODE_OUTPUT(6) | \
496
PIN_MODE_OUTPUT(7) | \
497
PIN_MODE_OUTPUT(8) | \
498
PIN_MODE_INPUT(9) | \
499
PIN_MODE_OUTPUT(10) | \
500
PIN_MODE_OUTPUT(11) | \
501
PIN_MODE_ALTERNATE(12) | \
502
PIN_MODE_ALTERNATE(13) | \
503
PIN_MODE_ALTERNATE(14) | \
504
PIN_MODE_OUTPUT(15))
505
#define VAL_GPIOE_OTYPER (PIN_OTYPE_PUSHPULL( 0) | \
506
PIN_OTYPE_PUSHPULL( 1) | \
507
PIN_OTYPE_PUSHPULL( 2) | \
508
PIN_OTYPE_PUSHPULL( 3) | \
509
PIN_OTYPE_PUSHPULL( 4) | \
510
PIN_OTYPE_PUSHPULL( 5) | \
511
PIN_OTYPE_PUSHPULL( 6) | \
512
PIN_OTYPE_PUSHPULL( 7) | \
513
PIN_OTYPE_PUSHPULL( 8) | \
514
PIN_OTYPE_PUSHPULL( 9) | \
515
PIN_OTYPE_OPENDRAIN(10)| \
516
PIN_OTYPE_OPENDRAIN(11)| \
517
PIN_OTYPE_OPENDRAIN(12)| \
518
PIN_OTYPE_PUSHPULL(13)
/* PIN_OTYPE_OPENDRAIN(13) */
| \
519
PIN_OTYPE_OPENDRAIN(14)| \
520
PIN_OTYPE_OPENDRAIN(15))
521
#define VAL_GPIOE_OSPEEDR (DEFAULT_GPIO_SPEED( 0) | \
522
DEFAULT_GPIO_SPEED( 1) | \
523
PIN_OSPEED_HIGH( 2) | \
524
DEFAULT_GPIO_SPEED( 3) | \
525
DEFAULT_GPIO_SPEED( 4) | \
526
DEFAULT_GPIO_SPEED( 5) | \
527
DEFAULT_GPIO_SPEED( 6) | \
528
DEFAULT_GPIO_SPEED( 7) | \
529
DEFAULT_GPIO_SPEED( 8) | \
530
DEFAULT_GPIO_SPEED( 9) | \
531
DEFAULT_GPIO_SPEED(10) | \
532
DEFAULT_GPIO_SPEED(11) | \
533
DEFAULT_GPIO_SPEED(12) | \
534
DEFAULT_GPIO_SPEED(13) | \
535
DEFAULT_GPIO_SPEED(14) | \
536
DEFAULT_GPIO_SPEED(15))
537
#define VAL_GPIOE_PUPDR (PIN_PUPDR_PULLUP( 0) | \
538
PIN_PUPDR_FLOATING( 1) | \
539
PIN_PUPDR_PULLUP( 2) | \
540
PIN_PUPDR_FLOATING( 3) | \
541
PIN_PUPDR_FLOATING( 4) | \
542
PIN_PUPDR_FLOATING( 5) | \
543
PIN_PUPDR_FLOATING( 6) | \
544
PIN_PUPDR_FLOATING( 7) | \
545
PIN_PUPDR_FLOATING( 8) | \
546
PIN_PUPDR_PULLUP( 9) | \
547
PIN_PUPDR_FLOATING(10) | \
548
PIN_PUPDR_FLOATING(11) | \
549
PIN_PUPDR_FLOATING(12) | \
550
PIN_PUPDR_FLOATING(13) | \
551
PIN_PUPDR_FLOATING(14) | \
552
PIN_PUPDR_FLOATING(15))
553
#define VAL_GPIOE_ODR (PIN_ODR_LOW(3) | \
554
PIN_ODR_LOW(4) | \
555
PIN_ODR_LOW(5) | \
556
PIN_ODR_LOW(6) | \
557
PIN_ODR_LOW(7) | \
558
PIN_ODR_LOW(8) | \
559
PIN_ODR_HIGH(10) | \
560
PIN_ODR_HIGH(11) | \
561
PIN_ODR_HIGH(15))
562
#define VAL_GPIOE_AFRL (PIN_AFIO_AF( 0, 8U) | \
563
PIN_AFIO_AF( 1, 8U) | \
564
PIN_AFIO_AF( 2, 9U) | \
565
PIN_AFIO_AF( 3, 0U) | \
566
PIN_AFIO_AF( 4, 0U) | \
567
PIN_AFIO_AF( 5, 0U) | \
568
PIN_AFIO_AF( 6, 0U) | \
569
PIN_AFIO_AF( 7, 0U))
570
#define VAL_GPIOE_AFRH (PIN_AFIO_AF( 8, 0U) | \
571
PIN_AFIO_AF( 9, 0U) | \
572
PIN_AFIO_AF(10, 0U) | \
573
PIN_AFIO_AF(11, 0U) | \
574
PIN_AFIO_AF(12, 5U) | \
575
PIN_AFIO_AF(13, 5U) | \
576
PIN_AFIO_AF(14, 5U) | \
577
PIN_AFIO_AF(15, 0U))
578
579
/*
580
* GPIOF setup:
581
*
582
* PF0 - Ignition (2, 4, 6, 8) MAXI input
583
* PF1 - SPI5 CS0
584
* PF2 - SPI5 CS1
585
* PF3 - optional analog input 3
586
* PF4 - optional analog input 2
587
* PF5 - optional analog input 1
588
* PF6 - optional analog input 0
589
* PF7 - SPI5 SCK
590
* PF8 - SPI5 MISO
591
* PF9 - SPI5 MOSI
592
* PF10 - QSPI CLK
593
* PF11 - SPI5 CS4
594
* PF12 - SPI5 CS5
595
* PF13 - n.u.
596
* PF14 - SPI5 CS2
597
* PF15 - SPI5 CS3
598
*/
599
#define VAL_GPIOF_MODER (PIN_MODE_INPUT(0) | \
600
PIN_MODE_OUTPUT(1) | \
601
PIN_MODE_OUTPUT(2) | \
602
PIN_MODE_ANALOG(3) | \
603
PIN_MODE_ANALOG(4) | \
604
PIN_MODE_ANALOG(5) | \
605
PIN_MODE_ANALOG(6) | \
606
PIN_MODE_ALTERNATE(7) | \
607
PIN_MODE_ALTERNATE(8) | \
608
PIN_MODE_ALTERNATE(9) | \
609
PIN_MODE_ALTERNATE(10) | \
610
PIN_MODE_OUTPUT(11) | \
611
PIN_MODE_OUTPUT(12) | \
612
PIN_MODE_OUTPUT(13) | \
613
PIN_MODE_OUTPUT(14) | \
614
PIN_MODE_OUTPUT(15))
615
#define VAL_GPIOF_OTYPER (PIN_OTYPE_PUSHPULL( 0) | \
616
PIN_OTYPE_PUSHPULL( 1) | \
617
PIN_OTYPE_PUSHPULL( 2) | \
618
PIN_OTYPE_PUSHPULL( 3) | \
619
PIN_OTYPE_PUSHPULL( 4) | \
620
PIN_OTYPE_PUSHPULL( 5) | \
621
PIN_OTYPE_PUSHPULL( 6) | \
622
PIN_OTYPE_PUSHPULL( 7) | \
623
PIN_OTYPE_PUSHPULL( 8) | \
624
PIN_OTYPE_PUSHPULL( 9) | \
625
PIN_OTYPE_PUSHPULL(10) | \
626
PIN_OTYPE_PUSHPULL(11) | \
627
PIN_OTYPE_PUSHPULL(12) | \
628
PIN_OTYPE_PUSHPULL(13) | \
629
PIN_OTYPE_PUSHPULL(14) | \
630
PIN_OTYPE_PUSHPULL(15))
631
#define VAL_GPIOF_OSPEEDR (DEFAULT_GPIO_SPEED( 0) | \
632
DEFAULT_GPIO_SPEED( 1) | \
633
DEFAULT_GPIO_SPEED( 2) | \
634
DEFAULT_GPIO_SPEED( 3) | \
635
DEFAULT_GPIO_SPEED( 4) | \
636
DEFAULT_GPIO_SPEED( 5) | \
637
DEFAULT_GPIO_SPEED( 6) | \
638
DEFAULT_GPIO_SPEED( 7) | \
639
DEFAULT_GPIO_SPEED( 8) | \
640
DEFAULT_GPIO_SPEED( 9) | \
641
DEFAULT_GPIO_SPEED(10) | \
642
DEFAULT_GPIO_SPEED(11) | \
643
DEFAULT_GPIO_SPEED(12) | \
644
DEFAULT_GPIO_SPEED(13) | \
645
DEFAULT_GPIO_SPEED(14) | \
646
DEFAULT_GPIO_SPEED(15))
647
#define VAL_GPIOF_PUPDR (PIN_PUPDR_PULLUP( 0) | \
648
PIN_PUPDR_FLOATING( 1) | \
649
PIN_PUPDR_FLOATING( 2) | \
650
PIN_PUPDR_FLOATING( 3) | \
651
PIN_PUPDR_FLOATING( 4) | \
652
PIN_PUPDR_FLOATING( 5) | \
653
PIN_PUPDR_FLOATING( 6) | \
654
PIN_PUPDR_FLOATING( 7) | \
655
PIN_PUPDR_PULLUP( 8) | \
656
PIN_PUPDR_FLOATING( 9) | \
657
PIN_PUPDR_FLOATING(10) | \
658
PIN_PUPDR_FLOATING(11) | \
659
PIN_PUPDR_FLOATING(12) | \
660
PIN_PUPDR_FLOATING(13) | \
661
PIN_PUPDR_FLOATING(14) | \
662
PIN_PUPDR_FLOATING(15))
663
#define VAL_GPIOF_ODR (PIN_ODR_HIGH(1) | \
664
PIN_ODR_HIGH(2) | \
665
PIN_ODR_HIGH(11) | \
666
PIN_ODR_HIGH(12) | \
667
PIN_ODR_HIGH(14) | \
668
PIN_ODR_HIGH(15))
669
#define VAL_GPIOF_AFRL (PIN_AFIO_AF( 0, 0U) | \
670
PIN_AFIO_AF( 1, 0U) | \
671
PIN_AFIO_AF( 2, 0U) | \
672
PIN_AFIO_AF( 3, 0U) | \
673
PIN_AFIO_AF( 4, 0U) | \
674
PIN_AFIO_AF( 5, 0U) | \
675
PIN_AFIO_AF( 6, 0U) | \
676
PIN_AFIO_AF( 7, 5U))
677
#define VAL_GPIOF_AFRH (PIN_AFIO_AF( 8, 5U) | \
678
PIN_AFIO_AF( 9, 5U) | \
679
PIN_AFIO_AF(10, 9U) | \
680
PIN_AFIO_AF(11, 0U) | \
681
PIN_AFIO_AF(12, 0U) | \
682
PIN_AFIO_AF(13, 0U) | \
683
PIN_AFIO_AF(14, 0U) | \
684
PIN_AFIO_AF(15, 0U))
685
686
/*
687
* GPIOG setup:
688
*
689
* PG0 - CAN1 EN
690
* PG1 - SW2 irq
691
* PG2 - taho out
692
* PG3 - 1 wire interface
693
* PG4 - mc33972 irq
694
* PG5 - mc33972 wake up input
695
* PG6 - LD2 - active low
696
* PG7 - LD1 - active low
697
* PG8 - LD0 - active low
698
* PG9 - MMC D0
699
* PG10 - MMC D1
700
* PG11 - MMC D2
701
* PG12 - MMC D3
702
* PG13 - ignition (1, 3, 5, 7) MAXI input
703
* PG14 - E-Throttle disable
704
* PG15 - ignition (1, 3, 5, 7) NOMI input
705
*/
706
#define VAL_GPIOG_MODER (PIN_MODE_OUTPUT(0) | \
707
PIN_MODE_INPUT(1) | \
708
PIN_MODE_OUTPUT(2) | \
709
PIN_MODE_OUTPUT(3) | \
710
PIN_MODE_INPUT(4) | \
711
PIN_MODE_INPUT(5) | \
712
PIN_MODE_OUTPUT(6) | \
713
PIN_MODE_OUTPUT(7) | \
714
PIN_MODE_OUTPUT(8) | \
715
PIN_MODE_ALTERNATE(9) | \
716
PIN_MODE_ALTERNATE(10) | \
717
PIN_MODE_ALTERNATE(11) | \
718
PIN_MODE_ALTERNATE(12) | \
719
PIN_MODE_INPUT(13) | \
720
PIN_MODE_OUTPUT(14) | \
721
PIN_MODE_INPUT(15))
722
#define VAL_GPIOG_OTYPER (PIN_OTYPE_PUSHPULL( 0) | \
723
PIN_OTYPE_PUSHPULL( 1) | \
724
PIN_OTYPE_PUSHPULL( 2) | \
725
PIN_OTYPE_PUSHPULL( 3) | \
726
PIN_OTYPE_PUSHPULL( 4) | \
727
PIN_OTYPE_PUSHPULL( 5) | \
728
PIN_OTYPE_OPENDRAIN( 6)| \
729
PIN_OTYPE_OPENDRAIN( 7)| \
730
PIN_OTYPE_OPENDRAIN( 8)| \
731
PIN_OTYPE_PUSHPULL( 9) | \
732
PIN_OTYPE_PUSHPULL(10) | \
733
PIN_OTYPE_PUSHPULL(11) | \
734
PIN_OTYPE_PUSHPULL(12) | \
735
PIN_OTYPE_PUSHPULL(13) | \
736
PIN_OTYPE_PUSHPULL(14)| \
737
PIN_OTYPE_PUSHPULL(15))
738
#define VAL_GPIOG_OSPEEDR (DEFAULT_GPIO_SPEED( 0) | \
739
DEFAULT_GPIO_SPEED( 1) | \
740
DEFAULT_GPIO_SPEED( 2) | \
741
DEFAULT_GPIO_SPEED( 3) | \
742
DEFAULT_GPIO_SPEED( 4) | \
743
DEFAULT_GPIO_SPEED( 5) | \
744
DEFAULT_GPIO_SPEED( 6) | \
745
DEFAULT_GPIO_SPEED( 7) | \
746
DEFAULT_GPIO_SPEED( 8) | \
747
PIN_OSPEED_HIGH( 9) | \
748
PIN_OSPEED_HIGH(10) | \
749
PIN_OSPEED_HIGH(11) | \
750
PIN_OSPEED_HIGH(12) | \
751
DEFAULT_GPIO_SPEED(13) | \
752
DEFAULT_GPIO_SPEED(14) | \
753
DEFAULT_GPIO_SPEED(15))
754
#define VAL_GPIOG_PUPDR (PIN_PUPDR_FLOATING( 0) | \
755
PIN_PUPDR_PULLUP( 1) | \
756
PIN_PUPDR_FLOATING( 2) | \
757
PIN_PUPDR_FLOATING( 3) | \
758
PIN_PUPDR_PULLUP( 4) | \
759
PIN_PUPDR_PULLUP( 5) | \
760
PIN_PUPDR_FLOATING( 6) | \
761
PIN_PUPDR_FLOATING( 7) | \
762
PIN_PUPDR_FLOATING( 8) | \
763
PIN_PUPDR_PULLUP( 9) | \
764
PIN_PUPDR_PULLUP(10) | \
765
PIN_PUPDR_PULLUP(11) | \
766
PIN_PUPDR_PULLUP(12) | \
767
PIN_PUPDR_PULLUP(13) | \
768
PIN_PUPDR_FLOATING(14) | \
769
PIN_PUPDR_PULLUP(15))
770
#define VAL_GPIOG_ODR (PIN_ODR_HIGH(0) | \
771
PIN_ODR_LOW(2) | \
772
PIN_ODR_HIGH(3) | \
773
PIN_ODR_HIGH(6) | \
774
PIN_ODR_HIGH(7) | \
775
PIN_ODR_HIGH(8) | \
776
PIN_ODR_HIGH(14))
777
#define VAL_GPIOG_AFRL (PIN_AFIO_AF( 0, 0U) | \
778
PIN_AFIO_AF( 1, 0U) | \
779
PIN_AFIO_AF( 2, 0U) | \
780
PIN_AFIO_AF( 3, 0U) | \
781
PIN_AFIO_AF( 4, 0U) | \
782
PIN_AFIO_AF( 5, 0U) | \
783
PIN_AFIO_AF( 6, 0U) | \
784
PIN_AFIO_AF( 7, 0U))
785
#define VAL_GPIOG_AFRH (PIN_AFIO_AF( 8, 0U) | \
786
PIN_AFIO_AF( 9, 11U) | \
787
PIN_AFIO_AF(10, 11U) | \
788
PIN_AFIO_AF(11, 10U) | \
789
PIN_AFIO_AF(12, 11U) | \
790
PIN_AFIO_AF(13, 0U) | \
791
PIN_AFIO_AF(14, 0U) | \
792
PIN_AFIO_AF(15, 0U))
793
794
/*
795
* GPIOH setup:
796
*
797
* PH0 - OSC_IN (input floating).
798
* PH1 - OSC_OUT (input floating).
799
* PH2 - n.u.
800
* PH3 - n.u.
801
* PH4 - n.u.
802
* PH5 - n.u.
803
* PH6 - SW reset
804
* PH7 - self shutdown output
805
* PH8 - knock sensor IC hold output (5V pulled)
806
* PH9 - knock sensor IC tst output (5V pulled)
807
* PH10 - Crank position #1
808
* PH11 - watchdog
809
* PH12 - Cam positio #1
810
* PH13 - USB FS overcurrent input
811
* PH14 - USB FS power enable
812
* PH15 - OLED DC output
813
*/
814
#define VAL_GPIOH_MODER (PIN_MODE_INPUT(0) | \
815
PIN_MODE_INPUT(1) | \
816
PIN_MODE_OUTPUT(2) | \
817
PIN_MODE_OUTPUT(3) | \
818
PIN_MODE_OUTPUT(4) | \
819
PIN_MODE_OUTPUT(5) | \
820
PIN_MODE_OUTPUT(6) | \
821
PIN_MODE_OUTPUT(7) | \
822
PIN_MODE_OUTPUT(8) | \
823
PIN_MODE_OUTPUT(9) | \
824
PIN_MODE_INPUT(10) | \
825
PIN_MODE_OUTPUT(11) | \
826
PIN_MODE_INPUT(12) | \
827
PIN_MODE_INPUT(13) | \
828
PIN_MODE_OUTPUT(14) | \
829
PIN_MODE_OUTPUT(15))
830
#define VAL_GPIOH_OTYPER (PIN_OTYPE_PUSHPULL( 0) | \
831
PIN_OTYPE_PUSHPULL( 1) | \
832
PIN_OTYPE_PUSHPULL( 2) | \
833
PIN_OTYPE_PUSHPULL( 3) | \
834
PIN_OTYPE_PUSHPULL( 4) | \
835
PIN_OTYPE_PUSHPULL( 5) | \
836
PIN_OTYPE_PUSHPULL( 6) | \
837
PIN_OTYPE_PUSHPULL( 7) | \
838
PIN_OTYPE_OPENDRAIN( 8)| \
839
PIN_OTYPE_OPENDRAIN( 9)| \
840
PIN_OTYPE_PUSHPULL(10) | \
841
PIN_OTYPE_PUSHPULL(11) | \
842
PIN_OTYPE_PUSHPULL(12) | \
843
PIN_OTYPE_PUSHPULL(13) | \
844
PIN_OTYPE_PUSHPULL(14) | \
845
PIN_OTYPE_PUSHPULL(15))
846
#define VAL_GPIOH_OSPEEDR (DEFAULT_GPIO_SPEED( 0) | \
847
DEFAULT_GPIO_SPEED( 1) | \
848
DEFAULT_GPIO_SPEED( 2) | \
849
DEFAULT_GPIO_SPEED( 3) | \
850
DEFAULT_GPIO_SPEED( 4) | \
851
DEFAULT_GPIO_SPEED( 5) | \
852
DEFAULT_GPIO_SPEED( 6) | \
853
DEFAULT_GPIO_SPEED( 7) | \
854
DEFAULT_GPIO_SPEED( 8) | \
855
DEFAULT_GPIO_SPEED( 9) | \
856
DEFAULT_GPIO_SPEED(10) | \
857
DEFAULT_GPIO_SPEED(11) | \
858
DEFAULT_GPIO_SPEED(12) | \
859
DEFAULT_GPIO_SPEED(13) | \
860
DEFAULT_GPIO_SPEED(14) | \
861
DEFAULT_GPIO_SPEED(15))
862
#define VAL_GPIOH_PUPDR (PIN_PUPDR_FLOATING( 0) | \
863
PIN_PUPDR_FLOATING( 1) | \
864
PIN_PUPDR_FLOATING( 2) | \
865
PIN_PUPDR_FLOATING( 3) | \
866
PIN_PUPDR_FLOATING( 4) | \
867
PIN_PUPDR_FLOATING( 5) | \
868
PIN_PUPDR_FLOATING( 6) | \
869
PIN_PUPDR_FLOATING( 7) | \
870
PIN_PUPDR_FLOATING( 8) | \
871
PIN_PUPDR_FLOATING( 9) | \
872
PIN_PUPDR_PULLUP(10) | \
873
PIN_PUPDR_FLOATING(11) | \
874
PIN_PUPDR_PULLUP(12) | \
875
PIN_PUPDR_PULLUP(13) | \
876
PIN_PUPDR_FLOATING(14) | \
877
PIN_PUPDR_FLOATING(15))
878
#define VAL_GPIOH_ODR (PIN_ODR_HIGH( 0) | \
879
PIN_ODR_HIGH( 1) | \
880
PIN_ODR_LOW( 2) | \
881
PIN_ODR_LOW( 3) | \
882
PIN_ODR_LOW( 4) | \
883
PIN_ODR_LOW( 5) | \
884
PIN_ODR_LOW( 6) | \
885
PIN_ODR_LOW( 7) | \
886
PIN_ODR_HIGH( 8) | \
887
PIN_ODR_HIGH( 9) | \
888
PIN_ODR_LOW(11) | \
889
PIN_ODR_LOW(14) | \
890
PIN_ODR_LOW(15))
891
#define VAL_GPIOH_AFRL (PIN_AFIO_AF( 0, 0U) | \
892
PIN_AFIO_AF( 1, 0U) | \
893
PIN_AFIO_AF( 2, 0U) | \
894
PIN_AFIO_AF( 3, 0U) | \
895
PIN_AFIO_AF( 4, 0U) | \
896
PIN_AFIO_AF( 5, 0U) | \
897
PIN_AFIO_AF( 6, 0U) | \
898
PIN_AFIO_AF( 7, 0U))
899
#define VAL_GPIOH_AFRH (PIN_AFIO_AF( 8, 0U) | \
900
PIN_AFIO_AF( 9, 0U) | \
901
PIN_AFIO_AF(10, 0U) | \
902
PIN_AFIO_AF(11, 0U) | \
903
PIN_AFIO_AF(12, 0U) | \
904
PIN_AFIO_AF(13, 0U) | \
905
PIN_AFIO_AF(14, 0U) | \
906
PIN_AFIO_AF(15, 0U))
907
908
/*
909
* GPIOI setup:
910
*
911
* PI0 - SPI2 CS0
912
* PI1 - SPI2 SCK
913
* PI2 - SPI2 MISO
914
* PI3 - SPI2 MOSI
915
* PI4 - injector #5
916
* PI5 - injector #3
917
* PI6 - injector #1
918
* PI7 - SW enable
919
* PI8 - ignition (2, 4, 6, 8) spark duration input
920
* PI9 - ignition #8
921
* PI10 - n.u.
922
* PI11 - ignition (2, 4, 6, 8) NOMI input
923
*/
924
#define VAL_GPIOI_MODER (PIN_MODE_OUTPUT(0) | \
925
PIN_MODE_ALTERNATE(1) | \
926
PIN_MODE_ALTERNATE(2) | \
927
PIN_MODE_ALTERNATE(3) | \
928
PIN_MODE_OUTPUT(4) | \
929
PIN_MODE_OUTPUT(5) | \
930
PIN_MODE_OUTPUT(6) | \
931
PIN_MODE_OUTPUT(7) | \
932
PIN_MODE_INPUT(8) | \
933
PIN_MODE_OUTPUT(9) | \
934
PIN_MODE_OUTPUT(10) | \
935
PIN_MODE_INPUT(11))
936
#define VAL_GPIOI_OTYPER (PIN_OTYPE_PUSHPULL( 0) | \
937
PIN_OTYPE_PUSHPULL( 1) | \
938
PIN_OTYPE_PUSHPULL( 2) | \
939
PIN_OTYPE_PUSHPULL( 3) | \
940
PIN_OTYPE_PUSHPULL( 4) | \
941
PIN_OTYPE_PUSHPULL( 5) | \
942
PIN_OTYPE_PUSHPULL( 6) | \
943
PIN_OTYPE_PUSHPULL( 7) | \
944
PIN_OTYPE_PUSHPULL( 8) | \
945
PIN_OTYPE_PUSHPULL( 9) | \
946
PIN_OTYPE_PUSHPULL(10) | \
947
PIN_OTYPE_PUSHPULL(11))
948
#define VAL_GPIOI_OSPEEDR (DEFAULT_GPIO_SPEED( 0) | \
949
DEFAULT_GPIO_SPEED( 1) | \
950
DEFAULT_GPIO_SPEED( 2) | \
951
DEFAULT_GPIO_SPEED( 3) | \
952
DEFAULT_GPIO_SPEED( 4) | \
953
DEFAULT_GPIO_SPEED( 5) | \
954
DEFAULT_GPIO_SPEED( 6) | \
955
DEFAULT_GPIO_SPEED( 7) | \
956
DEFAULT_GPIO_SPEED( 8) | \
957
DEFAULT_GPIO_SPEED( 9) | \
958
DEFAULT_GPIO_SPEED(10) | \
959
DEFAULT_GPIO_SPEED(11))
960
#define VAL_GPIOI_PUPDR (PIN_PUPDR_FLOATING( 0) | \
961
PIN_PUPDR_FLOATING( 1) | \
962
PIN_PUPDR_FLOATING( 2) | \
963
PIN_PUPDR_FLOATING( 3) | \
964
PIN_PUPDR_FLOATING( 4) | \
965
PIN_PUPDR_FLOATING( 5) | \
966
PIN_PUPDR_FLOATING( 6) | \
967
PIN_PUPDR_FLOATING( 7) | \
968
PIN_PUPDR_PULLUP( 8) | \
969
PIN_PUPDR_FLOATING( 9) | \
970
PIN_PUPDR_FLOATING(10) | \
971
PIN_PUPDR_PULLUP(11))
972
#define VAL_GPIOI_ODR (PIN_ODR_HIGH( 0) | \
973
PIN_ODR_LOW( 4) | \
974
PIN_ODR_LOW( 5) | \
975
PIN_ODR_LOW( 6) | \
976
PIN_ODR_LOW( 7) | \
977
PIN_ODR_LOW( 9))
978
#define VAL_GPIOI_AFRL (PIN_AFIO_AF( 0, 0U) | \
979
PIN_AFIO_AF( 1, 5U) | \
980
PIN_AFIO_AF( 2, 5U) | \
981
PIN_AFIO_AF( 3, 5U) | \
982
PIN_AFIO_AF( 4, 0U) | \
983
PIN_AFIO_AF( 5, 0U) | \
984
PIN_AFIO_AF( 6, 0U) | \
985
PIN_AFIO_AF( 7, 0U))
986
#define VAL_GPIOI_AFRH (PIN_AFIO_AF( 8, 0U) | \
987
PIN_AFIO_AF( 9, 0U) | \
988
PIN_AFIO_AF(10, 0U) | \
989
PIN_AFIO_AF(11, 0U))
990
991
#endif
/* BOARD_IO_H */
Generated on Fri Sep 26 2025 00:10:13 for rusEFI by
1.9.8