RTEMS 6.1-rc6
|
MicroBlaze AXI GPIO implementation. More...
#include <assert.h>
#include <bsp/fatal.h>
#include <bsp/fdt.h>
#include <bsp/microblaze-gpio.h>
#include <libfdt.h>
Functions | |
void | microblaze_gpio_set_data_direction (Microblaze_GPIO_context *ctx, uint32_t channel, uint32_t mask) |
Set pin configuration for the specified GPIO channel. | |
uint32_t | microblaze_gpio_get_data_direction (Microblaze_GPIO_context *ctx, uint32_t channel) |
Get pin configuration for specified GPIO channel. | |
uint32_t | microblaze_gpio_discrete_read (Microblaze_GPIO_context *ctx, uint32_t channel) |
Reads data for specified GPIO channel. | |
void | microblaze_gpio_discrete_write (Microblaze_GPIO_context *ctx, uint32_t channel, uint32_t mask) |
Writes to data register for specified GPIO channel. | |
void | microblaze_gpio_discrete_set (Microblaze_GPIO_context *ctx, uint32_t channel, uint32_t mask) |
Set bits to 1 on specified GPIO channel. | |
void | microblaze_gpio_discrete_clear (Microblaze_GPIO_context *ctx, uint32_t channel, uint32_t mask) |
Set bits to 0 on specified GPIO channel. | |
rtems_vector_number | microblaze_gpio_get_irq (Microblaze_GPIO_context *ctx) |
Returns the vector number of the interrupt handler. | |
void | microblaze_gpio_interrupt_global_enable (Microblaze_GPIO_context *ctx) |
Turns on interrupts globally. | |
void | microblaze_gpio_interrupt_global_disable (Microblaze_GPIO_context *ctx) |
Turns off interrupts globally. | |
void | microblaze_gpio_interrupt_enable (Microblaze_GPIO_context *ctx, uint32_t channel) |
Enables interrupts on specified channel. | |
void | microblaze_gpio_interrupt_disable (Microblaze_GPIO_context *ctx, uint32_t channel) |
Disables interrupts on specified channel. | |
void | microblaze_gpio_interrupt_clear (Microblaze_GPIO_context *ctx, uint32_t channel) |
Clear status of interrupt signals on a specific channel. | |
uint32_t | microblaze_gpio_interrupt_get_enabled (Microblaze_GPIO_context *ctx) |
Return a bitmask of the interrupts that are enabled. | |
uint32_t | microblaze_gpio_interrupt_get_status (Microblaze_GPIO_context *ctx) |
Return a bitmask of the status of the interrupt signals. | |
MicroBlaze AXI GPIO implementation.
void microblaze_gpio_discrete_clear | ( | Microblaze_GPIO_context * | ctx, |
uint32_t | channel, | ||
uint32_t | mask | ||
) |
Set bits to 0 on specified GPIO channel.
[in] | ctx | the GPIO context |
[in] | channel | the GPIO channel |
[in] | mask | the mask to be applied to @ channel |
None |
uint32_t microblaze_gpio_discrete_read | ( | Microblaze_GPIO_context * | ctx, |
uint32_t | channel | ||
) |
Reads data for specified GPIO channel.
[in] | channel | the GPIO channel |
Current | values in discretes register. |
void microblaze_gpio_discrete_set | ( | Microblaze_GPIO_context * | ctx, |
uint32_t | channel, | ||
uint32_t | mask | ||
) |
Set bits to 1 on specified GPIO channel.
[in] | ctx | the GPIO context |
[in] | channel | the GPIO channel |
[in] | mask | the mask to be applied to @ channel |
None |
void microblaze_gpio_discrete_write | ( | Microblaze_GPIO_context * | ctx, |
uint32_t | channel, | ||
uint32_t | mask | ||
) |
Writes to data register for specified GPIO channel.
[in] | ctx | the GPIO context |
[in] | channel | the GPIO channel |
[in] | mask | the mask to be applied to @ channel |
None |
uint32_t microblaze_gpio_get_data_direction | ( | Microblaze_GPIO_context * | ctx, |
uint32_t | channel | ||
) |
Get pin configuration for specified GPIO channel.
Gets the current pin configuration for a specified GPIO channel. Bits set to 0 are output, and bits set to 1 are input.
[in] | ctx | the GPIO context |
[in] | channel | the GPIO channel |
bitmask | specifiying which pins on a channel are input or output |
rtems_vector_number microblaze_gpio_get_irq | ( | Microblaze_GPIO_context * | ctx | ) |
Returns the vector number of the interrupt handler.
[in] | ctx | the GPIO context |
the | vector number |
void microblaze_gpio_interrupt_clear | ( | Microblaze_GPIO_context * | ctx, |
uint32_t | channel | ||
) |
Clear status of interrupt signals on a specific channel.
[in] | ctx | the GPIO context |
[in] | channel | the channel to clear the interrupt pending status from |
None |
void microblaze_gpio_interrupt_disable | ( | Microblaze_GPIO_context * | ctx, |
uint32_t | channel | ||
) |
Disables interrupts on specified channel.
[in] | ctx | the GPIO context |
[in] | channel | the channel to turn interrupts on for |
None |
void microblaze_gpio_interrupt_enable | ( | Microblaze_GPIO_context * | ctx, |
uint32_t | channel | ||
) |
Enables interrupts on specified channel.
[in] | ctx | the GPIO context |
[in] | channel | the channel to enable interrupts on |
None |
uint32_t microblaze_gpio_interrupt_get_enabled | ( | Microblaze_GPIO_context * | ctx | ) |
Return a bitmask of the interrupts that are enabled.
[in] | ctx | the GPIO context |
the | bitmask of enabled interrupts |
uint32_t microblaze_gpio_interrupt_get_status | ( | Microblaze_GPIO_context * | ctx | ) |
Return a bitmask of the status of the interrupt signals.
[in] | ctx | the GPIO context |
bitmask | containing statuses of interrupt signals |
void microblaze_gpio_interrupt_global_disable | ( | Microblaze_GPIO_context * | ctx | ) |
Turns off interrupts globally.
[in] | ctx | the GPIO context |
None |
void microblaze_gpio_interrupt_global_enable | ( | Microblaze_GPIO_context * | ctx | ) |
Turns on interrupts globally.
[in] | ctx | the GPIO context |
None |
void microblaze_gpio_set_data_direction | ( | Microblaze_GPIO_context * | ctx, |
uint32_t | channel, | ||
uint32_t | mask | ||
) |
Set pin configuration for the specified GPIO channel.
Changes the pin configuration for a channel. Bits set to 0 are output, and bits set to 1 are input.
[in] | ctx | the GPIO context |
[in] | channel | the GPIO channel |
[in] | mask | the mask to be applied to @ channel |
None |