aboutsummaryrefslogtreecommitdiff
path: root/teensy/teensy_hal.h
diff options
context:
space:
mode:
Diffstat (limited to 'teensy/teensy_hal.h')
-rw-r--r--teensy/teensy_hal.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/teensy/teensy_hal.h b/teensy/teensy_hal.h
index ff16c98c5..9c9e62842 100644
--- a/teensy/teensy_hal.h
+++ b/teensy/teensy_hal.h
@@ -81,6 +81,7 @@ typedef struct {
#define GPIO_SPEED_FAST ((uint32_t)2)
#define GPIO_SPEED_HIGH ((uint32_t)3)
+#define IS_GPIO_AF(af) ((af) >= 0 && (af) <= 7)
typedef struct {
uint32_t Pin;
@@ -96,6 +97,22 @@ typedef struct {
#define GPIO_PIN_TO_PORT_PCR(GPIOx, pin) \
(&PORTA_PCR0 + GPIO_PORT_TO_PORT_NUM(GPIOx) * 32 + (pin))
+#define GPIO_AF2_I2C0 2
+#define GPIO_AF2_I2C1 2
+#define GPIO_AF2_SPI0 2
+#define GPIO_AF3_FTM0 3
+#define GPIO_AF3_FTM1 3
+#define GPIO_AF3_FTM2 3
+#define GPIO_AF3_UART0 3
+#define GPIO_AF3_UART1 3
+#define GPIO_AF3_UART2 3
+#define GPIO_AF4_FTM0 4
+#define GPIO_AF6_FTM1 6
+#define GPIO_AF6_FTM2 6
+#define GPIO_AF6_I2C1 6
+#define GPIO_AF7_FTM1 7
+
+
__attribute__(( always_inline )) static inline void __WFI(void)
{
__asm volatile ("wfi");
@@ -109,3 +126,4 @@ void HAL_GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *init);
#define GPIO_read_pin(gpio, pin) (((gpio)->PDIR >> (pin)) & 1)
#define GPIO_set_pin(gpio, pin_mask) (((gpio)->PSOR) = (pin_mask))
#define GPIO_clear_pin(gpio, pin_mask) (((gpio)->PCOR) = (pin_mask))
+#define GPIO_read_output_pin(gpio, pin) (((gpio)->PDOR >> (pin)) & 1)