mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 18:51:56 -04:00
ARM: dts: stm32: change pinctrl bindings definition
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 <[email protected]> Reviewed-by: Vikas MANOCHA <[email protected]> Reviewed-by: Benjamin Gaignard <[email protected]> Acked-by: Linus Walleij <[email protected]> Acked-by: Rob Herring <[email protected]>
This commit is contained in:
parent
6d3b3745c5
commit
162d58c26d
8 changed files with 151 additions and 4278 deletions
30
include/dt-bindings/pinctrl/stm32-pinfunc.h
Normal file
30
include/dt-bindings/pinctrl/stm32-pinfunc.h
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
#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 */
|
||||
|
||||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue