Zephyr Project API 4.3.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
stm32-pinctrl.h File Reference

Go to the source code of this file.

Macros

#define STM32_AF0   0x0
 Pin modes.
#define STM32_AF1   0x1
#define STM32_AF2   0x2
#define STM32_AF3   0x3
#define STM32_AF4   0x4
#define STM32_AF5   0x5
#define STM32_AF6   0x6
#define STM32_AF7   0x7
#define STM32_AF8   0x8
#define STM32_AF9   0x9
#define STM32_AF10   0xa
#define STM32_AF11   0xb
#define STM32_AF12   0xc
#define STM32_AF13   0xd
#define STM32_AF14   0xe
#define STM32_AF15   0xf
#define STM32_ANALOG   0x10
#define STM32_GPIO   0x11
#define STM32_MODE_SHIFT   0U
 Macro to generate pinmux int using port, pin number and mode arguments This is inspired from Linux equivalent st,stm32f429-pinctrl binding.
#define STM32_MODE_MASK   0x1FU
#define STM32_LINE_SHIFT   5U
#define STM32_LINE_MASK   0xFU
#define STM32_PORT_SHIFT   9U
#define STM32_PORT_MASK   0x1FU
#define STM32_PINMUX(port, line, mode)
 Pin configuration configuration bit field.

Macro Definition Documentation

◆ STM32_AF0

#define STM32_AF0   0x0

Pin modes.

◆ STM32_AF1

#define STM32_AF1   0x1

◆ STM32_AF10

#define STM32_AF10   0xa

◆ STM32_AF11

#define STM32_AF11   0xb

◆ STM32_AF12

#define STM32_AF12   0xc

◆ STM32_AF13

#define STM32_AF13   0xd

◆ STM32_AF14

#define STM32_AF14   0xe

◆ STM32_AF15

#define STM32_AF15   0xf

◆ STM32_AF2

#define STM32_AF2   0x2

◆ STM32_AF3

#define STM32_AF3   0x3

◆ STM32_AF4

#define STM32_AF4   0x4

◆ STM32_AF5

#define STM32_AF5   0x5

◆ STM32_AF6

#define STM32_AF6   0x6

◆ STM32_AF7

#define STM32_AF7   0x7

◆ STM32_AF8

#define STM32_AF8   0x8

◆ STM32_AF9

#define STM32_AF9   0x9

◆ STM32_ANALOG

#define STM32_ANALOG   0x10

◆ STM32_GPIO

#define STM32_GPIO   0x11

◆ STM32_LINE_MASK

#define STM32_LINE_MASK   0xFU

◆ STM32_LINE_SHIFT

#define STM32_LINE_SHIFT   5U

◆ STM32_MODE_MASK

#define STM32_MODE_MASK   0x1FU

◆ STM32_MODE_SHIFT

#define STM32_MODE_SHIFT   0U

Macro to generate pinmux int using port, pin number and mode arguments This is inspired from Linux equivalent st,stm32f429-pinctrl binding.

◆ STM32_PINMUX

#define STM32_PINMUX ( port,
line,
mode )
Value:
(((((port) - 'A') & STM32_PORT_MASK) << STM32_PORT_SHIFT) | \
(((line) & STM32_LINE_MASK) << STM32_LINE_SHIFT) | \
(((STM32_ ## mode) & STM32_MODE_MASK) << STM32_MODE_SHIFT))
#define STM32_PORT_SHIFT
Definition stm32-pinctrl.h:46
#define STM32_MODE_MASK
Definition stm32-pinctrl.h:43
#define STM32_MODE_SHIFT
Macro to generate pinmux int using port, pin number and mode arguments This is inspired from Linux eq...
Definition stm32-pinctrl.h:42
#define STM32_LINE_MASK
Definition stm32-pinctrl.h:45
#define STM32_LINE_SHIFT
Definition stm32-pinctrl.h:44
#define STM32_PORT_MASK
Definition stm32-pinctrl.h:47

Pin configuration configuration bit field.

Fields:

  • mode [ 0 : 4 ]
  • line [ 5 : 8 ]
  • port [ 9 : 13 ]
Parameters
portPort ('A'..'Q', 'Z')
linePin (0..15)
modeMode (ANALOG, GPIO_IN, ALTERNATE).

◆ STM32_PORT_MASK

#define STM32_PORT_MASK   0x1FU

◆ STM32_PORT_SHIFT

#define STM32_PORT_SHIFT   9U