libgpio-xzynq

GPIO support library for the Xilinx ZYNQ ZCU10x platform where x represents the number of the variant for the platform.

Runs on:

QNX OS

Description:

The libgpio-xzynq library is intended to facilitate the configuration and usage of GPIO pins on the Xilinx XZYNQ UltraScale+ MPSoC in custom applications. This library can be used with both the PMC and LPD GPIO controllers in the Ultrascale SoC.

Note:
MIO and EMIO pins must be muxed by the First Stage Boot Loader (FSBL) to function as intended. MIO and EMIO pin muxing is outside the scope of this library.

Including the library in the application

This library can be included in your application by adding LIBS += gpio-xzynq to your common.mk file, as well as including `hw/gpio.h` to your application's source file(s). The library functions can then be called directly by your application code.

Library initialization and cleanup

The mpsoc_gpio_init() function must be the first function called in the library. Calls to other library functions will be unpredictable unless the initialization has been completed first. The mpsoc_gpio_fini() function should be called when your application is finished using the library.

GPIO configuration functions

This library consists of the following GPIO configuration functions:
        mpsoc_gpio_set_direction()
        mpsoc_gpio_get_direction()
        mpsoc_gpio_set_output_enable()
        mpsoc_gpio_get_output_enable()
        mpsoc_gpio_get_input()
        mpsoc_gpio_set_output()
        mpsoc_gpio_get_irq_type()
        mpsoc_gpio_set_irq_type()
        mpsoc_gpio_irq_clear()
        mpsoc_gpio_get_irq_status()
        mpsoc_gpio_get_irq_enable()
        mpsoc_gpio_irq_enable()
        mpsoc_gpio_irq_disable()
        mpsoc_get_mux_tri_state()
        mpsoc_get_mux_select()
        mpsoc_get_mux_output_speed()
        mpsoc_get_mux_input_type()
        mpsoc_get_mux_pull_updown()
        mpsoc_get_mux_pull_enable()
        mpsoc_set_mux_tri_enable()
        mpsoc_set_mux_select()
        mpsoc_set_mux_output_speed()
        mpsoc_set_mux_input_type()
        mpsoc_set_mux_pull_updown()
        mpsoc_set_mux_pull_enable()
Page updated: