summaryrefslogtreecommitdiff
path: root/os/drivers/pinctrl/stm32f769_pinctrl.h
diff options
context:
space:
mode:
Diffstat (limited to 'os/drivers/pinctrl/stm32f769_pinctrl.h')
-rw-r--r--os/drivers/pinctrl/stm32f769_pinctrl.h48
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_ */