|
|
@@ -15,9 +15,47 @@
|
|
|
#include <rtthread.h>
|
|
|
#include <rtdevice.h>
|
|
|
|
|
|
+/**
|
|
|
+ * Bind GPIO pin to system PIN API
|
|
|
+ *
|
|
|
+ * @param gpio Pin device
|
|
|
+ * @param pin_nr GPIO pin number
|
|
|
+ *
|
|
|
+ * @return RT_EOK on success, error code otherwise
|
|
|
+ */
|
|
|
rt_err_t pin_api_init(struct rt_device_pin *gpio, rt_size_t pin_nr);
|
|
|
|
|
|
+/**
|
|
|
+ * Bind GPIO pin to system PIN PIC
|
|
|
+ *
|
|
|
+ * @param gpio Pin device
|
|
|
+ * @param pin_irq GPIO irqno
|
|
|
+ *
|
|
|
+ * @return RT_EOK on success, error code otherwise
|
|
|
+ */
|
|
|
rt_err_t pin_pic_init(struct rt_device_pin *gpio, int pin_irq);
|
|
|
+
|
|
|
+/**
|
|
|
+ * Handle GPIO one pin's ISR
|
|
|
+ *
|
|
|
+ * @param gpio Pin device
|
|
|
+ * @param pin GPIO pin
|
|
|
+ *
|
|
|
+ * @return RT_EOK on success, error code otherwise
|
|
|
+ */
|
|
|
rt_err_t pin_pic_handle_isr(struct rt_device_pin *gpio, rt_base_t pin);
|
|
|
|
|
|
+#ifdef RT_USING_PINCTRL
|
|
|
+/**
|
|
|
+ * Request GPIO pin configuration from pinctrl
|
|
|
+ *
|
|
|
+ * @param pinctrl Pinctrl device
|
|
|
+ * @param gpio GPIO pin number
|
|
|
+ * @param flags GPIO configuration flags
|
|
|
+ *
|
|
|
+ * @return RT_EOK on success, error code otherwise
|
|
|
+ */
|
|
|
+rt_err_t pin_gpio_request(struct rt_device_pin *pinctrl, rt_base_t gpio, rt_uint32_t flags);
|
|
|
+#endif
|
|
|
+
|
|
|
#endif /* __DEV_PIN_DM_H__ */
|