General-Purpose Input-Output#


Introduction#

The GPIO (General Purpose Input/Output) driver provides a comprehensive set of functions to configure and control the GPIO pins. The GPIO pins can be used for various purposes such as reading digital signals, controlling external devices, generating interrupts, etc. The GPIO driver simplifies the process of interacting with GPIO pins, making it easier to integrate GPIO functionality into the application.


Configuration#

  • To configure the GPIO driver, identify the GPIO instance and pins you want to configure. Set the direction of each pin as either input or output. Then, if needed, set the drive strength for the pins to ensure they can handle the required current. Set the GPIO mux/mode and pad selection if needed. Configure any interrupt settings, such as trigger type (level or edge) and interrupt polarity (high or low). If interrupts are used, register the appropriate callback functions to handle them.

  • Additionally, make sure to enable the GPIO clock for the selected instance to ensure the GPIO peripheral operates correctly.

  • These steps are necessary for the GPIO pins to function correctly and trigger interrupts as required by the application. The respective APIs for the same functionality will change depending on the GPIO in use i.e. Ultra Ultra Low Power (UULP), Ultra Low Power (ULP), or High Power (HP).


Usage#

  • For UULP GPIOs, common functions include:

  1. sl_gpio_driver_configure_interrupt

  2. sl_gpio_driver_toggle_pin

  3. sl_gpio_driver_get_pin

  4. sl_gpio_driver_clear_pin

  5. sl_gpio_driver_set_pin

  6. sl_gpio_set_configuration

  • For ULP GPIOs, some of the common functions include:

  1. sl_gpio_driver_configure_interrupt

  2. sl_gpio_driver_toggle_pin

  3. sl_gpio_driver_get_pin

  4. sl_gpio_driver_clear_pin

  5. sl_gpio_driver_set_pin

  6. sl_gpio_set_configuration

  • For HP GPIOs, some of the common functions include:

  1. sl_gpio_set_configuration

  2. sl_gpio_driver_set_pin

  3. sl_gpio_driver_clear_pin

  4. sl_gpio_driver_get_pin

  5. sl_gpio_driver_toggle_pin

  6. sl_gpio_driver_configure_interrupt

  • There is also an alternate API for configuring GPIO pin straight forward(without configuring mode, direction, pad, clock etc., using separate APIs), by providing information to structure members. Please refer to sl_gpio_set_configuration.

  • Other APIs can be referred to in the API Documentation.

Modules#

sl_gpio_t

sl_si91x_gpio_pin_config_t

Typedefs#

typedef void(*
sl_gpio_irq_callback_t)(uint32_t flag)

GPIO interrupt callback function pointer.

Functions#

STATIC __INLINE sl_status_t

Clear one or more pending GPIO interrupts.

sl_status_t
sl_gpio_driver_configure_interrupt(sl_gpio_t *gpio, uint32_t int_no, sl_gpio_interrupt_flag_t flags, sl_gpio_irq_callback_t gpio_callback, uint32_t *avl_intr_no)

Configure the GPIO pin interrupt.

sl_status_t
sl_gpio_configure_group_interrupt(sl_si91x_gpio_group_interrupt_config_t *configuration, sl_gpio_irq_callback_t gpio_callback)

Configure the GPIO group interrupts for HP,ULP instances.

sl_status_t
sl_gpio_driver_set_pin_mode(sl_gpio_t *gpio, sl_gpio_mode_t mode, uint32_t output_value)

Set the pin mode for a GPIO pin in HP (or) ULP instance.

sl_status_t
sl_gpio_driver_get_pin_mode(sl_gpio_t *gpio, sl_gpio_mode_t *mode)

Get the pin mode (alternate function) of a GPIO for either HP instance (or) ULP instance as per the port number.

sl_status_t
sl_status_t
sl_status_t
sl_gpio_driver_unregister(sl_si91x_gpio_instances_t gpio_instance, sl_si91x_gpio_intr_t gpio_intr, uint8_t flag)

Unregister GPIO driver.

STATIC __INLINE sl_status_t
sl_gpio_validation(sl_gpio_t *gpio)

Validating port and pin of GPIO.

STATIC __INLINE sl_status_t
sl_gpio_driver_set_pin(sl_gpio_t *gpio)

Set a single pin in GPIO configuration register to 1.

STATIC __INLINE sl_status_t
sl_gpio_driver_clear_pin(sl_gpio_t *gpio)

Clear a single pin in the GPIO configuration register to 0.

STATIC __INLINE sl_status_t
sl_gpio_driver_toggle_pin(sl_gpio_t *gpio)

Toggle a single pin in GPIO port register.

STATIC __INLINE sl_status_t
sl_gpio_driver_get_pin(sl_gpio_t *gpio, uint8_t *pin_value)

Read the pin value for a single pin in a GPIO port.

STATIC __INLINE sl_status_t
sl_gpio_driver_set_port(sl_gpio_port_t port, uint32_t pins)

Set bits GPIO data out register to 1.

STATIC __INLINE sl_status_t
sl_gpio_driver_clear_port(sl_gpio_port_t port, uint32_t pins)

Set bits in configuration register for a port to 0.

STATIC __INLINE sl_status_t
sl_gpio_driver_get_port_output(sl_gpio_port_t port, uint32_t *port_value)

Get the current setting for a GPIO configuration register.

STATIC __INLINE uint8_t

Get the current setting for a pin in a GPIO configuration register.

STATIC __INLINE sl_status_t
sl_gpio_driver_set_port_output_value(sl_gpio_port_t port, uint32_t val, uint32_t mask)

Set the GPIO port configuration register.

STATIC __INLINE sl_status_t
sl_gpio_driver_set_slew_rate(sl_gpio_port_t port, uint32_t slewrate, uint32_t slewrate_alt)
STATIC __INLINE uint32_t
sl_gpio_driver_get_port_input(sl_gpio_port_t port)

Read the port value for GPIO.

STATIC __INLINE sl_status_t
sl_gpio_driver_toggle_port_output(sl_gpio_port_t port, uint32_t pins)
STATIC __INLINE sl_status_t
STATIC __INLINE sl_status_t
STATIC __INLINE sl_status_t
STATIC __INLINE uint32_t

Get the pending GPIO interrupts.

STATIC __INLINE uint32_t

Get the enabled GPIO interrupts.

STATIC __INLINE uint32_t

Get the enabled and pending GPIO interrupt flags.

sl_status_t
sl_gpio_set_configuration(sl_si91x_gpio_pin_config_t pin_config)

Configuration of the GPIO based on port and pin.

sl_status_t
sl_si91x_gpio_driver_set_pin_direction(uint8_t port, uint8_t pin, sl_si91x_gpio_direction_t direction)

Set the direction for a GPIO pin.

uint8_t
sl_si91x_gpio_driver_get_pin_direction(uint8_t port, uint8_t pin)

Get the direction of a selected GPIO pin.

sl_status_t

Enable the receiver enable bit in the PAD configuration register for reading the GPIO pin status.

sl_status_t

Disable the receiver enable bit in the PAD configuration register.

sl_status_t

Enable the pad selection bit in the PAD selection register.

sl_status_t

Enable the host pad selection bit in the PAD selection register.

sl_status_t
sl_si91x_gpio_driver_select_pad_driver_strength(uint8_t gpio_num, sl_si91x_gpio_driver_strength_select_t strength)

Select the drive strength for an HP instance GPIO pin.

sl_status_t
sl_si91x_gpio_driver_select_pad_driver_disable_state(uint8_t gpio_num, sl_si91x_gpio_driver_disable_state_t disable_state)

Select the Driver disabled state control for an HP instance GPIO pin.

sl_status_t
sl_si91x_gpio_driver_select_group_interrupt_and_or(uint8_t port, sl_si91x_group_interrupt_t group_interrupt, sl_si91x_gpio_and_or_t and_or)

Select AND/OR type of the group interrupt.

sl_status_t
sl_si91x_gpio_driver_clear_group_interrupt(sl_si91x_group_interrupt_t group_interrupt)

Clear the selected group interrupt status value.

uint32_t
sl_si91x_gpio_driver_get_group_interrupt_status(uint8_t port, sl_si91x_group_interrupt_t group_interrupt)

Get the current status of the selected group interrupt.

sl_status_t
sl_si91x_gpio_driver_select_group_interrupt_wakeup(uint8_t port, sl_si91x_group_interrupt_t group_interrupt, sl_si91x_gpio_wakeup_t flags)

Configure the group interrupt as a wake up source across sleep wakeups.

sl_status_t
sl_si91x_gpio_driver_configure_group_interrupt(sl_si91x_gpio_group_interrupt_config_t *configuration, sl_gpio_irq_callback_t gpio_callback)

Configure the MCU HP instance group interrupts with trigger type (level/edge), polarity (high/low), interrupt type (and/or) and register the callback function for interrupts.

uint8_t
sl_si91x_gpio_driver_get_group_interrupt_polarity(sl_si91x_group_interrupt_t group_interrupt, uint8_t port, uint8_t pin)

Get the configured polarity of group interrupt.

sl_status_t
sl_si91x_gpio_driver_set_group_interrupt_polarity(sl_si91x_group_interrupt_t group_interrupt, uint8_t port, uint8_t pin, sl_si91x_gpio_polarity_t polarity)

Configure the polarity to a selected group interrupt which decides the active value of the pin to be considered for group interrupt generation.

uint8_t
sl_si91x_gpio_driver_get_group_interrupt_level_edge(uint8_t port, sl_si91x_group_interrupt_t group_interrupt)

Get the configured level/edge event for the selected group interrupt.

sl_status_t
sl_si91x_gpio_driver_set_group_interrupt_level_edge(uint8_t port, sl_si91x_group_interrupt_t group_interrupt, sl_si91x_gpio_level_edge_t level_edge)

Set the level/edge event for the selected group interrupt.

sl_status_t
sl_si91x_gpio_driver_unmask_group_interrupt(uint8_t port, sl_si91x_group_interrupt_t group_interrupt)

Unmask the selected group interrupt to enable interrupt clearing upon generation.

sl_status_t
sl_si91x_gpio_driver_mask_group_interrupt(uint8_t port, sl_si91x_group_interrupt_t group_interrupt)

Mask the selected group interrupt.

sl_status_t
sl_si91x_gpio_driver_disable_clock(sl_si91x_gpio_select_clock_t clock)

Disable the clock for either the HP or ULP instance of the GPIO Peripheral.

sl_status_t
sl_si91x_gpio_driver_enable_clock(sl_si91x_gpio_select_clock_t clock)

Enable the clock for either the HP or ULP instance of the GPIO peripheral.

sl_status_t
sl_si91x_gpio_driver_enable_group_interrupt(sl_si91x_group_interrupt_t group_interrupt, uint8_t port, uint8_t pin)

Enable the selected group interrupts for either the HP or ULP instance of the GPIO peripheral.

sl_status_t
sl_si91x_gpio_driver_disable_group_interrupt(sl_si91x_group_interrupt_t group_interrupt, uint8_t port, uint8_t pin)

Disable the selected group interrupts for either the HP or ULP instance of the GPIO peripheral.

sl_status_t
sl_si91x_gpio_driver_select_ulp_pad_slew_rate(uint8_t gpio_num, sl_si91x_gpio_slew_rate_t slew_rate)

Select the slew rate for the ULP instance of the GPIO peripheral.

sl_status_t
sl_si91x_gpio_driver_select_ulp_pad_driver_strength(uint8_t gpio_num, sl_si91x_gpio_driver_strength_select_t strength)

Select the drive strength for the ULP instance of the GPIO peripheral.

sl_status_t
sl_si91x_gpio_driver_select_ulp_pad_driver_disable_state(uint8_t gpio_num, sl_si91x_gpio_driver_disable_state_t disable_state)

Select the driver-disabled state control for the ULP instance of the GPIO peripheral.

sl_status_t

Disable the receiver enable bit for the ULP instance of the GPIO peripheral.

sl_status_t

Enable the receiver enable bit for the ULP instance of the GPIO peripheral.

sl_status_t
sl_si91x_gpio_driver_configure_ulp_pin_interrupt(uint8_t int_no, sl_si91x_gpio_interrupt_config_flag_t flags, sl_si91x_gpio_pin_ulp_t pin, sl_gpio_irq_callback_t gpio_callback)

Configure the MCU ULP instance pin interrupts with the trigger type (level/edge) and register the callback function for interrupts.

sl_status_t
sl_si91x_gpio_driver_set_uulp_npss_pin_mux(uint8_t pin, sl_si91x_uulp_npss_mode_t mode)

Set the NPSS GPIO pin MUX (mode) to the selected mode.

sl_status_t
sl_si91x_gpio_driver_select_uulp_npss_receiver(uint8_t pin, sl_si91x_gpio_receiver_t receiver)

Enable/disable the NPSS GPIO Input Buffer.

sl_status_t
sl_si91x_gpio_driver_set_uulp_npss_direction(uint8_t pin, sl_si91x_gpio_direction_t direction)

Set the direction for the selected NPSS GPIO.

uint8_t

Get the direction of the selected NPSS GPIO.

sl_status_t
sl_si91x_gpio_driver_set_uulp_npss_pin_value(uint8_t pin, sl_si91x_gpio_pin_value_t pin_value)

Control(set or clear) the NPSS GPIO pin value.

uint8_t

Read the status of the selected NPSS GPIO pin value.

sl_status_t
sl_si91x_gpio_driver_select_uulp_npss_polarity(uint8_t pin, sl_si91x_gpio_polarity_t polarity)

Select the NPSS GPIO polarity for generating the interrupt.

sl_status_t

Set the NPSS GPIO interrupt as a wake up source across sleep wakeups.

sl_status_t

Clear the UULP NPSS GPIO Interrupt as a wake up source.

sl_status_t

Mask the selected NPSS GPIO interrupt.

sl_status_t

Unmask the selected NPSS GPIO interrupt.

sl_status_t
sl_si91x_gpio_driver_clear_uulp_interrupt(uint8_t npssgpio_interrupt)

Clear the selected NPSS GPIO interrupt.

uint8_t

Get the current status of all the NPSS GPIO interrupt status.

uint32_t

Get the selected ULP instance GPIO pin interrupt status.

sl_status_t

Clear the selected ULP instance GPIO pin interrupts.

sl_status_t
sl_si91x_gpio_driver_clear_ulp_group_interrupt(sl_si91x_group_interrupt_t group_interrupt)

Clear the selected ULP instance group interrupt.

sl_status_t
sl_si91x_gpio_driver_configure_uulp_interrupt(sl_si91x_gpio_interrupt_config_flag_t flags, uint8_t npssgpio_interrupt, sl_gpio_irq_callback_t gpio_callback)

Configure the UULP GPIO pin interrupt with interrupt type level or edge and registers callback function for interrupts.

sl_status_t
sl_si91x_gpio_driver_configure_ulp_group_interrupt(sl_si91x_gpio_group_interrupt_config_t *configuration, sl_gpio_irq_callback_t gpio_callback)

Configure the MCU ULP instance group interrupts with trigger type (level/edge), polarity (high/low), interrupt type (and/or) and register the callback function for interrupts.

sl_status_t

Toggle the selected UULP pin status.

sl_status_t

Configure the UULP GPIO pin mode, receiver enable, direction and polarity settings.

sl_si91x_gpio_version_t

Get the release, SQA, and development version numbers of the GPIO peripheral.

Typedef Documentation#

sl_gpio_irq_callback_t#

typedef void(* sl_gpio_irq_callback_t) (uint32_t flag) )(uint32_t flag)

GPIO interrupt callback function pointer.


Definition at line 88 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h

Function Documentation#

sl_gpio_driver_clear_interrupts#

STATIC __INLINE sl_status_t sl_gpio_driver_clear_interrupts (uint32_t flags)

Clear one or more pending GPIO interrupts.

Parameters
[in]flags

- Bitwise logic OR of GPIO interrupt sources to clear.

Returns

  • returns status 0

    • SL_STATUS_OK (0X000) - Success


Definition at line 108 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h

sl_gpio_driver_configure_interrupt#

sl_status_t sl_gpio_driver_configure_interrupt (sl_gpio_t * gpio, uint32_t int_no, sl_gpio_interrupt_flag_t flags, sl_gpio_irq_callback_t gpio_callback, uint32_t * avl_intr_no)

Configure the GPIO pin interrupt.

Parameters
[in]gpio

- Pointer to the structure of type sl_gpio_t

[in]int_no

- Specifies the interrupt number to trigger (0 to 7).

[in]flags

- Interrupt configuration flags sl_gpio_interrupt_flag_t

[in]gpio_callback

- IRQ callback function pointer sl_gpio_irq_callback_t

[out]avl_intr_no

- Pointer to the available interrupt number. SL_GPIO_INTERRUPT_UNAVAILABLE (0xFF) no available interrupt

Returns

  • The following values are returned:

    • SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is an invalid argument

    • SL_STATUS_NULL_POINTER (0x0022) - The parameter is a null pointer

    • SL_STATUS_OK (0X000) - Success

    • SL_STATUS_BUSY (0x0004) - Interrupt is busy and cannot carry out the requested operation


Definition at line 131 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h

sl_gpio_configure_group_interrupt#

sl_status_t sl_gpio_configure_group_interrupt (sl_si91x_gpio_group_interrupt_config_t * configuration, sl_gpio_irq_callback_t gpio_callback)

Configure the GPIO group interrupts for HP,ULP instances.

Parameters
[in]configuration

- Pointer to the structure of type sl_si91x_gpio_group_interrupt_config_t

[in]gpio_callback

- IRQ callback function pointer sl_gpio_irq_callback_t

Returns

  • The following values are returned:

    • SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is an invalid argument

    • SL_STATUS_NULL_POINTER (0x0022) - The parameter is a null pointer

    • SL_STATUS_OK (0X000) - Success

    • SL_STATUS_BUSY (0x0004) - Interrupt is busy and cannot carry out the requested operation


Definition at line 150 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h

sl_gpio_driver_set_pin_mode#

sl_status_t sl_gpio_driver_set_pin_mode (sl_gpio_t * gpio, sl_gpio_mode_t mode, uint32_t output_value)

Set the pin mode for a GPIO pin in HP (or) ULP instance.

Parameters
[in]gpio

- Pointer to the structure of type sl_gpio_t. Please refer to below table for description of each port and pins available.

GPIO Instance

GPIO Port

GPIO Pin Number

SL_GPIO_PORT_A

(0-15)

HP (High Power) GPIO Instance

SL_GPIO_PORT_B

(16-31)

SL_GPIO_PORT_C

(32-47)

SL_GPIO_PORT_D

(48-57)

------------------------------------------—

--------------------—

----------------—

ULP (Ultra Low Power) GPIO Instance

SL_GPIO_ULP_PORT

(0-11)

------------------------------------------—

--------------------—

----------------—

UULP (Ultra Ultra Low Power) GPIO Instance

SL_GPIO_UULP_PORT

(0-4)

------------------------------------------—

--------------------—

----------------—

PORT_A can also be a single port to access all GPIO (0-57) pins available in HP domain, instead of using PORT B,C,D. (57-63)pins are reserved.

[in]mode

- The desired pin mode.

[in]output_value

- A value to set for the pin in the GPIO register. The GPIO setting is important for some input mode configurations.

By default mode-0 is set and GPIO pin acts as normal GPIO. If a GPIO pin to be used for some alternate modes, the respective mode is to be selected. For more information about modes present for different instances, please refer PIN MUX section in HRM.

Returns

  • The following values are returned:

    • SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is an invalid argument

    • SL_STATUS_NULL_POINTER (0x0022) - The parameter is a null pointer

    • SL_STATUS_OK (0X000) - Success


Definition at line 188 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h

sl_gpio_driver_get_pin_mode#

sl_status_t sl_gpio_driver_get_pin_mode (sl_gpio_t * gpio, sl_gpio_mode_t * mode)

Get the pin mode (alternate function) of a GPIO for either HP instance (or) ULP instance as per the port number.

Parameters
[in]gpio

- Pointer to the structure of type sl_gpio_t

[out]mode

- The desired pin mode.

Returns

  • The following values are returned:

    • SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is invalid argument

    • SL_STATUS_NULL_POINTER (0x0022) - The parameter is null pointer

    • SL_STATUS_OK (0X000) - Success


Definition at line 207 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h

sl_gpio_driver_init#

sl_status_t sl_gpio_driver_init (void )
Parameters
N/A

Definition at line 216 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h

sl_gpio_driver_deinit#

sl_status_t sl_gpio_driver_deinit (void )
Parameters
N/A

Definition at line 225 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h

sl_gpio_driver_unregister#

sl_status_t sl_gpio_driver_unregister (sl_si91x_gpio_instances_t gpio_instance, sl_si91x_gpio_intr_t gpio_intr, uint8_t flag)

Unregister GPIO driver.

Parameters
[in]gpio_instance

- Instances of type sl_si91x_gpio_instances_t

[in]gpio_intr

- GPIO interrupts of type sl_si91x_gpio_intr_t

[in]flag

- GPIO interrupt flag Max range is 8.

Returns

  • The following values are returned:

    • SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is an invalid argument

    • SL_STATUS_OK (0X000) - Success


Definition at line 237 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h

sl_gpio_validation#

STATIC __INLINE sl_status_t sl_gpio_validation (sl_gpio_t * gpio)

Validating port and pin of GPIO.

Parameters
[in]gpio

- Pointer to the structure of type sl_gpio_t

Returns

  • The following values are returned:

    • SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is an invalid argument

    • SL_STATUS_OK (0X000) - Success


Definition at line 249 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h

sl_gpio_driver_set_pin#

STATIC __INLINE sl_status_t sl_gpio_driver_set_pin (sl_gpio_t * gpio)

Set a single pin in GPIO configuration register to 1.

Parameters
[in]gpio

- Pointer to the structure of type sl_gpio_t

Returns

  • The following values are returned:

    • SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is an invalid argument

    • SL_STATUS_NULL_POINTER (0x0022) - The parameter is a null pointer

    • SL_STATUS_OK (0X000) - Success


Definition at line 311 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h

sl_gpio_driver_clear_pin#

STATIC __INLINE sl_status_t sl_gpio_driver_clear_pin (sl_gpio_t * gpio)

Clear a single pin in the GPIO configuration register to 0.

Parameters
[in]gpio

- Pointer to the structure of type sl_gpio_t

Returns

  • returns status 0 if successful, else error code as follow.

    • SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is an invalid argument

    • SL_STATUS_NULL_POINTER (0x0022) - The parameter is a null pointer

    • SL_STATUS_OK (0X000) - Success


Definition at line 346 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h

sl_gpio_driver_toggle_pin#

STATIC __INLINE sl_status_t sl_gpio_driver_toggle_pin (sl_gpio_t * gpio)

Toggle a single pin in GPIO port register.

Parameters
[in]gpio

- Pointer to the structure of type sl_gpio_t

Returns

  • returns status 0 if successful, else error code as follow.

    • SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is an invalid argument

    • SL_STATUS_NULL_POINTER (0x0022) - The parameter is a null pointer

    • SL_STATUS_OK (0X000) - Success


Definition at line 381 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h

sl_gpio_driver_get_pin#

STATIC __INLINE sl_status_t sl_gpio_driver_get_pin (sl_gpio_t * gpio, uint8_t * pin_value)

Read the pin value for a single pin in a GPIO port.

Parameters
[in]gpio

- Pointer to the structure of type sl_gpio_t

[out]pin_value

- Gets the gpio pin value

Returns

  • returns status 0 if successful, else error code as follow.

    • SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is an invalid argument

    • SL_STATUS_NULL_POINTER (0x0022) - The parameter is a null pointer

    • SL_STATUS_OK (0X000) - Success


Definition at line 417 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h

sl_gpio_driver_set_port#

STATIC __INLINE sl_status_t sl_gpio_driver_set_port (sl_gpio_port_t port, uint32_t pins)

Set bits GPIO data out register to 1.

Parameters
[in]port

- The port to associate with the pin. HP instance - PORT 0,1,2,3 ULP instance - PORT 4

[in]pins

- The GPIO pins in a Port that are set to 1 (1 to 65535 in decimal (or) 0xFFFF in hex). If we want to set pins(maximum of (0-15)pins) in a port, it can set all pins at a time.

Returns

  • returns status 0 if successful, else error code as follow.

    • SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is an invalid argument

    • SL_STATUS_OK (0X000) - Success


Definition at line 455 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h

sl_gpio_driver_clear_port#

STATIC __INLINE sl_status_t sl_gpio_driver_clear_port (sl_gpio_port_t port, uint32_t pins)

Set bits in configuration register for a port to 0.

Parameters
[in]port

- The port to associate with the pin. HP instance - PORT A,B,C,D ULP instance - PORT 4

[in]pins

- The GPIO pins in a Port that are set to 0 (1 to 65535 in decimal (or) 0xFFFF in hex). If we want to clear pins(maximum of (0-15)pins) in a port, it can clear all pins at a time.

Returns

  • returns status 0 if successful, else error code as follow.

    • SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is an invalid argument

    • SL_STATUS_OK (0X000) - Success


Definition at line 488 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h

sl_gpio_driver_get_port_output#

STATIC __INLINE sl_status_t sl_gpio_driver_get_port_output (sl_gpio_port_t port, uint32_t * port_value)

Get the current setting for a GPIO configuration register.

Parameters
[in]port

- The port to associate with the pin. HP instance - PORT A,B,C,D ULP instance - PORT 4

[out]port_value

- Gets the gpio port value

Returns

  • returns status 0 if successful, else error code as follow.

    • SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is an invalid argument

    • SL_STATUS_OK (0X000) - Success


Definition at line 520 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h

sl_gpio_driver_get_pin_output#

STATIC __INLINE uint8_t sl_gpio_driver_get_pin_output (sl_gpio_t * gpio)

Get the current setting for a pin in a GPIO configuration register.

Parameters
[in]gpio

- Pointer to the structure of type sl_gpio_t

Returns

  • The GPIO pin value '0' - Low
    '1' - High


Definition at line 547 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h

sl_gpio_driver_set_port_output_value#

STATIC __INLINE sl_status_t sl_gpio_driver_set_port_output_value (sl_gpio_port_t port, uint32_t val, uint32_t mask)

Set the GPIO port configuration register.

Parameters
[in]port

- The port to associate with the pin. HP instance - PORT A,B,C,D ULP instance - PORT 4

[in]val

- Value to write to the port configuration register.

[in]mask

- Mask indicating which bits to modify.

Returns

  • returns status 0 if successful, else error code as follow.

    • SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is an invalid argument

    • SL_STATUS_OK (0X000) - Success


Definition at line 587 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h

sl_gpio_driver_set_slew_rate#

STATIC __INLINE sl_status_t sl_gpio_driver_set_slew_rate (sl_gpio_port_t port, uint32_t slewrate, uint32_t slewrate_alt)
Parameters
N/Aport
N/Aslewrate
N/Aslewrate_alt

Definition at line 614 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h

sl_gpio_driver_get_port_input#

STATIC __INLINE uint32_t sl_gpio_driver_get_port_input (sl_gpio_port_t port)

Read the port value for GPIO.

Parameters
[in]port

- The port to associate with the pin. HP instance - PORT A,B,C,D ULP instance - PORT 4

Returns

  • The GPIO pin value '0' - Low
    '1' - High


Definition at line 644 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h

sl_gpio_driver_toggle_port_output#

STATIC __INLINE sl_status_t sl_gpio_driver_toggle_port_output (sl_gpio_port_t port, uint32_t pins)
Parameters
N/Aport
N/Apins

Definition at line 677 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h

sl_gpio_driver_enable_interrupts#

STATIC __INLINE sl_status_t sl_gpio_driver_enable_interrupts (uint32_t flags)
Parameters
N/Aflags

Definition at line 702 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h

sl_gpio_driver_disable_interrupts#

STATIC __INLINE sl_status_t sl_gpio_driver_disable_interrupts (uint32_t flags)
Parameters
N/Aflags

Definition at line 722 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h

sl_gpio_driver_set_interrupts#

STATIC __INLINE sl_status_t sl_gpio_driver_set_interrupts (uint32_t flags)
Parameters
N/Aflags

Definition at line 742 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h

sl_gpio_driver_get_pending_interrupts#

STATIC __INLINE uint32_t sl_gpio_driver_get_pending_interrupts (void )

Get the pending GPIO interrupts.

Parameters
N/A

Returns

  • Pending GPIO Pin interrupt numbers.


Definition at line 760 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h

sl_gpio_driver_get_enabled_interrupts#

STATIC __INLINE uint32_t sl_gpio_driver_get_enabled_interrupts (void )

Get the enabled GPIO interrupts.

Parameters
N/A

Returns

  • Enabled GPIO pin interrupt numbers.


Definition at line 779 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h

sl_gpio_driver_get_enabled_pending_interrupts#

STATIC __INLINE uint32_t sl_gpio_driver_get_enabled_pending_interrupts (void )

Get the enabled and pending GPIO interrupt flags.

Parameters
N/A

Returns

  • Enabled GPIO pending interrupts.


Definition at line 797 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h

sl_gpio_set_configuration#

sl_status_t sl_gpio_set_configuration (sl_si91x_gpio_pin_config_t pin_config)

Configuration of the GPIO based on port and pin.

Parameters
[in]pin_config

- Structure containing the configuration information.

Port A,B,C,D are considered for HP instance, ULP PORT is considered for ULP instance UULP PORT is considered for UULP instance. The configuration of GPIO pin like which GPIO pin and port are to be passed through the structure. By default mode is taken as mode0, which is normal GPIO selection. Returns

  • None


Definition at line 60 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h

sl_si91x_gpio_driver_set_pin_direction#

sl_status_t sl_si91x_gpio_driver_set_pin_direction (uint8_t port, uint8_t pin, sl_si91x_gpio_direction_t direction)

Set the direction for a GPIO pin.

Parameters
[in]port

- The port to associate with the pin. HP instance - PORT A,B,C,D ULP instance - ULP PORT

[in]pin

- The pin number on the port. HP instance has total 57 GPIO pins. Port A, B, C has 16 pins each. Port D has 9 pins. ULP instance has total 12 pins.

[in]direction

- pin direction of type sl_si91x_gpio_direction_t

  • '0' - Output

  • '1' - Input

Returns

  • returns status 0 if successful, else error code as follow.

    • SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is an invalid argument

    • SL_STATUS _OK (0X000) - Success


Definition at line 87 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h

sl_si91x_gpio_driver_get_pin_direction#

uint8_t sl_si91x_gpio_driver_get_pin_direction (uint8_t port, uint8_t pin)

Get the direction of a selected GPIO pin.

Parameters
[in]port

- The port to associate with the pin. HP instance - PORT A,B,C,D ULP instance - ULP PORT

[in]pin

- The pin number on the port. HP instance has total 57 GPIO pins. Port A, B, C has 16 pins each. Port D has 9 pins. ULP instance has total 12 pins.

Returns

  • Returns the direction of the pin.

    • '0' - Output

    • '1' - Input


Definition at line 112 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h

sl_si91x_gpio_driver_enable_pad_receiver#

sl_status_t sl_si91x_gpio_driver_enable_pad_receiver (uint8_t gpio_num)

Enable the receiver enable bit in the PAD configuration register for reading the GPIO pin status.

Parameters
[in]gpio_num

- GPIO pin number to be use.

Returns

  • returns status 0 if successful, else error code as follow.

    • SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is an invalid argument

    • SL_STATUS _OK (0X000) - Success


Definition at line 127 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h

sl_si91x_gpio_driver_disable_pad_receiver#

sl_status_t sl_si91x_gpio_driver_disable_pad_receiver (uint8_t gpio_num)

Disable the receiver enable bit in the PAD configuration register.

Parameters
[in]gpio_num

- GPIO pin number to be use.

Returns

  • returns status 0 if successful, else error code as follow.

    • SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is an invalid argument

    • SL_STATUS _OK (0X000) - Success


Definition at line 142 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h

sl_si91x_gpio_driver_enable_pad_selection#

sl_status_t sl_si91x_gpio_driver_enable_pad_selection (uint8_t gpio_padnum)

Enable the pad selection bit in the PAD selection register.

Parameters
[in]gpio_padnum

- PAD number to be use

Returns

  • returns status 0 if successful, else error code as follow.

    • SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is an invalid argument

    • SL_STATUS _OK (0X000) - Success


Definition at line 155 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h

sl_si91x_gpio_driver_enable_host_pad_selection#

sl_status_t sl_si91x_gpio_driver_enable_host_pad_selection (uint8_t gpio_num)

Enable the host pad selection bit in the PAD selection register.

Parameters
[in]gpio_num

- GPIO pin number(25-30) to be used

GPIO pin number(25 to 30) are valid for HOST PAD selection, referring to SL_GPIO_PORT_B, pins 9 to 14.

Returns

  • returns status 0 if successful, else error code as follow.

    • SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is an invalid argument

    • SL_STATUS _OK (0X000) - Success


Definition at line 170 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h

sl_si91x_gpio_driver_select_pad_driver_strength#

sl_status_t sl_si91x_gpio_driver_select_pad_driver_strength (uint8_t gpio_num, sl_si91x_gpio_driver_strength_select_t strength)

Select the drive strength for an HP instance GPIO pin.

Parameters
[in]gpio_num

- GPIO pin number to be use

[in]strength

- Drive strength selector(E1,E2) of type sl_si91x_gpio_driver_strength_select_t possible values are

  • 0, for two_milli_amps (E1=0,E2=0)

  • 1, for four_milli_amps (E1=0,E2=1)

  • 2, for eight_milli_amps (E1=1,E2=0)

  • 3, for twelve_milli_amps(E1=1,E2=1)

Returns

  • returns status 0 if successful, else error code as follow.

    • SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is an invalid argument

    • SL_STATUS _OK (0X000) - Success


Definition at line 193 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h

sl_si91x_gpio_driver_select_pad_driver_disable_state#

sl_status_t sl_si91x_gpio_driver_select_pad_driver_disable_state (uint8_t gpio_num, sl_si91x_gpio_driver_disable_state_t disable_state)

Select the Driver disabled state control for an HP instance GPIO pin.

Parameters
[in]gpio_num

- GPIO pin number to be use

[in]disable_state

- driver disable state of type sl_si91x_gpio_driver_disable_state_t possible values are

  • 0, for HiZ (P1=0,P2=0)

  • 1, for Pull-up (P1=0,P2=1)

  • 2, for Pull-down (P1=1,P2=0)

  • 3, for Repeater (P1=1,P2=1)

Returns

  • returns status 0 if successful, else error code as follow. SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is an invalid argument SL_STATUS _OK (0X000) - Success


Definition at line 218 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h

sl_si91x_gpio_driver_select_group_interrupt_and_or#

sl_status_t sl_si91x_gpio_driver_select_group_interrupt_and_or (uint8_t port, sl_si91x_group_interrupt_t group_interrupt, sl_si91x_gpio_and_or_t and_or)

Select AND/OR type of the group interrupt.

Parameters
[in]port

- The port to associate with the pin. HP instance - PORT A,B,C,D ULP instance - ULP PORT

[in]group_interrupt

- Group interrupt number of type sl_si91x_group_interrupt_t

[in]and_or

- AND/OR of GPIO group interrupts of type sl_si91x_gpio_and_or_t

  • '0' - AND

  • '1' - OR

If multiple interrupts on same port (or) different are to be generated, then use this API. Example: Consider port A: pin 2,3 and port D: pin 1,2 for interrupt generation. Choose OR, any of the selected pin condition triggers the group interrupt generation Choose AND, all the selected pin conditions should match to trigger group interrupt generation

Returns

  • returns status 0 if successful, else error code as follow.

    • SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is an invalid argument

    • SL_STATUS _OK (0X000) - Success


Definition at line 255 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h

sl_si91x_gpio_driver_clear_group_interrupt#

sl_status_t sl_si91x_gpio_driver_clear_group_interrupt (sl_si91x_group_interrupt_t group_interrupt)

Clear the selected group interrupt status value.

Parameters
[in]group_interrupt

- Group interrupt number of type sl_si91x_group_interrupt_t

Returns

  • returns status 0 if successful, else error code as follow.

    • SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is invalid argument

    • SL_STATUS _OK (0X000) - Success


Definition at line 276 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h

sl_si91x_gpio_driver_get_group_interrupt_status#

uint32_t sl_si91x_gpio_driver_get_group_interrupt_status (uint8_t port, sl_si91x_group_interrupt_t group_interrupt)

Get the current status of the selected group interrupt.

Parameters
[in]port

- The port to associate with the pin. HP instance - PORT A,B,C,D ULP instance - ULP PORT

[in]group_interrupt

- Group interrupt number of type (0 to 1) sl_si91x_group_interrupt_t

Returns

  • returns the group interrupt status register

    • 1, when interrupt is enabled

    • 0, when interrupt is disabled


Definition at line 301 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h

sl_si91x_gpio_driver_select_group_interrupt_wakeup#

sl_status_t sl_si91x_gpio_driver_select_group_interrupt_wakeup (uint8_t port, sl_si91x_group_interrupt_t group_interrupt, sl_si91x_gpio_wakeup_t flags)

Configure the group interrupt as a wake up source across sleep wakeups.

Parameters
[in]port

- The port to associate with the pin. HP instance - PORT A,B,C,D ULP instance - ULP PORT

[in]group_interrupt

- Group interrupt number of type sl_si91x_group_interrupt_t

[in]flags

- GPIO group interrupt wake up flag of type sl_si91x_gpio_wakeup_t

  • '1' - enable

  • '0' - disable

Returns

  • returns status 0 if successful, else error code as follow.

    • SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is an invalid argument

    • SL_STATUS _OK (0X000) - Success


Definition at line 321 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h

sl_si91x_gpio_driver_configure_group_interrupt#

sl_status_t sl_si91x_gpio_driver_configure_group_interrupt (sl_si91x_gpio_group_interrupt_config_t * configuration, sl_gpio_irq_callback_t gpio_callback)

Configure the MCU HP instance group interrupts with trigger type (level/edge), polarity (high/low), interrupt type (and/or) and register the callback function for interrupts.

Parameters
[in]configuration

- configuration pointer to sl_si91x_gpio_group_interrupt_config_t structure

[in]gpio_callback

- IRQ function pointer

Returns

  • returns status 0 if successful, else error code as follow.

    • SL_STATUS_NULL_POINTER (0x0022) - The parameter is null pointer

    • SL_STATUS _OK (0X000) - Success


Definition at line 343 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h

sl_si91x_gpio_driver_get_group_interrupt_polarity#

uint8_t sl_si91x_gpio_driver_get_group_interrupt_polarity (sl_si91x_group_interrupt_t group_interrupt, uint8_t port, uint8_t pin)

Get the configured polarity of group interrupt.

Parameters
[in]group_interrupt

- GPIO group interrupt number of type sl_si91x_group_interrupt_t

[in]port

- The port to associate with the pin. HP instance - PORT A,B,C,D ULP instance - ULP PORT

[in]pin

- The pin number on the port. HP instance has total 57 GPIO pins. Port 0, 1, 2 has 16 pins each. Port 3 has 9 pins. ULP instance has total 12 pins.

Returns

  • returns group interrupt polarity

    • 1, when GPIO pin status is HIGH

    • 0, when GPIO pin status is LOW


Definition at line 373 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h

sl_si91x_gpio_driver_set_group_interrupt_polarity#

sl_status_t sl_si91x_gpio_driver_set_group_interrupt_polarity (sl_si91x_group_interrupt_t group_interrupt, uint8_t port, uint8_t pin, sl_si91x_gpio_polarity_t polarity)

Configure the polarity to a selected group interrupt which decides the active value of the pin to be considered for group interrupt generation.

Parameters
[in]group_interrupt

- GPIO group interrupt number of type sl_si91x_group_interrupt_t

[in]port

- The port to associate with the pin. HP instance - PORT A,B,C,D ULP instance - ULP PORT

[in]pin

- The pin number on the port. HP instance has total 57 GPIO pins. Port A, B, C has 16 pins each. Port D has 9 pins. ULP instance has total 12 pins.

[in]polarity

- polarity of GPIO group interrupt of type sl_si91x_gpio_polarity_t

  • 1, group interrupt gets generated when GPIO pin status is '1'

  • 0, group interrupt gets generated when GPIO pin status is '0'

'0' – group interrupt gets generated when gpio input pin status is LOW '1' – group interrupt gets generated when gpio input pin status is HIGH

Returns

  • returns status 0 if successful, else error code as follow.

    • SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is an invalid argument

    • SL_STATUS _OK (0X000) - Success


Definition at line 413 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h

sl_si91x_gpio_driver_get_group_interrupt_level_edge#

uint8_t sl_si91x_gpio_driver_get_group_interrupt_level_edge (uint8_t port, sl_si91x_group_interrupt_t group_interrupt)

Get the configured level/edge event for the selected group interrupt.

Parameters
[in]port

- The port to associate with the pin. HP instance - PORT A,B,C,D ULP instance - ULP PORT

[in]group_interrupt

- GPIO group interrupt number of type sl_si91x_group_interrupt_t

Returns

  • returns group interrupt level_edge

    • 1, for Edge

    • 0, for Level


Definition at line 441 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h

sl_si91x_gpio_driver_set_group_interrupt_level_edge#

sl_status_t sl_si91x_gpio_driver_set_group_interrupt_level_edge (uint8_t port, sl_si91x_group_interrupt_t group_interrupt, sl_si91x_gpio_level_edge_t level_edge)

Set the level/edge event for the selected group interrupt.

Parameters
[in]port

- The port to associate with the pin.

  • HP instance - PORT A,B,C,D

  • ULP instance - ULP PORT

[in]group_interrupt

- GPIO group interrupt number of type sl_si91x_group_interrupt_t

[in]level_edge

- GPIO level edge group interrupt of type sl_si91x_gpio_level_edge_t

  • 1, for Edge

  • 0, for Level

'1' Triggers interrupt generation when configured edge is detected on pin '0' Triggers interrupt generation when configured level is detected on pin

Returns

  • returns status 0 if successful, else error code as follow.

    • SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is an invalid argument

    • SL_STATUS _OK (0X000) - Success


Definition at line 474 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h

sl_si91x_gpio_driver_unmask_group_interrupt#

sl_status_t sl_si91x_gpio_driver_unmask_group_interrupt (uint8_t port, sl_si91x_group_interrupt_t group_interrupt)

Unmask the selected group interrupt to enable interrupt clearing upon generation.

Parameters
[in]port

- The port to associate with the pin. HP instance - PORT A,B,C,D ULP instance - ULP PORT

[in]group_interrupt

- GPIO group interrupt number of type sl_si91x_group_interrupt_t

Returns

  • returns status 0 if successful, else error code as follow.

    • SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is an invalid argument

    • SL_STATUS _OK (0X000) - Success


Definition at line 502 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h

sl_si91x_gpio_driver_mask_group_interrupt#

sl_status_t sl_si91x_gpio_driver_mask_group_interrupt (uint8_t port, sl_si91x_group_interrupt_t group_interrupt)

Mask the selected group interrupt.

Parameters
[in]port

- The port to associate with the pin.

  • HP instance - PORT A,B,C,D

  • ULP instance - ULP PORT

[in]group_interrupt

- GPIO group interrupt number of type sl_si91x_group_interrupt_t

Returns

  • returns status 0 if successful, else error code as follow.

    • SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is an invalid argument

    • SL_STATUS _OK (0X000) - Success


Definition at line 525 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h

sl_si91x_gpio_driver_disable_clock#

sl_status_t sl_si91x_gpio_driver_disable_clock (sl_si91x_gpio_select_clock_t clock)

Disable the clock for either the HP or ULP instance of the GPIO Peripheral.

Parameters
[in]clock

- Selects M4 clock or ULP clock of type sl_si91x_gpio_select_clock_t

  • 0, for M4 GPIO CLK

  • 1, for ULP GPIO CLK

Returns

  • returns status 0 if successful, else error code as follow.

    • SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is an invalid argument

    • SL_STATUS _OK (0X000) - Success


Definition at line 540 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h

sl_si91x_gpio_driver_enable_clock#

sl_status_t sl_si91x_gpio_driver_enable_clock (sl_si91x_gpio_select_clock_t clock)

Enable the clock for either the HP or ULP instance of the GPIO peripheral.

Parameters
[in]clock

- Selects M4 clock or ULP clock of type sl_si91x_gpio_select_clock_t

  • 0, for M4 GPIO CLK

  • 1, for ULP GPIO CLK

Returns

  • returns status 0 if successful, else error code as follow.

    • SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is an invalid argument

    • SL_STATUS _OK (0X000) - Success


Definition at line 555 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h

sl_si91x_gpio_driver_enable_group_interrupt#

sl_status_t sl_si91x_gpio_driver_enable_group_interrupt (sl_si91x_group_interrupt_t group_interrupt, uint8_t port, uint8_t pin)

Enable the selected group interrupts for either the HP or ULP instance of the GPIO peripheral.

Parameters
[in]group_interrupt

- GPIO group interrupt number of type sl_si91x_group_interrupt_t

[in]port

- The port to associate with the pin.

  • HP instance - PORT A,B,C,D

  • ULP instance - ULP PORT

[in]pin

- The pin number on the port. HP instance has total 57 GPIO pins. Port A, B, C has 16 pins each. Port D has 9 pins. ULP instance has total 12 pins.

Returns

  • returns status 0 if successful, else error code as follow.

    • SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is an invalid argument

    • SL_STATUS _OK (0X000) - Success


Definition at line 585 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h

sl_si91x_gpio_driver_disable_group_interrupt#

sl_status_t sl_si91x_gpio_driver_disable_group_interrupt (sl_si91x_group_interrupt_t group_interrupt, uint8_t port, uint8_t pin)

Disable the selected group interrupts for either the HP or ULP instance of the GPIO peripheral.

Parameters
[in]group_interrupt

- GPIO group interrupt number of type sl_si91x_group_interrupt_t

[in]port

- The port to associate with the pin. HP instance - PORT A,B,C,D ULP instance - ULP PORT

[in]pin

- The pin number on the port. HP instance has total 57 GPIO pins. Port A, B, C has 16 pins each. Port D has 9 pins. ULP instance has total 12 pins.

Returns

  • returns status 0 if successful, else error code as follow.

    • SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is an invalid argument

    • SL_STATUS _OK (0X000) - Success


Definition at line 619 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h

sl_si91x_gpio_driver_select_ulp_pad_slew_rate#

sl_status_t sl_si91x_gpio_driver_select_ulp_pad_slew_rate (uint8_t gpio_num, sl_si91x_gpio_slew_rate_t slew_rate)

Select the slew rate for the ULP instance of the GPIO peripheral.

Parameters
[in]gpio_num

- GPIO pin number to be use

[in]slew_rate

- slew rate of type sl_si91x_gpio_slew_rate_t

  • '0' - Slow

  • '1' - Fast

Returns

  • returns status 0 if successful, else error code as follow.

    • SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is an invalid argument

    • SL_STATUS _OK (0X000) - Success


Definition at line 640 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h

sl_si91x_gpio_driver_select_ulp_pad_driver_strength#

sl_status_t sl_si91x_gpio_driver_select_ulp_pad_driver_strength (uint8_t gpio_num, sl_si91x_gpio_driver_strength_select_t strength)

Select the drive strength for the ULP instance of the GPIO peripheral.

Parameters
[in]gpio_num

- GPIO pin number to be use

[in]strength

- Drive strength selector(E1,E2) of type sl_si91x_gpio_driver_strength_select_t

  • 0, for two_milli_amps (E1=0,E2=0)

  • 1, for four_milli_amps (E1=0,E2=1)

  • 2, for eight_milli_amps (E1=1,E2=0)

  • 3, for twelve_milli_amps(E1=1,E2=1)

Returns

  • returns status 0 if successful, else error code as follow.

    • SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is an invalid argument

    • SL_STATUS _OK (0X000) - Success


Definition at line 662 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h

sl_si91x_gpio_driver_select_ulp_pad_driver_disable_state#

sl_status_t sl_si91x_gpio_driver_select_ulp_pad_driver_disable_state (uint8_t gpio_num, sl_si91x_gpio_driver_disable_state_t disable_state)

Select the driver-disabled state control for the ULP instance of the GPIO peripheral.

Parameters
[in]gpio_num

- GPIO pin number to be use

[in]disable_state

- driver disable state of type sl_si91x_gpio_driver_disable_state_t

  • 0, for HiZ (P1=0,P2=0)

  • 1, for Pull up (P1=0,P2=1)

  • 2, for Pull down (P1=1,P2=0)

  • 3, for Repeater (P1=1,P2=1)

Returns

  • returns status 0 if successful, else error code as follow.

    • SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is an invalid argument

    • SL_STATUS _OK (0X000) - Success


Definition at line 685 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h

sl_si91x_gpio_driver_disable_ulp_pad_receiver#

sl_status_t sl_si91x_gpio_driver_disable_ulp_pad_receiver (uint8_t gpio_num)

Disable the receiver enable bit for the ULP instance of the GPIO peripheral.

Parameters
[in]gpio_num

- GPIO pin number to be used

Returns

  • returns status 0 if successful, else error code as follow.

    • SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is an invalid argument

    • SL_STATUS _OK (0X000) - Success


Definition at line 700 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h

sl_si91x_gpio_driver_enable_ulp_pad_receiver#

sl_status_t sl_si91x_gpio_driver_enable_ulp_pad_receiver (uint8_t gpio_num)

Enable the receiver enable bit for the ULP instance of the GPIO peripheral.

Parameters
[in]gpio_num

- GPIO pin number to be used

Returns

  • returns status 0 if successful, else error code as follow.

    • SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is an invalid argument

    • SL_STATUS _OK (0X000) - Success


Definition at line 713 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h

sl_si91x_gpio_driver_configure_ulp_pin_interrupt#

sl_status_t sl_si91x_gpio_driver_configure_ulp_pin_interrupt (uint8_t int_no, sl_si91x_gpio_interrupt_config_flag_t flags, sl_si91x_gpio_pin_ulp_t pin, sl_gpio_irq_callback_t gpio_callback)

Configure the MCU ULP instance pin interrupts with the trigger type (level/edge) and register the callback function for interrupts.

Parameters
[in]int_no

- The interrupt number to trigger.

[in]flags

- Interrupt configuration flags of type sl_si91x_gpio_interrupt_config_flag_t

[in]pin

- GPIO pin number (0 to 11)

[in]gpio_callback

- IRQ function pointer

Returns

  • returns status 0 if successful, else error code as follow.

    • SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is an invalid argument

    • SL_STATUS_NULL_POINTER (0x0022) - The parameter is null pointer

    • SL_STATUS _OK (0X000) - Success


Definition at line 735 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h

sl_si91x_gpio_driver_set_uulp_npss_pin_mux#

sl_status_t sl_si91x_gpio_driver_set_uulp_npss_pin_mux (uint8_t pin, sl_si91x_uulp_npss_mode_t mode)

Set the NPSS GPIO pin MUX (mode) to the selected mode.

Parameters
[in]pin

- NPSS GPIO pin number(0...4) of type sl_si91x_uulp_npss_mode_t

[in]mode

- NPSS GPIO MUX value (0 to 10)

Returns

  • returns status 0 if successful, else error code as follow.

    • SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is an invalid argument

    • SL_STATUS _OK (0X000) - Success


Definition at line 755 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h

sl_si91x_gpio_driver_select_uulp_npss_receiver#

sl_status_t sl_si91x_gpio_driver_select_uulp_npss_receiver (uint8_t pin, sl_si91x_gpio_receiver_t receiver)

Enable/disable the NPSS GPIO Input Buffer.

Parameters
[in]pin

- is NPSS GPIO pin number (0...4)

[in]receiver

- is enable/disable NPSS GPIO receiver of type sl_si91x_gpio_receiver_t

  • '1' - Enable

  • '0' - Disable

Returns

  • returns status 0 if successful, else error code as follow.

    • SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is an invalid argument

    • SL_STATUS _OK (0X000) - Success


Definition at line 773 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h

sl_si91x_gpio_driver_set_uulp_npss_direction#

sl_status_t sl_si91x_gpio_driver_set_uulp_npss_direction (uint8_t pin, sl_si91x_gpio_direction_t direction)

Set the direction for the selected NPSS GPIO.

Parameters
[in]pin

- is NPSS GPIO pin number (0...4)

[in]direction

- is direction value (Input / Output) of type sl_si91x_gpio_direction_t

  • '1' - Input Direction

  • '0' - Output Direction

Returns

  • returns status 0 if successful, else error code as follow.

    • SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is an invalid argument

    • SL_STATUS _OK (0X000) - Success


Definition at line 793 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h

sl_si91x_gpio_driver_get_uulp_npss_direction#

uint8_t sl_si91x_gpio_driver_get_uulp_npss_direction (uint8_t pin)

Get the direction of the selected NPSS GPIO.

Parameters
[in]pin

- is NPSS GPIO pin number(0...4)

Returns

  • returns the GPIO pin direction

    • 1, Input Direction

    • 0, Output Direction


Definition at line 808 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h

sl_si91x_gpio_driver_set_uulp_npss_pin_value#

sl_status_t sl_si91x_gpio_driver_set_uulp_npss_pin_value (uint8_t pin, sl_si91x_gpio_pin_value_t pin_value)

Control(set or clear) the NPSS GPIO pin value.

Parameters
[in]pin

- is NPSS GPIO pin number (0...4) of type sl_si91x_gpio_pin_value_t

[in]pin_value

- is NPSS GPIO pin value

  • '0' - Output

  • '1' - Input

Returns

  • returns status 0 if successful, else error code as follow.

    • SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is an invalid argument

    • SL_STATUS _OK (0X000) - Success


Definition at line 829 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h

sl_si91x_gpio_driver_get_uulp_npss_pin#

uint8_t sl_si91x_gpio_driver_get_uulp_npss_pin (uint8_t pin)

Read the status of the selected NPSS GPIO pin value.

Parameters
[in]pin

- is NPSS GPIO pin number (0...4)

Returns

  • returns the pin logical state of pin

    • '0' - Output

    • '1' - Input


Definition at line 845 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h

sl_si91x_gpio_driver_select_uulp_npss_polarity#

sl_status_t sl_si91x_gpio_driver_select_uulp_npss_polarity (uint8_t pin, sl_si91x_gpio_polarity_t polarity)

Select the NPSS GPIO polarity for generating the interrupt.

Parameters
[in]pin

- is NPSS GPIO pin number (0...4)

[in]polarity

- GPIO polarity sl_si91x_gpio_polarity_t

  • '1' - High

  • '0' - Low

Returns

  • returns status 0 if successful, else error code as follow.

    • SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is an invalid argument

    • SL_STATUS _OK (0X000) - Success


Definition at line 863 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h

sl_si91x_gpio_driver_set_uulp_npss_wakeup_interrupt#

sl_status_t sl_si91x_gpio_driver_set_uulp_npss_wakeup_interrupt (uint8_t npssgpio_interrupt)

Set the NPSS GPIO interrupt as a wake up source across sleep wakeups.

Parameters
[in]npssgpio_interrupt

- OR'ed values of the NPSS GPIO interrupts

Returns

  • returns status 0 if successful, else error code as follow.

    • SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is an invalid argument

    • SL_STATUS _OK (0X000) - Success


Definition at line 876 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h

sl_si91x_gpio_driver_clear_uulp_npss_wakeup_interrupt#

sl_status_t sl_si91x_gpio_driver_clear_uulp_npss_wakeup_interrupt (uint8_t npssgpio_interrupt)

Clear the UULP NPSS GPIO Interrupt as a wake up source.

Parameters
[in]npssgpio_interrupt

- OR'ed values of the NPSS GPIO interrupts

Returns

  • returns status 0 if successful, else error code as follow.

    • SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is an invalid argument

    • SL_STATUS _OK (0X000) - Success


Definition at line 889 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h

sl_si91x_gpio_driver_mask_uulp_npss_interrupt#

sl_status_t sl_si91x_gpio_driver_mask_uulp_npss_interrupt (uint8_t npssgpio_interrupt)

Mask the selected NPSS GPIO interrupt.

Parameters
[in]npssgpio_interrupt

- OR'ed values of the NPSS GPIO interrupts

Returns

  • returns status 0 if successful, else error code as follow.

    • SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is an invalid argument

    • SL_STATUS _OK (0X000) - Success


Definition at line 906 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h

sl_si91x_gpio_driver_unmask_uulp_npss_interrupt#

sl_status_t sl_si91x_gpio_driver_unmask_uulp_npss_interrupt (uint8_t npssgpio_interrupt)

Unmask the selected NPSS GPIO interrupt.

Parameters
[in]npssgpio_interrupt

- OR'ed values of the NPSS GPIO interrupts

Returns

  • returns status 0 if successful, else error code as follow.

    • SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is an invalid argument

    • SL_STATUS _OK (0X000) - Success


Definition at line 923 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h

sl_si91x_gpio_driver_clear_uulp_interrupt#

sl_status_t sl_si91x_gpio_driver_clear_uulp_interrupt (uint8_t npssgpio_interrupt)

Clear the selected NPSS GPIO interrupt.

Parameters
[in]npssgpio_interrupt

- OR'ed values of the NPSS GPIO interrupts

Returns

  • returns status 0 if successful, else error code as follow.

    • SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is an invalid argument

    • SL_STATUS _OK (0X000) - Success


Definition at line 941 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h

sl_si91x_gpio_driver_get_uulp_interrupt_status#

uint8_t sl_si91x_gpio_driver_get_uulp_interrupt_status (void )

Get the current status of all the NPSS GPIO interrupt status.

Parameters
N/A

Returns

  • returns the UULP INTR status.

    • 1, interrupt has been raised

    • 0, interrupt is masked or not raised


Definition at line 959 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h

sl_si91x_gpio_driver_get_ulp_interrupt_status#

uint32_t sl_si91x_gpio_driver_get_ulp_interrupt_status (uint32_t flags)

Get the selected ULP instance GPIO pin interrupt status.

Parameters
[in]flags

: ULP GPIO interrupt sources status.

Returns

  • returns the ULP INTR status. 1, interrupt has been raised 0, interrupt is masked or not raised


Definition at line 974 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h

sl_si91x_gpio_driver_clear_ulp_interrupt#

sl_status_t sl_si91x_gpio_driver_clear_ulp_interrupt (uint32_t flags)

Clear the selected ULP instance GPIO pin interrupts.

Parameters
[in]flags

: ULP GPIO interrupt sources to clear.

Returns

  • returns status 0 if successful, else error code as follow.

    • SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is an invalid argument

    • SL_STATUS _OK (0X000) - Success


Definition at line 991 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h

sl_si91x_gpio_driver_clear_ulp_group_interrupt#

sl_status_t sl_si91x_gpio_driver_clear_ulp_group_interrupt (sl_si91x_group_interrupt_t group_interrupt)

Clear the selected ULP instance group interrupt.

Parameters
[in]group_interrupt

- Group interrupt number of type sl_si91x_group_interrupt_t

Returns

  • returns status 0 if successful, else error code as follow.

    • SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is an invalid argument

    • SL_STATUS _OK (0X000) - Success


Definition at line 1011 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h

sl_si91x_gpio_driver_configure_uulp_interrupt#

sl_status_t sl_si91x_gpio_driver_configure_uulp_interrupt (sl_si91x_gpio_interrupt_config_flag_t flags, uint8_t npssgpio_interrupt, sl_gpio_irq_callback_t gpio_callback)

Configure the UULP GPIO pin interrupt with interrupt type level or edge and registers callback function for interrupts.

Parameters
[in]flags

- Interrupt configuration flags of type sl_si91x_gpio_interrupt_config_flag_t

[in]npssgpio_interrupt

- NPSS GPIO input number (0 to 4)

[in]gpio_callback

- IRQ function pointer

Returns

  • returns status 0 if successful, else error code as follow.

    • SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is an invalid argument

    • SL_STATUS_NULL_POINTER (0x0022) - The parameter is null pointer

    • SL_STATUS _OK (0X000) - Success


Definition at line 1032 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h

sl_si91x_gpio_driver_configure_ulp_group_interrupt#

sl_status_t sl_si91x_gpio_driver_configure_ulp_group_interrupt (sl_si91x_gpio_group_interrupt_config_t * configuration, sl_gpio_irq_callback_t gpio_callback)

Configure the MCU ULP instance group interrupts with trigger type (level/edge), polarity (high/low), interrupt type (and/or) and register the callback function for interrupts.

Parameters
[in]configuration

- configuration pointer to sl_si91x_gpio_group_interrupt_config_t structure

[in]gpio_callback

- IRQ function pointer

Returns

  • returns status 0 if successful, else error code as follow.

    • SL_STATUS_NULL_POINTER (0x0022) - The parameter is a null pointer

    • SL_STATUS _OK (0X000) - Success


Definition at line 1053 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h

sl_si91x_gpio_driver_toggle_uulp_npss_pin#

sl_status_t sl_si91x_gpio_driver_toggle_uulp_npss_pin (uint8_t pin)

Toggle the selected UULP pin status.

Parameters
[in]pin

- UULP pin number to toggle

Returns

  • returns status 0 if successful, else error code as follow.

    • SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is an invalid argument

    • SL_STATUS _OK (0X000) - Success


Definition at line 1070 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h

sl_si91x_gpio_driver_set_uulp_pad_configuration#

sl_status_t sl_si91x_gpio_driver_set_uulp_pad_configuration (uulp_pad_config_t * pad_config)

Configure the UULP GPIO pin mode, receiver enable, direction and polarity settings.

Parameters
[in]pad_config

: PAD configuration pointer to uulp_pad_config_t structure

Returns

  • returns status 0 if successful, else error code as follow.

    • SL_STATUS_NULL_POINTER (0x0022) - The parameter is a null pointer

    • SL_STATUS _OK (0X000) - Success


Definition at line 1083 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h

sl_si91x_gpio_driver_get_version#

sl_si91x_gpio_version_t sl_si91x_gpio_driver_get_version (void )

Get the release, SQA, and development version numbers of the GPIO peripheral.

Parameters
N/A

Returns

  • returns structure of type sl_si91x_gpio_version_t


Definition at line 1090 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h

Macro Definition Documentation#

GPIO_MAX_OUTPUT_VALUE#

#define GPIO_MAX_OUTPUT_VALUE
Value:
1

Definition at line 50 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h

MAX_GROUP_INT#

#define MAX_GROUP_INT
Value:
2

Definition at line 51 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h

GPIO_PORT_MAX_VALUE#

#define GPIO_PORT_MAX_VALUE
Value:
5

Definition at line 52 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h

MAX_UULP_INT#

#define MAX_UULP_INT
Value:
5

Definition at line 53 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h

ULP_MAX_MODE#

#define ULP_MAX_MODE
Value:
10

Definition at line 54 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h

GPIO_MAX_INTR_VALUE#

#define GPIO_MAX_INTR_VALUE
Value:
8

Definition at line 56 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h

PORTD_PIN_MAX_VALUE#

#define PORTD_PIN_MAX_VALUE
Value:
9

Definition at line 57 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h

ULP_PIN_MAX_VALUE#

#define ULP_PIN_MAX_VALUE
Value:
11

Definition at line 58 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h

UULP_PIN_MAX_VALUE#

#define UULP_PIN_MAX_VALUE
Value:
5

Definition at line 59 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h

MAX_ULP_INTR#

#define MAX_ULP_INTR
Value:
8

Definition at line 60 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h

MAX_MODE#

#define MAX_MODE
Value:
15

Definition at line 61 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h

PORTA_PIN_MAX_VALUE#

#define PORTA_PIN_MAX_VALUE
Value:
57

Definition at line 62 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h

PORT_PIN_MAX_VALUE#

#define PORT_PIN_MAX_VALUE
Value:
15

Definition at line 63 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h

GPIO_FLAGS_MAX_VALUE#

#define GPIO_FLAGS_MAX_VALUE
Value:
0x0F

Definition at line 64 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h

PAD_SELECT_9#

#define PAD_SELECT_9
Value:
9

Definition at line 66 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h

UULP_PORT#

#define UULP_PORT
Value:
5

Definition at line 67 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h

GPIO_MAX_PORT_PINS#

#define GPIO_MAX_PORT_PINS
Value:
0xFFFF

Definition at line 68 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h