diff options
Diffstat (limited to 'os/drivers/pinctrl/stm32f769_pinctrl.h')
| -rw-r--r-- | os/drivers/pinctrl/stm32f769_pinctrl.h | 48 |
1 files changed, 32 insertions, 16 deletions
diff --git a/os/drivers/pinctrl/stm32f769_pinctrl.h b/os/drivers/pinctrl/stm32f769_pinctrl.h index 489faa68..85a6cb60 100644 --- a/os/drivers/pinctrl/stm32f769_pinctrl.h +++ b/os/drivers/pinctrl/stm32f769_pinctrl.h @@ -19,25 +19,37 @@ #define STM32F769_AF15 15U #define STM32F769_ANALOG 16U -#define STM32F769_PORT_MSK 0xFU -#define STM32F769_PORT_POS 0U #define STM32F769_PIN_MSK 0xFU -#define STM32F769_PIN_POS 4U -#define STM32F769_AF_MSK 0xFU +#define STM32F769_PIN_POS 0U +#define STM32F769_PORT_MSK 0xFU +#define STM32F769_PORT_POS 4U +#define STM32F769_AF_MSK 0x1FU #define STM32F769_AF_POS 8U -#define STM32F769_PORT_GET(pinmux) \ - (((pinmux) >> STM32F769_PORT_POS) & STM32F769_PORT_MSK) +#define STM32F769_PORTA 0 +#define STM32F769_PORTB 1 +#define STM32F769_PORTC 2 +#define STM32F769_PORTD 3 +#define STM32F769_PORTE 4 +#define STM32F769_PORTF 5 +#define STM32F769_PORTG 6 +#define STM32F769_PORTH 7 +#define STM32F769_PORTI 8 +#define STM32F769_PORTJ 9 +#define STM32F769_PORTK 10 -#define STM32F769_PIN_GET(pinmux) \ - (((pinmux) >> STM32F769_PIN_POS) & STM32F769_PIN_MSK) +#define STM32F769_PORT_GET(pinmux) \ + (((pinmux) >> STM32F769_PORT_POS) & STM32F769_PORT_MSK) -#define STM32F769_AF_GET(pinmux) \ - (((pinmux) >> STM32F769_AF_POS) & STM32F769_AF_MSK) +#define STM32F769_PIN_GET(pinmux) \ + (((pinmux) >> STM32F769_PIN_POS) & STM32F769_PIN_MSK) + +#define STM32F769_AF_GET(pinmux) \ + (((pinmux) >> STM32F769_AF_POS) & STM32F769_AF_MSK) /** - * - 0..3: port - * - 4..7: pin + * - 0..3: pin + * - 4..7: port * - 8..13: af * * port: Port ('A'..'K') @@ -45,9 +57,13 @@ * af: Alternate function (ANALOG, AFx, x=0..15) */ -#define STM32F769_PINMUX_AF(port, pin, af) \ - ((((port) & STM32F769_PORT_MSK) << STM32F769_PORT_POS) | \ - (((pin) & STM32F769_PIN_MSK) << STM32F769_PIN_POS) | \ - (((STM32F769_ ## af) & STM32F769_AF_MSK) << STM32F769_AF_POS)) +#define STM32F769_PINMUX_AF(port, pin, af) \ + ((((port) & STM32F769_PORT_MSK) << STM32F769_PORT_POS) | \ + (((pin) & STM32F769_PIN_MSK) << STM32F769_PIN_POS) | \ + (((STM32F769_ ## af) & STM32F769_AF_MSK) << STM32F769_AF_POS)) + +void stm32f769_pinctrl_configure_pin(uint32_t pin); +GPIO_TypeDef *stm32f769_get_port(unsigned int port_idx); +uint16_t stm32f769_get_port_clkid(unsigned int port_idx); #endif/*__DT_BINDINGS_PINCTRL_STM32F769_AF_H_ */ |
