xref: /linux/include/dt-bindings/pinctrl/stm32-pinfunc.h (revision 24168c5e6dfbdd5b414f048f47f75d64533296ca)
1 /* SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) */
2 /*
3  * Copyright (C) STMicroelectronics 2017 - All Rights Reserved
4  * Author: Torgue Alexandre <alexandre.torgue@st.com> for STMicroelectronics.
5  */
6 
7 #ifndef _DT_BINDINGS_STM32_PINFUNC_H
8 #define _DT_BINDINGS_STM32_PINFUNC_H
9 
10 /*  define PIN modes */
11 #define GPIO	0x0
12 #define AF0	0x1
13 #define AF1	0x2
14 #define AF2	0x3
15 #define AF3	0x4
16 #define AF4	0x5
17 #define AF5	0x6
18 #define AF6	0x7
19 #define AF7	0x8
20 #define AF8	0x9
21 #define AF9	0xa
22 #define AF10	0xb
23 #define AF11	0xc
24 #define AF12	0xd
25 #define AF13	0xe
26 #define AF14	0xf
27 #define AF15	0x10
28 #define ANALOG	0x11
29 
30 /* define Pins number*/
31 #define PIN_NO(port, line)	(((port) - 'A') * 0x10 + (line))
32 
33 #define STM32_PINMUX(port, line, mode) (((PIN_NO(port, line)) << 8) | (mode))
34 
35 /*  package information */
36 #define STM32MP_PKG_AA	0x1
37 #define STM32MP_PKG_AB	0x2
38 #define STM32MP_PKG_AC	0x4
39 #define STM32MP_PKG_AD	0x8
40 #define STM32MP_PKG_AI	0x100
41 #define STM32MP_PKG_AK	0x400
42 #define STM32MP_PKG_AL	0x800
43 
44 #endif /* _DT_BINDINGS_STM32_PINFUNC_H */
45 
46