Zephyr Project API 4.2.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
nxp_flexio.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2024, STRIM, ALC
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
13#ifndef ZEPHYR_DRIVERS_MISC_NXP_FLEXIO_NXP_FLEXIO_H_
14#define ZEPHYR_DRIVERS_MISC_NXP_FLEXIO_NXP_FLEXIO_H_
15
24#include <zephyr/device.h>
25
47
57typedef int (*nxp_flexio_child_isr_t)(void *user_data);
58
73
78void nxp_flexio_irq_enable(const struct device *dev);
79
84void nxp_flexio_irq_disable(const struct device *dev);
85
90void nxp_flexio_lock(const struct device *dev);
91
96void nxp_flexio_unlock(const struct device *dev);
97
108int nxp_flexio_get_rate(const struct device *dev, uint32_t *rate);
109
117int nxp_flexio_child_attach(const struct device *dev,
118 const struct nxp_flexio_child *child);
119
124#endif /* ZEPHYR_DRIVERS_MISC_NXP_FLEXIO_NXP_FLEXIO_H_ */
int nxp_flexio_child_attach(const struct device *dev, const struct nxp_flexio_child *child)
Attach flexio child to flexio controller.
void nxp_flexio_irq_disable(const struct device *dev)
Disable FlexIO IRQ.
void nxp_flexio_lock(const struct device *dev)
Lock FlexIO mutex.
int(* nxp_flexio_child_isr_t)(void *user_data)
Callback API to inform API user that FlexIO triggered interrupt.
Definition nxp_flexio.h:57
void nxp_flexio_irq_enable(const struct device *dev)
Enable FlexIO IRQ.
int nxp_flexio_get_rate(const struct device *dev, uint32_t *rate)
Obtain the clock rate of sub-system used by the FlexIO.
void nxp_flexio_unlock(const struct device *dev)
Unlock FlexIO mutex.
__UINT32_TYPE__ uint32_t
Definition stdint.h:90
__UINT8_TYPE__ uint8_t
Definition stdint.h:88
Runtime device structure (in ROM) per driver instance.
Definition device.h:510
Structure containing information about the required resources for a FlexIO child.
Definition nxp_flexio.h:29
uint8_t timer_count
Number of timer indices required by the child.
Definition nxp_flexio.h:45
uint8_t * timer_index
Output array where assigned timer indices are stored.
Definition nxp_flexio.h:43
uint8_t shifter_count
Number of shifter indices required by the child.
Definition nxp_flexio.h:37
uint8_t * shifter_index
Output array where assigned shifter indices are stored.
Definition nxp_flexio.h:35
Structure containing the required child data for FlexIO.
Definition nxp_flexio.h:63
nxp_flexio_child_isr_t isr
ISR called from the FlexIO controller's IRQ handler.
Definition nxp_flexio.h:67
void * user_data
Opaque pointer passed to isr function when it is invoked.
Definition nxp_flexio.h:69
struct nxp_flexio_child_res res
Resource requirements and output indices filled by nxp_flexio_child_attach().
Definition nxp_flexio.h:71