Line data Source code
1 0 : /*
2 : * Copyright (c) 2017 Linaro Limited
3 : *
4 : * SPDX-License-Identifier: Apache-2.0
5 : */
6 :
7 : #ifndef ZEPHYR_INCLUDE_DT_BINDINGS_PINCTRL_STM32_PINCTRL_COMMON_H_
8 : #define ZEPHYR_INCLUDE_DT_BINDINGS_PINCTRL_STM32_PINCTRL_COMMON_H_
9 :
10 : /**
11 : * @brief numerical IDs for IO ports
12 : */
13 :
14 1 : #define STM32_PORTA 0 /* IO port A */
15 0 : #define STM32_PORTB 1 /* .. */
16 0 : #define STM32_PORTC 2
17 0 : #define STM32_PORTD 3
18 0 : #define STM32_PORTE 4
19 0 : #define STM32_PORTF 5
20 0 : #define STM32_PORTG 6
21 0 : #define STM32_PORTH 7
22 0 : #define STM32_PORTI 8
23 0 : #define STM32_PORTJ 9
24 0 : #define STM32_PORTK 10 /* IO port K */
25 0 : #define STM32_PORTM 12 /* IO port M (0xC) */
26 0 : #define STM32_PORTN 13
27 0 : #define STM32_PORTO 14
28 0 : #define STM32_PORTP 15 /* IO port P (0xF) */
29 0 : #define STM32_PORTQ 16 /* IO port Q (0x10) */
30 0 : #define STM32_PORTZ 25 /* IO port Z (0x19) */
31 :
32 : #ifndef STM32_PORTS_MAX
33 0 : #define STM32_PORTS_MAX (STM32_PORTZ + 1)
34 : #endif
35 :
36 : /**
37 : * @brief helper macro to encode an IO port pin in a numerical format
38 : */
39 1 : #define STM32PIN(_port, _pin) \
40 : (_port << 4 | _pin)
41 :
42 : #endif /* ZEPHYR_INCLUDE_DT_BINDINGS_PINCTRL_STM32_PINCTRL_COMMON_H_ */
|