123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144 |
- #ifndef ZEPHYR_STM32_PINCTRLF1_H_
- #define ZEPHYR_STM32_PINCTRLF1_H_
- #include <dt-bindings/pinctrl/stm32-pinctrl-common.h>
- #define PIN_NO(port, line) (((port) - 'A') * 0x10 + (line))
- #define STM32F1_PINMUX(port, line, mode, remap) \
- (((PIN_NO(port, line)) << 8) | (mode << 6) | (remap))
- #define ALTERNATE 0x0
- #define GPIO_IN 0x1
- #define ANALOG 0x2
- #define NO_REMAP 0x0
- #define REMAP_1 0x1
- #define REMAP_2 0x2
- #define REMAP_3 0x3
- #define REMAP_FULL 0x4
- #define STM32_AFR_MASK 0
- #define STM32_AFR_SHIFT 0
- #define STM32_MODE_INPUT (0x0<<STM32_MODE_INOUT_SHIFT)
- #define STM32_MODE_OUTPUT (0x1<<STM32_MODE_INOUT_SHIFT)
- #define STM32_MODE_INOUT_MASK 0x1
- #define STM32_MODE_INOUT_SHIFT 0
- #define STM32_CNF_IN_ANALOG (0x0<<STM32_CNF_IN_SHIFT)
- #define STM32_CNF_IN_FLOAT (0x1<<STM32_CNF_IN_SHIFT)
- #define STM32_CNF_IN_PUPD (0x2<<STM32_CNF_IN_SHIFT)
- #define STM32_CNF_IN_MASK 0x3
- #define STM32_CNF_IN_SHIFT 1
- #define STM32_MODE_OUTPUT_MAX_10 (0x0<<STM32_MODE_OSPEED_SHIFT)
- #define STM32_MODE_OUTPUT_MAX_2 (0x1<<STM32_MODE_OSPEED_SHIFT)
- #define STM32_MODE_OUTPUT_MAX_50 (0x2<<STM32_MODE_OSPEED_SHIFT)
- #define STM32_MODE_OSPEED_MASK 0x3
- #define STM32_MODE_OSPEED_SHIFT 3
- #define STM32_CNF_PUSH_PULL (0x0<<STM32_CNF_OUT_0_SHIFT)
- #define STM32_CNF_OPEN_DRAIN (0x1<<STM32_CNF_OUT_0_SHIFT)
- #define STM32_CNF_OUT_0_MASK 0x1
- #define STM32_CNF_OUT_0_SHIFT 5
- #define STM32_CNF_GP_OUTPUT (0x0<<STM32_CNF_OUT_1_SHIFT)
- #define STM32_CNF_ALT_FUNC (0x1<<STM32_CNF_OUT_1_SHIFT)
- #define STM32_CNF_OUT_1_MASK 0x1
- #define STM32_CNF_OUT_1_SHIFT 6
- #define STM32_PUPD_NO_PULL (0x0<<STM32_PUPD_SHIFT)
- #define STM32_PUPD_PULL_UP (0x1<<STM32_PUPD_SHIFT)
- #define STM32_PUPD_PULL_DOWN (0x2<<STM32_PUPD_SHIFT)
- #define STM32_PUPD_MASK 0x3
- #define STM32_PUPD_SHIFT 7
- #define STM32_ALTERNATE (STM32_MODE_OUTPUT | STM32_CNF_ALT_FUNC)
- #define STM32_PIN_USART_TX (STM32_ALTERNATE | STM32_CNF_PUSH_PULL)
- #define STM32_PIN_USART_RX (STM32_MODE_INPUT | STM32_CNF_IN_FLOAT)
- #define STM32_PIN_I2C (STM32_ALTERNATE | STM32_CNF_OPEN_DRAIN)
- #define STM32_PIN_PWM (STM32_ALTERNATE | STM32_CNF_PUSH_PULL)
- #define STM32_PIN_SPI_MASTER_SCK (STM32_ALTERNATE | STM32_CNF_PUSH_PULL)
- #define STM32_PIN_SPI_SLAVE_SCK (STM32_MODE_INPUT | STM32_CNF_IN_FLOAT)
- #define STM32_PIN_SPI_MASTER_MOSI (STM32_ALTERNATE | STM32_CNF_PUSH_PULL)
- #define STM32_PIN_SPI_SLAVE_MOSI (STM32_MODE_INPUT | STM32_CNF_IN_FLOAT)
- #define STM32_PIN_SPI_MASTER_MISO (STM32_MODE_INPUT | STM32_CNF_IN_FLOAT)
- #define STM32_PIN_SPI_SLAVE_MISO (STM32_ALTERNATE | STM32_CNF_PUSH_PULL)
- #define STM32_PIN_CAN_TX (STM32_ALTERNATE | STM32_CNF_PUSH_PULL)
- #define STM32_PIN_CAN_RX (STM32_MODE_INPUT | STM32_PUPD_PULL_UP)
- #define STM32_PIN_SPI_MASTER_NSS (STM32_MODE_INPUT | STM32_CNF_IN_FLOAT)
- #define STM32_PIN_SPI_MASTER_NSS_OE (STM32_MODE_OUTPUT | \
- STM32_CNF_ALT_FUNC | \
- STM32_CNF_PUSH_PULL)
- #define STM32_PIN_SPI_SLAVE_NSS (STM32_MODE_INPUT | STM32_CNF_IN_FLOAT)
- #define STM32_PIN_USB (STM32_MODE_INPUT | STM32_CNF_IN_PUPD)
- #endif
|