mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-22 22:14:51 +07:00
162d58c26d
Initially each pin was declared in "include/dt-bindings/stm32<SOC>-pinfunc.h" and each definition contained SOC names (ex: STM32F429_PA9_FUNC_USART1_TX). Since this approach was approved, the number of supported MCU has increased (STM32F429/STM32F469/STM32f746/STM32H743). To avoid to add a new file in "include/dt-bindings" each time a new STM32 SOC arrives I propose a new approach which consist to use a macro to define pin muxing in device tree. All STM32 will use the common macro to define pinmux. Furthermore, it will make STM32 maintenance and integration of new SOC easier . Signed-off-by: Alexandre TORGUE <alexandre.torgue@st.com> Reviewed-by: Vikas MANOCHA <vikas.manocha@st.com> Reviewed-by: Benjamin Gaignard <benjamin.gaignard@linaro.org> Acked-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Rob Herring <robh@kernel.org>
31 lines
607 B
C
31 lines
607 B
C
#ifndef _DT_BINDINGS_STM32_PINFUNC_H
|
|
#define _DT_BINDINGS_STM32_PINFUNC_H
|
|
|
|
/* define PIN modes */
|
|
#define GPIO 0x0
|
|
#define AF0 0x1
|
|
#define AF1 0x2
|
|
#define AF2 0x3
|
|
#define AF3 0x4
|
|
#define AF4 0x5
|
|
#define AF5 0x6
|
|
#define AF6 0x7
|
|
#define AF7 0x8
|
|
#define AF8 0x9
|
|
#define AF9 0xa
|
|
#define AF10 0xb
|
|
#define AF11 0xc
|
|
#define AF12 0xd
|
|
#define AF13 0xe
|
|
#define AF14 0xf
|
|
#define AF15 0x10
|
|
#define ANALOG 0x11
|
|
|
|
/* define Pins number*/
|
|
#define PIN_NO(port, line) (((port) - 'A') * 0x10 + (line))
|
|
|
|
#define STM32_PINMUX(port, line, mode) (((PIN_NO(port, line)) << 8) | (mode))
|
|
|
|
#endif /* _DT_BINDINGS_STM32_PINFUNC_H */
|
|
|