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